diff --git a/dist/index.cli.js b/dist/index.cli.js index 72fe248b..91330b05 100644 --- a/dist/index.cli.js +++ b/dist/index.cli.js @@ -1,3 +1,25377 @@ -/*! For license information please see index.cli.js.LICENSE.txt */ -require("source-map-support").install(),module.exports=(()=>{var e={7568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const o=r(8206);e.exports=o.JavaScriptObfuscatorCLI},425:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ASTParserFacade=void 0;const s=i(r(6054)),c=a(r(2242));class d{static parse(e,t){const r=d.sourceTypes.length;for(let o=0;o"),s=`...${o.slice(n,i).replace(/^\s+/,"")}...`;throw new Error(`ERROR at line ${r.line}: ${t}\n${a} ${s}`)}}t.ASTParserFacade=d,d.colorError=c.default.red,d.nearestSymbolsCount=15,d.sourceTypes=["script","module"]},7086:function(e,t,r){"use strict";var o,n,i,a,s,c,d,l=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},p=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&l(t,e,r);return u(t,e),t},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},g=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptObfuscator=void 0;const S=r(2991),y=r(5350),h=p(r(9385)),N=r(2596),_=r(7673),b=r(5082),O=r(4482),I=r(1403),E=r(698),v=r(7082),C=r(5670),T=r(6221),R=r(4212),A=r(8932),j=r(4941),M=r(425),F=r(4134),P=r(4741);let D=o=class{constructor(e,t,r,o,n,i){this.codeTransformersRunner=e,this.nodeTransformersRunner=t,this.randomGenerator=r,this.obfuscatedCodeFactory=o,this.logger=n,this.options=i}obfuscate(e){"string"!=typeof e&&(e="");const t=Date.now();this.logger.info(T.LoggingMessage.Version,P.Utils.buildVersionMessage("2.9.0",1605389448285)),this.logger.info(T.LoggingMessage.ObfuscationStarted),this.logger.info(T.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getInputSeed()),e=this.runCodeTransformationStage(e,C.CodeTransformationStage.PreparingTransformers);const r=this.parseCode(e),o=this.transformAstTree(r),n=this.generateCode(e,o);n.code=this.runCodeTransformationStage(n.code,C.CodeTransformationStage.FinalizingTransformers);const i=(Date.now()-t)/1e3;return this.logger.success(T.LoggingMessage.ObfuscationCompleted,i),this.getObfuscatedCode(n)}parseCode(e){return M.ASTParserFacade.parse(e,o.parseOptions)}transformAstTree(e){return e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Initializing),!F.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments||e.trailingComments?(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.ControlFlowFlattening)),this.options.renameProperties&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.RenameProperties)),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Converting),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.RenameIdentifiers),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.StringArray),this.options.simplify&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Simplifying)),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Finalizing)):(this.logger.warn(T.LoggingMessage.EmptySourceCode),e)}generateCode(e,t){const r=Object.assign({},o.escodegenParams);this.options.sourceMap&&(r.sourceMap=this.options.inputFileName||"sourceMap",r.sourceContent=e);const n=h.generate(t,Object.assign(Object.assign({},r),{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}getObfuscatedCode(e){return this.obfuscatedCodeFactory(e.code,e.map)}runCodeTransformationStage(e,t){return this.logger.info(T.LoggingMessage.CodeTransformationStage,t),this.codeTransformersRunner.transform(e,o.codeTransformersList,t)}runNodeTransformationStage(e,t){return this.logger.info(T.LoggingMessage.NodeTransformationStage,t),this.nodeTransformersRunner.transform(e,o.nodeTransformersList,t)}};D.parseOptions={ecmaVersion:j.ecmaVersion,allowHashBang:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,locations:!0,ranges:!0},D.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},D.codeTransformersList=[v.CodeTransformer.HashbangOperatorTransformer],D.nodeTransformersList=[R.NodeTransformer.BooleanLiteralTransformer,R.NodeTransformer.BlockStatementControlFlowTransformer,R.NodeTransformer.BlockStatementSimplifyTransformer,R.NodeTransformer.CommentsTransformer,R.NodeTransformer.CustomCodeHelpersTransformer,R.NodeTransformer.DeadCodeInjectionTransformer,R.NodeTransformer.EscapeSequenceTransformer,R.NodeTransformer.EvalCallExpressionTransformer,R.NodeTransformer.ExportSpecifierTransformer,R.NodeTransformer.ExpressionStatementsMergeTransformer,R.NodeTransformer.FunctionControlFlowTransformer,R.NodeTransformer.IfStatementSimplifyTransformer,R.NodeTransformer.LabeledStatementTransformer,R.NodeTransformer.RenamePropertiesTransformer,R.NodeTransformer.MemberExpressionTransformer,R.NodeTransformer.MetadataTransformer,R.NodeTransformer.MethodDefinitionTransformer,R.NodeTransformer.NumberLiteralTransformer,R.NodeTransformer.NumberToNumericalExpressionTransformer,R.NodeTransformer.ObfuscatingGuardsTransformer,R.NodeTransformer.ObjectExpressionKeysTransformer,R.NodeTransformer.ObjectExpressionTransformer,R.NodeTransformer.ObjectPatternPropertiesTransformer,R.NodeTransformer.ParentificationTransformer,R.NodeTransformer.ScopeIdentifiersTransformer,R.NodeTransformer.SplitStringTransformer,R.NodeTransformer.StringArrayScopeCallsWrapperTransformer,R.NodeTransformer.StringArrayTransformer,R.NodeTransformer.TemplateLiteralTransformer,R.NodeTransformer.VariableDeclarationsMergeTransformer,R.NodeTransformer.VariablePreserveTransformer],D=o=f([S.injectable(),g(0,S.inject(y.ServiceIdentifiers.ICodeTransformersRunner)),g(1,S.inject(y.ServiceIdentifiers.INodeTransformersRunner)),g(2,S.inject(y.ServiceIdentifiers.IRandomGenerator)),g(3,S.inject(y.ServiceIdentifiers.Factory__IObfuscatedCode)),g(4,S.inject(y.ServiceIdentifiers.ILogger)),g(5,S.inject(y.ServiceIdentifiers.IOptions)),m("design:paramtypes",["function"==typeof(n=void 0!==_.ICodeTransformersRunner&&_.ICodeTransformersRunner)?n:Object,"function"==typeof(i=void 0!==E.INodeTransformersRunner&&E.INodeTransformersRunner)?i:Object,"function"==typeof(a=void 0!==I.IRandomGenerator&&I.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==N.TObfuscatedCodeFactory&&N.TObfuscatedCodeFactory)?s:Object,"function"==typeof(c=void 0!==b.ILogger&&b.ILogger)?c:Object,"function"==typeof(d=void 0!==O.IOptions&&O.IOptions)?d:Object])],D),t.JavaScriptObfuscator=D},8206:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptObfuscatorCLI=void 0,r(9906);const o=r(4161);t.JavaScriptObfuscatorCLI=class{static obfuscate(e){const t=new o.JavaScriptObfuscatorCLI(e);t.initialize(),t.run()}}},2895:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptObfuscator=void 0,r(9906);const o=r(5350),n=r(1636),i=r(8516),a=r(4741);class s{static obfuscate(e,t={}){const r=new n.InversifyContainerFacade;r.load(e,"",t);const i=r.get(o.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),i}static obfuscateMultiple(e,t={}){if("object"!=typeof e)throw new Error("Source codes object should be a plain object");return Object.keys(e).reduce(((r,o,n)=>{const i=a.Utils.getIdentifiersPrefixForMultipleSources(t.identifiersPrefix,n),c=e[o],d=Object.assign(Object.assign({},t),{identifiersPrefix:i});return Object.assign(Object.assign({},r),{[o]:s.obfuscate(c,d)})}),{})}static getOptionsByPreset(e){return i.Options.getOptionsByPreset(e)}}t.JavaScriptObfuscator=s,s.version=null!=="2.9.0"?"2.9.0":"unknown"},3900:function(e,t,r){"use strict";var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallsGraphAnalyzer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(8904),g=r(8657),S=r(4134),y=r(8134);let h=o=class{constructor(e){this.calleeDataExtractorFactory=e}static getLimitIndex(e){const t=e-1,r=o.limitThresholdActivationLength-1;let n=t;return t>r&&(n=Math.round(r+t*o.limitThreshold),n>t&&(n=t)),n}analyze(e){return this.analyzeRecursive(e.body)}analyzeRecursive(e){const t=o.getLimitIndex(e.length),r=[],n=e.length;for(let o=0;ot);o++){const t=e[o];p.traverse(t,{enter:o=>{if(S.NodeGuards.isCallExpressionNode(o))return t.parentNode!==y.NodeStatementUtils.getParentNodeWithStatements(o)?p.VisitorOption.Skip:void this.analyzeCallExpressionNode(r,e,o)}})}return r}analyzeCallExpressionNode(e,t,r){o.calleeDataExtractorsList.forEach((o=>{const n=this.calleeDataExtractorFactory(o).extract(t,r.callee);n&&e.push(Object.assign(Object.assign({},n),{callsGraph:this.analyzeRecursive(n.callee.body)}))}))}};h.calleeDataExtractorsList=[g.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,g.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,g.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],h.limitThresholdActivationLength=25,h.limitThreshold=.002,h=o=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICalleeDataExtractor)),d("design:paramtypes",["function"==typeof(n=void 0!==m.TCalleeDataExtractorFactory&&m.TCalleeDataExtractorFactory)?n:Object])],h),t.CallsGraphAnalyzer=h},3159:function(e,t,r){"use strict";var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCalleeDataExtractor=void 0;const n=r(2991);let i=class{};i=o([n.injectable()],i),t.AbstractCalleeDataExtractor=i},5341:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionDeclarationCalleeDataExtractor=void 0;const s=r(2991),c=a(r(4523)),d=r(3159),l=r(4134),u=r(8134);let f=class extends d.AbstractCalleeDataExtractor{extract(e,t){if(!l.NodeGuards.isIdentifierNode(t))return null;const r=this.getCalleeBlockStatement(u.NodeStatementUtils.getParentNodeWithStatements(e[0]),t.name);return r?{callee:r,name:t.name}:null}getCalleeBlockStatement(e,t){let r=null;return c.traverse(e,{enter:e=>{if(l.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,c.VisitorOption.Break}}),r}};f=i([s.injectable()],f),t.FunctionDeclarationCalleeDataExtractor=f},1853:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionExpressionCalleeDataExtractor=void 0;const s=r(2991),c=a(r(4523)),d=r(3159),l=r(4134),u=r(8134);let f=class extends d.AbstractCalleeDataExtractor{extract(e,t){let r=null,o=null;return l.NodeGuards.isIdentifierNode(t)?(r=t.name,o=this.getCalleeBlockStatement(u.NodeStatementUtils.getParentNodeWithStatements(e[0]),t.name)):l.NodeGuards.isFunctionExpressionNode(t)&&(r=null,o=t.body),o?{callee:o,name:r}:null}getCalleeBlockStatement(e,t){let r=null;return c.traverse(e,{enter:(e,o)=>{if(l.NodeGuards.isFunctionExpressionNode(e)&&o&&l.NodeGuards.isVariableDeclaratorNode(o)&&l.NodeGuards.isIdentifierNode(o.id)&&o.id.name===t)return r=e.body,c.VisitorOption.Break}}),r}};f=i([s.injectable()],f),t.FunctionExpressionCalleeDataExtractor=f},5773:function(e,t,r){"use strict";var o,n=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionCalleeDataExtractor=void 0;const c=r(2991),d=s(r(4523)),l=r(3159),u=r(4134),f=r(8134);let p=o=class extends l.AbstractCalleeDataExtractor{static isValidTargetPropertyNode(e,t){if(!e.key)return!1;const r=u.NodeGuards.isIdentifierNode(e.key)&&e.key.name===t,o=u.NodeGuards.isLiteralNode(e.key)&&Boolean(e.key.value)&&e.key.value===t;return r||o}extract(e,t){if(!u.NodeGuards.isMemberExpressionNode(t))return null;const r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;const o=r[r.length-1],n=this.getCalleeBlockStatement(f.NodeStatementUtils.getParentNodeWithStatements(e[0]),r);return n?{callee:n,name:o}:null}createObjectMembersCallsChain(e,t){if(u.NodeGuards.isIdentifierNode(t.property)&&!t.computed)e.unshift(t.property.name);else{if(!u.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return u.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(u.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}getCalleeBlockStatement(e,t){const r=t.shift();if(!r)return null;let o=null;return d.traverse(e,{enter:e=>{if(u.NodeGuards.isVariableDeclaratorNode(e)&&u.NodeGuards.isIdentifierNode(e.id)&&e.init&&u.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===r)return o=this.findCalleeBlockStatement(e.init.properties,t),d.VisitorOption.Break}}),o}findCalleeBlockStatement(e,t){const r=t.shift();if(!r)return null;for(const n of e)if(u.NodeGuards.isPropertyNode(n)&&o.isValidTargetPropertyNode(n,r)){if(u.NodeGuards.isObjectExpressionNode(n.value))return this.findCalleeBlockStatement(n.value.properties,t);if(u.NodeGuards.isFunctionExpressionNode(n.value))return n.value.body}return null}};p=o=a([c.injectable()],p),t.ObjectExpressionCalleeDataExtractor=p},472:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NumberNumericalExpressionAnalyzer=void 0;const c=r(2991),d=r(1403),l=r(5350),u=r(6543);let f=o=class{constructor(e){this.numberFactorsMap=new Map,this.randomGenerator=e}analyze(e){if(isNaN(e))throw new Error("Given value is NaN");return u.NumberUtils.isUnsafeNumber(e)?[e]:this.generateAdditionParts(e).map((e=>this.mixWithMultiplyParts(e)))}generateAdditionParts(e){const t=[],r=Math.min(Math.abs(2*e),Number.MAX_SAFE_INTEGER),n=Math.min(-1e4,-r),i=Math.max(1e4,r);let a=0;for(let r=0;r.5)||0===e)return e;let r=null!==(t=this.numberFactorsMap.get(e))&&void 0!==t?t:null;if(r||(r=u.NumberUtils.getFactors(e),this.numberFactorsMap.set(e,r)),!r.length)return e;const o=r[this.randomGenerator.getRandomInteger(0,r.length-1)];return[o,e/o]}};f.additionalParts=3,f=o=i([c.injectable(),s(0,c.inject(l.ServiceIdentifiers.IRandomGenerator)),a("design:paramtypes",["function"==typeof(n=void 0!==d.IRandomGenerator&&d.IRandomGenerator)?n:Object])],f),t.NumberNumericalExpressionAnalyzer=f},3e3:function(e,t,r){"use strict";var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.PrevailingKindOfVariablesAnalyzer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(5768),g=r(4134);let S=o=class{constructor(e){this.prevailingKindOfVariables=o.defaultKindOfVariables,this.arrayUtils=e}analyze(e){var t;const r=[];p.traverse(e,{enter:e=>{g.NodeGuards.isVariableDeclarationNode(e)&&r.push(e.kind)}}),this.prevailingKindOfVariables=null!==(t=this.arrayUtils.findMostOccurringElement(r))&&void 0!==t?t:o.defaultKindOfVariables}getPrevailingKind(){return this.prevailingKindOfVariables}};S.defaultKindOfVariables="var",S=o=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.IArrayUtils)),d("design:paramtypes",["function"==typeof(n=void 0!==m.IArrayUtils&&m.IArrayUtils)?n:Object])],S),t.PrevailingKindOfVariablesAnalyzer=S},9458:function(e,t,r){"use strict";var o,n=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeAnalyzer=void 0;const c=r(2991),d=s(r(8)),l=s(r(4523)),u=r(4941),f=r(4134);let p=o=class{constructor(){this.scopeManager=null}static attachMissingRanges(e){l.replace(e,{enter:(e,t)=>{var r,n,i,a;return e.range||(e.range=[null!==(n=null===(r=null==t?void 0:t.range)||void 0===r?void 0:r[0])&&void 0!==n?n:o.emptyRangeValue,null!==(a=null===(i=null==t?void 0:t.range)||void 0===i?void 0:i[1])&&void 0!==a?a:o.emptyRangeValue]),e}})}static isRootNode(e){return f.NodeGuards.isProgramNode(e)||e.parentNode===e}analyze(e){const t=o.sourceTypes.length;o.attachMissingRanges(e);for(let r=0;r{if("class"===e.type&&e.upper){if(!e.variables.length)return;const t=e.variables[0],r=e.upper.variables.find((e=>t.defs.some((e=>"ClassName"===e.type))&&e.name===t.name));null==r||r.references.push(...e.variables[0].references)}}));for(const t of e.childScopes)this.sanitizeScopes(t)}};p.eslintScopeOptions={ecmaVersion:u.ecmaVersion,optimistic:!0},p.sourceTypes=["script","module"],p.emptyRangeValue=0,p=o=a([c.injectable()],p),t.ScopeAnalyzer=p},1190:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),c=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return c(t,e),t},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayStorageAnalyzer=void 0;const p=r(2991),m=r(5350),g=l(r(4523)),S=r(4482),y=r(1403),h=r(5683),N=r(4134),_=r(8241),b=r(739);let O=o=class{constructor(e,t,r){this.stringArrayStorageData=new Map,this.stringArrayStorage=e,this.randomGenerator=t,this.options=r}analyze(e){this.options.stringArray&&g.traverse(e,{enter:(e,t)=>{if(t)return b.NodeMetadata.isIgnoredNode(e)?g.VisitorOption.Skip:void(N.NodeGuards.isLiteralNode(e)&&this.analyzeLiteralNode(e,t))}})}getItemDataForLiteralNode(e){return this.stringArrayStorageData.get(e)}analyzeLiteralNode(e,t){_.NodeLiteralUtils.isStringLiteralNode(e)&&(_.NodeLiteralUtils.isProhibitedLiteralNode(e,t)||this.shouldAddValueToStringArray(e)&&this.stringArrayStorageData.set(e,this.stringArrayStorage.getOrThrow(e.value)))}shouldAddValueToStringArray(e){return!!b.NodeMetadata.isForceTransformNode(e)||e.value.length>=o.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}};O.minimumLengthForStringArray=3,O=o=d([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.IStringArrayStorage)),f(1,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(2,p.inject(m.ServiceIdentifiers.IOptions)),u("design:paramtypes",["function"==typeof(n=void 0!==h.IStringArrayStorage&&h.IStringArrayStorage)?n:Object,"function"==typeof(i=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==S.IOptions&&S.IOptions)?a:Object])],O),t.StringArrayStorageAnalyzer=O},4161:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),c=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return c(t,e),t},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptObfuscatorCLI=void 0;const f=l(r(647)),p=l(r(5622)),m=r(5568),g=r(5233),S=r(3177),y=r(4469),h=r(7370),N=r(6532),_=r(6086),b=r(1137),O=r(9614),I=r(7170),E=r(2490),v=r(7495),C=r(9577),T=r(2895),R=r(7149),A=r(4791),j=r(1901),M=r(4741),F=r(6212);class P{constructor(e){this.rawArguments=e,this.arguments=e.slice(2)}static buildOptions(e){const t=P.filterOptions(e),r=e.config,o=r?p.resolve(r,"."):"",n=o?C.CLIUtils.getUserConfig(o):{};return Object.assign(Object.assign(Object.assign({},I.DEFAULT_PRESET),n),t)}static filterOptions(e){const t={};return Object.keys(e).forEach((r=>{void 0!==e[r]&&(t[r]=e[r])})),t}initialize(){this.inputPath=p.normalize(this.arguments[0]||""),this.commands=new f.Command,this.configureCommands(),this.configureHelp(),this.inputCLIOptions=P.buildOptions(this.commands.opts()),this.sourceCodeReader=new j.SourceCodeReader(this.inputPath,this.inputCLIOptions),this.obfuscatedCodeWriter=new A.ObfuscatedCodeWriter(this.inputPath,this.inputCLIOptions)}run(){if(!this.arguments.length||this.arguments.includes("--help"))return void this.commands.outputHelp();const e=this.sourceCodeReader.readSourceCode();this.processSourceCodeData(e)}configureCommands(){this.commands.usage(" [options]").version(M.Utils.buildVersionMessage("2.9.0",1605431136151),"-v, --version").option("-o, --output ","Output path for obfuscated code").option("--compact ","Disable one line output code compacting",v.BooleanSanitizer).option("--config ","Name of js / json config file").option("--control-flow-flattening ","Enables control flow flattening",v.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",v.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)",v.BooleanSanitizer).option("--debug-protection-interval ","Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)",v.BooleanSanitizer).option("--disable-console-output ","Allow console.log, console.info, console.error and console.warn messages output into browser console",v.BooleanSanitizer).option("--domain-lock (comma separated, without whitespaces)","Allows to run the obfuscated source code only on specific domains and/or sub-domains (comma separated)",E.ArraySanitizer).option("--exclude (comma separated, without whitespaces)","A filename or glob which indicates files to exclude from obfuscation",E.ArraySanitizer).option("--force-transform-strings (comma separated, without whitespaces)","Enables force transformation of string literals, which being matched by passed RegExp patterns (comma separated)",E.ArraySanitizer).option("--identifier-names-generator ",`Sets identifier names generator. Values: ${C.CLIUtils.stringifyOptionAvailableValues(S.IdentifierNamesGenerator)}. Default: `+S.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator).option("--identifiers-prefix ","Sets prefix for all global identifiers").option("--identifiers-dictionary (comma separated, without whitespaces)","Identifiers dictionary (comma separated) for `--identifier-names-generator dictionary` option",E.ArraySanitizer).option("--ignore-require-imports ","Prevents obfuscation of `require` imports",v.BooleanSanitizer).option("--log ","Enables logging of the information to the console",v.BooleanSanitizer).option("--numbers-to-expressions ","Enables numbers conversion to expressions",v.BooleanSanitizer).option("--options-preset ",`Allows to set options preset. Values: ${C.CLIUtils.stringifyOptionAvailableValues(N.OptionsPreset)}. Default: `+N.OptionsPreset.Default).option("--reserved-names (comma separated, without whitespaces)","Disables obfuscation and generation of identifiers, which being matched by passed RegExp patterns (comma separated)",E.ArraySanitizer).option("--reserved-strings (comma separated, without whitespaces)","Disables transformation of string literals, which being matched by passed RegExp patterns (comma separated)",E.ArraySanitizer).option("--rename-globals ","Allows to enable obfuscation of global variable and function names with declaration",v.BooleanSanitizer).option("--rename-properties ","UNSAFE: Enables renaming of property names. This probably WILL break your code",v.BooleanSanitizer).option("--rotate-string-array ","Enable rotation of string array values during obfuscation",v.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",v.BooleanSanitizer).option("--shuffle-string-array ","Randomly shuffles string array items",v.BooleanSanitizer).option("--simplify ","Enables additional code obfuscation through simplification",v.BooleanSanitizer).option("--source-map ","Enables source map generation",v.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: ${C.CLIUtils.stringifyOptionAvailableValues(_.SourceMapMode)}. Default: `+_.SourceMapMode.Separate).option("--split-strings ","Splits literal strings into chunks with length of `splitStringsChunkLength` option value",v.BooleanSanitizer).option("--split-strings-chunk-length ","Sets chunk length of `splitStrings` option",parseFloat).option("--string-array ","Disables gathering of all literal strings into an array and replacing every literal string with an array call",v.BooleanSanitizer).option("--string-array-encoding (comma separated, without whitespaces)",`Encodes each string in strings array using base64 or rc4 (this option can slow down your code speed). Values: ${C.CLIUtils.stringifyOptionAvailableValues(b.StringArrayEncoding)}. Default: `+b.StringArrayEncoding.None,E.ArraySanitizer).option("--string-array-indexes-type (comma separated, without whitespaces)",`Encodes each string in strings array using base64 or rc4 (this option can slow down your code speed). Values: ${C.CLIUtils.stringifyOptionAvailableValues(F.StringArrayIndexesType)}. Default: `+F.StringArrayIndexesType.HexadecimalNumber,E.ArraySanitizer).option("--string-array-index-shift ","Enables additional index shift for all string array calls",v.BooleanSanitizer).option("--string-array-wrappers-count ","Sets the count of wrappers for the string array inside each root or function scope",parseInt).option("--string-array-wrappers-chained-calls ","Enables the chained calls between string array wrappers",v.BooleanSanitizer).option("--string-array-wrappers-type ",`Allows to select a type of the wrappers that are appending by the \`--string-array-wrappers-count\` option. Values: ${C.CLIUtils.stringifyOptionAvailableValues(O.StringArrayWrappersType)}. Default: `+O.StringArrayWrappersType.Variable).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: ${C.CLIUtils.stringifyOptionAvailableValues(h.ObfuscationTarget)}. Default: `+h.ObfuscationTarget.Browser).option("--transform-object-keys ","Enables transformation of object keys",v.BooleanSanitizer).option("--unicode-escape-sequence ","Allows to enable/disable string conversion to unicode escape sequence",v.BooleanSanitizer).parse(this.rawArguments)}configureHelp(){this.commands.on("--help",(()=>{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("")}))}processSourceCodeData(e){e.forEach((({filePath:e,content:t},r)=>{const o=this.obfuscatedCodeWriter.getOutputCodePath(e);try{R.Logger.log(R.Logger.colorInfo,y.LoggingPrefix.CLI,`Obfuscating file: ${e}...`),this.processSourceCode(t,e,o,r)}catch(t){throw R.Logger.log(R.Logger.colorInfo,y.LoggingPrefix.CLI,`Error in file: ${e}...`),t}}))}processSourceCode(e,t,r,o){const n=Object.assign(Object.assign(Object.assign({},this.inputCLIOptions),{inputFileName:p.basename(t)}),null!==o&&{identifiersPrefix:M.Utils.getIdentifiersPrefixForMultipleSources(this.inputCLIOptions.identifiersPrefix,o)});n.sourceMap?this.processSourceCodeWithSourceMap(e,r,n):this.processSourceCodeWithoutSourceMap(e,r,n)}processSourceCodeWithoutSourceMap(e,t,r){const o=T.JavaScriptObfuscator.obfuscate(e,r).getObfuscatedCode();this.obfuscatedCodeWriter.writeFile(t,o)}processSourceCodeWithSourceMap(e,t,r){var o;const n=this.obfuscatedCodeWriter.getOutputSourceMapPath(t,null!==(o=r.sourceMapFileName)&&void 0!==o?o:"");r=Object.assign(Object.assign({},r),{sourceMapFileName:p.basename(n)});const i=T.JavaScriptObfuscator.obfuscate(e,r);this.obfuscatedCodeWriter.writeFile(t,i.getObfuscatedCode()),r.sourceMapMode===_.SourceMapMode.Separate&&i.getSourceMap()&&this.obfuscatedCodeWriter.writeFile(n,i.getSourceMap())}}P.availableInputExtensions=[".js"],P.encoding="utf8",P.obfuscatedFilePrefix="-obfuscated",d([g.initializable(),u("design:type","function"==typeof(o=void 0!==f&&f.CommanderStatic)?o:Object)],P.prototype,"commands",void 0),d([g.initializable(),u("design:type","function"==typeof(n=void 0!==m.TInputCLIOptions&&m.TInputCLIOptions)?n:Object)],P.prototype,"inputCLIOptions",void 0),d([g.initializable(),u("design:type",String)],P.prototype,"inputPath",void 0),d([g.initializable(),u("design:type","function"==typeof(i=void 0!==j.SourceCodeReader&&j.SourceCodeReader)?i:Object)],P.prototype,"sourceCodeReader",void 0),d([g.initializable(),u("design:type","function"==typeof(a=void 0!==A.ObfuscatedCodeWriter&&A.ObfuscatedCodeWriter)?a:Object)],P.prototype,"obfuscatedCodeWriter",void 0),t.JavaScriptObfuscatorCLI=P},2490:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArraySanitizer=void 0,t.ArraySanitizer=e=>{if(e.endsWith(","))throw new SyntaxError("Multiple values should be wrapped inside quotes: --option-name 'value1','value2'");return e.split(",").map((e=>e.trim()))}},7495:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanSanitizer=void 0,t.BooleanSanitizer=e=>"true"===e||"1"===e},9577:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CLIUtils=void 0;const a=i(r(5622)),s=r(9965);class c{static getUserConfig(e){let t;const o=a.extname(e);if(!c.allowedConfigFileExtensions.includes(o))throw new ReferenceError("Given config path must be a valid `.js` or `.json` file path");try{t=r(5285)(e)}catch(r){try{t=require(e)}catch(t){throw new ReferenceError("Cannot open config file with path: "+e)}}return t}static stringifyOptionAvailableValues(e){return Object.values(e).join(s.StringSeparator.Comma+" ")}}t.CLIUtils=c,c.allowedConfigFileExtensions=[".js",".json"]},4791:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatedCodeWriter=void 0;const a=i(r(5747)),s=i(r(3841)),c=i(r(5622)),d=r(9965),l=r(4161);t.ObfuscatedCodeWriter=class{constructor(e,t){this.inputPath=c.normalize(e),this.options=t}getOutputCodePath(e){const t=c.normalize(e),r=this.options.output?c.normalize(this.options.output):null;if(!r)return t.split(d.StringSeparator.Dot).map(((e,t)=>0===t?`${e}${l.JavaScriptObfuscatorCLI.obfuscatedFilePrefix}`:e)).join(d.StringSeparator.Dot);const o=a.lstatSync(this.inputPath),n=c.extname(r),i=o.isDirectory(),s=!l.JavaScriptObfuscatorCLI.availableInputExtensions.includes(n);if(i){if(s){const e=t.replace(this.inputPath,"");return c.join(r,e)}throw new Error("Output path for directory obfuscation should be a directory path")}return s?c.join(r,c.basename(e)):r}getOutputSourceMapPath(e,t=""){if(!e)throw new Error("Output code path is empty");let r=c.normalize(e),o=c.parse(r);if(!o.ext&&!t)throw new Error("Source map file name should be set when output code path is a directory path");if(t){const e=r.lastIndexOf(c.sep),n=o.ext&&e>0?r.slice(0,e):r,i=t.replace(/^[a-zA-Z]:\\*/,"");r=c.join(n,i)}return/\.js\.map$/.test(r)?/\.js$/.test(r)&&(r+=".map"):(o=c.parse(r),r=c.join(o.dir,o.name)+".js.map"),r}writeFile(e,t){s.sync(c.dirname(e)),a.writeFileSync(e,t,{encoding:l.JavaScriptObfuscatorCLI.encoding})}}},1901:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SourceCodeReader=void 0;const s=i(r(5747)),c=i(r(5622)),d=a(r(768)),l=r(4161);class u{constructor(e,t){this.inputPath=e,this.options=t}static isExcludedPath(e,t=[]){if(!t.length)return!1;const r=c.basename(e),o=!!d.default([e],t).length;return t.some((t=>e.includes(t)||r.includes(t)))||o}static isDirectoryPath(e){try{return s.statSync(e).isDirectory()}catch(e){return!1}}static isFilePath(e){try{return s.statSync(e).isFile()}catch(e){return!1}}static isValidDirectory(e,t=[]){return!u.isExcludedPath(e,t)}static isValidFile(e,t=[]){return l.JavaScriptObfuscatorCLI.availableInputExtensions.includes(c.extname(e))&&!e.includes(l.JavaScriptObfuscatorCLI.obfuscatedFilePrefix)&&!u.isExcludedPath(e,t)}static readFile(e){return{filePath:c.normalize(e),content:s.readFileSync(e,l.JavaScriptObfuscatorCLI.encoding)}}readSourceCode(){if(u.isFilePath(this.inputPath)&&u.isValidFile(this.inputPath,this.options.exclude))return[u.readFile(this.inputPath)];if(u.isDirectoryPath(this.inputPath)&&u.isValidDirectory(this.inputPath,this.options.exclude))return this.readDirectoryRecursive(this.inputPath);const e=l.JavaScriptObfuscatorCLI.availableInputExtensions.map((e=>`\`${e}\``)).join(", ");throw new ReferenceError(`Given input path must be a valid ${e} file or directory path`)}readDirectoryRecursive(e,t=[]){return s.readdirSync(e,l.JavaScriptObfuscatorCLI.encoding).forEach((r=>{const o=c.join(e,r);if(u.isDirectoryPath(o)&&u.isValidDirectory(o,this.options.exclude))t.push(...this.readDirectoryRecursive(o));else if(u.isFilePath(o)&&u.isValidFile(o,this.options.exclude)){const e=u.readFile(o);t.push(e)}})),t}}t.SourceCodeReader=u},8541:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCodeTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403);let f=class{constructor(e,t){this.randomGenerator=e,this.options=t}};f=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],f),t.AbstractCodeTransformer=f},4132:function(e,t,r){"use strict";var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformerNamesGroupsBuilder=void 0;const n=r(2991),i=r(7207);let a=class extends i.AbstractTransformerNamesGroupsBuilder{};a=o([n.injectable()],a),t.CodeTransformerNamesGroupsBuilder=a},8282:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformersRunner=void 0;const c=r(2991),d=r(5350),l=r(5127),u=r(9658);let f=class{constructor(e,t){this.codeTransformerFactory=e,this.codeTransformerNamesGroupsBuilder=t}transform(e,t,r){if(!t.length)return e;const o=this.buildNormalizedCodeTransformers(t,r),n=this.codeTransformerNamesGroupsBuilder.build(o);for(const t of n)for(const n of t)e=o[n].transformCode(e,r);return e}buildNormalizedCodeTransformers(e,t){return e.reduce(((e,t)=>{const r=this.codeTransformerFactory(t);return Object.assign(Object.assign({},e),{[t]:r})}),{})}};f=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.Factory__ICodeTransformer)),s(1,c.inject(d.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder)),a("design:paramtypes",["function"==typeof(o=void 0!==l.TCodeTransformerFactory&&l.TCodeTransformerFactory)?o:Object,"function"==typeof(n=void 0!==u.ITransformerNamesGroupsBuilder&&u.ITransformerNamesGroupsBuilder)?n:Object])],f),t.CodeTransformersRunner=f},71:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.HashbangOperatorTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(5670),p=r(8541);let m=class extends p.AbstractCodeTransformer{constructor(e,t){super(e,t),this.hashbangOperatorLine=null}transformCode(e,t){switch(t){case f.CodeTransformationStage.PreparingTransformers:return this.removeAndSaveHashbangOperatorLine(e);case f.CodeTransformationStage.FinalizingTransformers:return this.appendSavedHashbangOperatorLine(e);default:return e}}removeAndSaveHashbangOperatorLine(e){return e.replace(/^#!.*$(\r?\n)*/m,(e=>(e&&(this.hashbangOperatorLine=e),""))).trim()}appendSavedHashbangOperatorLine(e){var t;return`${null!==(t=this.hashbangOperatorLine)&&void 0!==t?t:""}${e}`}};m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],m),t.HashbangOperatorTransformer=m},6366:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.alphabetString=void 0,t.alphabetString="abcdefghijklmnopqrstuvwxyz"},2691:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.alphabetStringUppercase=void 0;const o=r(6366);t.alphabetStringUppercase=o.alphabetString.toUpperCase()},6934:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.base64alphabet=void 0;const o=r(2691),n=r(6366),i=r(2023);t.base64alphabet=`${o.alphabetStringUppercase}${n.alphabetString}${i.numbersString}+/=`},4497:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.base64alphabetSwapped=void 0;const o=r(2691),n=r(6366),i=r(2023);t.base64alphabetSwapped=`${n.alphabetString}${o.alphabetStringUppercase}${i.numbersString}+/=`},4941:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ecmaVersion=void 0,t.ecmaVersion=12},2023:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.numbersString=void 0,t.numbersString="0123456789"},1636:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InversifyContainerFacade=void 0;const o=r(2991),n=r(5350),i=r(5821),a=r(7867),s=r(9654),c=r(5602),d=r(3693),l=r(7626),u=r(8974),f=r(645),p=r(4080),m=r(4028),g=r(5424),S=r(1719),y=r(4682),h=r(1469),N=r(7817),_=r(725),b=r(1426),O=r(1466),I=r(9542),E=r(1937),v=r(8282),C=r(7086),T=r(7149),R=r(6827),A=r(9196),j=r(8072),M=r(8589);t.InversifyContainerFacade=class{constructor(){this.container=new o.Container}static getFactory(e){return t=>r=>t.container.getNamed(e,r)}static getCacheFactory(e){return t=>{const r=new Map;return o=>{if(r.has(o))return r.get(o);const n=t.container.getNamed(e,o);return r.set(o,n),n}}}static getConstructorFactory(e,...t){return r=>{const o=new Map,n=[];return i=>{if(t.forEach(((e,t)=>{n[t]||(n[t]=r.container.get(e))})),o.has(i))return new(o.get(i))(...n);const a=r.container.getNamed(e,i);return o.set(i,a),new a(...n)}}}get(e){return this.container.get(e)}getNamed(e,t){return this.container.getNamed(e,t)}load(e,t,r){this.container.bind(n.ServiceIdentifiers.ISourceCode).toDynamicValue((()=>new M.SourceCode(e,t))).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.TInputOptions).toDynamicValue((()=>r)).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.ILogger).to(T.Logger).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.IJavaScriptObfuscator).to(C.JavaScriptObfuscator).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.ICodeTransformersRunner).to(v.CodeTransformersRunner).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.INodeTransformersRunner).to(R.NodeTransformersRunner).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.IObfuscatedCode).to(j.ObfuscatedCode),this.container.bind(n.ServiceIdentifiers.Factory__IObfuscatedCode).toFactory((e=>(t,r)=>{const o=e.container.get(n.ServiceIdentifiers.IObfuscatedCode);return o.initialize(t,r),o})),this.container.bind(n.ServiceIdentifiers.IObfuscationEventEmitter).to(A.ObfuscationEventEmitter).inSingletonScope(),this.container.load(i.analyzersModule),this.container.load(a.codeTransformersModule),this.container.load(s.controlFlowTransformersModule),this.container.load(c.convertingTransformersModule),this.container.load(d.customCodeHelpersModule),this.container.load(l.customNodesModule),this.container.load(u.deadCodeInjectionTransformersModule),this.container.load(f.finalizingTransformersModule),this.container.load(p.generatorsModule),this.container.load(m.initializingTransformersModule),this.container.load(g.nodeModule),this.container.load(S.nodeTransformersModule),this.container.load(y.optionsModule),this.container.load(h.preparingTransformersModule),this.container.load(N.renameIdentifiersTransformersModule),this.container.load(_.renamePropertiesTransformersModule),this.container.load(b.simplifyingTransformersModule),this.container.load(O.storagesModule),this.container.load(I.stringArrayTransformersModule),this.container.load(E.utilsModule)}unload(){this.container.unbindAll()}}},5350:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceIdentifiers=void 0,(r=t.ServiceIdentifiers||(t.ServiceIdentifiers={})).Factory__ICalleeDataExtractor="Factory",r.Factory__ICodeTransformer="Factory",r.Factory__IControlFlowCustomNode="Factory",r.Factory__IControlFlowReplacer="Factory",r.Factory__ICustomCodeHelper="Factory",r.Factory__ICustomCodeHelperGroup="Factory",r.Factory__IDeadCodeInjectionCustomNode="Factory",r.Factory__IIdentifierNamesGenerator="Factory",r.Factory__INodeGuard="Factory",r.Factory__INodeTransformer="Factory",r.Factory__IObfuscatedCode="Factory",r.Factory__IObjectExpressionKeysTransformerCustomNode="Factory",r.Factory__IObjectExpressionExtractor="Factory",r.Factory__IStringArrayCustomNode="Factory",r.Factory__IStringArrayIndexNode="Factory",r.Factory__TControlFlowStorage="Factory",r.IArrayUtils="IArrayUtils",r.ICalleeDataExtractor="ICalleeDataExtractor",r.ICallsGraphAnalyzer="ICallsGraphAnalyzer",r.ICodeTransformer="ICodeTransformer",r.ICodeTransformerNamesGroupsBuilder="ICodeTransformerNamesGroupsBuilder",r.ICodeTransformersRunner="ICodeTransformersRunner",r.ICryptUtils="ICryptUtils",r.ICryptUtilsSwappedAlphabet="ICryptUtilsSwappedAlphabet",r.ICustomCodeHelper="ICustomCodeHelper",r.ICustomCodeHelperGroup="ICustomCodeHelperGroup",r.IControlFlowReplacer="IControlFlowReplacer",r.ICustomCodeHelperFormatter="ICustomCodeHelperFormatter",r.ICustomCodeHelperObfuscator="ICustomCodeHelperObfuscator",r.IEscapeSequenceEncoder="IEscapeSequenceEncoder",r.IIdentifierNamesGenerator="IIdentifierNamesGenerator",r.IIdentifierReplacer="IIdentifierReplacer",r.IJavaScriptObfuscator="IJavaScriptObfuscator",r.ILevelledTopologicalSorter="ILevelledTopologicalSorter",r.ILiteralNodesCacheStorage="ILiteralNodesCacheStorage",r.ILogger="ILogger",r.INodeGuard="INodeGuard",r.INodeTransformer="INodeTransformer",r.INodeTransformerNamesGroupsBuilder="INodeTransformerNamesGroupsBuilder",r.INodeTransformersRunner="INodeTransformersRunner",r.INumberNumericalExpressionAnalyzer="INumberNumericalExpressionAnalyzer",r.IObfuscationEventEmitter="IObfuscationEventEmitter",r.IObfuscatedCode="IObfuscatedCode",r.IOptions="IOptions",r.IOptionsNormalizer="IOptionsNormalizer",r.IPrevailingKindOfVariablesAnalyzer="IPrevailingKindOfVariablesAnalyzer",r.IObjectExpressionExtractor="IObjectExpressionExtractor",r.IRandomGenerator="IRandomGenerator",r.IRenamePropertiesReplacer="IRenamePropertiesReplacer",r.IScopeIdentifiersTraverser="IScopeIdentifiersTraverser",r.ISourceCode="ISourceCode",r.IScopeAnalyzer="IScopeAnalyzer",r.IStringArrayIndexNode="IStringArrayIndexNode",r.IStringArrayScopeCallsWrapperLexicalScopeDataStorage="IStringArrayScopeCallsWrapperLexicalScopeDataStorage",r.IStringArrayScopeCallsWrapperNamesDataStorage="IStringArrayScopeCallsWrapperNamesDataStorage",r.IStringArrayStorage="IStringArrayStorage",r.IStringArrayStorageAnalyzer="IStringArrayStorageAnalyzer",r.IVisitedLexicalScopeNodesStackStorage="IVisitedLexicalScopeNodesStackStorage",r.Newable__ICustomNode="Newable",r.Newable__TControlFlowStorage="Newable",r.TCustomNodeGroupStorage="TCustomNodeGroupStorage",r.TInputOptions="TInputOptions"},5821:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.analyzersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(8657),s=r(3900),c=r(5341),d=r(1853),l=r(472),u=r(5773),f=r(3e3),p=r(9458),m=r(1190);t.analyzersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.ICallsGraphAnalyzer).to(s.CallsGraphAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.INumberNumericalExpressionAnalyzer).to(l.NumberNumericalExpressionAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer).to(f.PrevailingKindOfVariablesAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.IScopeAnalyzer).to(p.ScopeAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.IStringArrayStorageAnalyzer).to(m.StringArrayStorageAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(a.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(i.ServiceIdentifiers.ICalleeDataExtractor).to(d.FunctionExpressionCalleeDataExtractor).whenTargetNamed(a.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(i.ServiceIdentifiers.ICalleeDataExtractor).to(u.ObjectExpressionCalleeDataExtractor).whenTargetNamed(a.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(i.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.ICalleeDataExtractor))}))},7867:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.codeTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(7082),s=r(4132),c=r(71);t.codeTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.Factory__ICodeTransformer).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.ICodeTransformer)),e(i.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder).to(s.CodeTransformerNamesGroupsBuilder).inSingletonScope(),e(i.ServiceIdentifiers.ICodeTransformer).to(c.HashbangOperatorTransformer).whenTargetNamed(a.CodeTransformer.HashbangOperatorTransformer)}))},3693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.customCodeHelpersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(7295),s=r(1806),c=r(4860),d=r(1723),l=r(9673),u=r(4582),f=r(5769),p=r(5655),m=r(259),g=r(299),S=r(2628),y=r(5600),h=r(9915),N=r(5227),_=r(4400),b=r(7675),O=r(7689),I=r(9681),E=r(8352),v=r(5007),C=r(256);t.customCodeHelpersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.ICustomCodeHelper).to(p.ConsoleOutputDisableCodeHelper).whenTargetNamed(a.CustomCodeHelper.ConsoleOutputDisable),e(i.ServiceIdentifiers.ICustomCodeHelper).to(S.DebugProtectionFunctionCallCodeHelper).whenTargetNamed(a.CustomCodeHelper.DebugProtectionFunctionCall),e(i.ServiceIdentifiers.ICustomCodeHelper).to(y.DebugProtectionFunctionIntervalCodeHelper).whenTargetNamed(a.CustomCodeHelper.DebugProtectionFunctionInterval),e(i.ServiceIdentifiers.ICustomCodeHelper).to(h.DebugProtectionFunctionCodeHelper).whenTargetNamed(a.CustomCodeHelper.DebugProtectionFunction),e(i.ServiceIdentifiers.ICustomCodeHelper).to(N.DomainLockCodeHelper).whenTargetNamed(a.CustomCodeHelper.DomainLock),e(i.ServiceIdentifiers.ICustomCodeHelper).to(_.CallsControllerFunctionCodeHelper).whenTargetNamed(a.CustomCodeHelper.CallsControllerFunction),e(i.ServiceIdentifiers.ICustomCodeHelper).to(b.SelfDefendingUnicodeCodeHelper).whenTargetNamed(a.CustomCodeHelper.SelfDefendingUnicode),e(i.ServiceIdentifiers.ICustomCodeHelper).to(O.StringArrayCallsWrapperCodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayCallsWrapper),e(i.ServiceIdentifiers.ICustomCodeHelper).to(I.StringArrayCallsWrapperBase64CodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayCallsWrapperBase64),e(i.ServiceIdentifiers.ICustomCodeHelper).to(E.StringArrayCallsWrapperRc4CodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayCallsWrapperRc4),e(i.ServiceIdentifiers.ICustomCodeHelper).to(v.StringArrayCodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArray),e(i.ServiceIdentifiers.ICustomCodeHelper).to(C.StringArrayRotateFunctionCodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayRotateFunction),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(c.ConsoleOutputCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.ConsoleOutput),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(d.DebugProtectionCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.DebugProtection),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(l.DomainLockCustomCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.DomainLock),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(u.SelfDefendingCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.SelfDefending),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(f.StringArrayCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.StringArray),e(i.ServiceIdentifiers.Factory__ICustomCodeHelper).toFactory(o.InversifyContainerFacade.getFactory(i.ServiceIdentifiers.ICustomCodeHelper)),e(i.ServiceIdentifiers.Factory__ICustomCodeHelperGroup).toFactory(o.InversifyContainerFacade.getFactory(i.ServiceIdentifiers.ICustomCodeHelperGroup)),e(i.ServiceIdentifiers.ICustomCodeHelperFormatter).to(m.CustomCodeHelperFormatter).inSingletonScope(),e(i.ServiceIdentifiers.ICustomCodeHelperObfuscator).to(g.CustomCodeHelperObfuscator).inSingletonScope()}))},7626:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.customNodesModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(1280),s=r(2620),c=r(9809),d=r(294),l=r(1597),u=r(5540),f=r(9193),p=r(8105),m=r(1984),g=r(9372),S=r(8807),y=r(2088),h=r(8866),N=r(9826),_=r(398),b=r(6379),O=r(8064),I=r(573),E=r(9867),v=r(6512),C=r(7388);t.customNodesModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(l.BinaryExpressionFunctionNode).whenTargetNamed(a.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(u.BlockStatementControlFlowFlatteningNode).whenTargetNamed(a.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(p.CallExpressionControlFlowStorageCallNode).whenTargetNamed(a.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(m.CallExpressionFunctionNode).whenTargetNamed(a.ControlFlowCustomNode.CallExpressionFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.ControlFlowStorageNode).whenTargetNamed(a.ControlFlowCustomNode.ControlFlowStorageNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(S.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(a.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.LogicalExpressionFunctionNode).whenTargetNamed(a.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(C.StringLiteralNode).whenTargetNamed(a.ControlFlowCustomNode.StringLiteralNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.StringLiteralControlFlowStorageCallNode).whenTargetNamed(a.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(f.BlockStatementDeadCodeInjectionNode).whenTargetNamed(s.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(h.ObjectExpressionVariableDeclarationHostNode).whenTargetNamed(c.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.StringArrayCallNode).whenTargetNamed(d.StringArrayCustomNode.StringArrayCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(I.StringArrayScopeCallsWrapperFunctionNode).whenTargetNamed(d.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(E.StringArrayScopeCallsWrapperVariableNode).whenTargetNamed(d.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode),e(i.ServiceIdentifiers.IStringArrayIndexNode).to(_.StringArrayHexadecimalNumberIndexNode).inSingletonScope().whenTargetNamed(O.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode),e(i.ServiceIdentifiers.IStringArrayIndexNode).to(b.StringArrayHexadecimalNumericStringIndexNode).inSingletonScope().whenTargetNamed(O.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode),e(i.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IStringArrayCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.Factory__IStringArrayIndexNode,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IStringArrayIndexNode).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.IStringArrayIndexNode))}))},4080:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generatorsModule=void 0;const o=r(2991),n=r(5350),i=r(3177),a=r(8370),s=r(5932),c=r(3119),d=r(2677);t.generatorsModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(a.DictionaryIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator),e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(c.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(d.MangledShuffledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator),e(n.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(){let e=null;return t=>r=>{if(e)return e;let o;switch(r.identifierNamesGenerator){case i.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator);break;case i.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case i.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator);break;case i.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return e=o,o}}())}))},9654:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.controlFlowTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(4015),s=r(4212),c=r(3358),d=r(5912),l=r(5760),u=r(9749),f=r(6522),p=r(270);t.controlFlowTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(u.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(l.CallExpressionControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(f.LogicalExpressionControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(p.StringLiteralControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(i.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.IControlFlowReplacer))}))},5602:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertingTransformersModule=void 0;const o=r(2991),n=r(1636),i=r(5350),a=r(4212),s=r(9946),c=r(8539),d=r(2337),l=r(9912),u=r(9139),f=r(6037),p=r(9467),m=r(3393),g=r(122),S=r(7834),y=r(626),h=r(6312),N=r(5869),_=r(810);t.convertingTransformersModule=new o.ContainerModule((e=>{e(i.ServiceIdentifiers.INodeTransformer).to(d.BooleanLiteralTransformer).whenTargetNamed(a.NodeTransformer.BooleanLiteralTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(l.ExportSpecifierTransformer).whenTargetNamed(a.NodeTransformer.ExportSpecifierTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(u.MemberExpressionTransformer).whenTargetNamed(a.NodeTransformer.MemberExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(f.MethodDefinitionTransformer).whenTargetNamed(a.NodeTransformer.MethodDefinitionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(p.NumberLiteralTransformer).whenTargetNamed(a.NodeTransformer.NumberLiteralTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(m.NumberToNumericalExpressionTransformer).whenTargetNamed(a.NodeTransformer.NumberToNumericalExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(g.ObjectExpressionKeysTransformer).whenTargetNamed(a.NodeTransformer.ObjectExpressionKeysTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(y.ObjectExpressionTransformer).whenTargetNamed(a.NodeTransformer.ObjectExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(h.ObjectPatternPropertiesTransformer).whenTargetNamed(a.NodeTransformer.ObjectPatternPropertiesTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(N.SplitStringTransformer).whenTargetNamed(a.NodeTransformer.SplitStringTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(_.TemplateLiteralTransformer).whenTargetNamed(a.NodeTransformer.TemplateLiteralTransformer),e(i.ServiceIdentifiers.IObjectExpressionExtractor).to(S.ObjectExpressionToVariableDeclarationExtractor).whenTargetNamed(s.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor),e(i.ServiceIdentifiers.IObjectExpressionExtractor).to(c.BasePropertiesExtractor).whenTargetNamed(s.ObjectExpressionExtractor.BasePropertiesExtractor),e(i.ServiceIdentifiers.Factory__IObjectExpressionExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.IObjectExpressionExtractor))}))},8974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deadCodeInjectionTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(8043);t.deadCodeInjectionTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.DeadCodeInjectionTransformer).whenTargetNamed(i.NodeTransformer.DeadCodeInjectionTransformer)}))},645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.finalizingTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(4837);t.finalizingTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.EscapeSequenceTransformer).whenTargetNamed(i.NodeTransformer.EscapeSequenceTransformer)}))},4028:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initializingTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(5289);t.initializingTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.CommentsTransformer).whenTargetNamed(i.NodeTransformer.CommentsTransformer)}))},1719:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nodeTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(5419);t.nodeTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.Factory__INodeTransformer).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.INodeTransformer)),e(i.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder).to(a.NodeTransformerNamesGroupsBuilder).inSingletonScope()}))},1469:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.preparingTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(4212),s=r(4361),c=r(5878),d=r(6955),l=r(4996),u=r(3449),f=r(4935),p=r(147),m=r(8049),g=r(1581),S=r(774),y=r(7985),h=r(2616);t.preparingTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.INodeTransformer).to(l.CustomCodeHelpersTransformer).whenTargetNamed(a.NodeTransformer.CustomCodeHelpersTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(u.EvalCallExpressionTransformer).whenTargetNamed(a.NodeTransformer.EvalCallExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(m.MetadataTransformer).whenTargetNamed(a.NodeTransformer.MetadataTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(g.ObfuscatingGuardsTransformer).whenTargetNamed(a.NodeTransformer.ObfuscatingGuardsTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(S.ParentificationTransformer).whenTargetNamed(a.NodeTransformer.ParentificationTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(h.VariablePreserveTransformer).whenTargetNamed(a.NodeTransformer.VariablePreserveTransformer),e(i.ServiceIdentifiers.INodeGuard).to(c.BlackListObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.BlackListObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(d.ConditionalCommentObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.ConditionalCommentObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(f.ForceTransformStringObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.ForceTransformStringObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(p.IgnoredRequireImportObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(y.ReservedStringObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.ReservedStringObfuscatingGuard),e(i.ServiceIdentifiers.Factory__INodeGuard).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.INodeGuard))}))},7817:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renameIdentifiersTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(6181),s=r(8869),c=r(5806),d=r(7247);t.renameIdentifiersTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(s.LabeledStatementTransformer).whenTargetNamed(i.NodeTransformer.LabeledStatementTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(c.ScopeIdentifiersTransformer).whenTargetNamed(i.NodeTransformer.ScopeIdentifiersTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(d.ScopeThroughIdentifiersTransformer).whenTargetNamed(i.NodeTransformer.ScopeThroughIdentifiersTransformer),e(n.ServiceIdentifiers.IIdentifierReplacer).to(a.IdentifierReplacer).inSingletonScope()}))},725:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renamePropertiesTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(7889),s=r(2143);t.renamePropertiesTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(s.RenamePropertiesTransformer).whenTargetNamed(i.NodeTransformer.RenamePropertiesTransformer),e(n.ServiceIdentifiers.IRenamePropertiesReplacer).to(a.RenamePropertiesReplacer)}))},1426:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.simplifyingTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(2838),s=r(1226),c=r(8821),d=r(3115);t.simplifyingTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.BlockStatementSimplifyTransformer).whenTargetNamed(i.NodeTransformer.BlockStatementSimplifyTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(s.ExpressionStatementsMergeTransformer).whenTargetNamed(i.NodeTransformer.ExpressionStatementsMergeTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(c.IfStatementSimplifyTransformer).whenTargetNamed(i.NodeTransformer.IfStatementSimplifyTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(d.VariableDeclarationsMergeTransformer).whenTargetNamed(i.NodeTransformer.VariableDeclarationsMergeTransformer)}))},9542:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.stringArrayTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(4123),s=r(4940);t.stringArrayTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.StringArrayScopeCallsWrapperTransformer).whenTargetNamed(i.NodeTransformer.StringArrayScopeCallsWrapperTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(s.StringArrayTransformer).whenTargetNamed(i.NodeTransformer.StringArrayTransformer)}))},5424:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nodeModule=void 0;const o=r(2991),n=r(5350),i=r(2551);t.nodeModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IScopeIdentifiersTraverser).to(i.ScopeIdentifiersTraverser).inSingletonScope()}))},4682:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.optionsModule=void 0;const o=r(2991),n=r(5350),i=r(8516),a=r(6248);t.optionsModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IOptions).to(i.Options).inSingletonScope(),e(n.ServiceIdentifiers.IOptionsNormalizer).to(a.OptionsNormalizer).inSingletonScope()}))},1466:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.storagesModule=void 0;const o=r(2991),n=r(5350),i=r(646),a=r(1951),s=r(3464),c=r(1453),d=r(995),l=r(1860),u=r(1891);t.storagesModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.TCustomNodeGroupStorage).to(a.CustomCodeHelperGroupStorage).inSingletonScope(),e(n.ServiceIdentifiers.ILiteralNodesCacheStorage).to(s.LiteralNodesCacheStorage).inSingletonScope(),e(n.ServiceIdentifiers.IStringArrayStorage).to(l.StringArrayStorage).inSingletonScope(),e(n.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage).to(c.StringArrayScopeCallsWrapperLexicalScopeDataStorage).inSingletonScope(),e(n.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage).to(d.StringArrayScopeCallsWrapperNamesDataStorage).inSingletonScope(),e(n.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage).to(u.VisitedLexicalScopeNodesStackStorage).inSingletonScope(),e(n.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(i.ControlFlowStorage),e(n.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory((e=>()=>{const t=new(e.container.get(n.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(n.ServiceIdentifiers.IRandomGenerator),e.container.get(n.ServiceIdentifiers.IOptions));return t.initialize(),t}))}))},1937:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.utilsModule=void 0;const o=r(2991),n=r(5350),i=r(3087),a=r(5579),s=r(6913),c=r(1622),d=r(7248),l=r(3697);t.utilsModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IArrayUtils).to(i.ArrayUtils).inSingletonScope(),e(n.ServiceIdentifiers.IRandomGenerator).to(l.RandomGenerator).inSingletonScope(),e(n.ServiceIdentifiers.ICryptUtils).to(a.CryptUtils).inSingletonScope(),e(n.ServiceIdentifiers.ICryptUtilsSwappedAlphabet).to(s.CryptUtilsSwappedAlphabet).inSingletonScope(),e(n.ServiceIdentifiers.IEscapeSequenceEncoder).to(c.EscapeSequenceEncoder).inSingletonScope(),e(n.ServiceIdentifiers.ILevelledTopologicalSorter).to(d.LevelledTopologicalSorter)}))},8920:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCustomCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(4482),h=r(1403),N=r(8837),_=r(699);let b=o=class{constructor(e,t,r,o,n){this.cachedNode=null,this.identifierNamesGenerator=e(n),this.customCodeHelperFormatter=t,this.customCodeHelperObfuscator=r,this.randomGenerator=o,this.options=n}getNode(){if(!this.cachedNode){const e=this.getCodeHelperTemplate();this.cachedNode=this.customCodeHelperFormatter.formatStructure(this.getNodeStructure(e))}return this.cachedNode}getGlobalVariableTemplate(){return this.randomGenerator.getRandomGenerator().pickone(o.globalVariableTemplateFunctions)}getCodeHelperTemplate(){return""}};b.globalVariableTemplateFunctions=[N.GlobalVariableTemplate1(),_.GlobalVariableTemplate2()],b=o=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?a:Object,"function"==typeof(s=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],b),t.AbstractCustomCodeHelper=b},9834:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCustomCodeHelperGroup=void 0;const d=r(2991),l=r(5350),u=r(9416),f=r(4482),p=r(1403);let m=class{constructor(e,t,r){this.identifierNamesGenerator=e(r),this.randomGenerator=t,this.options=r}getAppendEvent(){return this.appendEvent}getCustomCodeHelpers(){return this.customCodeHelpers}appendCustomNodeIfExist(e,t){const r=this.customCodeHelpers.get(e);r&&t(r)}getRandomCallsGraphIndex(e){return this.randomGenerator.getRandomInteger(0,Math.max(0,Math.round(e-1)))}};m=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),c(1,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(2,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(o=void 0!==u.TIdentifierNamesGeneratorFactory&&u.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object])],m),t.AbstractCustomCodeHelperGroup=m},259:function(e,t,r){"use strict";var o,n=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperFormatter=void 0;const u=r(2991),f=r(5350),p=s(r(4523)),m=l(r(8655)),g=r(3499),S=r(4134);let y=class{constructor(e){this.prevailingKindOfVariables=e.getPrevailingKind()}formatTemplate(e,t){return m.default(e,t)}formatStructure(e){for(const t of e)p.replace(t,{enter:e=>{if(S.NodeGuards.isVariableDeclarationNode(e))return"var"===this.prevailingKindOfVariables&&(e.kind="var"),e}});return e}};y=a([u.injectable(),d(0,u.inject(f.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)),c("design:paramtypes",["function"==typeof(o=void 0!==g.IPrevailingKindOfVariablesAnalyzer&&g.IPrevailingKindOfVariablesAnalyzer)?o:Object])],y),t.CustomCodeHelperFormatter=y},299:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperObfuscator=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(3685),p=r(2895);let m=class{constructor(e,t){this.randomGenerator=e,this.options=t}obfuscateTemplate(e,t={}){return p.JavaScriptObfuscator.obfuscate(e,Object.assign(Object.assign(Object.assign({},f.NO_ADDITIONAL_NODES_PRESET),{identifierNamesGenerator:this.options.identifierNamesGenerator,identifiersDictionary:this.options.identifiersDictionary,numbersToExpressions:this.options.numbersToExpressions,simplify:this.options.simplify,seed:this.randomGenerator.getRawSeed()}),t)).getObfuscatedCode()}};m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],m),t.CustomCodeHelperObfuscator=m},4400:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallsControllerFunctionCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6871),S=r(6949),y=r(4482),h=r(1403),N=r(1093),_=r(5233),b=r(5423),O=r(8920),I=r(2361);let E=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.appendEvent===N.ObfuscationEvent.AfterObfuscation?this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(b.SingleCallControllerTemplate(),{callControllerFunctionName:this.callsControllerFunctionName})):this.customCodeHelperFormatter.formatTemplate(b.SingleCallControllerTemplate(),{callControllerFunctionName:this.callsControllerFunctionName})}};d([_.initializable(),l("design:type",String)],E.prototype,"callsControllerFunctionName",void 0),d([_.initializable(),l("design:type","function"==typeof(o=void 0!==N.ObfuscationEvent&&N.ObfuscationEvent)?o:Object)],E.prototype,"appendEvent",void 0),E=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperFormatter&&S.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?a:Object,"function"==typeof(s=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],E),t.CallsControllerFunctionCodeHelper=E},484:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=void 0,t.GlobalVariableNoEvalTemplate=function(){return"\n const that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},8837:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=void 0,t.GlobalVariableTemplate1=function(){return"\n let that;\n \n try {\n const getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},699:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=void 0,t.GlobalVariableTemplate2=function(){return"\n const getGlobal = function () {\n let 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 const that = getGlobal();\n "}},5423:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SingleCallControllerTemplate=void 0,t.SingleCallControllerTemplate=function(){return"\n const {callControllerFunctionName} = (function(){\n let firstCall = true;\n \n return function (context, fn){\n const rfn = firstCall ? function(){\n if(fn){\n const 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 "}},5655:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),h=r(7370),N=r(1848),_=r(484),b=r(5233),O=r(8920),I=r(2361);let E=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.callsControllerFunctionName=e,this.consoleOutputDisableFunctionName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.target!==h.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():_.GlobalVariableNoEvalTemplate();return this.customCodeHelperFormatter.formatTemplate(N.ConsoleOutputDisableTemplate(),{callControllerFunctionName:this.callsControllerFunctionName,consoleLogDisableFunctionName:this.consoleOutputDisableFunctionName,globalVariableTemplate:e})}};c([b.initializable(),d("design:type",String)],E.prototype,"callsControllerFunctionName",void 0),c([b.initializable(),d("design:type",String)],E.prototype,"consoleOutputDisableFunctionName",void 0),E=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],E),t.ConsoleOutputDisableCodeHelper=E},4860:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),h=r(7295),N=r(1093),_=r(9834),b=r(7678),O=r(1534);let I=class extends _.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=N.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.disableConsoleOutput)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=O.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(h.CustomCodeHelper.ConsoleOutputDisable,(e=>{e.initialize(c,s),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(h.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.disableConsoleOutput)return;const e=this.customCodeHelperFactory(h.CustomCodeHelper.ConsoleOutputDisable),t=this.customCodeHelperFactory(h.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(h.CustomCodeHelper.ConsoleOutputDisable,e),this.customCodeHelpers.set(h.CustomCodeHelper.CallsControllerFunction,t)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],I.prototype,"customCodeHelpers",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],I),t.ConsoleOutputCodeHelperGroup=I},1848:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableTemplate=void 0,t.ConsoleOutputDisableTemplate=function(){return"\n const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () {\n {globalVariableTemplate}\n\n const consoleObject = (that.console = that.console || {});\n const methods = ['log', 'warn', 'info', 'error', 'exception', 'table', 'trace'];\n\n for (let index = 0; index < methods.length; index++){\n const func = {callControllerFunctionName}.constructor.prototype.bind({callControllerFunctionName});\n const methodName = methods[index];\n const originalFunction = consoleObject[methodName] || func;\n\n func.__proto__ = {callControllerFunctionName}.bind({callControllerFunctionName});\n func.toString = originalFunction.toString.bind(originalFunction);\n \n consoleObject[methodName] = func;\n }\n });\n\n {consoleLogDisableFunctionName}();\n "}},2628:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),h=r(5233),N=r(8125),_=r(8920),b=r(2361);let O=class extends _.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}getNodeStructure(e){return b.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.customCodeHelperFormatter.formatTemplate(N.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,callControllerFunctionName:this.callsControllerFunctionName})}};c([h.initializable(),d("design:type",String)],O.prototype,"callsControllerFunctionName",void 0),c([h.initializable(),d("design:type",String)],O.prototype,"debugProtectionFunctionName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.DebugProtectionFunctionCallCodeHelper=O},9915:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),h=r(7370),N=r(5233),_=r(2415),b=r(176),O=r(6927),I=r(8920),E=r(2361);let v=class extends I.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e){this.debugProtectionFunctionName=e}getNodeStructure(e){return E.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.target!==h.ObfuscationTarget.BrowserNoEval?_.DebuggerTemplate():b.DebuggerTemplateNoEval();return this.customCodeHelperFormatter.formatTemplate(O.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}};c([N.initializable(),d("design:type",String)],v.prototype,"debugProtectionFunctionName",void 0),v=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],v),t.DebugProtectionFunctionCodeHelper=v},5600:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),h=r(5233),N=r(5987),_=r(8920),b=r(2361);let O=class extends _.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e){this.debugProtectionFunctionName=e}getNodeStructure(e){return b.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.customCodeHelperFormatter.formatTemplate(N.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}};c([h.initializable(),d("design:type",String)],O.prototype,"debugProtectionFunctionName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.DebugProtectionFunctionIntervalCodeHelper=O},1723:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),h=r(7295),N=r(1093),_=r(9834),b=r(7678),O=r(4134),I=r(1534);let E=class extends _.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=N.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.debugProtection)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=I.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(h.CustomCodeHelper.DebugProtectionFunctionCall,(e=>{e.initialize(s,c),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(h.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())})),this.appendCustomNodeIfExist(h.CustomCodeHelper.DebugProtectionFunction,(t=>{t.initialize(s),b.NodeAppender.append(e,t.getNode())})),this.appendCustomNodeIfExist(h.CustomCodeHelper.DebugProtectionFunctionInterval,(t=>{const r=O.NodeGuards.isSwitchCaseNode(e)?e.consequent.length:e.body.length,o=this.randomGenerator.getRandomInteger(0,r);t.initialize(s),b.NodeAppender.insertAtIndex(e,t.getNode(),o)}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.debugProtection)return;const e=this.customCodeHelperFactory(h.CustomCodeHelper.DebugProtectionFunction),t=this.customCodeHelperFactory(h.CustomCodeHelper.DebugProtectionFunctionCall),r=this.customCodeHelperFactory(h.CustomCodeHelper.DebugProtectionFunctionInterval),o=this.customCodeHelperFactory(h.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(h.CustomCodeHelper.DebugProtectionFunction,e),this.customCodeHelpers.set(h.CustomCodeHelper.DebugProtectionFunctionCall,t),this.options.debugProtectionInterval&&this.customCodeHelpers.set(h.CustomCodeHelper.DebugProtectionFunctionInterval,r),this.customCodeHelpers.set(h.CustomCodeHelper.CallsControllerFunction,o)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],E.prototype,"customCodeHelpers",void 0),E=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],E),t.DebugProtectionCodeHelperGroup=E},8125:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=void 0,t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {callControllerFunctionName}(\n this,\n function () {\n const regExp1 = new RegExp('function *\\\\( *\\\\)');\n const regExp2 = new RegExp('\\\\+\\\\+ *\\(?:[a-zA-Z_$][0-9a-zA-Z_$]*\\)', 'i');\n \n const 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 })();\n "}},5987:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=void 0,t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},6927:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=void 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 "}},2415:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=void 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 "}},176:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=void 0,t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n const 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 "}},5227:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(5591),h=r(4482),N=r(1403),_=r(7370),b=r(5233),O=r(3762),I=r(484),E=r(8920),v=r(2361);let C=class extends E.AbstractCustomCodeHelper{constructor(e,t,r,o,n,i){super(e,t,r,o,n),this.cryptUtils=i}initialize(e,t){this.callsControllerFunctionName=e,this.domainLockFunctionName=t}getNodeStructure(e){return v.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.domainLock.join(";"),[t,r]=this.cryptUtils.hideString(e,3*e.length),o=this.options.target!==_.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():I.GlobalVariableNoEvalTemplate();return this.customCodeHelperFormatter.formatTemplate(O.DomainLockTemplate(),{callControllerFunctionName:this.callsControllerFunctionName,domainLockFunctionName:this.domainLockFunctionName,diff:r,domains:t,globalVariableTemplate:o})}};d([b.initializable(),l("design:type",String)],C.prototype,"callsControllerFunctionName",void 0),d([b.initializable(),l("design:type",String)],C.prototype,"domainLockFunctionName",void 0),C=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),u(5,f.inject(p.ServiceIdentifiers.ICryptUtils)),l("design:paramtypes",["function"==typeof(o=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==h.IOptions&&h.IOptions)?s:Object,"function"==typeof(c=void 0!==y.ICryptUtils&&y.ICryptUtils)?c:Object])],C),t.DomainLockCodeHelper=C},9673:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockCustomCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),h=r(7295),N=r(1093),_=r(9834),b=r(7678),O=r(1534);let I=class extends _.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=N.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.domainLock.length)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=O.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(h.CustomCodeHelper.DomainLock,(e=>{e.initialize(c,s),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(h.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.domainLock.length)return;const e=this.customCodeHelperFactory(h.CustomCodeHelper.DomainLock),t=this.customCodeHelperFactory(h.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(h.CustomCodeHelper.DomainLock,e),this.customCodeHelpers.set(h.CustomCodeHelper.CallsControllerFunction,t)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],I.prototype,"customCodeHelpers",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],I),t.DomainLockCustomCodeHelperGroup=I},3762:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockTemplate=void 0,t.DomainLockTemplate=function(){return'\n const {domainLockFunctionName} = {callControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n const func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (let i = 0; i < 1000; i--) {\n const 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 const regExp = new RegExp("[{diff}]", "g");\n const domains = "{domains}".replace(regExp, "").split(";");\n let document;\n let domain;\n let location;\n let hostname;\n\n for (let 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 (let 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 (!("~" > domain)) {\n for (let d2 in that[document]) {\n if (d2.length == 8 && d2.charCodeAt(7) == 110 && d2.charCodeAt(0) == 108) {\n location = d2;\n \n break;\n }\n }\n\n for (let d3 in that[document][location]) {\n if (d3.length == 8 && d3.charCodeAt(7) == 101 && d3.charCodeAt(0) == 104) {\n hostname = d3;\n \n break;\n }\n }\n }\n \n if (!document || !that[document]) {\n return;\n }\n \n const documentDomain = that[document][domain];\n const documentLocationHostName = !!that[document][location] && that[document][location][hostname];\n const currentDomain = documentDomain || documentLocationHostName;\n \n if (!currentDomain) {\n return;\n }\n \n let ok = false;\n \n for (let i = 0; i < domains.length; i++) {\n const domain = domains[i];\n const domainNormalized = domain[0] === String.fromCharCode(46)\n ? domain.slice(1)\n : domain;\n const position = currentDomain.length - domainNormalized.length;\n const lastIndex = currentDomain.indexOf(domainNormalized, position);\n const endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},7675:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingUnicodeCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),h=r(7370),N=r(5233),_=r(6739),b=r(3957),O=r(8920),I=r(2361),E=r(484);let v=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.callsControllerFunctionName=e,this.selfDefendingFunctionName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.target!==h.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():E.GlobalVariableNoEvalTemplate(),t=this.options.target!==h.ObfuscationTarget.BrowserNoEval?_.SelfDefendingTemplate():b.SelfDefendingNoEvalTemplate();return this.customCodeHelperFormatter.formatTemplate(t,{callControllerFunctionName:this.callsControllerFunctionName,selfDefendingFunctionName:this.selfDefendingFunctionName,globalVariableTemplate:e})}};c([N.initializable(),d("design:type",String)],v.prototype,"callsControllerFunctionName",void 0),c([N.initializable(),d("design:type",String)],v.prototype,"selfDefendingFunctionName",void 0),v=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],v),t.SelfDefendingUnicodeCodeHelper=v},4582:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),h=r(7295),N=r(1093),_=r(9834),b=r(7678),O=r(1534);let I=class extends _.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=N.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.selfDefending)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=O.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(h.CustomCodeHelper.SelfDefendingUnicode,(e=>{e.initialize(c,s),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(h.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.selfDefending)return;const e=this.customCodeHelperFactory(h.CustomCodeHelper.SelfDefendingUnicode),t=this.customCodeHelperFactory(h.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(h.CustomCodeHelper.SelfDefendingUnicode,e),this.customCodeHelpers.set(h.CustomCodeHelper.CallsControllerFunction,t)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],I.prototype,"customCodeHelpers",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],I),t.SelfDefendingCodeHelperGroup=I},3957:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingNoEvalTemplate=void 0,t.SelfDefendingNoEvalTemplate=function(){return"\n const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () {\n {globalVariableTemplate}\n \n const test = function () {\n const regExp = new that.RegExp('^([^ ]+( +[^ ]+)+)+[^ ]}');\n \n return !regExp.test({selfDefendingFunctionName});\n };\n \n return test();\n });\n \n {selfDefendingFunctionName}();\n "}},6739:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=void 0,t.SelfDefendingTemplate=function(){return"\n const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () {\n const test = function () {\n const regExp = test\n .constructor('return /\" + this + \"/')()\n .constructor('^([^ ]+( +[^ ]+)+)+[^ ]}');\n \n return !regExp.test({selfDefendingFunctionName});\n };\n \n return test();\n });\n \n {selfDefendingFunctionName}();\n "}},9681:function(e,t,r){"use strict";var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperBase64CodeHelper=void 0;const n=r(2991),i=r(893),a=r(2267),s=r(7689);let c=class extends s.StringArrayCallsWrapperCodeHelper{getDecodeStringArrayTemplate(){const e=this.randomGenerator.getRandomString(6),t=this.customCodeHelperFormatter.formatTemplate(i.AtobTemplate(),{atobFunctionName:e}),r=this.getSelfDefendingTemplate();return this.customCodeHelperFormatter.formatTemplate(a.StringArrayBase64DecodeTemplate(this.randomGenerator),{atobPolyfill:t,atobFunctionName:e,selfDefendingCode:r,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}};c=o([n.injectable()],c),t.StringArrayCallsWrapperBase64CodeHelper=c},7689:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(2747),h=r(4482),N=r(1403),_=r(5233),b=r(5534),O=r(7927),I=r(8920),E=r(2361);let v=class extends I.AbstractCustomCodeHelper{constructor(e,t,r,o,n,i){super(e,t,r,o,n),this.escapeSequenceEncoder=i}initialize(e,t,r){this.stringArrayName=e,this.stringArrayCallsWrapperName=t,this.indexShiftAmount=r}getNodeStructure(e){return E.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.getDecodeStringArrayTemplate(),t=[`^${this.stringArrayName}$`];return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(O.StringArrayCallsWrapperTemplate(),{decodeCodeHelperTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName,indexShiftAmount:this.indexShiftAmount}),{reservedNames:t})}getDecodeStringArrayTemplate(){return""}getSelfDefendingTemplate(){return this.options.selfDefending?this.customCodeHelperFormatter.formatTemplate(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}):""}};d([_.initializable(),l("design:type",Number)],v.prototype,"indexShiftAmount",void 0),d([_.initializable(),l("design:type",String)],v.prototype,"stringArrayName",void 0),d([_.initializable(),l("design:type",String)],v.prototype,"stringArrayCallsWrapperName",void 0),v=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),u(5,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l("design:paramtypes",["function"==typeof(o=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==h.IOptions&&h.IOptions)?s:Object,"function"==typeof(c=void 0!==y.IEscapeSequenceEncoder&&y.IEscapeSequenceEncoder)?c:Object])],v),t.StringArrayCallsWrapperCodeHelper=v},8352:function(e,t,r){"use strict";var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperRc4CodeHelper=void 0;const n=r(2991),i=r(893),a=r(2099),s=r(9913),c=r(7689);let d=class extends c.StringArrayCallsWrapperCodeHelper{getDecodeStringArrayTemplate(){const e=this.randomGenerator.getRandomString(6),t=this.customCodeHelperFormatter.formatTemplate(i.AtobTemplate(),{atobFunctionName:e}),r=this.customCodeHelperFormatter.formatTemplate(a.Rc4Template(),{atobFunctionName:e}),o=this.getSelfDefendingTemplate();return this.customCodeHelperFormatter.formatTemplate(s.StringArrayRC4DecodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:r,selfDefendingCode:o,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}};d=o([n.injectable()],d),t.StringArrayCallsWrapperRc4CodeHelper=d},5007:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(4482),h=r(1403),N=r(5683),_=r(5233),b=r(5819),O=r(8920),I=r(2361),E=r(2161);let v=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.stringArrayStorage=e,this.stringArrayName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.customCodeHelperFormatter.formatTemplate(b.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArrayStorageItems:this.getEncodedStringArrayStorageItems()})}getEncodedStringArrayStorageItems(){return Array.from(this.stringArrayStorage.getStorage().values()).map((e=>`'${E.StringUtils.escapeJsString(e.encodedValue)}'`)).toString()}};d([_.initializable(),l("design:type","function"==typeof(o=void 0!==N.IStringArrayStorage&&N.IStringArrayStorage)?o:Object)],v.prototype,"stringArrayStorage",void 0),d([_.initializable(),l("design:type",String)],v.prototype,"stringArrayName",void 0),v=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?a:Object,"function"==typeof(s=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],v),t.StringArrayCodeHelper=v},256:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(2747),h=r(4482),N=r(1403),_=r(5233),b=r(3099),O=r(4016),I=r(8920),E=r(2361),v=r(6543);let C=class extends I.AbstractCustomCodeHelper{constructor(e,t,r,o,n,i){super(e,t,r,o,n),this.escapeSequenceEncoder=i}initialize(e,t){this.stringArrayName=e,this.stringArrayRotationAmount=t}getNodeStructure(e){return E.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.identifierNamesGenerator.generateNext(),t=this.identifierNamesGenerator.generateNext(),r=[`^${this.stringArrayName}$`];let o="";return o=this.options.selfDefending?this.customCodeHelperFormatter.formatTemplate(b.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):`${t}(++${e})`,this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(O.StringArrayRotateFunctionTemplate(),{code:o,timesName:e,whileFunctionName:t,stringArrayName:this.stringArrayName,stringArrayRotationAmount:v.NumberUtils.toHex(this.stringArrayRotationAmount)}),{reservedNames:r})}};d([_.initializable(),l("design:type",String)],C.prototype,"stringArrayName",void 0),d([_.initializable(),l("design:type",Number)],C.prototype,"stringArrayRotationAmount",void 0),C=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),u(5,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l("design:paramtypes",["function"==typeof(o=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==h.IOptions&&h.IOptions)?s:Object,"function"==typeof(c=void 0!==y.IEscapeSequenceEncoder&&y.IEscapeSequenceEncoder)?c:Object])],C),t.StringArrayRotateFunctionCodeHelper=C},5769:function(e,t,r){"use strict";var o,n,i,a,s,c,d,l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCodeHelperGroup=void 0;const p=r(2991),m=r(5350),g=r(8820),S=r(9416),y=r(4482),h=r(1403),N=r(5683),_=r(5233),b=r(7295),O=r(1093),I=r(1137),E=r(9834),v=r(7678);let C=o=class extends E.AbstractCustomCodeHelperGroup{constructor(e,t,r,o,n){super(r,o,n),this.appendEvent=O.ObfuscationEvent.AfterObfuscation,this.customCodeHelperFactory=e,this.stringArrayStorage=t}appendNodes(e,t){if(!this.stringArrayStorage.getLength())return;this.appendCustomNodeIfExist(b.CustomCodeHelper.StringArray,(t=>{v.NodeAppender.prepend(e,t.getNode())}));const r=this.options.stringArrayEncoding.length;for(let t=0;t{v.NodeAppender.insertAtIndex(e,r.getNode(),t+1)}))}this.appendCustomNodeIfExist(b.CustomCodeHelper.StringArrayRotateFunction,(t=>{v.NodeAppender.insertAtIndex(e,t.getNode(),1)}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.stringArray)return;const e=this.customCodeHelperFactory(b.CustomCodeHelper.StringArray),t=this.stringArrayStorage.getStorageName();e.initialize(this.stringArrayStorage,t),this.customCodeHelpers.set(b.CustomCodeHelper.StringArray,e);for(const e of this.options.stringArrayEncoding){const r=this.getStringArrayCallsWrapperCodeHelperName(e),o=this.customCodeHelperFactory(r),n=this.stringArrayStorage.getStorageCallsWrapperName(e);o.initialize(t,n,this.stringArrayStorage.getIndexShiftAmount()),this.customCodeHelpers.set(r,o)}const r=this.customCodeHelperFactory(b.CustomCodeHelper.StringArrayRotateFunction);r.initialize(t,this.stringArrayStorage.getRotationAmount()),this.options.rotateStringArray&&this.customCodeHelpers.set(b.CustomCodeHelper.StringArrayRotateFunction,r)}getStringArrayCallsWrapperCodeHelperName(e){var t;return null!==(t=o.stringArrayCallsWrapperCodeHelperMap.get(e))&&void 0!==t?t:b.CustomCodeHelper.StringArrayCallsWrapper}};C.stringArrayCallsWrapperCodeHelperMap=new Map([[I.StringArrayEncoding.None,b.CustomCodeHelper.StringArrayCallsWrapper],[I.StringArrayEncoding.Base64,b.CustomCodeHelper.StringArrayCallsWrapperBase64],[I.StringArrayEncoding.Rc4,b.CustomCodeHelper.StringArrayCallsWrapperRc4]]),l([_.initializable(),u("design:type","function"==typeof(n="undefined"!=typeof Map&&Map)?n:Object)],C.prototype,"customCodeHelpers",void 0),C=o=l([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.Factory__ICustomCodeHelper)),f(1,p.inject(m.ServiceIdentifiers.IStringArrayStorage)),f(2,p.inject(m.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),f(3,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(4,p.inject(m.ServiceIdentifiers.IOptions)),u("design:paramtypes",["function"==typeof(i=void 0!==g.TCustomCodeHelperFactory&&g.TCustomCodeHelperFactory)?i:Object,"function"==typeof(a=void 0!==N.IStringArrayStorage&&N.IStringArrayStorage)?a:Object,"function"==typeof(s=void 0!==S.TIdentifierNamesGeneratorFactory&&S.TIdentifierNamesGeneratorFactory)?s:Object,"function"==typeof(c=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?c:Object,"function"==typeof(d=void 0!==y.IOptions&&y.IOptions)?d:Object])],C),t.StringArrayCodeHelperGroup=C},893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=void 0;const o=r(4497);t.AtobTemplate=function(){return`\n var {atobFunctionName} = function (input) {\n const chars = '${o.base64alphabetSwapped}';\n\n const str = String(input).replace(/=+$/, '');\n let output = '';\n for (\n let bc = 0, bs, buffer, idx = 0;\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 `}},2099:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=void 0,t.Rc4Template=function(){return"\n const rc4 = function (str, key) {\n let s = [], j = 0, x, res = '', newStr = '';\n \n str = {atobFunctionName}(str);\n \n for (let 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 let i;\n \t \n for (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 (let 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 "}},5534:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=void 0,t.SelfDefendingTemplate=function(e,t){const r=e.getRandomString(6),o=e.getRandomString(6),n=e.getRandomString(6),i=e.getRandomString(6),a=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),l=e.getRandomString(6);return`\n const StatesClass = function (${r}) {\n this.${r} = ${r};\n this.${o} = [1, 0, 0];\n this.${n} = function(){return 'newState';};\n this.${i} = '${t.encode("\\w+ *\\(\\) *{\\w+ *",!0)}';\n this.${a} = '${t.encode("['|\"].+['|\"];? *}",!0)}';\n };\n \n StatesClass.prototype.${s} = function () {\n const regExp = new RegExp(this.${i} + this.${a});\n const expression = regExp.test(this.${n}.toString())\n ? --this.${o}[1]\n : --this.${o}[0];\n \n return this.${c}(expression);\n };\n \n StatesClass.prototype.${c} = function (${l}) {\n if (!Boolean(~${l})) {\n return ${l};\n }\n \n return this.${d}(this.${r});\n };\n\n StatesClass.prototype.${d} = function (${r}) {\n for (let i = 0, len = this.${o}.length; i < len; i++) {\n this.${o}.push(Math.round(Math.random()));\n len = this.${o}.length;\n }\n \n return ${r}(this.${o}[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).${s}();\n `}},2267:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeTemplate=void 0,t.StringArrayBase64DecodeTemplate=function(e){const t=e.getRandomString(6),r=e.getRandomString(6),o=e.getRandomString(6);return`\n if ({stringArrayCallsWrapperName}.${t} === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.${r} = function (str) {\n const string = {atobFunctionName}(str);\n let newStringChars = [];\n \n for (let 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}.${o} = {};\n \n {stringArrayCallsWrapperName}.${t} = true;\n }\n \n const cachedValue = {stringArrayCallsWrapperName}.${o}[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.${r}(value);\n {stringArrayCallsWrapperName}.${o}[index] = value;\n } else {\n value = cachedValue;\n }\n `}},7927:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=void 0,t.StringArrayCallsWrapperTemplate=function(){return"\n const {stringArrayCallsWrapperName} = function (index, key) {\n index = index - {indexShiftAmount};\n \n let value = {stringArrayName}[index];\n \n {decodeCodeHelperTemplate}\n \n return value;\n };\n "}},9913:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRC4DecodeTemplate=void 0,t.StringArrayRC4DecodeTemplate=function(e){const t=e.getRandomString(6),r=e.getRandomString(6),o=e.getRandomString(6),n=e.getRandomString(6);return`\n if ({stringArrayCallsWrapperName}.${t} === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.${r} = rc4;\n \n {stringArrayCallsWrapperName}.${o} = {};\n \n {stringArrayCallsWrapperName}.${t} = true;\n }\n \n const cachedValue = {stringArrayCallsWrapperName}.${o}[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.${n} === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.${n} = true;\n }\n \n value = {stringArrayCallsWrapperName}.${r}(value, key);\n {stringArrayCallsWrapperName}.${o}[index] = value;\n } else {\n value = cachedValue;\n }\n `}},3099:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=void 0,t.SelfDefendingTemplate=function(e){return`\n const selfDefendingFunc = function () {\n const object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n let updatedCookie = name + "=" + value;\n let i = 0;\n \n for (let i = 0, len = options.length; i < len; i++) {\n const propName = options[i];\n \n updatedCookie += "; " + propName;\n \n const 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 const matches = document(new RegExp(\n "(?:^|; )" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + "=([^;]*)"\n ));\n \n const 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 const test1 = function () {\n const regExp = new RegExp('${e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0)}');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n let cookie = '';\n const 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 `}},4016:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=void 0,t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n const {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, {stringArrayRotationAmount});\n "}},5819:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=void 0,t.StringArrayTemplate=function(){return"\n const {stringArrayName} = [{stringArrayStorageItems}];\n "}},3088:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCustomNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403);let S=class{constructor(e,t,r,o){this.cachedNode=null,this.identifierNamesGenerator=e(o),this.customCodeHelperFormatter=t,this.randomGenerator=r,this.options=o}getNode(){return this.cachedNode||(this.cachedNode=this.customCodeHelperFormatter.formatStructure(this.getNodeStructure())),this.cachedNode}};S=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],S),t.AbstractCustomNode=S},1597:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BinaryExpressionFunctionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),h=r(2361);let N=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.operator=e}getNodeStructure(){const e=y.NodeFactory.expressionStatementNode(y.NodeFactory.functionExpressionNode([y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")],y.NodeFactory.blockStatementNode([y.NodeFactory.returnStatementNode(y.NodeFactory.binaryExpressionNode(this.operator,y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")))])));return h.NodeUtils.parentizeAst(e),[e]}};N=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],N),t.BinaryExpressionFunctionNode=N},5540:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementControlFlowFlatteningNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(9965),m=r(6949),g=r(4482),S=r(1403),y=r(5233),h=r(3088),N=r(9376),_=r(4134),b=r(2361);let O=class extends h.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}getNodeStructure(){const e=this.randomGenerator.getRandomString(6),t=this.randomGenerator.getRandomString(6),r=N.NodeFactory.blockStatementNode([N.NodeFactory.variableDeclarationNode([N.NodeFactory.variableDeclaratorNode(N.NodeFactory.identifierNode(e),N.NodeFactory.callExpressionNode(N.NodeFactory.memberExpressionNode(N.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join(p.StringSeparator.VerticalLine)),N.NodeFactory.identifierNode("split")),[N.NodeFactory.literalNode(p.StringSeparator.VerticalLine)]))],"const"),N.NodeFactory.variableDeclarationNode([N.NodeFactory.variableDeclaratorNode(N.NodeFactory.identifierNode(t),N.NodeFactory.literalNode(0))],"let"),N.NodeFactory.whileStatementNode(N.NodeFactory.literalNode(!0),N.NodeFactory.blockStatementNode([N.NodeFactory.switchStatementNode(N.NodeFactory.memberExpressionNode(N.NodeFactory.identifierNode(e),N.NodeFactory.updateExpressionNode("++",N.NodeFactory.identifierNode(t)),!0),this.shuffledKeys.map(((e,t)=>{const r=this.blockStatementBody[e],o=[r];return _.NodeGuards.isReturnStatementNode(r)||o.push(N.NodeFactory.continueStatement()),N.NodeFactory.switchCaseNode(N.NodeFactory.literalNode(String(t)),o)}))),N.NodeFactory.breakStatement()]))]);return b.NodeUtils.parentizeAst(r),[r]}};s([y.initializable(),c("design:type",Array)],O.prototype,"blockStatementBody",void 0),s([y.initializable(),c("design:type",Array)],O.prototype,"originalKeysIndexesInShuffledArray",void 0),s([y.initializable(),c("design:type",Array)],O.prototype,"shuffledKeys",void 0),O=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==g.IOptions&&g.IOptions)?a:Object])],O),t.BlockStatementControlFlowFlatteningNode=O},1984:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallExpressionFunctionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),h=r(9376),N=r(2361);let _=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.expressionArguments=e}getNodeStructure(){const e=h.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length;for(let e=0;e=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogicalExpressionFunctionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),h=r(2361);let N=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.operator=e}getNodeStructure(){const e=y.NodeFactory.expressionStatementNode(y.NodeFactory.functionExpressionNode([y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")],y.NodeFactory.blockStatementNode([y.NodeFactory.returnStatementNode(y.NodeFactory.logicalExpressionNode(this.operator,y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")))])));return h.NodeUtils.parentizeAst(e),[e]}};N=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],N),t.LogicalExpressionFunctionNode=N},7388:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringLiteralNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),h=r(9376);let N=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.literalValue=e}getNodeStructure(){return[h.NodeFactory.expressionStatementNode(h.NodeFactory.literalNode(this.literalValue))]}};s([S.initializable(),c("design:type",String)],N.prototype,"literalValue",void 0),N=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],N),t.StringLiteralNode=N},8105:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallExpressionControlFlowStorageCallNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(4482),S=r(1403),y=r(5233),h=r(3088),N=r(9376),_=r(2361);let b=class extends h.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t,r,o){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.callee=r,this.expressionArguments=o}getNodeStructure(){const e=N.NodeFactory.expressionStatementNode(N.NodeFactory.callExpressionNode(N.NodeFactory.memberExpressionNode(N.NodeFactory.identifierNode(this.controlFlowStorageName),N.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.callee,...this.expressionArguments]));return _.NodeUtils.parentizeAst(e),[e]}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof ESTree&&ESTree.Expression)?o:Object)],b.prototype,"callee",void 0),c([y.initializable(),d("design:type",String)],b.prototype,"controlFlowStorageKey",void 0),c([y.initializable(),d("design:type",String)],b.prototype,"controlFlowStorageName",void 0),c([y.initializable(),d("design:type",Array)],b.prototype,"expressionArguments",void 0),b=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],b),t.CallExpressionControlFlowStorageCallNode=b},9372:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowStorageNode=void 0;const u=r(2991),f=r(5350),p=r(138),m=r(9416),g=r(6949),S=r(4482),y=r(1403),h=r(5233),N=r(3088),_=r(9376),b=r(4134),O=r(2361);let I=class extends N.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.controlFlowStorage=e}getNodeStructure(){const e=Array.from(this.controlFlowStorage.getStorage()).map((([e,t])=>{const r=t.getNode()[0];if(!b.NodeGuards.isExpressionStatementNode(r))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return _.NodeFactory.propertyNode(_.NodeFactory.identifierNode(e),r.expression)}));let t=_.NodeFactory.variableDeclarationNode([_.NodeFactory.variableDeclaratorNode(_.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),_.NodeFactory.objectExpressionNode(e))],"const");return t=O.NodeUtils.parentizeAst(t),[t]}};c([h.initializable(),d("design:type","function"==typeof(o=void 0!==p.TControlFlowStorage&&p.TControlFlowStorage)?o:Object)],I.prototype,"controlFlowStorage",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],I),t.ControlFlowStorageNode=I},8807:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionWithOperatorControlFlowStorageCallNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),h=r(9376),N=r(2361);let _=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t,r,o){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=o}getNodeStructure(){const e=h.NodeFactory.expressionStatementNode(h.NodeFactory.callExpressionNode(h.NodeFactory.memberExpressionNode(h.NodeFactory.identifierNode(this.controlFlowStorageName),h.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return N.NodeUtils.parentizeAst(e),[e]}};s([S.initializable(),c("design:type",String)],_.prototype,"controlFlowStorageKey",void 0),s([S.initializable(),c("design:type",String)],_.prototype,"controlFlowStorageName",void 0),_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],_),t.ExpressionWithOperatorControlFlowStorageCallNode=_},6512:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringLiteralControlFlowStorageCallNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),h=r(9376),N=r(2361);let _=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}getNodeStructure(){const e=h.NodeFactory.expressionStatementNode(h.NodeFactory.memberExpressionNode(h.NodeFactory.identifierNode(this.controlFlowStorageName),h.NodeFactory.identifierNode(this.controlFlowStorageKey)));return N.NodeUtils.parentizeAst(e),[e]}};s([S.initializable(),c("design:type",String)],_.prototype,"controlFlowStorageKey",void 0),s([S.initializable(),c("design:type",String)],_.prototype,"controlFlowStorageName",void 0),_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],_),t.StringLiteralControlFlowStorageCallNode=_},9193:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementDeadCodeInjectionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),h=r(2361);let N=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t){this.blockStatementNode=e,this.deadCodeInjectionRootAstHostNode=t}getNode(){return this.getNodeStructure()}getNodeStructure(){const e=this.randomGenerator.getMathRandom()>.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",o=this.randomGenerator.getRandomString(5),n=t?o:this.randomGenerator.getRandomString(5),[i,a]=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=y.NodeFactory.blockStatementNode([y.NodeFactory.ifStatementNode(y.NodeFactory.binaryExpressionNode(r,y.NodeFactory.literalNode(o),y.NodeFactory.literalNode(n)),i,a)]);return h.NodeUtils.parentizeAst(s),[s]}};N=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],N),t.BlockStatementDeadCodeInjectionNode=N},8866:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionVariableDeclarationHostNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),h=r(4134);let N=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t){this.lexicalScopeNode=e,this.properties=t}getNodeStructure(){const e=h.NodeGuards.isProgramNode(this.lexicalScopeNode)?this.identifierNamesGenerator.generateForGlobalScope():this.identifierNamesGenerator.generateForLexicalScope(this.lexicalScopeNode);return[y.NodeFactory.variableDeclarationNode([y.NodeFactory.variableDeclaratorNode(y.NodeFactory.identifierNode(e),y.NodeFactory.objectExpressionNode(this.properties))],"const")]}};N=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],N),t.ObjectExpressionVariableDeclarationHostNode=N},7306:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStringArrayCallNode=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(7219),S=r(6949),y=r(4482),h=r(1403),N=r(6212),_=r(8064),b=r(3088),O=r(9376),I=r(739),E=r(2361);let v=o=class extends b.AbstractCustomNode{constructor(e,t,r,o,n){super(e,r,o,n),this.stringArrayIndexNodeFactory=t}getStringArrayIndexNode(e){var t;const r=e>=0,n=Math.abs(e),i=this.randomGenerator.getRandomGenerator().pickone(this.options.stringArrayIndexesType),a=null!==(t=o.stringArrayIndexNodesMap.get(i))&&void 0!==t?t:null;if(!a)throw new Error("Invalid string array index node name");const s=this.stringArrayIndexNodeFactory(a).getNode(n);I.NodeMetadata.set(s,{replacedLiteral:!0});const c=r?s:O.NodeFactory.unaryExpressionNode("-",s);return E.NodeUtils.parentizeAst(c),c}getRc4KeyLiteralNode(e){const t=O.NodeFactory.literalNode(e);return I.NodeMetadata.set(t,{replacedLiteral:!0}),t}};v.stringArrayIndexNodesMap=new Map([[N.StringArrayIndexesType.HexadecimalNumber,_.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode],[N.StringArrayIndexesType.HexadecimalNumericString,_.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode]]),v=o=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.Factory__IStringArrayIndexNode)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.TStringArrayIndexNodeFactory&&g.TStringArrayIndexNodeFactory)?i:Object,"function"==typeof(a=void 0!==S.ICustomCodeHelperFormatter&&S.ICustomCodeHelperFormatter)?a:Object,"function"==typeof(s=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],v),t.AbstractStringArrayCallNode=v},9826:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(7219),g=r(6949),S=r(4482),y=r(1403),h=r(5233),N=r(7306),_=r(9376),b=r(2361);let O=class extends N.AbstractStringArrayCallNode{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t,r,o){this.stringArrayCallsWrapperName=e,this.index=t,this.indexShiftAmount=r,this.decodeKey=o}getNodeStructure(){const e=[this.getStringArrayIndexNode(this.indexShiftAmount+this.index)];this.decodeKey&&e.push(this.getRc4KeyLiteralNode(this.decodeKey));const t=_.NodeFactory.identifierNode(this.stringArrayCallsWrapperName),r=_.NodeFactory.expressionStatementNode(_.NodeFactory.callExpressionNode(t,e));return b.NodeUtils.parentizeAst(r),[r]}};c([h.initializable(),d("design:type",Object)],O.prototype,"decodeKey",void 0),c([h.initializable(),d("design:type",Number)],O.prototype,"index",void 0),c([h.initializable(),d("design:type",Number)],O.prototype,"indexShiftAmount",void 0),c([h.initializable(),d("design:type",String)],O.prototype,"stringArrayCallsWrapperName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.Factory__IStringArrayIndexNode)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.TStringArrayIndexNodeFactory&&m.TStringArrayIndexNodeFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.StringArrayCallNode=O},573:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperFunctionNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(7219),g=r(6949),S=r(4482),y=r(1403),h=r(5233),N=r(7306),_=r(9376),b=r(2361);let O=class extends N.AbstractStringArrayCallNode{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t,r){this.stringArrayScopeCallsWrapperName=e,this.stringArrayCallsWrapperName=t,this.shiftedIndex=r}getNodeStructure(){const e=_.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),t=_.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),r=_.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),o=_.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),n=_.NodeFactory.functionExpressionNode([e,t],_.NodeFactory.blockStatementNode([_.NodeFactory.returnStatementNode(_.NodeFactory.callExpressionNode(_.NodeFactory.identifierNode(this.stringArrayCallsWrapperName),[_.NodeFactory.binaryExpressionNode("-",r,this.getStringArrayIndexNode(this.shiftedIndex)),o]))])),i=_.NodeFactory.variableDeclarationNode([_.NodeFactory.variableDeclaratorNode(_.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName),n)],"const");b.NodeUtils.parentizeAst(i);const a=this.identifierNamesGenerator.generateForLexicalScope(n),s=this.identifierNamesGenerator.generateForLexicalScope(n);return e.name=a,t.name=s,r.name=a,o.name=s,[i]}};c([h.initializable(),d("design:type",Number)],O.prototype,"shiftedIndex",void 0),c([h.initializable(),d("design:type",String)],O.prototype,"stringArrayCallsWrapperName",void 0),c([h.initializable(),d("design:type",String)],O.prototype,"stringArrayScopeCallsWrapperName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.Factory__IStringArrayIndexNode)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.TStringArrayIndexNodeFactory&&m.TStringArrayIndexNodeFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.StringArrayScopeCallsWrapperFunctionNode=O},9867:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperVariableNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(7219),g=r(6949),S=r(4482),y=r(1403),h=r(5233),N=r(7306),_=r(9376),b=r(2361);let O=class extends N.AbstractStringArrayCallNode{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.stringArrayScopeCallsWrapperName=e,this.stringArrayCallsWrapperName=t}getNodeStructure(){const e=_.NodeFactory.variableDeclarationNode([_.NodeFactory.variableDeclaratorNode(_.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName),_.NodeFactory.identifierNode(this.stringArrayCallsWrapperName))],"const");return b.NodeUtils.parentizeAst(e),[e]}};c([h.initializable(),d("design:type",String)],O.prototype,"stringArrayCallsWrapperName",void 0),c([h.initializable(),d("design:type",String)],O.prototype,"stringArrayScopeCallsWrapperName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.Factory__IStringArrayIndexNode)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.TStringArrayIndexNodeFactory&&m.TStringArrayIndexNodeFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.StringArrayScopeCallsWrapperVariableNode=O},6897:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStringArrayIndexNode=void 0;const c=r(2991),d=r(4482),l=r(1403),u=r(5350);let f=class{constructor(e,t){this.randomGenerator=e,this.options=t}};f=i([c.injectable(),s(0,c.inject(u.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(u.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.IRandomGenerator&&l.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==d.IOptions&&d.IOptions)?n:Object])],f),t.AbstractStringArrayIndexNode=f},398:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayHexadecimalNumberIndexNode=void 0;const c=r(2991),d=r(4482),l=r(1403),u=r(5350),f=r(6897),p=r(9376),m=r(6543);let g=class extends f.AbstractStringArrayIndexNode{constructor(e,t){super(e,t)}getNode(e){const t=m.NumberUtils.toHex(e);return p.NodeFactory.literalNode(e,t)}};g=i([c.injectable(),s(0,c.inject(u.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(u.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.IRandomGenerator&&l.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==d.IOptions&&d.IOptions)?n:Object])],g),t.StringArrayHexadecimalNumberIndexNode=g},6379:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayHexadecimalNumericStringIndexNode=void 0;const c=r(2991),d=r(4482),l=r(1403),u=r(5350),f=r(6897),p=r(9376),m=r(6543);let g=class extends f.AbstractStringArrayIndexNode{constructor(e,t){super(e,t)}getNode(e){const t=m.NumberUtils.toHex(e);return p.NodeFactory.literalNode(t)}};g=i([c.injectable(),s(0,c.inject(u.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(u.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.IRandomGenerator&&l.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==d.IOptions&&d.IOptions)?n:Object])],g),t.StringArrayHexadecimalNumericStringIndexNode=g},5233:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initializable=void 0;const r={configurable:!0,enumerable:!0},o="_initialized",n="_initializablePropertiesSet",i="_wrappedMethodsSet";function a(e,t,r){Reflect.hasMetadata(e,r)||Reflect.defineMetadata(e,t,r)}t.initializable=function(e="initialize"){const t=Object.keys(this)[0];return(s,c)=>{const d=s[e];if(!d||"function"!=typeof d)throw new Error(`\`${e}\` method with initialization logic not found. \`@${t}\` decorator requires \`${e}\` method`);return a(o,!1,s),a(n,new Set,s),a(i,new Set,s),function(e,t){const a=Object.getOwnPropertyNames(e),s=new Set([t,"constructor"]);a.forEach((a=>{var c;const d=Reflect.getMetadata(n,e),l=Reflect.getMetadata(i,e);if(s.has(a)||d.has(a)||l.has(a))return;if("function"!=typeof e[a])return;const u=null!==(c=Object.getOwnPropertyDescriptor(e,a))&&void 0!==c?c:r,f=u.value;Object.defineProperty(e,a,Object.assign(Object.assign({},u),{value(){if(!Reflect.getMetadata(o,this))throw new Error(`Class should be initialized with \`${t}()\` method`);return f.apply(this,arguments)}})),l.add(a)}))}(s,e),function(e,t,n){var i;const a=null!==(i=Object.getOwnPropertyDescriptor(e,t))&&void 0!==i?i:r,s=a.value;Object.defineProperty(e,t,Object.assign(Object.assign({},a),{value:function(){Reflect.defineMetadata(o,!0,this);const e=s.apply(this,arguments);return this[n],e}}))}(s,e,c),function(e,t){var o;Reflect.getMetadata(n,e).add(t);const i="_"+t.toString(),a=null!==(o=Object.getOwnPropertyDescriptor(e,i))&&void 0!==o?o:r;return Object.defineProperty(e,t,Object.assign(Object.assign({},a),{get:function(){if(void 0===this[i])throw new Error(`Property \`${t.toString()}\` is not initialized! Initialize it first!`);return this[i]},set:function(e){this[i]=e}})),a}(s,c)}}},7370:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscationTarget=void 0;const o=r(4741);t.ObfuscationTarget=o.Utils.makeEnum({Browser:"browser",BrowserNoEval:"browser-no-eval",Node:"node"})},9965:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.StringSeparator=void 0,(r=t.StringSeparator||(t.StringSeparator={})).Comma=",",r.Dot=".",r.VerticalLine="|"},8657:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CalleeDataExtractor=void 0,(r=t.CalleeDataExtractor||(t.CalleeDataExtractor={})).FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",r.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",r.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"},5670:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformationStage=void 0,(r=t.CodeTransformationStage||(t.CodeTransformationStage={})).PreparingTransformers="PreparingTransformers",r.FinalizingTransformers="FinalizingTransformers"},7082:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformer=void 0,(t.CodeTransformer||(t.CodeTransformer={})).HashbangOperatorTransformer="HashbangOperatorTransformer"},7295:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelper=void 0,(r=t.CustomCodeHelper||(t.CustomCodeHelper={})).CallsControllerFunction="CallsControllerFunction",r.ConsoleOutputDisable="ConsoleOutputDisable",r.DebugProtectionFunctionCall="DebugProtectionFunctionCall",r.DebugProtectionFunctionInterval="DebugProtectionFunctionInterval",r.DebugProtectionFunction="DebugProtectionFunction",r.DomainLock="DomainLock",r.SelfDefendingUnicode="SelfDefendingUnicode",r.StringArray="StringArray",r.StringArrayCallsWrapper="StringArrayCallsWrapper",r.StringArrayCallsWrapperBase64="StringArrayCallsWrapperBase64",r.StringArrayCallsWrapperRc4="StringArrayCallsWrapperRc4",r.StringArrayRotateFunction="StringArrayRotateFunction"},1806:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperGroup=void 0,(r=t.CustomCodeHelperGroup||(t.CustomCodeHelperGroup={})).ConsoleOutput="ConsoleOutput",r.DebugProtection="DebugProtection",r.DomainLock="DomainLock",r.SelfDefending="SelfDefending",r.StringArray="StringArray"},1280:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowCustomNode=void 0,(r=t.ControlFlowCustomNode||(t.ControlFlowCustomNode={})).BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",r.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",r.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",r.CallExpressionFunctionNode="CallExpressionFunctionNode",r.ControlFlowStorageNode="ControlFlowStorageNode",r.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",r.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",r.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",r.StringLiteralNode="StringLiteralNode"},2620:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionCustomNode=void 0,(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={})).BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"},9809:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionKeysTransformerCustomNode=void 0,(t.ObjectExpressionKeysTransformerCustomNode||(t.ObjectExpressionKeysTransformerCustomNode={})).ObjectExpressionVariableDeclarationHostNode="ObjectExpressionVariableDeclarationHostNode"},294:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCustomNode=void 0,(r=t.StringArrayCustomNode||(t.StringArrayCustomNode={})).StringArrayCallNode="StringArrayCallNode",r.StringArrayScopeCallsWrapperFunctionNode="StringArrayScopeCallsWrapperFunctionNode",r.StringArrayScopeCallsWrapperVariableNode="StringArrayScopeCallsWrapperVariableNode"},8064:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayIndexNode=void 0,(r=t.StringArrayIndexNode||(t.StringArrayIndexNode={})).StringArrayHexadecimalNumberIndexNode="StringArrayHexadecimalNumberIndexNode",r.StringArrayHexadecimalNumericStringIndexNode="StringArrayHexadecimalNumericStringIndexNode"},1093:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscationEvent=void 0,(r=t.ObfuscationEvent||(t.ObfuscationEvent={})).AfterObfuscation="afterObfuscation",r.BeforeObfuscation="beforeObfuscation"},3177:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IdentifierNamesGenerator=void 0;const o=r(4741);t.IdentifierNamesGenerator=o.Utils.makeEnum({DictionaryIdentifierNamesGenerator:"dictionary",HexadecimalIdentifierNamesGenerator:"hexadecimal",MangledIdentifierNamesGenerator:"mangled",MangledShuffledIdentifierNamesGenerator:"mangled-shuffled"})},6221:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.LoggingMessage=void 0,(r=t.LoggingMessage||(t.LoggingMessage={})).EmptySourceCode="Empty source code. Obfuscation canceled...",r.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",r.ObfuscationStarted="Obfuscation started...",r.RandomGeneratorSeed="Random generator seed: %s...",r.CodeTransformationStage="Code transformation stage: %s...",r.NodeTransformationStage="AST transformation stage: %s...",r.Version="Version: %s"},4469:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.LoggingPrefix=void 0,(r=t.LoggingPrefix||(t.LoggingPrefix={})).Base="[javascript-obfuscator]",r.CLI="[javascript-obfuscator-cli]"},8932:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformationStage=void 0,(r=t.NodeTransformationStage||(t.NodeTransformationStage={})).ControlFlowFlattening="ControlFlowFlattening",r.Converting="Converting",r.DeadCodeInjection="DeadCodeInjection",r.Finalizing="Finalizing",r.Initializing="Initializing",r.Preparing="Preparing",r.RenameIdentifiers="RenameIdentifiers",r.RenameProperties="RenameProperties",r.Simplifying="Simplifying",r.StringArray="StringArray"},4212:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformer=void 0,(r=t.NodeTransformer||(t.NodeTransformer={})).BooleanLiteralTransformer="BooleanLiteralTransformer",r.BlockStatementControlFlowTransformer="BlockStatementControlFlowTransformer",r.BlockStatementSimplifyTransformer="BlockStatementSimplifyTransformer",r.CommentsTransformer="CommentsTransformer",r.CustomCodeHelpersTransformer="CustomCodeHelpersTransformer",r.DeadCodeInjectionTransformer="DeadCodeInjectionTransformer",r.EscapeSequenceTransformer="EscapeSequenceTransformer",r.EvalCallExpressionTransformer="EvalCallExpressionTransformer",r.ExportSpecifierTransformer="ExportSpecifierTransformer",r.ExpressionStatementsMergeTransformer="ExpressionStatementsMergeTransformer",r.FunctionControlFlowTransformer="FunctionControlFlowTransformer",r.IfStatementSimplifyTransformer="IfStatementSimplifyTransformer",r.LabeledStatementTransformer="LabeledStatementTransformer",r.MemberExpressionTransformer="MemberExpressionTransformer",r.MetadataTransformer="MetadataTransformer",r.MethodDefinitionTransformer="MethodDefinitionTransformer",r.NumberLiteralTransformer="NumberLiteralTransformer",r.NumberToNumericalExpressionTransformer="NumberToNumericalExpressionTransformer",r.ObfuscatingGuardsTransformer="ObfuscatingGuardsTransformer",r.ObjectExpressionKeysTransformer="ObjectExpressionKeysTransformer",r.ObjectExpressionTransformer="ObjectExpressionTransformer",r.ObjectPatternPropertiesTransformer="ObjectPatternPropertiesTransformer",r.ParentificationTransformer="ParentificationTransformer",r.RenamePropertiesTransformer="RenamePropertiesTransformer",r.ScopeIdentifiersTransformer="ScopeIdentifiersTransformer",r.ScopeThroughIdentifiersTransformer="ScopeThroughIdentifiersTransformer",r.SplitStringTransformer="SplitStringTransformer",r.StringArrayTransformer="StringArrayTransformer",r.StringArrayScopeCallsWrapperTransformer="StringArrayScopeCallsWrapperTransformer",r.TemplateLiteralTransformer="TemplateLiteralTransformer",r.VariableDeclarationsMergeTransformer="VariableDeclarationsMergeTransformer",r.VariablePreserveTransformer="VariablePreserveTransformer"},9487:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.VisitorDirection=void 0,(r=t.VisitorDirection||(t.VisitorDirection={})).Enter="enter",r.Leave="leave"},4015:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowReplacer=void 0,(r=t.ControlFlowReplacer||(t.ControlFlowReplacer={})).BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",r.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",r.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",r.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"},9946:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionExtractor=void 0,(r=t.ObjectExpressionExtractor||(t.ObjectExpressionExtractor={})).BasePropertiesExtractor="BasePropertiesExtractor",r.ObjectExpressionToVariableDeclarationExtractor="ObjectExpressionToVariableDeclarationExtractor"},4361:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatingGuard=void 0,(r=t.ObfuscatingGuard||(t.ObfuscatingGuard={})).BlackListObfuscatingGuard="BlackListObfuscatingGuard",r.ConditionalCommentObfuscatingGuard="ConditionalCommentObfuscatingGuard",r.ForceTransformStringObfuscatingGuard="ForceTransformStringObfuscatingGuard",r.IgnoredRequireImportObfuscatingGuard="IgnoredRequireImportObfuscatingGuard",r.ReservedStringObfuscatingGuard="ReservedStringObfuscatingGuard"},1137:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayEncoding=void 0;const o=r(4741);t.StringArrayEncoding=o.Utils.makeEnum({None:"none",Base64:"base64",Rc4:"rc4"})},6212:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayIndexesType=void 0;const o=r(4741);t.StringArrayIndexesType=o.Utils.makeEnum({HexadecimalNumber:"hexadecimal-number",HexadecimalNumericString:"hexadecimal-numeric-string"})},9614:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayWrappersType=void 0;const o=r(4741);t.StringArrayWrappersType=o.Utils.makeEnum({Variable:"variable",Function:"function"})},9945:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.NodeType=void 0,(r=t.NodeType||(t.NodeType={})).ArrayExpression="ArrayExpression",r.ArrayPattern="ArrayPattern",r.ArrowFunctionExpression="ArrowFunctionExpression",r.AssignmentExpression="AssignmentExpression",r.AssignmentPattern="AssignmentPattern",r.AwaitExpression="AwaitExpression",r.BinaryExpression="BinaryExpression",r.BlockStatement="BlockStatement",r.BreakStatement="BreakStatement",r.CallExpression="CallExpression",r.CatchClause="CatchClause",r.ChainExpression="ChainExpression",r.ClassDeclaration="ClassDeclaration",r.ConditionalExpression="ConditionalExpression",r.ContinueStatement="ContinueStatement",r.ExportAllDeclaration="ExportAllDeclaration",r.ExportNamedDeclaration="ExportNamedDeclaration",r.ExportSpecifier="ExportSpecifier",r.ExpressionStatement="ExpressionStatement",r.ForStatement="ForStatement",r.ForInStatement="ForInStatement",r.ForOfStatement="ForOfStatement",r.FunctionDeclaration="FunctionDeclaration",r.FunctionExpression="FunctionExpression",r.Identifier="Identifier",r.IfStatement="IfStatement",r.ImportDeclaration="ImportDeclaration",r.ImportDefaultSpecifier="ImportDefaultSpecifier",r.ImportNamespaceSpecifier="ImportNamespaceSpecifier",r.ImportSpecifier="ImportSpecifier",r.LabeledStatement="LabeledStatement",r.Literal="Literal",r.LogicalExpression="LogicalExpression",r.MemberExpression="MemberExpression",r.MethodDefinition="MethodDefinition",r.ObjectExpression="ObjectExpression",r.ObjectPattern="ObjectPattern",r.Program="Program",r.Property="Property",r.RestElement="RestElement",r.ReturnStatement="ReturnStatement",r.SequenceExpression="SequenceExpression",r.SpreadElement="SpreadElement",r.Super="Super",r.SwitchCase="SwitchCase",r.SwitchStatement="SwitchStatement",r.TaggedTemplateExpression="TaggedTemplateExpression",r.TemplateElement="TemplateElement",r.TemplateLiteral="TemplateLiteral",r.ThrowStatement="ThrowStatement",r.TryStatement="TryStatement",r.UnaryExpression="UnaryExpression",r.UpdateExpression="UpdateExpression",r.VariableDeclaration="VariableDeclaration",r.VariableDeclarator="VariableDeclarator",r.WhileStatement="WhileStatement",r.YieldExpression="YieldExpression"},8608:(e,t)=>{"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatingGuardResult=void 0,(r=t.ObfuscatingGuardResult||(t.ObfuscatingGuardResult={})).ForceTransform="ForceTransform",r.Ignore="Ignore",r.Transform="Transform"},6532:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsPreset=void 0;const o=r(4741);t.OptionsPreset=o.Utils.makeEnum({Default:"default",LowObfuscation:"low-obfuscation",MediumObfuscation:"medium-obfuscation",HighObfuscation:"high-obfuscation"})},6086:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SourceMapMode=void 0;const o=r(4741);t.SourceMapMode=o.Utils.makeEnum({Inline:"inline",Separate:"separate"})},9196:function(e,t,r){"use strict";var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscationEventEmitter=void 0;const i=r(2991),a=n(r(9553));i.decorate(i.injectable(),a.default);let s=class extends a.default{};s=o([i.injectable()],s),t.ObfuscationEventEmitter=s},2207:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractIdentifierNamesGenerator=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4134);let p=class{constructor(e,t){this.preservedNamesSet=new Set,this.lexicalScopesPreservedNamesMap=new Map,this.randomGenerator=e,this.options=t}generate(e,t){return f.NodeGuards.isProgramNode(e)?this.generateForGlobalScope():this.generateForLexicalScope(e)}preserveName(e){this.preservedNamesSet.add(e)}preserveNameForLexicalScope(e,t){var r;const o=null!==(r=this.lexicalScopesPreservedNamesMap.get(t))&&void 0!==r?r:new Set;o.add(e),this.lexicalScopesPreservedNamesMap.set(t,o)}isValidIdentifierName(e){return this.notReservedName(e)&&!this.preservedNamesSet.has(e)}isValidIdentifierNameInLexicalScopes(e,t){var r;if(!this.isValidIdentifierName(e))return!1;for(const o of t){const t=null!==(r=this.lexicalScopesPreservedNamesMap.get(o))&&void 0!==r?r:null;if(t&&t.has(e))return!1}return!0}notReservedName(e){return!this.options.reservedNames.length||!this.options.reservedNames.some((t=>null!==new RegExp(t,"g").exec(e)))}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.AbstractIdentifierNamesGenerator=p},8370:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DictionaryIdentifierNamesGenerator=void 0;const l=r(2991),u=r(5350),f=r(5768),p=r(4482),m=r(1403),g=r(2207),S=r(1534);let y=o=class extends g.AbstractIdentifierNamesGenerator{constructor(e,t,r){super(e,t),this.arrayUtils=r,this.identifierNamesSet=new Set(this.getInitialIdentifierNames(this.options.identifiersDictionary)),this.identifiersIterator=this.identifierNamesSet.values()}static incrementIdentifierName(e){let t="",r=!1;for(const o of e)r||o!==o.toUpperCase()?r||o!==o.toLowerCase()?t+=o:(t+=o.toUpperCase(),r=!0):t+=o.toLowerCase();return r?t:null}generateNext(){const e=this.generateNewDictionaryName();return this.preserveName(e),e}generateForGlobalScope(){const e=`${this.options.identifiersPrefix?""+this.options.identifiersPrefix:""}${this.generateNewDictionaryName()}`;return this.isValidIdentifierName(e)?(this.preserveName(e),e):this.generateForGlobalScope()}generateForLexicalScope(e){const t=[e,...S.NodeLexicalScopeUtils.getLexicalScopes(e)],r=this.generateNewDictionaryName();return this.isValidIdentifierNameInLexicalScopes(r,t)?(this.preserveNameForLexicalScope(r,e),r):this.generateForLexicalScope(e)}generateNewDictionaryName(){if(!this.identifierNamesSet.size)throw new Error("Too many identifiers in the code, add more words to identifiers dictionary");const e=this.identifiersIterator.next();if(!e.done){const t=e.value;return this.isValidIdentifierName(t)?e.value:this.generateNewDictionaryName()}return this.identifierNamesSet=new Set(this.getIncrementedIdentifierNames([...this.identifierNamesSet])),this.identifiersIterator=this.identifierNamesSet.values(),this.generateNewDictionaryName()}getInitialIdentifierNames(e){const t=e.filter(Boolean).map((e=>e.toLowerCase()));return this.arrayUtils.shuffle(t)}getIncrementedIdentifierNames(e){const t=[];for(const r of e){const e=o.incrementIdentifierName(r);e&&t.push(e)}return this.arrayUtils.shuffle(t)}};y=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(1,l.inject(u.ServiceIdentifiers.IOptions)),d(2,l.inject(u.ServiceIdentifiers.IArrayUtils)),c("design:paramtypes",["function"==typeof(n=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==p.IOptions&&p.IOptions)?i:Object,"function"==typeof(a=void 0!==f.IArrayUtils&&f.IArrayUtils)?a:Object])],y),t.DictionaryIdentifierNamesGenerator=y},5932:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.HexadecimalIdentifierNamesGenerator=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(2207),m=r(6543),g=r(4741);let S=o=class extends p.AbstractIdentifierNamesGenerator{constructor(e,t){super(e,t)}generateNext(e){const t=this.randomGenerator.getRandomInteger(1e4,99999999),r=m.NumberUtils.toHex(t),n=g.Utils.hexadecimalPrefix.length,i=(null!=e?e:o.baseIdentifierNameLength)+n,a="_"+r.slice(0,i);return this.isValidIdentifierName(a)?(this.preserveName(a),a):this.generateNext(e)}generateForGlobalScope(e){const t=this.generateNext(e);return`${this.options.identifiersPrefix}${t}`.replace("__","_")}generateForLexicalScope(e,t){return this.generateNext(t)}};S.baseIdentifierNameLength=6,S=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],S),t.HexadecimalIdentifierNamesGenerator=S},3119:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MangledIdentifierNamesGenerator=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(2023),m=r(6366),g=r(2691),S=r(2207),y=r(1534);let h=o=class extends S.AbstractIdentifierNamesGenerator{constructor(e,t){super(e,t),this.previousMangledName=o.initMangledNameCharacter}generateNext(e){const t=this.generateNewMangledName(this.previousMangledName);return this.updatePreviousMangledName(t),this.preserveName(t),t}generateForGlobalScope(e){const t=this.options.identifiersPrefix?""+this.options.identifiersPrefix:"",r=this.generateNewMangledName(this.previousMangledName),o=`${t}${r}`;return this.updatePreviousMangledName(r),this.isValidIdentifierName(o)?(this.preserveName(o),o):this.generateForGlobalScope(e)}generateForLexicalScope(e,t){const r=[e,...y.NodeLexicalScopeUtils.getLexicalScopes(e)];let n=this.getLastMangledNameForScopes(r);do{n=this.generateNewMangledName(n)}while(!this.isValidIdentifierNameInLexicalScopes(n,r));return o.lastMangledNameInScopeMap.set(e,n),this.updatePreviousMangledName(n),this.preserveNameForLexicalScope(n,e),n}isIncrementedMangledName(e,t){if(e===t)return!1;const r=e.length,o=t.length;if(r!==o)return r>o;const n=this.getNameSequence();for(let o=0;on.indexOf(i)}throw new Error("Something goes wrong during comparison of mangled names")}isValidIdentifierName(e){return super.isValidIdentifierName(e)&&!o.reservedNamesSet.has(e)}getNameSequence(){return o.nameSequence}updatePreviousMangledName(e){this.isIncrementedMangledName(e,this.previousMangledName)&&(this.previousMangledName=e)}generateNewMangledName(e){let t=(e=>{const t=this.getNameSequence(),r=t.length,o=e.length,n=e=>"0".repeat(e);let i=o-1;do{const a=e[i],s=t.indexOf(a);if(s!==r-1)return e.slice(0,i)+t[s+1]+n(o-(i+1));--i}while(i>=0);return`${t[p.numbersString.length]}${n(o)}`})(e);return this.isValidIdentifierName(t)||(t=this.generateNewMangledName(t)),t}getLastMangledNameForScopes(e){var t;for(const r of e){const e=null!==(t=o.lastMangledNameInScopeMap.get(r))&&void 0!==t?t:null;if(e)return e}return o.initMangledNameCharacter}};h.initMangledNameCharacter="9",h.lastMangledNameInScopeMap=new WeakMap,h.nameSequence=[...`${p.numbersString}${m.alphabetString}${g.alphabetStringUppercase}`],h.reservedNamesSet=new Set(["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"]),h=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],h),t.MangledIdentifierNamesGenerator=h},2677:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MangledShuffledIdentifierNamesGenerator=void 0;const l=r(2991),u=r(5350),f=r(5768),p=r(4482),m=r(1403),g=r(2023),S=r(6366),y=r(2691),h=r(3119);let N=o=class extends h.MangledIdentifierNamesGenerator{constructor(e,t,r){super(t,r),this.arrayUtils=e}initialize(){this.initializeNameSequence([...""+g.numbersString,...this.arrayUtils.shuffle([...`${S.alphabetString}${y.alphabetStringUppercase}`])])}initializeNameSequence(e){this.getNameSequence()||(o.shuffledNameSequence=e)}getNameSequence(){return o.shuffledNameSequence}generateNewMangledName(e){return super.generateNewMangledName(e)}};s([l.postConstruct(),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],N.prototype,"initialize",null),N=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IArrayUtils)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.IArrayUtils&&f.IArrayUtils)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],N),t.MangledShuffledIdentifierNamesGenerator=N},5562:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3499:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5435:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1588:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},927:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7673:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6949:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6871:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5603:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5082:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},698:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5167:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5524:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5822:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},4482:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},68:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5164:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2086:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},870:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8688:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5683:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3186:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5768:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5591:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9825:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2747:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2569:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1403:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9658:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7149:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=void 0;const d=r(2991),l=r(5350),u=c(r(2242)),f=r(4482),p=r(4469);let m=o=class{constructor(e){this.options=e}static log(e,t,r,o){const n=e(`\n${t} ${r}`);console.log(n,null!=o?o:"")}info(e,t){this.options.log&&o.log(o.colorInfo,p.LoggingPrefix.Base,e,t)}success(e,t){this.options.log&&o.log(o.colorSuccess,p.LoggingPrefix.Base,e,t)}warn(e,t){this.options.log&&o.log(o.colorWarn,p.LoggingPrefix.Base,e,t)}};m.colorInfo=u.default.cyan,m.colorSuccess=u.default.green,m.colorWarn=u.default.yellow,m=o=i([d.injectable(),s(0,d.inject(l.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object])],m),t.Logger=m},9173:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractNodeTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403);let f=class{constructor(e,t){this.randomGenerator=e,this.options=t}};f=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],f),t.AbstractNodeTransformer=f},5419:function(e,t,r){"use strict";var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformerNamesGroupsBuilder=void 0;const n=r(2991),i=r(7207);let a=class extends i.AbstractTransformerNamesGroupsBuilder{};a=o([n.injectable()],a),t.NodeTransformerNamesGroupsBuilder=a},6827:function(e,t,r){"use strict";var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformersRunner=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(3312),g=r(9658),S=r(9487),y=r(4134),h=r(739);let N=class{constructor(e,t){this.nodeTransformerFactory=e,this.nodeTransformerNamesGroupsBuilder=t}transform(e,t,r){if(!t.length)return e;const o=this.buildNormalizedNodeTransformers(t,r),n=this.nodeTransformerNamesGroupsBuilder.build(o);for(const t of n){const n=[],i=[];for(const e of t){const t=o[e].getVisitor(r);t&&(t.enter&&n.push({enter:t.enter}),t.leave&&i.push({leave:t.leave}))}(n.length||i.length)&&p.replace(e,{enter:this.mergeVisitorsForDirection(n,S.VisitorDirection.Enter),leave:this.mergeVisitorsForDirection(i,S.VisitorDirection.Leave)})}return e}buildNormalizedNodeTransformers(e,t){return e.reduce(((e,r)=>{const o=this.nodeTransformerFactory(r);return o.getVisitor(t)?Object.assign(Object.assign({},e),{[r]:o}):e}),{})}mergeVisitorsForDirection(e,t){const r=e.length;return r?(o,n)=>{if(h.NodeMetadata.isIgnoredNode(o))return p.VisitorOption.Skip;for(let i=0;ie}};N=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__INodeTransformer)),l(1,u.inject(f.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder)),d("design:paramtypes",["function"==typeof(o=void 0!==m.TNodeTransformerFactory&&m.TNodeTransformerFactory)?o:Object,"function"==typeof(n=void 0!==g.ITransformerNamesGroupsBuilder&&g.ITransformerNamesGroupsBuilder)?n:Object])],N),t.NodeTransformersRunner=N},5912:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),d=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return d(t,e),t},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementControlFlowTransformer=void 0;const m=r(2991),g=r(5350),S=u(r(4523)),y=r(8749),h=r(5768),N=r(4482),_=r(1403),b=r(1280),O=r(8932),I=r(9173),E=r(4134),v=r(2361);let C=o=class extends I.AbstractNodeTransformer{constructor(e,t,r,o){super(r,o),this.controlFlowCustomNodeFactory=e,this.arrayUtils=t}static isProhibitedStatementNode(e){const t=E.NodeGuards.isBreakStatementNode(e)||E.NodeGuards.isContinueStatementNode(e),r=E.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),o=E.NodeGuards.isClassDeclarationNode(e);return E.NodeGuards.isFunctionDeclarationNode(e)||t||r||o}static canTransformBlockStatementNode(e){let t=!0;return S.traverse(e,{enter:e=>{if(E.NodeGuards.isWhileStatementNode(e))return S.VisitorOption.Skip;o.isProhibitedStatementNode(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}getVisitor(e){switch(e){case O.NodeTransformationStage.ControlFlowFlattening:return{leave:(e,t)=>{if(t&&E.NodeGuards.isBlockStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!o.canTransformBlockStatementNode(e))return e;const r=e.body,n=this.arrayUtils.createWithRange(r.length),i=this.arrayUtils.shuffle(n),a=n.map((e=>i.indexOf(e))),s=this.controlFlowCustomNodeFactory(b.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);s.initialize(r,i,a);const c=s.getNode()[0];return v.NodeUtils.parentizeNode(c,t),c}};C=o=l([m.injectable(),p(0,m.inject(g.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p(1,m.inject(g.ServiceIdentifiers.IArrayUtils)),p(2,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p(3,m.inject(g.ServiceIdentifiers.IOptions)),f("design:paramtypes",["function"==typeof(n=void 0!==y.TControlFlowCustomNodeFactory&&y.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==h.IArrayUtils&&h.IArrayUtils)?i:Object,"function"==typeof(a=void 0!==_.IRandomGenerator&&_.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==N.IOptions&&N.IOptions)?s:Object])],C),t.BlockStatementControlFlowTransformer=C},9749:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),u=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},f=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&d(t,e,r);return l(t,e),t},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionControlFlowTransformer=void 0;const g=r(2991),S=r(5350),y=f(r(4523)),h=r(8749),N=r(9628),_=r(2147),b=r(4482),O=r(1403),I=r(1280),E=r(4015),v=r(9945),C=r(8932),T=r(9173),R=r(7678),A=r(4134),j=r(739),M=r(8134),F=r(2361);let P=o=class extends T.AbstractNodeTransformer{constructor(e,t,r,o,n){super(o,n),this.controlFlowData=new Map,this.visitedFunctionNodes=new Set,this.hostNodesWithControlFlowNode=new Set,this.controlFlowStorageFactory=e,this.controlFlowReplacerFactory=t,this.controlFlowCustomNodeFactory=r}getVisitor(e){switch(e){case C.NodeTransformationStage.ControlFlowFlattening:return{leave:(e,t)=>{if(t&&(A.NodeGuards.isFunctionDeclarationNode(e)||A.NodeGuards.isFunctionExpressionNode(e)||A.NodeGuards.isArrowFunctionExpressionNode(e)))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(this.visitedFunctionNodes.add(e),!A.NodeGuards.isBlockStatementNode(e.body))return e;const r=this.getHostNode(e.body),o=this.getControlFlowStorage(r);if(this.controlFlowData.set(r,o),this.transformFunctionBody(e.body,o),!o.getLength())return e;const n=this.controlFlowCustomNodeFactory(I.ControlFlowCustomNode.ControlFlowStorageNode);return n.initialize(o),R.NodeAppender.prepend(r,n.getNode()),this.hostNodesWithControlFlowNode.add(r),F.NodeUtils.parentizeAst(e),e}getControlFlowStorage(e){const t=this.controlFlowStorageFactory();if(this.controlFlowData.has(e)){this.hostNodesWithControlFlowNode.has(e)&&(A.NodeGuards.isSwitchCaseNode(e)?e.consequent.shift():e.body.shift());const r=this.controlFlowData.get(e);t.mergeWith(r,!0)}return t}getHostNode(e){const t=M.NodeStatementUtils.getParentNodesWithStatements(e);return 1===t.length?e:(t.pop(),t.length>o.hostNodeSearchMinDepth&&t.splice(0,o.hostNodeSearchMinDepth),t.length>o.hostNodeSearchMaxDepth&&(t.length=o.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}isVisitedFunctionNode(e){return(A.NodeGuards.isFunctionDeclarationNode(e)||A.NodeGuards.isFunctionExpressionNode(e)||A.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}transformFunctionBody(e,t){y.replace(e,{enter:(e,r)=>{if(j.NodeMetadata.isIgnoredNode(e))return y.VisitorOption.Skip;if(this.isVisitedFunctionNode(e)||!r)return y.VisitorOption.Skip;if(!o.controlFlowReplacersMap.has(e.type))return e;if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold)return e;const n=o.controlFlowReplacersMap.get(e.type);return void 0===n?e:Object.assign(Object.assign({},this.controlFlowReplacerFactory(n).replace(e,r,t)),{parentNode:r})}})}};P.controlFlowReplacersMap=new Map([[v.NodeType.BinaryExpression,E.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[v.NodeType.CallExpression,E.ControlFlowReplacer.CallExpressionControlFlowReplacer],[v.NodeType.LogicalExpression,E.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[v.NodeType.Literal,E.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),P.hostNodeSearchMinDepth=0,P.hostNodeSearchMaxDepth=2,P=o=u([g.injectable(),m(0,g.inject(S.ServiceIdentifiers.Factory__TControlFlowStorage)),m(1,g.inject(S.ServiceIdentifiers.Factory__IControlFlowReplacer)),m(2,g.inject(S.ServiceIdentifiers.Factory__IControlFlowCustomNode)),m(3,g.inject(S.ServiceIdentifiers.IRandomGenerator)),m(4,g.inject(S.ServiceIdentifiers.IOptions)),p("design:paramtypes",["function"==typeof(n=void 0!==_.TControlFlowStorageFactory&&_.TControlFlowStorageFactory)?n:Object,"function"==typeof(i=void 0!==N.TControlFlowReplacerFactory&&N.TControlFlowReplacerFactory)?i:Object,"function"==typeof(a=void 0!==h.TControlFlowCustomNodeFactory&&h.TControlFlowCustomNodeFactory)?a:Object,"function"==typeof(s=void 0!==O.IRandomGenerator&&O.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==b.IOptions&&b.IOptions)?c:Object])],P),t.FunctionControlFlowTransformer=P},9732:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403);let g=o=class{constructor(e,t,r){this.replacerDataByControlFlowStorageId=new Map,this.controlFlowCustomNodeFactory=e,this.randomGenerator=t,this.options=r}static getStorageKeysByIdForCurrentStorage(e,t){let r;return r=e.has(t)?e.get(t):new Map,r}insertCustomNodeToControlFlowStorage(e,t,r,n){const i=t.getStorageId(),a=o.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,i),s=a.get(r);if(this.randomGenerator.getMathRandom(){const r=this.randomGenerator.getRandomString(e);return t.getStorage().has(r)?c(e):r},d=c(5);return a.set(r,[d]),this.replacerDataByControlFlowStorageId.set(i,a),t.set(d,e),d}};g=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],g),t.AbstractControlFlowReplacer=g},3358:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BinaryExpressionControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(8146);let y=o=class extends S.ExpressionWithOperatorControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){const n=e.operator,i=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.BinaryExpressionFunctionNode);i.initialize(n);const a=this.insertCustomNodeToControlFlowStorage(i,r,n,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}};y.usingExistingIdentifierChance=.5,y=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],y),t.BinaryExpressionControlFlowReplacer=y},5760:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallExpressionControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(9732),y=r(4134);let h=o=class extends S.AbstractControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){const n=e.callee;if(!y.NodeGuards.isIdentifierNode(n))return e;const i=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.CallExpressionFunctionNode),s=e.arguments;a.initialize(s);const c=this.insertCustomNodeToControlFlowStorage(a,r,i,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),c,n,s)}getControlFlowStorageCallNode(e,t,r,o){const n=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);n.initialize(e,t,r,o);const i=n.getNode()[0];if(!i||!y.NodeGuards.isExpressionStatementNode(i))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return i.expression}};h.usingExistingIdentifierChance=.5,h=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],h),t.CallExpressionControlFlowReplacer=h},8146:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionWithOperatorControlFlowReplacer=void 0;const d=r(2991),l=r(5350),u=r(8749),f=r(4482),p=r(1403),m=r(1280),g=r(9732),S=r(4134);let y=class extends g.AbstractControlFlowReplacer{constructor(e,t,r){super(e,t,r)}getControlFlowStorageCallNode(e,t,r,o){const n=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);n.initialize(e,t,r,o);const i=n.getNode()[0];if(!i||!S.NodeGuards.isExpressionStatementNode(i))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return i.expression}};y=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),c(1,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(2,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(o=void 0!==u.TControlFlowCustomNodeFactory&&u.TControlFlowCustomNodeFactory)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object])],y),t.ExpressionWithOperatorControlFlowReplacer=y},6522:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogicalExpressionControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(8146),y=r(4134),h=r(2361);let N=o=class extends S.ExpressionWithOperatorControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){if(this.checkForProhibitedExpressions(e.left,e.right))return e;const n=e.operator,i=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.LogicalExpressionFunctionNode);i.initialize(n);const a=this.insertCustomNodeToControlFlowStorage(i,r,n,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}checkForProhibitedExpressions(e,t){return[e,t].some((e=>{let t;return t=y.NodeGuards.isUnaryExpressionNode(e)?h.NodeUtils.getUnaryExpressionArgumentNode(e):e,!(y.NodeGuards.isLiteralNode(t)||y.NodeGuards.isIdentifierNode(t)||y.NodeGuards.isObjectExpressionNode(t)||y.NodeGuards.isExpressionStatementNode(t))}))}};N.usingExistingIdentifierChance=.5,N=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],N),t.LogicalExpressionControlFlowReplacer=N},270:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringLiteralControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(9732),y=r(4134),h=r(8241);let N=o=class extends S.AbstractControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){if(y.NodeGuards.isPropertyNode(t)&&t.key===e)return e;if(!h.NodeLiteralUtils.isStringLiteralNode(e)||e.value.length<3)return e;const n=String(e.value),i=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.StringLiteralNode);i.initialize(e.value);const a=this.insertCustomNodeToControlFlowStorage(i,r,n,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a)}getControlFlowStorageCallNode(e,t){const r=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode);r.initialize(e,t);const o=r.getNode()[0];if(!o||!y.NodeGuards.isExpressionStatementNode(o))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return o.expression}};N.usingExistingIdentifierChance=1,N=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],N),t.StringLiteralControlFlowReplacer=N},2337:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanLiteralTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(4134),g=r(2361),S=r(9376);let y=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&m.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if("boolean"!=typeof e.value)return e;const r=e.value?this.getTrueUnaryExpressionNode():this.getFalseUnaryExpressionNode();return g.NodeUtils.parentizeNode(r,t),r}getTrueUnaryExpressionNode(){return S.NodeFactory.unaryExpressionNode("!",this.getFalseUnaryExpressionNode())}getFalseUnaryExpressionNode(){return S.NodeFactory.unaryExpressionNode("!",S.NodeFactory.arrayExpressionNode())}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.BooleanLiteralTransformer=y},9912:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExportSpecifierTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(4134),g=r(2361);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&m.NodeGuards.isExportSpecifierNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return e.local.name===e.exported.name&&(e.exported=g.NodeUtils.clone(e.local)),e}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.ExportSpecifierTransformer=S},9139:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MemberExpressionTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(9376),g=r(4134);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&g.NodeGuards.isMemberExpressionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(g.NodeGuards.isIdentifierNode(e.property)){if(e.computed)return e;e.computed=!0,e.property=m.NodeFactory.literalNode(e.property.name)}return e}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.MemberExpressionTransformer=S},6037:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MethodDefinitionTransformer=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(8932),m=r(9173),g=r(9376),S=r(4134);let y=o=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case p.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&S.NodeGuards.isMethodDefinitionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return S.NodeGuards.isIdentifierNode(e.key)?this.replaceIdentifierKey(e,e.key):S.NodeGuards.isLiteralNode(e.key)?this.replaceLiteralKey(e,e.key):e}replaceIdentifierKey(e,t){return o.ignoredNames.includes(t.name)||e.computed||(e.computed=!0,e.key=g.NodeFactory.literalNode(t.name)),e}replaceLiteralKey(e,t){return"string"!=typeof t.value||o.ignoredNames.includes(t.value)||e.computed||(e.computed=!0),e}};y.ignoredNames=["constructor"],y=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],y),t.MethodDefinitionTransformer=y},9467:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NumberLiteralTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(8932),m=r(9173),g=r(9376),S=r(4134),y=r(6543);let h=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.NumberToNumericalExpressionTransformer],this.numberLiteralCache=new Map}getVisitor(e){switch(e){case p.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&S.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if("number"!=typeof e.value&&"bigint"!=typeof e.value)return e;const r=e.value;let o;return this.numberLiteralCache.has(r)?o=this.numberLiteralCache.get(r):(o=y.NumberUtils.isCeil(r)?y.NumberUtils.toHex(r):String(r),this.numberLiteralCache.set(r,o)),g.NodeFactory.literalNode(r,o)}};h=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],h),t.NumberLiteralTransformer=h},3393:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NumberToNumericalExpressionTransformer=void 0;const d=r(2991),l=r(5350),u=r(5435),f=r(4482),p=r(1403),m=r(8932),g=r(9173),S=r(4134),y=r(9376),h=r(6543);let N=class extends g.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.numberNumericalExpressionAnalyzer=e}getVisitor(e){if(!this.options.numbersToExpressions)return null;switch(e){case m.NodeTransformationStage.Converting:return{leave:(e,t)=>{if(t&&S.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if("number"!=typeof e.value)return e;if(S.NodeGuards.isPropertyNode(t)&&!t.computed)return e;const r=this.numberNumericalExpressionAnalyzer.analyze(e.value);return this.convertNumericalExpressionDataToNode(r)}convertNumericalExpressionDataToNode(e,t="+"){var r;const o=e.length,n=o>1?e.slice(0,o-1):[e[0]],i=o>1?e.slice(-1):[];if(i.length)return this.convertPartsToBinaryExpression(t,n,i);const a=null!==(r=n[0])&&void 0!==r?r:null;return Array.isArray(a)?this.convertNumericalExpressionDataToNode(a,"*"):this.convertPartOrNumberToLiteralNode(a)}convertPartsToBinaryExpression(e,t,r){const o=r[0];return Array.isArray(o)?y.NodeFactory.binaryExpressionNode(e,this.convertNumericalExpressionDataToNode(t),this.convertNumericalExpressionDataToNode(o,"*")):y.NodeFactory.binaryExpressionNode(e,this.convertNumericalExpressionDataToNode(t),this.convertPartOrNumberToLiteralNode(o))}convertPartOrNumberToLiteralNode(e){const t=Array.isArray(e)?e[0]:e,r=h.NumberUtils.isPositive(t),o=y.NodeFactory.literalNode(Math.abs(t));return r?o:y.NodeFactory.unaryExpressionNode("-",o)}};N=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.INumberNumericalExpressionAnalyzer)),c(1,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(2,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(o=void 0!==u.INumberNumericalExpressionAnalyzer&&u.INumberNumericalExpressionAnalyzer)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object])],N),t.NumberToNumericalExpressionTransformer=N},122:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),c=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return c(t,e),t},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionKeysTransformer=void 0;const p=r(2991),m=r(5350),g=l(r(4523)),S=r(2937),y=r(4482),h=r(1403),N=r(8932),_=r(9946),b=r(9173),O=r(4134),I=r(8134);let E=o=class extends b.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.objectExpressionExtractorFactory=e}static isProhibitedHostStatement(e,t){return o.isReferencedIdentifierName(e,t)||o.isProhibitedSequenceExpression(e,t)}static isReferencedIdentifierName(e,t){const r=[];let o=!1,n=!1;return g.traverse(t,{enter:t=>{t===e&&(n=!0),O.NodeGuards.isIdentifierNode(t)&&(n?r.includes(t.name)&&(o=!0):r.push(t.name))},leave:t=>{if(t===e)return n=!1,g.VisitorOption.Break}}),o}static isProhibitedSequenceExpression(e,t){return O.NodeGuards.isExpressionStatementNode(t)&&O.NodeGuards.isSequenceExpressionNode(t.expression)&&t.expression.expressions.some((e=>O.NodeGuards.isCallExpressionNode(e)&&O.NodeGuards.isSuperNode(e.callee)))}getVisitor(e){if(!this.options.transformObjectKeys)return null;switch(e){case N.NodeTransformationStage.Converting:return{leave:(e,t)=>{if(t&&O.NodeGuards.isObjectExpressionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!e.properties.length)return e;const r=I.NodeStatementUtils.getRootStatementOfNode(e);return o.isProhibitedHostStatement(e,r)?e:this.applyObjectExpressionKeysExtractorsRecursive(o.objectExpressionExtractorNames,e,r)}applyObjectExpressionKeysExtractorsRecursive(e,t,r){const o=[...e],n=o.shift();if(!n)return t;const{nodeToReplace:i,objectExpressionHostStatement:a,objectExpressionNode:s}=this.objectExpressionExtractorFactory(n).extract(t,r);return this.applyObjectExpressionKeysExtractorsRecursive(o,s,a),i}};E.objectExpressionExtractorNames=[_.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor,_.ObjectExpressionExtractor.BasePropertiesExtractor],E=o=d([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.Factory__IObjectExpressionExtractor)),f(1,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(2,p.inject(m.ServiceIdentifiers.IOptions)),u("design:paramtypes",["function"==typeof(n=void 0!==S.TObjectExpressionExtractorFactory&&S.TObjectExpressionExtractorFactory)?n:Object,"function"==typeof(i=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==y.IOptions&&y.IOptions)?a:Object])],E),t.ObjectExpressionKeysTransformer=E},626:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(9376),g=r(4134);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&g.NodeGuards.isObjectExpressionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return e.properties.forEach((e=>{g.NodeGuards.isPropertyNode(e)&&e.key&&(e.computed?this.transformComputedProperty(e):this.transformBaseProperty(e))})),e}transformComputedProperty(e){g.NodeGuards.isLiteralNode(e.key)&&"string"==typeof e.key.value&&(e.key=m.NodeFactory.literalNode(e.key.value))}transformBaseProperty(e){e.shorthand&&(e.shorthand=!1),g.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name))}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.ObjectExpressionTransformer=S},6312:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectPatternPropertiesTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(4134),g=r(1534),S=r(2361);let y=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&m.NodeGuards.isPropertyNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!m.NodeGuards.isObjectPatternNode(t)||!e.shorthand)return e;if(!this.options.renameGlobals){const t=g.NodeLexicalScopeUtils.getLexicalScope(e);if(t&&m.NodeGuards.isProgramNode(t))return e}return e.shorthand=!1,e.value=S.NodeUtils.clone(e.value),S.NodeUtils.parentizeNode(e.value,e),e}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.ObjectPatternPropertiesTransformer=y},5869:function(e,t,r){"use strict";var o,n,i,a=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SplitStringTransformer=void 0;const f=r(2991),p=r(5350),m=d(r(4523)),g=d(r(6094)),S=r(4482),y=r(1403),h=r(4212),N=r(8932),_=r(9173),b=r(9376),O=r(4134),I=r(8241),E=r(2361);let v=o=class extends _.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[h.NodeTransformer.ObjectExpressionKeysTransformer,h.NodeTransformer.TemplateLiteralTransformer]}static chunkString(e,t,r){const o=Math.ceil(t/r),n=[];let i=0;for(let t=0;t{if(this.options.splitStrings)return t&&O.NodeGuards.isLiteralNode(e)?this.transformNode(e,t):void 0}};default:return null}}transformNode(e,t){if(I.NodeLiteralUtils.isProhibitedLiteralNode(e,t))return e;const r=this.transformLiteralNodeByChunkLength(e,t,o.firstPassChunkLength);return m.replace(r,{enter:(e,t)=>{if(t&&O.NodeGuards.isLiteralNode(e))return this.transformLiteralNodeByChunkLength(e,t,this.options.splitStringsChunkLength)}})}transformLiteralNodeByChunkLength(e,t,r){if(!I.NodeLiteralUtils.isStringLiteralNode(e))return e;const n=g.length(e.value);if(r>=n)return e;const i=o.chunkString(e.value,n,r),a=this.transformStringChunksToBinaryExpressionNode(i);return E.NodeUtils.parentizeAst(a),E.NodeUtils.parentizeNode(a,t),a}transformStringChunksToBinaryExpressionNode(e){const t=e.shift(),r=e.shift();if(!t||!r)throw new Error("First and second chunks values should not be empty");const o=b.NodeFactory.binaryExpressionNode("+",b.NodeFactory.literalNode(t),b.NodeFactory.literalNode(r));return e.reduce(((e,t)=>{const r=b.NodeFactory.literalNode(t);return b.NodeFactory.binaryExpressionNode("+",e,r)}),o)}};v.firstPassChunkLength=1e3,v=o=c([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(1,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==S.IOptions&&S.IOptions)?i:Object])],v),t.SplitStringTransformer=v},810:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.TemplateLiteralTransformer=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(8932),m=r(9173),g=r(9376),S=r(4134),y=r(2361);let h=o=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t)}static isLiteralNodeWithStringValue(e){return!!e&&S.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}getVisitor(e){switch(e){case p.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&S.NodeGuards.isTemplateLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return S.NodeGuards.isTaggedTemplateExpressionNode(t)?e:this.transformTemplateLiteralNode(e,t)}transformTemplateLiteralNode(e,t){const r=e.expressions;let n,i=[];if(e.quasis.forEach((e=>{i.push(g.NodeFactory.literalNode(e.value.cooked));const t=r.shift();t&&i.push(t)})),i=i.filter((e=>!(S.NodeGuards.isLiteralNode(e)&&""===e.value))),o.isLiteralNodeWithStringValue(i[0])||o.isLiteralNodeWithStringValue(i[1])||i.unshift(g.NodeFactory.literalNode("")),i.length>1){let e=g.NodeFactory.binaryExpressionNode("+",i.shift(),i.shift());i.forEach((t=>{e=g.NodeFactory.binaryExpressionNode("+",e,t)})),n=e}else n=i[0];return y.NodeUtils.parentizeAst(n),y.NodeUtils.parentizeNode(n,t),n}};h=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],h),t.TemplateLiteralTransformer=h},8539:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.BasePropertiesExtractor=void 0;const i=r(2991),a=r(7678),s=r(9376),c=r(4134),d=r(8134),l=r(2361);let u=o=class{static getPropertyNodeKeyName(e){const t=e.key;return!c.NodeGuards.isLiteralNode(t)||"string"!=typeof t.value&&"number"!=typeof t.value?c.NodeGuards.isIdentifierNode(t)?t.name:null:t.value.toString()}static isProhibitedPropertyNode(e){return"init"!==e.kind}static isProhibitedPattern(e){return!e||c.NodeGuards.isObjectPatternNode(e)||c.NodeGuards.isArrayPatternNode(e)||c.NodeGuards.isAssignmentPatternNode(e)||c.NodeGuards.isRestElementNode(e)}static shouldCreateLiteralNode(e){return!e.computed||e.computed&&!!e.key&&c.NodeGuards.isLiteralNode(e.key)}extract(e,t){const r=e.parentNode;return r&&c.NodeGuards.isVariableDeclaratorNode(r)&&c.NodeGuards.isIdentifierNode(r.id)?this.transformObjectExpressionNode(e,t,r.id):{nodeToReplace:e,objectExpressionHostStatement:t,objectExpressionNode:e}}transformObjectExpressionNode(e,t,r){const o=e.properties,[n,i]=this.extractPropertiesToExpressionStatements(o,t,r),s=d.NodeStatementUtils.getScopeOfNode(t);return this.filterExtractedObjectExpressionProperties(e,i),a.NodeAppender.insertAfter(s,n,t),l.NodeUtils.parentizeAst(s),{nodeToReplace:e,objectExpressionHostStatement:t,objectExpressionNode:e}}extractPropertiesToExpressionStatements(e,t,r){const n=[],i=[];for(let a=e.length-1;a>=0;a--){const d=e[a];if(c.NodeGuards.isSpreadElementNode(d))break;if(o.isProhibitedPropertyNode(d))continue;const l=d.value;if(o.isProhibitedPattern(l))continue;const u=o.getPropertyNodeKeyName(d);if(!u)continue;const f=o.shouldCreateLiteralNode(d)?s.NodeFactory.literalNode(u):s.NodeFactory.identifierNode(u),p=s.NodeFactory.memberExpressionNode(r,f,!0),m=s.NodeFactory.expressionStatementNode(s.NodeFactory.assignmentExpressionNode("=",p,l));c.NodeGuards.isObjectExpressionNode(d.value)&&this.transformObjectExpressionNode(d.value,t,p),n.unshift(m),i.unshift(a)}return[n,i]}filterExtractedObjectExpressionProperties(e,t){e.properties=e.properties.filter(((e,r)=>!t.includes(r)))}};u=o=n([i.injectable()],u),t.BasePropertiesExtractor=u},7834:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionToVariableDeclarationExtractor=void 0;const s=r(2991),c=r(5350),d=r(1878),l=r(9809),u=r(7678),f=r(4134),p=r(8134),m=r(2361),g=r(1534);let S=class{constructor(e){this.objectExpressionKeysTransformerCustomNodeFactory=e}extract(e,t){return this.transformObjectExpressionToVariableDeclaration(e,t)}transformObjectExpressionToVariableDeclaration(e,t){var r;const o=p.NodeStatementUtils.getScopeOfNode(t),n=f.NodeGuards.isNodeWithLexicalScope(o)?o:null!==(r=g.NodeLexicalScopeUtils.getLexicalScope(o))&&void 0!==r?r:null;if(!n)throw new Error("Cannot find lexical scope node for the host statement node");const i=e.properties,a=this.getObjectExpressionHostNode(n,i),s=[a];return u.NodeAppender.insertBefore(o,s,t),m.NodeUtils.parentizeAst(a),m.NodeUtils.parentizeNode(a,o),{nodeToReplace:this.getObjectExpressionIdentifierNode(a),objectExpressionHostStatement:a,objectExpressionNode:this.getObjectExpressionNode(a)}}getObjectExpressionHostNode(e,t){const r=this.objectExpressionKeysTransformerCustomNodeFactory(l.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode);r.initialize(e,t);const o=r.getNode()[0];if(!o||!f.NodeGuards.isVariableDeclarationNode(o))throw new Error("`objectExpressionHostCustomNode.getNode()[0]` should returns array with `VariableDeclaration` node");return o}getObjectExpressionIdentifierNode(e){const t=e.declarations[0].id;if(!f.NodeGuards.isIdentifierNode(t))throw new Error("`objectExpressionHostNode` should contain `VariableDeclarator` node with `Identifier` id property");return t}getObjectExpressionNode(e){var t;const r=null!==(t=e.declarations[0].init)&&void 0!==t?t:null;if(!r||!f.NodeGuards.isObjectExpressionNode(r))throw new Error("`objectExpressionHostNode` should contain `VariableDeclarator` node with `ObjectExpression` init property");return r}};S=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode)),i("design:paramtypes",["function"==typeof(o=void 0!==d.TObjectExpressionKeysTransformerCustomNodeFactory&&d.TObjectExpressionKeysTransformerCustomNodeFactory)?o:Object])],S),t.ObjectExpressionToVariableDeclarationExtractor=S},8043:function(e,t,r){"use strict";var o,n,i,a,s,c=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),d=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return d(t,e),t},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionTransformer=void 0;const m=r(2991),g=r(5350),S=u(r(4523)),y=r(7183),h=r(4482),N=r(1403),_=r(698),b=r(2620),O=r(4212),I=r(9945),E=r(8932),v=r(9173),C=r(9376),T=r(4134),R=r(8134),A=r(2361);let j=o=class extends v.AbstractNodeTransformer{constructor(e,t,r,o){super(r,o),this.deadCodeInjectionRootAstHostNodeSet=new Set,this.collectedBlockStatements=[],this.collectedBlockStatementsTotalLength=0,this.deadCodeInjectionCustomNodeFactory=e,this.transformersRunner=t}static isProhibitedNodeInsideCollectedBlockStatement(e){return T.NodeGuards.isFunctionDeclarationNode(e)||T.NodeGuards.isBreakStatementNode(e)||T.NodeGuards.isContinueStatementNode(e)||T.NodeGuards.isAwaitExpressionNode(e)||T.NodeGuards.isYieldExpressionNode(e)||T.NodeGuards.isSuperNode(e)||T.NodeGuards.isForOfStatementNode(e)&&e.await}static isScopeHoistingFunctionDeclaration(e){if(!T.NodeGuards.isFunctionDeclarationNode(e))return!1;const t=R.NodeStatementUtils.getScopeOfNode(e),r=T.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,o=r.indexOf(e);if(0===o)return!1;const n=r.slice(0,o),i=C.NodeFactory.blockStatementNode(n),a=e.id.name;let s=!1;return S.traverse(i,{enter:e=>{if(T.NodeGuards.isIdentifierNode(e)&&e.name===a)return s=!0,S.VisitorOption.Break}}),s}static isValidCollectedBlockStatementNode(e){if(!e.body.length)return!1;let t=0,r=!0;return S.traverse(e,{enter:e=>{if(T.NodeGuards.isBlockStatementNode(e)&&t++,t>o.maxNestedBlockStatementsCount||o.isProhibitedNodeInsideCollectedBlockStatement(e)||o.isScopeHoistingFunctionDeclaration(e))return r=!1,S.VisitorOption.Break}}),r}static isValidWrappedBlockStatementNode(e){if(!e.body.length)return!1;let t=!0;return S.traverse(e,{enter:e=>{if(o.isScopeHoistingFunctionDeclaration(e))return t=!1,S.VisitorOption.Break}}),!!t&&R.NodeStatementUtils.getParentNodeWithStatements(e).type!==I.NodeType.Program}getVisitor(e){switch(e){case E.NodeTransformationStage.DeadCodeInjection:return{enter:(e,t)=>{if(t&&T.NodeGuards.isProgramNode(e))return this.prepareNode(e,t),e},leave:(e,t)=>{if(t&&T.NodeGuards.isBlockStatementNode(e))return this.transformNode(e,t)}};case E.NodeTransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:(e,t)=>{if(t&&this.isDeadCodeInjectionRootAstHostNode(e))return this.restoreNode(e,t)}}:null;default:return null}}prepareNode(e,t){S.traverse(e,{enter:e=>{if(!T.NodeGuards.isBlockStatementNode(e))return;const t=A.NodeUtils.clone(e);if(!o.isValidCollectedBlockStatementNode(t))return;const r=this.makeClonedBlockStatementNodeUnique(t);this.collectedBlockStatements.push(r)}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}transformNode(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!o.isValidWrappedBlockStatementNode(e))return e;const r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),i=this.collectedBlockStatements.splice(n,1)[0];return i===e?e:this.replaceBlockStatementNode(e,i,t)}restoreNode(e,t){const r=e.body[0];if(!T.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}isDeadCodeInjectionRootAstHostNode(e){return T.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}makeClonedBlockStatementNodeUnique(e){const t=C.NodeFactory.programNode([C.NodeFactory.expressionStatementNode(C.NodeFactory.functionExpressionNode([],e))]);return A.NodeUtils.parentizeAst(t),A.NodeUtils.parentizeNode(t,t),this.transformersRunner.transform(t,o.transformersToRenameBlockScopeIdentifiers,E.NodeTransformationStage.RenameIdentifiers),e}replaceBlockStatementNode(e,t,r){const n=C.NodeFactory.blockStatementNode([C.NodeFactory.functionDeclarationNode(o.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);const i=this.deadCodeInjectionCustomNodeFactory(b.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);i.initialize(e,n);const a=i.getNode()[0];return A.NodeUtils.parentizeNode(a,r),a}};j.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",j.maxNestedBlockStatementsCount=4,j.minCollectedBlockStatementsCount=5,j.transformersToRenameBlockScopeIdentifiers=[O.NodeTransformer.LabeledStatementTransformer,O.NodeTransformer.ScopeIdentifiersTransformer,O.NodeTransformer.ScopeThroughIdentifiersTransformer],j=o=l([m.injectable(),p(0,m.inject(g.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),p(1,m.inject(g.ServiceIdentifiers.INodeTransformersRunner)),p(2,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p(3,m.inject(g.ServiceIdentifiers.IOptions)),f("design:paramtypes",["function"==typeof(n=void 0!==y.TDeadNodeInjectionCustomNodeFactory&&y.TDeadNodeInjectionCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==_.INodeTransformersRunner&&_.INodeTransformersRunner)?i:Object,"function"==typeof(a=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==h.IOptions&&h.IOptions)?s:Object])],j),t.DeadCodeInjectionTransformer=j},4837:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceTransformer=void 0;const d=r(2991),l=r(5350),u=r(2747),f=r(4482),p=r(1403),m=r(8932),g=r(4212),S=r(9173),y=r(4134),h=r(8241),N=r(9376),_=r(2361);let b=class extends S.AbstractNodeTransformer{constructor(e,t,r){super(e,t),this.runAfter=[g.NodeTransformer.CustomCodeHelpersTransformer],this.escapeSequenceEncoder=r}getVisitor(e){switch(e){case m.NodeTransformationStage.Finalizing:return{enter:(e,t)=>{if(y.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!h.NodeLiteralUtils.isStringLiteralNode(e))return e;const r=this.escapeSequenceEncoder.encode(e.value,this.options.unicodeEscapeSequence),o=N.NodeFactory.literalNode(r);return _.NodeUtils.parentizeNode(o,t),o}};b=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),c(2,d.inject(l.ServiceIdentifiers.IEscapeSequenceEncoder)),s("design:paramtypes",["function"==typeof(o=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object,"function"==typeof(i=void 0!==u.IEscapeSequenceEncoder&&u.IEscapeSequenceEncoder)?i:Object])],b),t.EscapeSequenceTransformer=b},5289:function(e,t,r){"use strict";var o,n,i,a=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsTransformer=void 0;const f=r(2991),p=r(5350),m=d(r(4523)),g=r(4482),S=r(1403),y=r(8932),h=r(9173),N=r(6955),_=r(4134);let b=o=class extends h.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case y.NodeTransformationStage.Initializing:return{leave:e=>{if(_.NodeGuards.isProgramNode(e))return this.transformNode(e)}};case y.NodeTransformationStage.Finalizing:return{leave:e=>{if(_.NodeGuards.isProgramNode(e))return this.filterCommentsOnFinalizingTraverse(e)}};default:return null}}transformNode(e){if(!(e=this.filterCommentsOnPrimaryTraverse(e)).comments||!e.comments.length)return e;const t=e.comments.reverse();if(0===t.length)return e;if(!e.body.length)return e.leadingComments=t,e;let r=!0;return m.traverse(e,{enter:o=>{if(o===e)return;const n=t.findIndex((e=>e.range&&o.range&&e.range[0]=0&&((r?e:o).leadingComments=t.splice(n,t.length-n).reverse()),r=!1}}),t.length>0&&(e.trailingComments=t.reverse()),e}filterCommentsOnPrimaryTraverse(e){var t;return e.comments=null===(t=e.comments)||void 0===t?void 0:t.filter((e=>this.filterComment(e,!0))),e}filterCommentsOnFinalizingTraverse(e){return m.replace(e,{enter:e=>{var t,r;return e.leadingComments&&(e.leadingComments=null===(t=e.leadingComments)||void 0===t?void 0:t.filter((e=>this.filterComment(e,!1)))),e.trailingComments&&(e.trailingComments=null===(r=e.trailingComments)||void 0===r?void 0:r.filter((e=>this.filterComment(e,!1)))),e}}),e}filterComment(e,t){return!(!t||!N.ConditionalCommentObfuscatingGuard.isConditionalComment(e))||o.preservedWords.some((t=>e.value.includes(t)))}};b.preservedWords=["@license","@preserve"],b=o=c([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(1,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==g.IOptions&&g.IOptions)?i:Object])],b),t.CommentsTransformer=b},4996:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelpersTransformer=void 0;const f=r(2991),p=r(5350),m=r(6622),g=r(5603),S=r(4482),y=r(1403),h=r(5562),N=r(3499),_=r(4212),b=r(1093),O=r(8932),I=r(9173),E=r(4134);let v=class extends I.AbstractNodeTransformer{constructor(e,t,r,o,n,i){super(n,i),this.runAfter=[_.NodeTransformer.ParentificationTransformer,_.NodeTransformer.VariablePreserveTransformer],this.callsGraphData=[],this.callsGraphAnalyzer=e,this.prevailingKindOfVariablesAnalyzer=t,this.obfuscationEventEmitter=r,this.customCodeHelperGroupStorage=o}getVisitor(e){switch(e){case O.NodeTransformationStage.Preparing:return{leave:(e,t)=>{if(E.NodeGuards.isProgramNode(e))return this.prepareNode(e,t),this.appendCustomNodesBeforeObfuscation(e,t),this.transformNode(e,t)}};case O.NodeTransformationStage.Finalizing:return{leave:(e,t)=>{E.NodeGuards.isProgramNode(e)&&this.appendCustomNodesAfterObfuscation(e,t)}};default:return null}}prepareNode(e,t){this.callsGraphData=this.callsGraphAnalyzer.analyze(e),this.prevailingKindOfVariablesAnalyzer.analyze(e)}transformNode(e,t){return e}appendCustomNodesBeforeObfuscation(e,t){this.customCodeHelperGroupStorage.getStorage().forEach((e=>{e.initialize(),this.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendNodes.bind(e))})),this.obfuscationEventEmitter.emit(b.ObfuscationEvent.BeforeObfuscation,e,this.callsGraphData)}appendCustomNodesAfterObfuscation(e,t){this.obfuscationEventEmitter.emit(b.ObfuscationEvent.AfterObfuscation,e,this.callsGraphData)}};v=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.ICallsGraphAnalyzer)),u(1,f.inject(p.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)),u(2,f.inject(p.ServiceIdentifiers.IObfuscationEventEmitter)),u(3,f.inject(p.ServiceIdentifiers.TCustomNodeGroupStorage)),u(4,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(5,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(o=void 0!==h.ICallsGraphAnalyzer&&h.ICallsGraphAnalyzer)?o:Object,"function"==typeof(n=void 0!==N.IPrevailingKindOfVariablesAnalyzer&&N.IPrevailingKindOfVariablesAnalyzer)?n:Object,"function"==typeof(i=void 0!==g.IObfuscationEventEmitter&&g.IObfuscationEventEmitter)?i:Object,"function"==typeof(a=void 0!==m.TCustomCodeHelperGroupStorage&&m.TCustomCodeHelperGroupStorage)?a:Object,"function"==typeof(s=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==S.IOptions&&S.IOptions)?c:Object])],v),t.CustomCodeHelpersTransformer=v},3449:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.EvalCallExpressionTransformer=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(4212),m=r(8932),g=r(9173),S=r(9376),y=r(4134),h=r(2361),N=r(2161);let _=o=class extends g.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[p.NodeTransformer.EscapeSequenceTransformer,p.NodeTransformer.ParentificationTransformer,p.NodeTransformer.VariablePreserveTransformer],this.evalRootAstHostNodeSet=new Set}static extractEvalStringFromCallExpressionArgument(e){return y.NodeGuards.isLiteralNode(e)?o.extractEvalStringFromLiteralNode(e):y.NodeGuards.isTemplateLiteralNode(e)?o.extractEvalStringFromTemplateLiteralNode(e):null}static extractEvalStringFromLiteralNode(e){return"string"==typeof e.value?e.value:null}static extractEvalStringFromTemplateLiteralNode(e){const t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}getVisitor(e){switch(e){case m.NodeTransformationStage.Preparing:return{enter:(e,t)=>{if(t&&y.NodeGuards.isCallExpressionNode(e)&&y.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return this.transformNode(e,t)}};case m.NodeTransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:(e,t)=>{if(t&&this.isEvalRootAstHostNode(e))return this.restoreNode(e,t)}}:null;default:return null}}transformNode(e,t){const r=e.arguments[0];if(!r)return e;const n=o.extractEvalStringFromCallExpressionArgument(r);if(!n)return e;let i;try{i=h.NodeUtils.convertCodeToStructure(n)}catch(t){return e}const a=S.NodeFactory.functionExpressionNode([],S.NodeFactory.blockStatementNode(i));return h.NodeUtils.parentizeAst(a),h.NodeUtils.parentizeNode(a,t),this.evalRootAstHostNodeSet.add(a),a}restoreNode(e,t){const r=e.body.body,o=h.NodeUtils.convertStructureToCode(r);return S.NodeFactory.callExpressionNode(S.NodeFactory.identifierNode("eval"),[S.NodeFactory.literalNode(N.StringUtils.escapeJsString(o))])}isEvalRootAstHostNode(e){return y.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}};_=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],_),t.EvalCallExpressionTransformer=_},8049:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MetadataTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(8932),m=r(9173),g=r(4134),S=r(739);let y=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.ParentificationTransformer,f.NodeTransformer.VariablePreserveTransformer]}getVisitor(e){switch(e){case p.NodeTransformationStage.Preparing:return{enter:(e,t)=>this.transformNode(e,t)};default:return null}}transformNode(e,t){return S.NodeMetadata.set(e,{ignoredNode:!1}),g.NodeGuards.isLiteralNode(e)&&S.NodeMetadata.set(e,{replacedLiteral:!1}),e}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.MetadataTransformer=y},1581:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatingGuardsTransformer=void 0;const l=r(2991),u=r(5350),f=r(805),p=r(4482),m=r(1403),g=r(4212),S=r(8932),y=r(4361),h=r(8608),N=r(9173),_=r(4134),b=r(739);let O=o=class extends N.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.runAfter=[g.NodeTransformer.ParentificationTransformer,g.NodeTransformer.VariablePreserveTransformer],this.obfuscatingGuards=o.obfuscatingGuardsList.map(e)}getVisitor(e){switch(e){case S.NodeTransformationStage.Preparing:return{enter:(e,t)=>this.transformNode(e,t)};default:return null}}transformNode(e,t){const r=this.obfuscatingGuards.map((t=>t.check(e)));return this.setNodeMetadata(e,r),e}setNodeMetadata(e,t){let r=!1,o=!1;t.every((e=>e===h.ObfuscatingGuardResult.Transform))||(r=t.some((e=>e===h.ObfuscatingGuardResult.ForceTransform)),o=!r&&t.some((e=>e===h.ObfuscatingGuardResult.Ignore))),b.NodeMetadata.set(e,{forceTransformNode:r&&!_.NodeGuards.isProgramNode(e),ignoredNode:o&&!_.NodeGuards.isProgramNode(e)})}};O.obfuscatingGuardsList=[y.ObfuscatingGuard.BlackListObfuscatingGuard,y.ObfuscatingGuard.ConditionalCommentObfuscatingGuard,y.ObfuscatingGuard.ForceTransformStringObfuscatingGuard,y.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard,y.ObfuscatingGuard.ReservedStringObfuscatingGuard],O=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__INodeGuard)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TObfuscatingGuardFactory&&f.TObfuscatingGuardFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],O),t.ObfuscatingGuardsTransformer=O},774:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParentificationTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(2361);let g=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Preparing:return{enter:(e,t)=>this.transformNode(e,t)};default:return null}}transformNode(e,t){return m.NodeUtils.parentizeNode(e,t)}};g=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],g),t.ParentificationTransformer=g},2616:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.VariablePreserveTransformer=void 0;const l=r(2991),u=r(5167),f=r(4482),p=r(1403),m=r(5822),g=r(4212),S=r(5350),y=r(8932),h=r(9173),N=r(4134);let _=class extends h.AbstractNodeTransformer{constructor(e,t,r,o){super(t,r),this.runAfter=[g.NodeTransformer.ParentificationTransformer],this.identifierReplacer=e,this.scopeIdentifiersTraverser=o,this.preserveScopeVariableIdentifiers=this.preserveScopeVariableIdentifiers.bind(this)}getVisitor(e){switch(e){case y.NodeTransformationStage.Preparing:case y.NodeTransformationStage.Converting:case y.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&N.NodeGuards.isProgramNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return this.scopeIdentifiersTraverser.traverseScopeIdentifiers(e,t,this.preserveScopeVariableIdentifiers),e}preserveScopeVariableIdentifiers(e){const{isGlobalDeclaration:t,isBubblingDeclaration:r,variable:o,variableScope:n}=e;for(const e of o.identifiers)t||r?this.preserveIdentifierNameForRootLexicalScope(e):this.preserveIdentifierNameForLexicalScope(e,n)}preserveIdentifierNameForRootLexicalScope(e){this.identifierReplacer.preserveName(e)}preserveIdentifierNameForLexicalScope(e,t){const r=N.NodeGuards.isNodeWithLexicalScope(t.block)?t.block:null;r&&this.identifierReplacer.preserveNameForLexicalScope(e,r)}};_=s([l.injectable(),d(0,l.inject(S.ServiceIdentifiers.IIdentifierReplacer)),d(1,l.inject(S.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(S.ServiceIdentifiers.IOptions)),d(3,l.inject(S.ServiceIdentifiers.IScopeIdentifiersTraverser)),c("design:paramtypes",["function"==typeof(o=void 0!==u.IIdentifierReplacer&&u.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object,"function"==typeof(a=void 0!==m.IScopeIdentifiersTraverser&&m.IScopeIdentifiersTraverser)?a:Object])],_),t.VariablePreserveTransformer=_},5878:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.BlackListObfuscatingGuard=void 0;const a=r(2991),s=r(8608),c=r(4134);let d=o=class{constructor(){this.blackListGuardsLength=o.blackListGuards.length}check(e){for(let t=0;t=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.ConditionalCommentObfuscatingGuard=void 0;const i=r(2991),a=r(8608),s=r(4134);let c=o=class{constructor(){this.obfuscationAllowed=!0}static isConditionalComment(e){return o.obfuscationEnableCommentRegExp.test(e.value)||o.obfuscationDisableCommentRegExp.test(e.value)}check(e){if(s.NodeGuards.isNodeWithComments(e)){const t=e.leadingComments;t&&(this.obfuscationAllowed=this.checkComments(t))}return this.obfuscationAllowed?a.ObfuscatingGuardResult.Transform:a.ObfuscatingGuardResult.Ignore}checkComments(e){const t=e.length;let r=this.obfuscationAllowed;for(let n=0;n=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ForceTransformStringObfuscatingGuard=void 0;const s=r(2991),c=r(4482),d=r(8608),l=r(5350),u=r(4134);let f=class{constructor(e){this.options=e}check(e){return this.options.forceTransformStrings.length&&u.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value&&this.isForceTransformString(e.value)?d.ObfuscatingGuardResult.ForceTransform:d.ObfuscatingGuardResult.Transform}isForceTransformString(e){return this.options.forceTransformStrings.some((t=>null!==new RegExp(t,"g").exec(e)))}};f=n([s.injectable(),a(0,s.inject(l.ServiceIdentifiers.IOptions)),i("design:paramtypes",["function"==typeof(o=void 0!==c.IOptions&&c.IOptions)?o:Object])],f),t.ForceTransformStringObfuscatingGuard=f},147:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.IgnoredRequireImportObfuscatingGuard=void 0;const s=r(2991),c=r(4482),d=r(8608),l=r(5350),u=r(4134);let f=class{constructor(e){this.options=e}check(e){return this.options.ignoreRequireImports&&u.NodeGuards.isCallExpressionNode(e)&&u.NodeGuards.isIdentifierNode(e.callee)&&"require"===e.callee.name?d.ObfuscatingGuardResult.Ignore:d.ObfuscatingGuardResult.Transform}};f=n([s.injectable(),a(0,s.inject(l.ServiceIdentifiers.IOptions)),i("design:paramtypes",["function"==typeof(o=void 0!==c.IOptions&&c.IOptions)?o:Object])],f),t.IgnoredRequireImportObfuscatingGuard=f},7985:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReservedStringObfuscatingGuard=void 0;const s=r(2991),c=r(4482),d=r(8608),l=r(5350),u=r(4134);let f=class{constructor(e){this.options=e}check(e){return this.options.reservedStrings.length&&u.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value&&this.isReservedString(e.value)?d.ObfuscatingGuardResult.Ignore:d.ObfuscatingGuardResult.Transform}isReservedString(e){return this.options.reservedStrings.some((t=>null!==new RegExp(t,"g").exec(e)))}};f=n([s.injectable(),a(0,s.inject(l.ServiceIdentifiers.IOptions)),i("design:paramtypes",["function"==typeof(o=void 0!==c.IOptions&&c.IOptions)?o:Object])],f),t.ReservedStringObfuscatingGuard=f},8869:function(e,t,r){"use strict";var o,n,i,a=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LabeledStatementTransformer=void 0;const f=r(2991),p=r(5350),m=d(r(4523)),g=r(5167),S=r(4482),y=r(1403),h=r(8932),N=r(9173),_=r(4134),b=r(1534);let O=class extends N.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.identifierReplacer=e}getVisitor(e){switch(e){case h.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&_.NodeGuards.isLabeledStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){const r=b.NodeLexicalScopeUtils.getLexicalScope(e);return r?(this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e):e}storeLabeledStatementName(e,t){this.identifierReplacer.storeLocalName(e.label,t)}replaceLabeledStatementName(e,t){m.replace(e,{enter:(e,r)=>{if(r&&_.NodeGuards.isLabelIdentifierNode(e,r)){const r=this.identifierReplacer.replace(e,t);e.name=r.name}}})}};O=c([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.IIdentifierReplacer)),u(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(2,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(o=void 0!==g.IIdentifierReplacer&&g.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==S.IOptions&&S.IOptions)?i:Object])],O),t.LabeledStatementTransformer=O},5806:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),c=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return c(t,e),t},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeIdentifiersTransformer=void 0;const p=r(2991),m=r(5350),g=l(r(4523)),S=r(5167),y=r(4482),h=r(1403),N=r(5822),_=r(8932),b=r(9173),O=r(4134),I=r(739);let E=class extends b.AbstractNodeTransformer{constructor(e,t,r,o){super(t,r),this.lexicalScopesWithObjectPatternWithoutDeclarationMap=new Map,this.identifierReplacer=e,this.scopeIdentifiersTraverser=o}getVisitor(e){switch(e){case _.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&O.NodeGuards.isProgramNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return this.scopeIdentifiersTraverser.traverseScopeIdentifiers(e,t,(e=>{const{isGlobalDeclaration:t,variable:r,variableLexicalScopeNode:o}=e;(this.options.renameGlobals||!t||r.defs.every((e=>"ImportBinding"===e.type||"CatchClause"===e.type)))&&this.transformScopeVariableIdentifiers(r,o,t)})),e}transformScopeVariableIdentifiers(e,t,r){var o;const n=null!==(o=e.identifiers[0])&&void 0!==o?o:null;n&&this.isReplaceableIdentifierNode(n,t,e)&&(this.storeIdentifierName(n,t,r),this.replaceIdentifierName(n,t,e))}storeIdentifierName(e,t,r){r?this.identifierReplacer.storeGlobalName(e,t):this.identifierReplacer.storeLocalName(e,t)}replaceIdentifierName(e,t,r){const o=this.identifierReplacer.replace(e,t);r.identifiers.forEach((e=>{e.name=o.name})),r.references.forEach((t=>{t.identifier.name=e.name}))}isReplaceableIdentifierNode(e,t,r){const o=e.parentNode;return!(!o||I.NodeMetadata.isIgnoredNode(e)||this.isProhibitedPropertyIdentifierNode(e,o)||this.isProhibitedPropertyAssignmentPatternIdentifierNode(e,o)||this.isProhibitedClassDeclarationNameIdentifierNode(r,e,o)||this.isProhibitedExportNamedClassDeclarationIdentifierNode(e,o)||this.isProhibitedExportNamedFunctionDeclarationIdentifierNode(e,o)||this.isProhibitedExportNamedVariableDeclarationIdentifierNode(e,o)||this.isProhibitedImportSpecifierNode(e,o)||this.isProhibitedVariableNameUsedInObjectPatternNode(r,e,t)||O.NodeGuards.isLabelIdentifierNode(e,o))}isProhibitedClassDeclarationNameIdentifierNode(e,t,r){return O.NodeGuards.isClassDeclarationNode(e.scope.block)&&O.NodeGuards.isClassDeclarationNode(r)&&r.id===t}isProhibitedExportNamedClassDeclarationIdentifierNode(e,t){return O.NodeGuards.isClassDeclarationNode(t)&&t.id===e&&!!t.parentNode&&O.NodeGuards.isExportNamedDeclarationNode(t.parentNode)}isProhibitedExportNamedFunctionDeclarationIdentifierNode(e,t){return O.NodeGuards.isFunctionDeclarationNode(t)&&t.id===e&&!!t.parentNode&&O.NodeGuards.isExportNamedDeclarationNode(t.parentNode)}isProhibitedExportNamedVariableDeclarationIdentifierNode(e,t){return O.NodeGuards.isVariableDeclaratorNode(t)&&t.id===e&&!!t.parentNode&&O.NodeGuards.isVariableDeclarationNode(t.parentNode)&&!!t.parentNode.parentNode&&O.NodeGuards.isExportNamedDeclarationNode(t.parentNode.parentNode)}isProhibitedImportSpecifierNode(e,t){return O.NodeGuards.isImportSpecifierNode(t)&&t.imported.name===t.local.name}isProhibitedPropertyIdentifierNode(e,t){return O.NodeGuards.isPropertyNode(t)&&!t.computed&&O.NodeGuards.isIdentifierNode(t.key)&&O.NodeGuards.isIdentifierNode(e)&&t.shorthand&&t.key.name===e.name}isProhibitedPropertyAssignmentPatternIdentifierNode(e,t){return O.NodeGuards.isAssignmentPatternNode(t)&&t.left===e&&!!t.parentNode&&O.NodeGuards.isPropertyNode(t.parentNode)&&O.NodeGuards.isIdentifierNode(t.left)&&O.NodeGuards.isIdentifierNode(t.parentNode.key)&&t.left.name===t.parentNode.key.name}isProhibitedVariableNameUsedInObjectPatternNode(e,t,r){let o=this.lexicalScopesWithObjectPatternWithoutDeclarationMap.get(r);if(!1===o)return!1;if(!e.defs.some((e=>"var"===e.kind)))return!1;let n=!1;return g.traverse(r,{enter:(e,r)=>{if(O.NodeGuards.isObjectPatternNode(e)&&r&&O.NodeGuards.isAssignmentExpressionNode(r)){o=!0;const r=e.properties;for(const e of r)if(O.NodeGuards.isPropertyNode(e)&&!e.computed&&e.shorthand&&O.NodeGuards.isIdentifierNode(e.key)&&t.name===e.key.name)return n=!0,g.VisitorOption.Break}}}),this.lexicalScopesWithObjectPatternWithoutDeclarationMap.set(r,null!=o&&o),n}};E=d([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.IIdentifierReplacer)),f(1,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(2,p.inject(m.ServiceIdentifiers.IOptions)),f(3,p.inject(m.ServiceIdentifiers.IScopeIdentifiersTraverser)),u("design:paramtypes",["function"==typeof(o=void 0!==S.IIdentifierReplacer&&S.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==y.IOptions&&y.IOptions)?i:Object,"function"==typeof(a=void 0!==N.IScopeIdentifiersTraverser&&N.IScopeIdentifiersTraverser)?a:Object])],E),t.ScopeIdentifiersTransformer=E},7247:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeThroughIdentifiersTransformer=void 0;const l=r(2991),u=r(5350),f=r(5167),p=r(4482),m=r(1403),g=r(5822),S=r(8932),y=r(9173),h=r(4134);let N=class extends y.AbstractNodeTransformer{constructor(e,t,r,o){super(t,r),this.identifierReplacer=e,this.scopeIdentifiersTraverser=o}getVisitor(e){switch(e){case S.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&h.NodeGuards.isProgramNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return this.scopeIdentifiersTraverser.traverseScopeThroughIdentifiers(e,t,(e=>{const{reference:t,variableLexicalScopeNode:r}=e;this.transformScopeThroughIdentifiers(t,r)})),e}transformScopeThroughIdentifiers(e,t){if(e.resolved)return;const r=e.identifier;this.storeIdentifierName(r,t),this.replaceIdentifierName(r,t,e)}storeIdentifierName(e,t){this.identifierReplacer.storeLocalName(e,t)}replaceIdentifierName(e,t,r){const o=this.identifierReplacer.replace(e,t);r.identifier.name=o.name}};N=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IIdentifierReplacer)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),d(3,l.inject(u.ServiceIdentifiers.IScopeIdentifiersTraverser)),c("design:paramtypes",["function"==typeof(o=void 0!==f.IIdentifierReplacer&&f.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==p.IOptions&&p.IOptions)?i:Object,"function"==typeof(a=void 0!==g.IScopeIdentifiersTraverser&&g.IScopeIdentifiersTraverser)?a:Object])],N),t.ScopeThroughIdentifiersTransformer=N},6181:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.IdentifierReplacer=void 0;const c=r(2991),d=r(5350),l=r(9416),u=r(4482),f=r(9376);let p=class{constructor(e,t){this.blockScopesMap=new Map,this.options=t,this.identifierNamesGenerator=e(t)}storeGlobalName(e,t){const r=e.name;if(this.isReservedName(r))return;const o=this.identifierNamesGenerator.generateForGlobalScope();this.blockScopesMap.has(t)||this.blockScopesMap.set(t,new Map),this.blockScopesMap.get(t).set(r,o)}storeLocalName(e,t){const r=e.name;if(this.isReservedName(r))return;const o=this.identifierNamesGenerator.generateForLexicalScope(t);this.blockScopesMap.has(t)||this.blockScopesMap.set(t,new Map),this.blockScopesMap.get(t).set(r,o)}replace(e,t){let r=e.name;if(this.blockScopesMap.has(t)){const e=this.blockScopesMap.get(t);e.has(r)&&(r=e.get(r))}return f.NodeFactory.identifierNode(r)}preserveName(e){this.identifierNamesGenerator.preserveName(e.name)}preserveNameForLexicalScope(e,t){this.identifierNamesGenerator.preserveNameForLexicalScope(e.name,t)}isReservedName(e){return!!this.options.reservedNames.length&&this.options.reservedNames.some((t=>null!==new RegExp(t,"g").exec(e)))}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.TIdentifierNamesGeneratorFactory&&l.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==u.IOptions&&u.IOptions)?n:Object])],p),t.IdentifierReplacer=p},2143:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenamePropertiesTransformer=void 0;const l=r(2991),u=r(5350),f=r(5524),p=r(4482),m=r(1403),g=r(8932),S=r(9173),y=r(4134);let h=o=class extends S.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.renamePropertiesReplacer=e}static isValidPropertyNode(e,t){return(!y.NodeGuards.isIdentifierNode(t)||!e.computed)&&(y.NodeGuards.isIdentifierNode(t)||y.NodeGuards.isLiteralNode(t))}getVisitor(e){switch(e){case g.NodeTransformationStage.RenameProperties:return{enter:(e,t)=>{if(t)return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return y.NodeGuards.isPropertyNode(e)?this.transformPropertyNode(e):y.NodeGuards.isMemberExpressionNode(e)?this.transformMemberExpressionNode(e):y.NodeGuards.isMethodDefinitionNode(e)?this.transformMethodDefinitionNode(e):e}transformPropertyNode(e){const t=e.key;return o.isValidPropertyNode(e,t)&&(e.key=this.renamePropertiesReplacer.replace(t),e.shorthand=!1),e}transformMemberExpressionNode(e){const t=e.property;return o.isValidPropertyNode(e,t)&&(e.property=this.renamePropertiesReplacer.replace(t)),e}transformMethodDefinitionNode(e){const t=e.key;return o.isValidPropertyNode(e,t)&&(e.key=this.renamePropertiesReplacer.replace(t)),e}};h=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IRenamePropertiesReplacer)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.IRenamePropertiesReplacer&&f.IRenamePropertiesReplacer)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],h),t.RenamePropertiesTransformer=h},7889:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenamePropertiesReplacer=void 0;const d=r(2991),l=r(5350),u=r(9416),f=r(4482),p=c(r(6856)),m=r(4134),g=r(9376);let S=class{constructor(e,t){this.propertyNamesMap=new Map,this.reservedDomPropertiesList=new Set(p.default),this.identifierNamesGenerator=e(t),this.options=t}replace(e){return m.NodeGuards.isIdentifierNode(e)?g.NodeFactory.identifierNode(this.replacePropertyName(e.name)):m.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value?g.NodeFactory.literalNode(this.replacePropertyName(e.value)):e}replacePropertyName(e){var t;if(this.isReservedName(e))return e;let r=null!==(t=this.propertyNamesMap.get(e))&&void 0!==t?t:null;return null!==r||(r=this.identifierNamesGenerator.generateNext(),this.propertyNamesMap.set(e,r)),r}isReservedName(e){return this.isReservedOptionName(e)||this.isReservedDomPropertyName(e)}isReservedOptionName(e){return!!this.options.reservedNames.length&&this.options.reservedNames.some((t=>null!==new RegExp(t,"g").exec(e)))}isReservedDomPropertyName(e){return this.reservedDomPropertiesList.has(e)}};S=i([d.injectable(),s(0,d.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s(1,d.inject(l.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.TIdentifierNamesGeneratorFactory&&u.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object])],S),t.RenamePropertiesReplacer=S},254:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStatementSimplifyTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(9173),m=r(4134),g=r(9376);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.ExpressionStatementsMergeTransformer,f.NodeTransformer.VariableDeclarationsMergeTransformer]}getStatementSimplifyData(e){if(!e)return null;if(!m.NodeGuards.isBlockStatementNode(e))return{leadingStatements:[e],trailingStatement:null,hasReturnStatement:!1,hasSingleExpression:!1};const{startIndex:t,unwrappedExpressions:r,hasReturnStatement:o}=this.collectIteratedStatementsSimplifyData(e),n=this.getLeadingStatements(e,t);if(!r.length)return{leadingStatements:n,trailingStatement:null,hasReturnStatement:o,hasSingleExpression:!1};const i=1===r.length,a=i?r[0]:g.NodeFactory.sequenceExpressionNode(r);return{leadingStatements:n,trailingStatement:{statement:o?g.NodeFactory.returnStatementNode(a):g.NodeFactory.expressionStatementNode(a),expression:a},hasReturnStatement:o,hasSingleExpression:i}}collectIteratedStatementsSimplifyData(e){const t=[];let r=!1,o=null;for(let n=e.body.length-1;n>=0;n--){const i=e.body[n];if(m.NodeGuards.isExpressionStatementNode(i))m.NodeGuards.isSequenceExpressionNode(i.expression)?t.unshift(...i.expression.expressions):t.unshift(i.expression),o=n;else{if(!m.NodeGuards.isReturnStatementNode(i)||!i.argument)break;t.unshift(i.argument),r=!0,o=n}}return{startIndex:o,unwrappedExpressions:t,hasReturnStatement:r}}getLeadingStatements(e,t){return null===t?e.body:0===t?[]:e.body.slice(0,t)}getPartialStatement(e){return!e.leadingStatements.length&&e.trailingStatement?e.trailingStatement.statement:g.NodeFactory.blockStatementNode([...e.leadingStatements.length?e.leadingStatements:[],...e.trailingStatement?[e.trailingStatement.statement]:[]])}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.AbstractStatementSimplifyTransformer=S},2838:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementSimplifyTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(8932),m=r(254),g=r(4134),S=r(9376),y=r(2361);let h=class extends m.AbstractStatementSimplifyTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.VariableDeclarationsMergeTransformer]}getVisitor(e){switch(e){case p.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&g.NodeGuards.isBlockStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){const r=this.getStatementSimplifyData(e);if(!r)return e;const o=this.getPartialStatement(r),n=g.NodeGuards.isBlockStatementNode(o)?o:S.NodeFactory.blockStatementNode([o]);return y.NodeUtils.parentizeNode(n,t)}};h=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],h),t.BlockStatementSimplifyTransformer=h},1226:function(e,t,r){"use strict";var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionStatementsMergeTransformer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(4482),g=r(1403),S=r(8932),y=r(9173),h=r(9376),N=r(4134),_=r(8134),b=r(2361);let O=class extends y.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case S.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&N.NodeGuards.isExpressionStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!N.NodeGuards.isNodeWithStatements(t))return e;const r=_.NodeStatementUtils.getPreviousSiblingStatement(e);return r&&N.NodeGuards.isExpressionStatementNode(r)?(N.NodeGuards.isSequenceExpressionNode(r.expression)?(r.expression.expressions.push(e.expression),b.NodeUtils.parentizeNode(e.expression,r.expression)):(r.expression=h.NodeFactory.sequenceExpressionNode([r.expression,e.expression]),b.NodeUtils.parentizeAst(r.expression),b.NodeUtils.parentizeNode(r.expression,r)),p.VisitorOption.Remove):e}};O=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(1,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==m.IOptions&&m.IOptions)?n:Object])],O),t.ExpressionStatementsMergeTransformer=O},8821:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.IfStatementSimplifyTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(254),m=r(4134),g=r(9376),S=r(2361);let y=class extends p.AbstractStatementSimplifyTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&m.NodeGuards.isIfStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){const r=this.getStatementSimplifyData(e.consequent);if(!r)return e;let o;if(e.alternate){const t=this.getStatementSimplifyData(e.alternate);if(!t)return e;o=this.getConsequentAndAlternateNode(e,r,t)}else o=this.getConsequentNode(e,r);return S.NodeUtils.parentizeNode(o,t)}getConsequentNode(e,t){return t.leadingStatements.length||!t.trailingStatement?g.NodeFactory.ifStatementNode(e.test,this.getPartialStatement(t)):t.hasReturnStatement?g.NodeFactory.ifStatementNode(e.test,t.trailingStatement.statement):g.NodeFactory.expressionStatementNode(g.NodeFactory.logicalExpressionNode("&&",e.test,t.trailingStatement.expression))}getConsequentAndAlternateNode(e,t,r){return t.leadingStatements.length||r.leadingStatements.length||!t.trailingStatement||!r.trailingStatement?g.NodeFactory.ifStatementNode(e.test,this.getPartialStatement(t),this.getPartialStatement(r)):t.hasReturnStatement&&r.hasReturnStatement?g.NodeFactory.returnStatementNode(g.NodeFactory.conditionalExpressionNode(e.test,t.trailingStatement.expression,r.trailingStatement.expression)):t.hasReturnStatement||r.hasReturnStatement?g.NodeFactory.ifStatementNode(e.test,t.trailingStatement.statement,r.trailingStatement.statement):g.NodeFactory.expressionStatementNode(g.NodeFactory.conditionalExpressionNode(e.test,t.trailingStatement.expression,r.trailingStatement.expression))}getPartialStatement(e){const t=super.getPartialStatement(e);return m.NodeGuards.isBlockStatementNode(t)?1!==t.body.length||this.isProhibitedSingleStatementForIfStatementBranch(t.body[0])?t:t.body[0]:t}isProhibitedSingleStatementForIfStatementBranch(e){return m.NodeGuards.isFunctionDeclarationNode(e)||m.NodeGuards.isIfStatementNode(e)||m.NodeGuards.isVariableDeclarationNode(e)&&"var"!==e.kind}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.IfStatementSimplifyTransformer=y},3115:function(e,t,r){"use strict";var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarationsMergeTransformer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(4482),g=r(1403),S=r(8932),y=r(9173),h=r(4134),N=r(8134);let _=class extends y.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case S.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&h.NodeGuards.isVariableDeclarationNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!h.NodeGuards.isNodeWithStatements(t))return e;const r=N.NodeStatementUtils.getPreviousSiblingStatement(e);return r&&h.NodeGuards.isVariableDeclarationNode(r)?e.kind!==r.kind?e:(r.declarations.push(...e.declarations),p.VisitorOption.Remove):e}};_=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(1,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==m.IOptions&&m.IOptions)?n:Object])],_),t.VariableDeclarationsMergeTransformer=_},4123:function(e,t,r){"use strict";var o,n,i,a,s,c,d,l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperTransformer=void 0;const p=r(2991),m=r(5350),g=r(7070),S=r(4482),y=r(1403),h=r(870),N=r(8688),_=r(5683),b=r(3186),O=r(8932),I=r(294),E=r(9614),v=r(9173),C=r(7678),T=r(4134);let R=class extends v.AbstractNodeTransformer{constructor(e,t,r,o,n,i,a){super(e,t),this.visitedLexicalScopeNodesStackStorage=r,this.stringArrayStorage=o,this.stringArrayScopeCallsWrapperNamesDataStorage=n,this.stringArrayScopeCallsWrapperLexicalScopeDataStorage=i,this.stringArrayTransformerCustomNodeFactory=a}getVisitor(e){if(!this.options.stringArrayWrappersCount)return null;switch(e){case O.NodeTransformationStage.StringArray:return{enter:(e,t)=>{t&&T.NodeGuards.isNodeWithLexicalScopeStatements(e,t)&&this.onLexicalScopeNodeEnter(e)},leave:(e,t)=>{if(t&&T.NodeGuards.isNodeWithLexicalScopeStatements(e,t))return this.onLexicalScopeNodeLeave(),this.transformNode(e)}};default:return null}}transformNode(e){var t,r;const o=null!==(t=this.stringArrayScopeCallsWrapperNamesDataStorage.get(e))&&void 0!==t?t:null,n=null!==(r=this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(e))&&void 0!==r?r:null;if(!o||!n)return e;const i=Object.values(o);for(const t of i){if(!t)continue;const{names:r}=t;for(let o=r.length-1;o>=0;o--){const i=r[o],[a,s]=this.getUpperStringArrayCallsWrapperData(t,n),c=this.getStringArrayScopeCallsWrapperNode(i,a,s);C.NodeAppender.prepend(e,c)}}return e}getRootStringArrayCallsWrapperData(e,t){const{encoding:r}=e,{resultShiftedIndex:o}=t;return[this.stringArrayStorage.getStorageCallsWrapperName(r),o]}getUpperStringArrayCallsWrapperData(e,t){var r,o,n,i;const{encoding:a}=e,{scopeShiftedIndex:s}=t,c=this.getRootStringArrayCallsWrapperData(e,t);if(!this.options.stringArrayWrappersChainedCalls)return c;const d=null!==(r=this.visitedLexicalScopeNodesStackStorage.getLastElement())&&void 0!==r?r:null;if(!d)return c;const l=null!==(o=this.stringArrayScopeCallsWrapperNamesDataStorage.get(d))&&void 0!==o?o:null,u=null!==(i=null===(n=null==l?void 0:l[a])||void 0===n?void 0:n.names)&&void 0!==i?i:null;return(null==u?void 0:u.length)?[this.randomGenerator.getRandomGenerator().pickone(u),s]:c}getStringArrayScopeCallsWrapperNode(e,t,r){switch(this.options.stringArrayWrappersType){case E.StringArrayWrappersType.Function:return this.getStringArrayScopeCallsWrapperFunctionNode(e,t,r);case E.StringArrayWrappersType.Variable:default:return this.getStringArrayScopeCallsWrapperVariableNode(e,t)}}getStringArrayScopeCallsWrapperVariableNode(e,t){const r=this.stringArrayTransformerCustomNodeFactory(I.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode);return r.initialize(e,t),r.getNode()}getStringArrayScopeCallsWrapperFunctionNode(e,t,r){const o=this.stringArrayTransformerCustomNodeFactory(I.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode);return o.initialize(e,t,r),o.getNode()}onLexicalScopeNodeEnter(e){this.visitedLexicalScopeNodesStackStorage.push(e)}onLexicalScopeNodeLeave(){this.visitedLexicalScopeNodesStackStorage.pop()}};R=l([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(1,p.inject(m.ServiceIdentifiers.IOptions)),f(2,p.inject(m.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)),f(3,p.inject(m.ServiceIdentifiers.IStringArrayStorage)),f(4,p.inject(m.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)),f(5,p.inject(m.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)),f(6,p.inject(m.ServiceIdentifiers.Factory__IStringArrayCustomNode)),u("design:paramtypes",["function"==typeof(o=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==S.IOptions&&S.IOptions)?n:Object,"function"==typeof(i=void 0!==b.IVisitedLexicalScopeNodesStackStorage&&b.IVisitedLexicalScopeNodesStackStorage)?i:Object,"function"==typeof(a=void 0!==_.IStringArrayStorage&&_.IStringArrayStorage)?a:Object,"function"==typeof(s=void 0!==N.IStringArrayScopeCallsWrapperNamesDataStorage&&N.IStringArrayScopeCallsWrapperNamesDataStorage)?s:Object,"function"==typeof(c=void 0!==h.IStringArrayScopeCallsWrapperLexicalScopeDataStorage&&h.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)?c:Object,"function"==typeof(d=void 0!==g.TStringArrayCustomNodeFactory&&g.TStringArrayCustomNodeFactory)?d:Object])],R),t.StringArrayScopeCallsWrapperTransformer=R},4940:function(e,t,r){"use strict";var o,n,i,a,s,c,d,l,u,f,p,m=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},g=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},S=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTransformer=void 0;const y=r(2991),h=r(5350),N=r(9416),_=r(7070),b=r(2086),O=r(4482),I=r(1403),E=r(870),v=r(8688),C=r(5683),T=r(927),R=r(3186),A=r(8932),j=r(294),M=r(9614),F=r(9173),P=r(4134),D=r(8241),G=r(739),x=r(2361);let L=o=class extends F.AbstractNodeTransformer{constructor(e,t,r,o,n,i,a,s,c,d){super(e,t),this.literalNodesCacheStorage=r,this.visitedLexicalScopeNodesStackStorage=o,this.stringArrayStorage=n,this.stringArrayScopeCallsWrapperNamesDataStorage=i,this.stringArrayScopeCallsWrapperLexicalScopeDataStorage=a,this.stringArrayStorageAnalyzer=s,this.identifierNamesGenerator=c(t),this.stringArrayTransformerCustomNodeFactory=d}getVisitor(e){switch(e){case A.NodeTransformationStage.StringArray:return{enter:(e,t)=>{if(P.NodeGuards.isProgramNode(e)&&this.prepareNode(e),t&&P.NodeGuards.isLiteralNode(e)&&!G.NodeMetadata.isReplacedLiteral(e))return this.transformNode(e,t)}};default:return null}}prepareNode(e){this.stringArrayStorageAnalyzer.analyze(e),this.options.shuffleStringArray&&this.stringArrayStorage.shuffleStorage(),this.options.rotateStringArray&&this.stringArrayStorage.rotateStorage()}transformNode(e,t){if(!D.NodeLiteralUtils.isStringLiteralNode(e)||D.NodeLiteralUtils.isProhibitedLiteralNode(e,t))return e;const r=e.value,o=this.stringArrayStorageAnalyzer.getItemDataForLiteralNode(e),n=this.literalNodesCacheStorage.buildKey(r,o);if(this.literalNodesCacheStorage.shouldUseCachedValue(n,o))return this.literalNodesCacheStorage.get(n);const i=o?this.getStringArrayCallNode(o):e;return this.literalNodesCacheStorage.set(n,i),x.NodeUtils.parentizeNode(i,t),i}getStringArrayCallNode(e){const[t,r]=this.getStringArrayCallsWrapperData(e),{decodeKey:o}=e,n=this.stringArrayTransformerCustomNodeFactory(j.StringArrayCustomNode.StringArrayCallNode);n.initialize(t,r,this.stringArrayStorage.getIndexShiftAmount(),o);const i=n.getNode()[0];if(!P.NodeGuards.isExpressionStatementNode(i))throw new Error("`stringArrayCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return i.expression}getStringArrayCallsWrapperData(e){return this.options.stringArrayWrappersCount?this.getUpperStringArrayCallsWrapperData(e):this.getRootStringArrayCallsWrapperData(e)}getRootStringArrayCallsWrapperData(e){const{encoding:t,index:r}=e;return[this.stringArrayStorage.getStorageCallsWrapperName(t),r]}getUpperStringArrayCallsWrapperData(e){var t,r,o,n;const{encoding:i,index:a}=e,s=null!==(t=this.visitedLexicalScopeNodesStackStorage.getLastElement())&&void 0!==t?t:null,c=null!==(r=this.visitedLexicalScopeNodesStackStorage.getPenultimateElement())&&void 0!==r?r:null;if(!s)throw new Error("Cannot find current lexical scope body node");const d=this.getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(s,e),l=this.getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(s,c),u=null!==(n=null===(o=d[i])||void 0===o?void 0:o.names)&&void 0!==n?n:[];return[this.randomGenerator.getRandomGenerator().pickone(u),l?l.resultShiftedIndex+a:a]}getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(e,t){var r,o,n;const{encoding:i}=t,a=null!==(r=this.stringArrayScopeCallsWrapperNamesDataStorage.get(e))&&void 0!==r?r:{},s=null!==(n=null===(o=a[i])||void 0===o?void 0:o.names)&&void 0!==n?n:[];if(s.length===this.options.stringArrayWrappersCount)return a;const c=this.identifierNamesGenerator.generateNext();return a[i]={encoding:i,names:[...s,c]},this.stringArrayScopeCallsWrapperNamesDataStorage.set(e,a),a}getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(e,t){var r,n;const i=null!==(r=this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(e))&&void 0!==r?r:null;if(i)return i;const a=t&&null!==(n=this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(t))&&void 0!==n?n:null,s=this.options.stringArrayWrappersType===M.StringArrayWrappersType.Function?this.randomGenerator.getRandomInteger(o.minShiftedIndexValue,o.maxShiftedIndexValue):0,c={parentLexicalScopeBodyNode:t,resultShiftedIndex:a?a.resultShiftedIndex+s:s,scopeShiftedIndex:s};return this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.set(e,c),c}};L.minShiftedIndexValue=-1e3,L.maxShiftedIndexValue=1e3,L=o=m([y.injectable(),S(0,y.inject(h.ServiceIdentifiers.IRandomGenerator)),S(1,y.inject(h.ServiceIdentifiers.IOptions)),S(2,y.inject(h.ServiceIdentifiers.ILiteralNodesCacheStorage)),S(3,y.inject(h.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)),S(4,y.inject(h.ServiceIdentifiers.IStringArrayStorage)),S(5,y.inject(h.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)),S(6,y.inject(h.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)),S(7,y.inject(h.ServiceIdentifiers.IStringArrayStorageAnalyzer)),S(8,y.inject(h.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),S(9,y.inject(h.ServiceIdentifiers.Factory__IStringArrayCustomNode)),g("design:paramtypes",["function"==typeof(n=void 0!==I.IRandomGenerator&&I.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==O.IOptions&&O.IOptions)?i:Object,"function"==typeof(a=void 0!==b.ILiteralNodesCacheStorage&&b.ILiteralNodesCacheStorage)?a:Object,"function"==typeof(s=void 0!==R.IVisitedLexicalScopeNodesStackStorage&&R.IVisitedLexicalScopeNodesStackStorage)?s:Object,"function"==typeof(c=void 0!==C.IStringArrayStorage&&C.IStringArrayStorage)?c:Object,"function"==typeof(d=void 0!==v.IStringArrayScopeCallsWrapperNamesDataStorage&&v.IStringArrayScopeCallsWrapperNamesDataStorage)?d:Object,"function"==typeof(l=void 0!==E.IStringArrayScopeCallsWrapperLexicalScopeDataStorage&&E.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)?l:Object,"function"==typeof(u=void 0!==T.IStringArrayStorageAnalyzer&&T.IStringArrayStorageAnalyzer)?u:Object,"function"==typeof(f=void 0!==N.TIdentifierNamesGeneratorFactory&&N.TIdentifierNamesGeneratorFactory)?f:Object,"function"==typeof(p=void 0!==_.TStringArrayCustomNodeFactory&&_.TStringArrayCustomNodeFactory)?p:Object])],L),t.StringArrayTransformer=L},7678:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeAppender=void 0;const o=r(4134);class n{static append(e,t){t=n.parentizeScopeStatementsBeforeAppend(e,t),n.setScopeStatements(e,[...n.getScopeStatements(e),...t])}static appendToOptimalBlockScope(e,t,r,o=0){const i=e.length?n.getOptimalBlockScope(e,o):t;n.prepend(i,r)}static getOptimalBlockScope(e,t,r=1/0){const o=e[t];if(r<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return r>1&&o.callsGraph.length?n.getOptimalBlockScope(o.callsGraph,0,--r):o.callee}static insertBefore(e,t,r){const o=n.getScopeStatements(e).indexOf(r);n.insertAtIndex(e,t,o)}static insertAfter(e,t,r){const o=n.getScopeStatements(e).indexOf(r);n.insertAtIndex(e,t,o+1)}static insertAtIndex(e,t,r){t=n.parentizeScopeStatementsBeforeAppend(e,t),n.setScopeStatements(e,[...n.getScopeStatements(e).slice(0,r),...t,...n.getScopeStatements(e).slice(r)])}static prepend(e,t){t=n.parentizeScopeStatementsBeforeAppend(e,t),n.setScopeStatements(e,[...t,...n.getScopeStatements(e)])}static getScopeStatements(e){return o.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}static parentizeScopeStatementsBeforeAppend(e,t){return t.forEach((t=>{t.parentNode=e})),t}static setScopeStatements(e,t){o.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}t.NodeAppender=n},9376:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeFactory=void 0;const a=i(r(9385)),s=r(9945);class c{static programNode(e=[]){return{type:s.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}static arrayExpressionNode(e=[]){return{type:s.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}static arrowFunctionExpressionNode(e,t,r){return{type:s.NodeType.ArrowFunctionExpression,params:e,expression:t,body:r}}static assignmentExpressionNode(e,t,r){return{type:s.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}static binaryExpressionNode(e,t,r){return{type:s.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}static blockStatementNode(e=[]){return{type:s.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}static breakStatement(e){return{type:s.NodeType.BreakStatement,label:e,metadata:{ignoredNode:!1}}}static callExpressionNode(e,t=[],r=!1){return{type:s.NodeType.CallExpression,callee:e,optional:r,arguments:t,metadata:{ignoredNode:!1}}}static conditionalExpressionNode(e,t,r){return{type:s.NodeType.ConditionalExpression,test:e,consequent:t,alternate:r,metadata:{ignoredNode:!1}}}static continueStatement(e){return{type:s.NodeType.ContinueStatement,label:e,metadata:{ignoredNode:!1}}}static directiveNode(e,t){return{type:s.NodeType.ExpressionStatement,expression:e,directive:t,metadata:{ignoredNode:!1}}}static exportAllDeclarationNode(e){return{type:s.NodeType.ExportAllDeclaration,source:e,metadata:{ignoredNode:!1}}}static exportNamedDeclarationNode(e,t){return{type:s.NodeType.ExportNamedDeclaration,specifiers:e,source:t,metadata:{ignoredNode:!1}}}static expressionStatementNode(e){return{type:s.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}static functionDeclarationNode(e,t,r){return{type:s.NodeType.FunctionDeclaration,id:c.identifierNode(e),params:t,body:r,generator:!1,metadata:{ignoredNode:!1}}}static functionExpressionNode(e,t){return{type:s.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}static ifStatementNode(e,t,r){return Object.assign(Object.assign({type:s.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r}),{metadata:{ignoredNode:!1}})}static identifierNode(e){return{type:s.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}static importDeclarationNode(e,t){return{type:s.NodeType.ImportDeclaration,specifiers:e,source:t,metadata:{ignoredNode:!1}}}static literalNode(e,t){return t=void 0!==t?t:`'${e}'`,{type:s.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:a.Precedence.Primary},metadata:{ignoredNode:!1}}}static logicalExpressionNode(e,t,r){return{type:s.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}static memberExpressionNode(e,t,r=!1,o=!1){return{type:s.NodeType.MemberExpression,computed:r,object:e,optional:o,property:t,metadata:{ignoredNode:!1}}}static objectExpressionNode(e){return{type:s.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}static propertyNode(e,t,r=!1){return{type:s.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}static returnStatementNode(e){return{type:s.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}static sequenceExpressionNode(e){return{type:s.NodeType.SequenceExpression,expressions:e,metadata:{ignoredNode:!1}}}static switchStatementNode(e,t){return{type:s.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}static switchCaseNode(e,t){return{type:s.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}static unaryExpressionNode(e,t,r=!0){return{type:s.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}static updateExpressionNode(e,t){return{type:s.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}static templateElement(e,t){return{type:s.NodeType.TemplateElement,value:e,tail:t,metadata:{ignoredNode:!1}}}static templateLiteral(e,t){return{type:s.NodeType.TemplateLiteral,expressions:e,quasis:t,metadata:{ignoredNode:!1}}}static variableDeclarationNode(e=[],t="var"){return{type:s.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}static variableDeclaratorNode(e,t){return{type:s.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}static whileStatementNode(e,t){return{type:s.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}t.NodeFactory=c},4134:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeGuards=void 0;const o=r(9945);class n{static isArrayPatternNode(e){return e.type===o.NodeType.ArrayPattern}static isArrowFunctionExpressionNode(e){return e.type===o.NodeType.ArrowFunctionExpression}static isAssignmentExpressionNode(e){return e.type===o.NodeType.AssignmentExpression}static isAssignmentPatternNode(e){return e.type===o.NodeType.AssignmentPattern}static isAwaitExpressionNode(e){return e.type===o.NodeType.AwaitExpression}static isBigIntLiteralNode(e){return n.isLiteralNode(e)&&!!e.bigint}static isBlockStatementNode(e){return e.type===o.NodeType.BlockStatement}static isBreakStatementNode(e){return e.type===o.NodeType.BreakStatement}static isCallExpressionNode(e){return e.type===o.NodeType.CallExpression}static isClassDeclarationNode(e){return e.type===o.NodeType.ClassDeclaration&&null!==e.id}static isContinueStatementNode(e){return e.type===o.NodeType.ContinueStatement}static isDirectiveNode(e){return e.type===o.NodeType.ExpressionStatement&&"directive"in e}static isExportAllDeclarationNode(e){return e.type===o.NodeType.ExportAllDeclaration}static isExportNamedDeclarationNode(e){return e.type===o.NodeType.ExportNamedDeclaration}static isExportSpecifierNode(e){return e.type===o.NodeType.ExportSpecifier}static isExpressionStatementNode(e){return e.type===o.NodeType.ExpressionStatement&&!("directive"in e)}static isForOfStatementNode(e){return e.type===o.NodeType.ForOfStatement}static isFunctionNode(e){return n.isFunctionDeclarationNode(e)||n.isFunctionExpressionNode(e)||n.isArrowFunctionExpressionNode(e)}static isFunctionDeclarationNode(e){return e.type===o.NodeType.FunctionDeclaration&&null!==e.id}static isFunctionExpressionNode(e){return e.type===o.NodeType.FunctionExpression}static isIdentifierNode(e){return e.type===o.NodeType.Identifier}static isIfStatementNode(e){return e.type===o.NodeType.IfStatement}static isImportDeclarationNode(e){return e.type===o.NodeType.ImportDeclaration}static isImportSpecifierNode(e){return e.type===o.NodeType.ImportSpecifier}static isLabelIdentifierNode(e,t){const r=n.isLabeledStatementNode(t)&&t.label===e,o=n.isContinueStatementNode(t)&&t.label===e,i=n.isBreakStatementNode(t)&&t.label===e;return r||o||i}static isLabeledStatementNode(e){return e.type===o.NodeType.LabeledStatement}static isLiteralNode(e){return e.type===o.NodeType.Literal}static isMemberExpressionNode(e){return e.type===o.NodeType.MemberExpression}static isMethodDefinitionNode(e){return e.type===o.NodeType.MethodDefinition}static isNode(e){return e&&void 0!==!e.type}static isNodeWithLexicalScope(e){return n.isProgramNode(e)||n.isFunctionNode(e)}static isNodeWithBlockLexicalScope(e){return n.isNodeWithLexicalScope(e)||n.isBlockStatementNode(e)}static isNodeWithLexicalScopeStatements(e,t){return n.isProgramNode(e)||n.isBlockStatementNode(e)&&n.nodesWithLexicalStatements.includes(t.type)}static isNodeWithStatements(e){return n.isProgramNode(e)||n.isBlockStatementNode(e)||n.isSwitchCaseNode(e)}static isNodeWithComments(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}static isObjectPatternNode(e){return e.type===o.NodeType.ObjectPattern}static isObjectExpressionNode(e){return e.type===o.NodeType.ObjectExpression}static isProgramNode(e){return e.type===o.NodeType.Program}static isPropertyNode(e){return e.type===o.NodeType.Property}static isRestElementNode(e){return e.type===o.NodeType.RestElement}static isReturnStatementNode(e){return e.type===o.NodeType.ReturnStatement}static isSequenceExpressionNode(e){return e.type===o.NodeType.SequenceExpression}static isSpreadElementNode(e){return e.type===o.NodeType.SpreadElement}static isSuperNode(e){return e.type===o.NodeType.Super}static isSwitchCaseNode(e){return e.type===o.NodeType.SwitchCase}static isTaggedTemplateExpressionNode(e){return e.type===o.NodeType.TaggedTemplateExpression}static isTemplateLiteralNode(e){return e.type===o.NodeType.TemplateLiteral}static isUnaryExpressionNode(e){return e.type===o.NodeType.UnaryExpression}static isUseStrictOperator(e){return n.isDirectiveNode(e)&&"use strict"===e.directive}static isVariableDeclarationNode(e){return e.type===o.NodeType.VariableDeclaration}static isVariableDeclaratorNode(e){return e.type===o.NodeType.VariableDeclarator}static isWhileStatementNode(e){return e.type===o.NodeType.WhileStatement}static isYieldExpressionNode(e){return e.type===o.NodeType.YieldExpression}}t.NodeGuards=n,n.nodesWithLexicalStatements=[o.NodeType.ArrowFunctionExpression,o.NodeType.FunctionDeclaration,o.NodeType.FunctionExpression,o.NodeType.MethodDefinition]},1534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeLexicalScopeUtils=void 0;const o=r(4134);class n{static getLexicalScope(e){return n.getLexicalScopesRecursive(e,1)[0]}static getLexicalScopes(e){return n.getLexicalScopesRecursive(e)}static getLexicalScopesRecursive(e,t=1/0,r=[],i=0){if(r.length>=t)return r;const a=e.parentNode;if(!a)throw new ReferenceError("`parentNode` property of given node is `undefined`");return o.NodeGuards.isNodeWithLexicalScope(e)&&r.push(e),e!==a?n.getLexicalScopesRecursive(a,t,r,++i):r}}t.NodeLexicalScopeUtils=n},8241:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeLiteralUtils=void 0;const o=r(4134);t.NodeLiteralUtils=class{static isStringLiteralNode(e){return"string"==typeof e.value}static isProhibitedLiteralNode(e,t){return!(!o.NodeGuards.isPropertyNode(t)||t.computed||t.key!==e)||!!o.NodeGuards.isImportDeclarationNode(t)||!(!o.NodeGuards.isExportAllDeclarationNode(t)&&!o.NodeGuards.isExportNamedDeclarationNode(t))}}},739:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeMetadata=void 0;class r{static set(e,t){var r;e.metadata=Object.assign(null!==(r=e.metadata)&&void 0!==r?r:{},t)}static get(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}static isForceTransformNode(e){return!0===r.get(e,"forceTransformNode")}static isIgnoredNode(e){return!0===r.get(e,"ignoredNode")}static isReplacedLiteral(e){return!0===r.get(e,"replacedLiteral")}}t.NodeMetadata=r},8134:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeStatementUtils=void 0;const o=r(4134);class n{static getParentNodeWithStatements(e){return n.getParentNodesWithStatementsRecursive(e,1)[0]}static getParentNodesWithStatements(e){return n.getParentNodesWithStatementsRecursive(e)}static getNextSiblingStatement(e){return n.getSiblingStatementByOffset(e,1)}static getPreviousSiblingStatement(e){return n.getSiblingStatementByOffset(e,-1)}static getRootStatementOfNode(e){if(o.NodeGuards.isProgramNode(e))throw new Error("Unable to find root statement for `Program` node");const t=e.parentNode;if(!t)throw new ReferenceError("`parentNode` property of given node is `undefined`");return o.NodeGuards.isNodeWithStatements(t)?e:n.getRootStatementOfNode(t)}static getScopeOfNode(e){const t=e.parentNode;if(!t)throw new ReferenceError("`parentNode` property of given node is `undefined`");return o.NodeGuards.isNodeWithStatements(t)?t:n.getScopeOfNode(t)}static getParentNodesWithStatementsRecursive(e,t=1/0,r=[],i=0){if(r.length>=t)return r;const a=e.parentNode;if(!a)throw new ReferenceError("`parentNode` property of given node is `undefined`");return(o.NodeGuards.isProgramNode(e)||o.NodeGuards.isNodeWithLexicalScopeStatements(e,a)&&i>0)&&r.push(e),e!==a?n.getParentNodesWithStatementsRecursive(a,t,r,++i):r}static getSiblingStatementByOffset(e,t){const r=n.getScopeOfNode(e),i=o.NodeGuards.isSwitchCaseNode(r)?r.consequent:r.body,a=i.indexOf(e);return i[a+t]||null}}t.NodeStatementUtils=n},2361:function(e,t,r){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeUtils=void 0;const a=i(r(9385)),s=i(r(4523)),c=r(4941),d=r(425),l=r(4134),u=r(739);class f{static addXVerbatimPropertyTo(e){return e["x-verbatim-property"]={content:e.raw,precedence:a.Precedence.Primary},e}static clone(e){return f.parentizeAst(f.cloneRecursive(e))}static convertCodeToStructure(e){const t=d.ASTParserFacade.parse(e,{ecmaVersion:c.ecmaVersion,sourceType:"script"});return s.replace(t,{enter:(e,t)=>(f.parentizeNode(e,t),l.NodeGuards.isLiteralNode(e)&&f.addXVerbatimPropertyTo(e),u.NodeMetadata.set(e,{ignoredNode:!1}),e)}),t.body}static convertStructureToCode(e){return e.reduce(((e,t)=>e+a.generate(t,{sourceMapWithCode:!0}).code),"")}static getUnaryExpressionArgumentNode(e){return l.NodeGuards.isUnaryExpressionNode(e.argument)?f.getUnaryExpressionArgumentNode(e.argument):e.argument}static parentizeAst(e){var t;const r=null!==(t=e.parentNode)&&void 0!==t?t:null;return s.replace(e,{enter:f.parentizeNode}),r&&(e.parentNode=r),e}static parentizeNode(e,t){return e.parentNode=null!=t?t:e,e}static cloneRecursive(e){if(null===e)return e;const t={};return Object.keys(e).forEach((r=>{var o;if("parentNode"===r)return;const n=null!==(o=e[r])&&void 0!==o?o:null;let i;i=null===n||n instanceof RegExp?n:n instanceof Array?n.map(f.cloneRecursive):"object"==typeof n?f.cloneRecursive(n):n,t[r]=i})),t}}t.NodeUtils=f},2551:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeIdentifiersTraverser=void 0;const c=r(2991),d=r(5350),l=r(1588),u=r(4134);let f=o=class{constructor(e){this.scopeAnalyzer=e}traverseScopeIdentifiers(e,t,r){this.scopeAnalyzer.analyze(e);const o=this.scopeAnalyzer.acquireScope(e);this.traverseScopeIdentifiersRecursive(o,o,r)}traverseScopeThroughIdentifiers(e,t,r){this.scopeAnalyzer.analyze(e);const o=this.scopeAnalyzer.acquireScope(e);this.traverseScopeThroughIdentifiersRecursive(o,o,r)}traverseScopeIdentifiersRecursive(e,t,r){const n=t.variableScope,i=u.NodeGuards.isNodeWithBlockLexicalScope(n.block)?n.block:null,a=o.globalScopeNames.includes(n.type);if(i){for(const s of t.variables)s.name!==o.argumentsVariableName&&r({isGlobalDeclaration:a,isBubblingDeclaration:s.identifiers.some((e=>e.parentNode&&u.NodeGuards.isPropertyNode(e.parentNode)&&e.parentNode.shorthand)),rootScope:e,variable:s,variableScope:n,variableLexicalScopeNode:i});for(const o of t.childScopes)this.traverseScopeIdentifiersRecursive(e,o,r)}}traverseScopeThroughIdentifiersRecursive(e,t,r){const o=t.variableScope,n=u.NodeGuards.isNodeWithBlockLexicalScope(o.block)?o.block:null;if(n){for(const e of t.through)r({reference:e,variableLexicalScopeNode:n});for(const o of t.childScopes)this.traverseScopeThroughIdentifiersRecursive(e,o,r)}}};f.argumentsVariableName="arguments",f.globalScopeNames=["global","module"],f=o=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IScopeAnalyzer)),a("design:paramtypes",["function"==typeof(n=void 0!==l.IScopeAnalyzer&&l.IScopeAnalyzer)?n:Object])],f),t.ScopeIdentifiersTraverser=f},8516:function(e,t,r){"use strict";var o,n,i,a,s,c,d,l,u=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Options=void 0;const m=r(2991),g=r(5350),S=r(516),y=r(2185),h=r(4364),N=r(3546),_=r(9651),b=r(68),O=r(3177),I=r(7370),E=r(6532),v=r(6086),C=r(6212),T=r(1137),R=r(9614),A=r(7170),j=r(8887),M=r(2662),F=r(7576),P=r(312),D=r(5558);let G=o=class{constructor(e,t){var r;const n=o.getOptionsByPreset(null!==(r=e.optionsPreset)&&void 0!==r?r:E.OptionsPreset.Default);Object.assign(this,n,e);const i=S.validateSync(this,o.validatorOptions);if(i.length)throw new ReferenceError("Validation failed. errors:\n"+P.ValidationErrorsFormatter.format(i));Object.assign(this,t.normalize(this))}static getOptionsByPreset(e){var t;const r=null!==(t=o.optionPresetsMap.get(e))&&void 0!==t?t:null;if(!r)throw new Error(`Options for preset name \`${e}\` are not found`);return r}};G.optionPresetsMap=new Map([[E.OptionsPreset.Default,A.DEFAULT_PRESET],[E.OptionsPreset.LowObfuscation,j.LOW_OBFUSCATION_PRESET],[E.OptionsPreset.MediumObfuscation,M.MEDIUM_OBFUSCATION_PRESET],[E.OptionsPreset.HighObfuscation,F.HIGH_OBFUSCATION_PRESET]]),G.validatorOptions={validationError:{target:!1}},u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"compact",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"controlFlowFlattening",void 0),u([S.IsNumber(),S.Min(0),S.Max(1),f("design:type",Number)],G.prototype,"controlFlowFlatteningThreshold",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"deadCodeInjection",void 0),u([S.IsNumber(),f("design:type",Number)],G.prototype,"deadCodeInjectionThreshold",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"debugProtection",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"debugProtectionInterval",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"disableConsoleOutput",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),D.IsAllowedForObfuscationTargets([I.ObfuscationTarget.Browser,I.ObfuscationTarget.BrowserNoEval]),f("design:type",Array)],G.prototype,"domainLock",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),f("design:type",Array)],G.prototype,"forceTransformStrings",void 0),u([S.IsIn([O.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator,O.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,O.IdentifierNamesGenerator.MangledIdentifierNamesGenerator,O.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator]),f("design:type","function"==typeof(n=void 0!==_.TTypeFromEnum&&_.TTypeFromEnum)?n:Object)],G.prototype,"identifierNamesGenerator",void 0),u([S.IsString(),f("design:type",String)],G.prototype,"identifiersPrefix",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),S.ValidateIf((e=>e.identifierNamesGenerator===O.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator)),S.ArrayNotEmpty(),f("design:type",Array)],G.prototype,"identifiersDictionary",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"ignoreRequireImports",void 0),u([S.IsString(),f("design:type",String)],G.prototype,"inputFileName",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"log",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"numbersToExpressions",void 0),u([S.IsIn([E.OptionsPreset.Default,E.OptionsPreset.LowObfuscation,E.OptionsPreset.MediumObfuscation,E.OptionsPreset.HighObfuscation]),f("design:type","function"==typeof(i=void 0!==h.TOptionsPreset&&h.TOptionsPreset)?i:Object)],G.prototype,"optionsPreset",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"renameGlobals",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"renameProperties",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),f("design:type",Array)],G.prototype,"reservedNames",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),f("design:type",Array)],G.prototype,"reservedStrings",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"rotateStringArray",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"selfDefending",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"shuffleStringArray",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"simplify",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"sourceMap",void 0),u([S.IsString(),S.ValidateIf((e=>Boolean(e.sourceMapBaseUrl))),S.IsUrl({require_protocol:!0,require_tld:!1,require_valid_protocol:!0}),f("design:type",String)],G.prototype,"sourceMapBaseUrl",void 0),u([S.IsString(),f("design:type",String)],G.prototype,"sourceMapFileName",void 0),u([S.IsIn([v.SourceMapMode.Inline,v.SourceMapMode.Separate]),f("design:type","function"==typeof(a=void 0!==_.TTypeFromEnum&&_.TTypeFromEnum)?a:Object)],G.prototype,"sourceMapMode",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"splitStrings",void 0),u([S.IsNumber(),S.ValidateIf((e=>Boolean(e.splitStrings))),S.Min(1),f("design:type",Number)],G.prototype,"splitStringsChunkLength",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"stringArray",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsIn([T.StringArrayEncoding.None,T.StringArrayEncoding.Base64,T.StringArrayEncoding.Rc4],{each:!0}),f("design:type",Array)],G.prototype,"stringArrayEncoding",void 0),u([S.IsArray(),S.ArrayNotEmpty(),S.ArrayUnique(),S.IsIn([C.StringArrayIndexesType.HexadecimalNumber,C.StringArrayIndexesType.HexadecimalNumericString],{each:!0}),f("design:type",Array)],G.prototype,"stringArrayIndexesType",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"stringArrayIndexShift",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"stringArrayWrappersChainedCalls",void 0),u([S.IsNumber(),S.Min(0),f("design:type",Number)],G.prototype,"stringArrayWrappersCount",void 0),u([S.IsIn([R.StringArrayWrappersType.Variable,R.StringArrayWrappersType.Function]),f("design:type","function"==typeof(s=void 0!==N.TStringArrayWrappersType&&N.TStringArrayWrappersType)?s:Object)],G.prototype,"stringArrayWrappersType",void 0),u([S.IsNumber(),S.Min(0),S.Max(1),f("design:type",Number)],G.prototype,"stringArrayThreshold",void 0),u([S.IsIn([I.ObfuscationTarget.Browser,I.ObfuscationTarget.BrowserNoEval,I.ObfuscationTarget.Node]),f("design:type","function"==typeof(c=void 0!==_.TTypeFromEnum&&_.TTypeFromEnum)?c:Object)],G.prototype,"target",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"transformObjectKeys",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"unicodeEscapeSequence",void 0),G=o=u([m.injectable(),p(0,m.inject(g.ServiceIdentifiers.TInputOptions)),p(1,m.inject(g.ServiceIdentifiers.IOptionsNormalizer)),f("design:paramtypes",["function"==typeof(d=void 0!==y.TInputOptions&&y.TInputOptions)?d:Object,"function"==typeof(l=void 0!==b.IOptionsNormalizer&&b.IOptionsNormalizer)?l:Object])],G),t.Options=G},6248:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsNormalizer=void 0;const i=r(2991),a=r(2938),s=r(3978),c=r(7226),d=r(4984),l=r(9062),u=r(1832),f=r(6896),p=r(3616),m=r(4073),g=r(2554),S=r(410),y=r(1589),h=r(3784);let N=o=class{normalize(e){let t=Object.assign({},e);for(const e of o.normalizerRules)t=e(t);return t}};N.normalizerRules=[a.ControlFlowFlatteningThresholdRule,s.DeadCodeInjectionRule,c.DeadCodeInjectionThresholdRule,d.DomainLockRule,l.InputFileNameRule,u.SeedRule,f.SelfDefendingRule,p.SourceMapBaseUrlRule,m.SourceMapFileNameRule,g.SplitStringsChunkLengthRule,S.StringArrayRule,y.StringArrayEncodingRule,h.StringArrayWrappersChainedCallsRule],N=o=n([i.injectable()],N),t.OptionsNormalizer=N},312:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValidationErrorsFormatter=void 0;class r{static format(e){return e.reduce(((e,t)=>[...e,r.formatWithNestedConstraints(t)]),[]).join("\n")}static formatWithNestedConstraints(e){const t=e.constraints;return t?`\`${e.property}\` errors:\n${Object.keys(t).map((e=>` - ${t[e]}\n`)).join()}`:`\`${e.property}\` error\n`}}t.ValidationErrorsFormatter=r},2938:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowFlatteningThresholdRule=void 0,t.ControlFlowFlatteningThresholdRule=e=>(0===e.controlFlowFlatteningThreshold&&(e=Object.assign(Object.assign({},e),{controlFlowFlattening:!1,controlFlowFlatteningThreshold:0})),e)},3978:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionRule=void 0;const o=r(7170);t.DeadCodeInjectionRule=e=>(e.deadCodeInjection&&((e=Object.assign(Object.assign({},e),{deadCodeInjection:!0,stringArray:!0})).stringArrayThreshold||(e=Object.assign(Object.assign({},e),{stringArray:!0,stringArrayThreshold:o.DEFAULT_PRESET.stringArrayThreshold}))),e)},7226:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionThresholdRule=void 0,t.DeadCodeInjectionThresholdRule=e=>(0===e.deadCodeInjectionThreshold&&(e=Object.assign(Object.assign({},e),{deadCodeInjection:!1,deadCodeInjectionThreshold:0})),e)},4984:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockRule=void 0;const o=r(4741);t.DomainLockRule=e=>{if(e.domainLock.length){const t=[];for(const r of e.domainLock)t.push(o.Utils.extractDomainFrom(r));e=Object.assign(Object.assign({},e),{domainLock:t})}return e}},9062:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputFileNameRule=void 0;const o=r(9965);t.InputFileNameRule=e=>{let{inputFileName:t}=e;return t&&(t=t.replace(/^\/+/,"").split(o.StringSeparator.Dot).slice(0,-1).join(o.StringSeparator.Dot)||t,e=Object.assign(Object.assign({},e),{inputFileName:t+".js"})),e}},1832:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SeedRule=void 0,t.SeedRule=e=>e.seed?Object.assign(Object.assign({},e),{seed:e.seed}):Object.assign(Object.assign({},e),{seed:(0,999999999,Math.floor(1e9*Math.random()+0))})},6896:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingRule=void 0,t.SelfDefendingRule=e=>(e.selfDefending&&(e=Object.assign(Object.assign({},e),{compact:!0,selfDefending:!0})),e)},3616:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SourceMapBaseUrlRule=void 0,t.SourceMapBaseUrlRule=e=>{const{sourceMapBaseUrl:t}=e;return e.sourceMapFileName?(t&&!t.endsWith("/")&&(e=Object.assign(Object.assign({},e),{sourceMapBaseUrl:t+"/"})),e):e=Object.assign(Object.assign({},e),{sourceMapBaseUrl:""})}},4073:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SourceMapFileNameRule=void 0;const o=r(9965);t.SourceMapFileNameRule=e=>{let{sourceMapFileName:t}=e;if(t){t=t.replace(/^\/+/,"").replace(/(?:\.js)?(?:\.map)?$/,"");let r=t.split(o.StringSeparator.Dot);const n=r.length,i=r[n-1];n>1&&i.length<=3&&(r=r.slice(0,-1)),t=r.join(o.StringSeparator.Dot),e=Object.assign(Object.assign({},e),{sourceMapFileName:t+".js.map"})}return e}},2554:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SplitStringsChunkLengthRule=void 0,t.SplitStringsChunkLengthRule=e=>0===e.splitStringsChunkLength?Object.assign(Object.assign({},e),{splitStrings:!1,splitStringsChunkLength:0}):Object.assign(Object.assign({},e),{splitStringsChunkLength:Math.floor(e.splitStringsChunkLength)})},1589:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayEncodingRule=void 0;const o=r(1137);t.StringArrayEncodingRule=e=>(e.stringArrayEncoding.length||(e=Object.assign(Object.assign({},e),{stringArrayEncoding:[o.StringArrayEncoding.None]})),e)},410:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRule=void 0;const o=r(1137);t.StringArrayRule=e=>(e.stringArray||(e=Object.assign(Object.assign({},e),{rotateStringArray:!1,shuffleStringArray:!1,stringArray:!1,stringArrayEncoding:[o.StringArrayEncoding.None],stringArrayIndexShift:!1,stringArrayWrappersChainedCalls:!1,stringArrayWrappersCount:0,stringArrayThreshold:0})),e)},3784:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayWrappersChainedCallsRule=void 0,t.StringArrayWrappersChainedCallsRule=e=>(0===e.stringArrayWrappersCount&&(e=Object.assign(Object.assign({},e),{stringArrayWrappersChainedCalls:!1,stringArrayWrappersCount:0})),e)},7170:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_PRESET=void 0;const o=r(3177),n=r(7370),i=r(6532),a=r(6086),s=r(6212),c=r(1137),d=r(9614);t.DEFAULT_PRESET=Object.freeze({compact:!0,config:"",controlFlowFlattening:!1,controlFlowFlatteningThreshold:.75,deadCodeInjection:!1,deadCodeInjectionThreshold:.4,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],forceTransformStrings:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",identifiersDictionary:[],ignoreRequireImports:!1,inputFileName:"",log:!1,numbersToExpressions:!1,optionsPreset:i.OptionsPreset.Default,renameGlobals:!1,renameProperties:!1,reservedNames:[],reservedStrings:[],rotateStringArray:!0,seed:0,selfDefending:!1,shuffleStringArray:!0,simplify:!0,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:a.SourceMapMode.Separate,splitStrings:!1,splitStringsChunkLength:10,stringArray:!0,stringArrayEncoding:[c.StringArrayEncoding.None],stringArrayIndexesType:[s.StringArrayIndexesType.HexadecimalNumber],stringArrayIndexShift:!0,stringArrayWrappersChainedCalls:!0,stringArrayWrappersCount:1,stringArrayWrappersType:d.StringArrayWrappersType.Variable,stringArrayThreshold:.75,target:n.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},7576:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HIGH_OBFUSCATION_PRESET=void 0;const o=r(6532),n=r(1137),i=r(9614),a=r(2662);t.HIGH_OBFUSCATION_PRESET=Object.freeze(Object.assign(Object.assign({},a.MEDIUM_OBFUSCATION_PRESET),{controlFlowFlatteningThreshold:1,deadCodeInjectionThreshold:1,debugProtection:!0,debugProtectionInterval:!0,optionsPreset:o.OptionsPreset.HighObfuscation,splitStringsChunkLength:5,stringArrayEncoding:[n.StringArrayEncoding.Rc4],stringArrayWrappersCount:5,stringArrayWrappersType:i.StringArrayWrappersType.Function,stringArrayThreshold:1}))},8887:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LOW_OBFUSCATION_PRESET=void 0;const o=r(6532),n=r(7170);t.LOW_OBFUSCATION_PRESET=Object.freeze(Object.assign(Object.assign({},n.DEFAULT_PRESET),{disableConsoleOutput:!0,optionsPreset:o.OptionsPreset.LowObfuscation,rotateStringArray:!0,selfDefending:!0,shuffleStringArray:!0,simplify:!0}))},2662:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MEDIUM_OBFUSCATION_PRESET=void 0;const o=r(6532),n=r(1137),i=r(8887);t.MEDIUM_OBFUSCATION_PRESET=Object.freeze(Object.assign(Object.assign({},i.LOW_OBFUSCATION_PRESET),{controlFlowFlattening:!0,deadCodeInjection:!0,numbersToExpressions:!0,optionsPreset:o.OptionsPreset.MediumObfuscation,splitStrings:!0,splitStringsChunkLength:10,stringArrayEncoding:[n.StringArrayEncoding.Base64],stringArrayWrappersCount:2,transformObjectKeys:!0}))},3685:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NO_ADDITIONAL_NODES_PRESET=void 0;const o=r(3177),n=r(7370),i=r(6086),a=r(1137),s=r(9614),c=r(6212);t.NO_ADDITIONAL_NODES_PRESET=Object.freeze({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],forceTransformStrings:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",identifiersDictionary:[],ignoreRequireImports:!1,inputFileName:"",log:!1,numbersToExpressions:!1,renameGlobals:!1,renameProperties:!1,reservedNames:[],reservedStrings:[],rotateStringArray:!1,seed:0,selfDefending:!1,shuffleStringArray:!1,simplify:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,splitStrings:!1,splitStringsChunkLength:0,stringArray:!1,stringArrayEncoding:[a.StringArrayEncoding.None],stringArrayIndexesType:[c.StringArrayIndexesType.HexadecimalNumber],stringArrayIndexShift:!1,stringArrayWrappersChainedCalls:!1,stringArrayWrappersCount:0,stringArrayWrappersType:s.StringArrayWrappersType.Variable,stringArrayThreshold:0,target:n.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},5558:function(e,t,r){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.IsAllowedForObfuscationTargets=void 0;const n=r(516),i=o(r(3142)),a=r(9965),s=r(7170);t.IsAllowedForObfuscationTargets=function(e,t){return(r,o)=>{n.registerDecorator({propertyName:o,constraints:[e],name:"IsAllowedForObfuscationTargets",options:t,target:r.constructor,validator:{validate(t,r){const n=r.object,a=s.DEFAULT_PRESET[o];return i.default(t,a)||e.includes(n.target)},defaultMessage:t=>"This option allowed only for obfuscation targets: "+e.join(a.StringSeparator.Comma+" ")}})}}},8072:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatedCode=void 0;const c=r(2991),d=r(5350),l=r(5591),u=r(5233),f=r(6086),p=r(4482);let m=class{constructor(e,t){this.cryptUtils=e,this.options=t}initialize(e,t){this.obfuscatedCode=e,this.sourceMap=t}getObfuscatedCode(){return this.correctObfuscatedCode()}getSourceMap(){return this.sourceMap}toString(){return this.obfuscatedCode}correctObfuscatedCode(){if(!this.sourceMap)return this.obfuscatedCode;const e=this.options.sourceMapBaseUrl+this.options.sourceMapFileName;let t="//# sourceMappingURL=";switch(this.options.sourceMapMode){case f.SourceMapMode.Inline:t+="data:application/json;base64,"+this.cryptUtils.btoa(this.sourceMap);break;case f.SourceMapMode.Separate:default:if(!e)return this.obfuscatedCode;t+=e}return`${this.obfuscatedCode}\n${t}`}};i([u.initializable(),a("design:type",String)],m.prototype,"obfuscatedCode",void 0),i([u.initializable(),a("design:type",String)],m.prototype,"sourceMap",void 0),m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.ICryptUtils)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.ICryptUtils&&l.ICryptUtils)?o:Object,"function"==typeof(n=void 0!==p.IOptions&&p.IOptions)?n:Object])],m),t.ObfuscatedCode=m},8589:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SourceCode=void 0,t.SourceCode=class{constructor(e,t){this.sourceCode=e,this.sourceMap=t}getSourceCode(){return this.sourceCode}getSourceMap(){return this.sourceMap}toString(){return this.sourceCode}}},3901:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(5233);let p=class{constructor(e,t){this.storageLength=0,this.randomGenerator=e,this.options=t}initialize(){this.storage=[],this.storageId=this.randomGenerator.getRandomString(6)}delete(e){var t;const r=null!==(t=this.storage.splice(e,1)[0])&&void 0!==t?t:void 0;return r&&this.storageLength--,r}get(e){return this.storage[e]}getOrThrow(e){const t=this.get(e);if(!t)throw new Error(`No value found in array storage with key \`${e}\``);return t}getKeyOf(e){const t=this.storage.indexOf(e);return t>=0?t:null}getLength(){return this.storageLength}getStorage(){return this.storage}getStorageId(){return this.storageId}mergeWith(e,t=!1){this.storage=[...this.storage,...e.getStorage()],t&&(this.storageId=e.getStorageId())}set(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}};i([f.initializable(),a("design:type",Array)],p.prototype,"storage",void 0),i([f.initializable(),a("design:type",String)],p.prototype,"storageId",void 0),i([c.postConstruct(),a("design:type",Function),a("design:paramtypes",[]),a("design:returntype",void 0)],p.prototype,"initialize",null),p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.ArrayStorage=p},2015:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MapStorage=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(5233);let m=class{constructor(e,t){this.randomGenerator=e,this.options=t}initialize(){this.storage=new Map,this.storageId=this.randomGenerator.getRandomString(6)}get(e){return this.storage.get(e)}getOrThrow(e){const t=this.get(e);if(!t)throw new Error(`No value found in map storage with key \`${e}\``);return t}getKeyOf(e){for(const[t,r]of this.storage)if(e===r)return t;return null}getLength(){return this.storage.size}getStorage(){return this.storage}getStorageId(){return this.storageId}has(e){return this.storage.has(e)}mergeWith(e,t=!1){this.storage=new Map([...this.storage,...e.getStorage()]),t&&(this.storageId=e.getStorageId())}set(e,t){this.storage.set(e,t)}};a([p.initializable(),s("design:type",String)],m.prototype,"storageId",void 0),a([p.initializable(),s("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],m.prototype,"storage",void 0),a([d.postConstruct(),s("design:type",Function),s("design:paramtypes",[]),s("design:returntype",void 0)],m.prototype,"initialize",null),m=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],m),t.MapStorage=m},1951:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperGroupStorage=void 0;const l=r(2991),u=r(5350),f=r(964),p=r(4482),m=r(1403),g=r(1806),S=r(2015);let y=o=class extends S.MapStorage{constructor(e,t,r){super(t,r),this.customCodeHelperGroupFactory=e}initialize(){super.initialize(),o.customCodeHelperGroupsList.forEach((e=>{const t=this.customCodeHelperGroupFactory(e);this.storage.set(e,t)}))}};y.customCodeHelperGroupsList=[g.CustomCodeHelperGroup.ConsoleOutput,g.CustomCodeHelperGroup.DebugProtection,g.CustomCodeHelperGroup.DomainLock,g.CustomCodeHelperGroup.SelfDefending,g.CustomCodeHelperGroup.StringArray],s([l.postConstruct(),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],y.prototype,"initialize",null),y=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__ICustomCodeHelperGroup)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TCustomCodeHelperGroupFactory&&f.TCustomCodeHelperGroupFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],y),t.CustomCodeHelperGroupStorage=y},646:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(2015);let p=class extends f.MapStorage{constructor(e,t){super(e,t)}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.ControlFlowStorage=p},3464:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LiteralNodesCacheStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(1137),p=r(2015);let m=class extends p.MapStorage{constructor(e,t){super(e,t)}buildKey(e,t){return`${e}-${Boolean(t)}`}shouldUseCachedValue(e,t){return!this.options.stringArrayWrappersCount&&(null==t?void 0:t.encoding)!==f.StringArrayEncoding.Rc4&&this.storage.has(e)}};m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],m),t.LiteralNodesCacheStorage=m},1453:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperLexicalScopeDataStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(2015);let p=class extends f.MapStorage{constructor(e,t){super(e,t)}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.StringArrayScopeCallsWrapperLexicalScopeDataStorage=p},995:function(e,t,r){"use strict";var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperNamesDataStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(2015);let p=class extends f.MapStorage{constructor(e,t){super(e,t)}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.StringArrayScopeCallsWrapperNamesDataStorage=p},1860:function(e,t,r){"use strict";var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayStorage=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(5768),S=r(9825),y=r(4482),h=r(1403),N=r(1137),_=r(2015);let b=o=class extends _.MapStorage{constructor(e,t,r,n,i){super(r,n),this.rc4EncodedValuesSourcesCache=new Map,this.indexShiftAmount=0,this.rotationAmount=0,this.stringArrayStorageCallsWrapperNamesMap=new Map,this.identifierNamesGenerator=e(n),this.arrayUtils=t,this.cryptUtilsSwappedAlphabet=i,this.rc4Keys=this.randomGenerator.getRandomGenerator().n((()=>this.randomGenerator.getRandomGenerator().string({length:o.rc4KeyLength})),o.rc4KeysCount)}initialize(){super.initialize(),this.indexShiftAmount=this.options.stringArrayIndexShift?this.randomGenerator.getRandomInteger(o.minimumIndexShiftAmount,o.maximumIndexShiftAmount):0,this.rotationAmount=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(o.minimumRotationAmount,o.maximumRotationAmount):0}get(e){return this.getOrSetIfDoesNotExist(e)}getIndexShiftAmount(){return this.indexShiftAmount}getRotationAmount(){return this.rotationAmount}getStorageName(){return this.getStorageId()}getStorageId(){return this.stringArrayStorageName||(this.stringArrayStorageName=this.identifierNamesGenerator.generateForGlobalScope(o.stringArrayNameLength)),this.stringArrayStorageName}getStorageCallsWrapperName(e){var t;const r=null!==(t=this.stringArrayStorageCallsWrapperNamesMap.get(e))&&void 0!==t?t:null;if(r)return r;const n=this.identifierNamesGenerator.generateForGlobalScope(o.stringArrayNameLength);return this.stringArrayStorageCallsWrapperNamesMap.set(e,n),n}rotateStorage(){this.getLength()&&(this.storage=new Map(this.arrayUtils.rotate(Array.from(this.storage.entries()),this.rotationAmount)))}shuffleStorage(){this.storage=new Map(this.arrayUtils.shuffle(Array.from(this.storage.entries())).map((([e,t],r)=>(t.index=r,[e,t]))).sort((([,e],[,t])=>e.index-t.index)))}getOrSetIfDoesNotExist(e){const{encodedValue:t,encoding:r,decodeKey:o}=this.getEncodedValue(e),n=this.storage.get(t);if(n)return n;const i={encodedValue:t,encoding:r,decodeKey:o,value:e,index:this.getLength()};return this.storage.set(t,i),i}getEncodedValue(e){var t;const r=this.options.stringArrayEncoding.length?this.randomGenerator.getRandomGenerator().pickone(this.options.stringArrayEncoding):null;if(!r)throw new Error("`stringArrayEncoding` option array is empty");switch(r){case N.StringArrayEncoding.Rc4:{const o=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),n=this.cryptUtilsSwappedAlphabet.btoa(this.cryptUtilsSwappedAlphabet.rc4(e,o)),i=null!==(t=this.rc4EncodedValuesSourcesCache.get(n))&&void 0!==t?t:[];let a=i.length;return(!a||!i.includes(e))&&(i.push(e),a++),this.rc4EncodedValuesSourcesCache.set(n,i),a>1?this.getEncodedValue(e):{encodedValue:n,encoding:r,decodeKey:o}}case N.StringArrayEncoding.Base64:{const t=null;return{encodedValue:this.cryptUtilsSwappedAlphabet.btoa(e),encoding:r,decodeKey:t}}default:return{encodedValue:e,encoding:r,decodeKey:null}}}};b.minimumRotationAmount=100,b.maximumRotationAmount=500,b.minimumIndexShiftAmount=100,b.maximumIndexShiftAmount=500,b.rc4KeyLength=4,b.rc4KeysCount=50,b.stringArrayNameLength=4,d([f.postConstruct(),l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],b.prototype,"initialize",null),b=o=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),u(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(3,f.inject(p.ServiceIdentifiers.IOptions)),u(4,f.inject(p.ServiceIdentifiers.ICryptUtilsSwappedAlphabet)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.IArrayUtils&&g.IArrayUtils)?i:Object,"function"==typeof(a=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==y.IOptions&&y.IOptions)?s:Object,"function"==typeof(c=void 0!==S.ICryptUtilsSwappedAlphabet&&S.ICryptUtilsSwappedAlphabet)?c:Object])],b),t.StringArrayStorage=b},1891:function(e,t,r){"use strict";var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.VisitedLexicalScopeNodesStackStorage=void 0;const d=r(2991),l=r(5350),u=r(5768),f=r(4482),p=r(1403),m=r(3901);let g=class extends m.ArrayStorage{constructor(e,t,r){super(e,t),this.arrayUtils=r}getLastElement(){return this.arrayUtils.getLastElement(this.getStorage())}getPenultimateElement(){var e;const t=this.getLength();return null!==(e=this.get(t-2))&&void 0!==e?e:void 0}push(e){const t=this.getLength();this.set(t,e)}pop(){const e=this.getLength();return this.delete(e-1)}};g=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),c(2,d.inject(l.ServiceIdentifiers.IArrayUtils)),s("design:paramtypes",["function"==typeof(o=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object,"function"==typeof(i=void 0!==u.IArrayUtils&&u.IArrayUtils)?i:Object])],g),t.VisitedLexicalScopeNodesStackStorage=g},8904:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5127:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8820:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},964:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8749:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7183:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1878:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7070:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7219:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9416:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9628:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2147:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3312:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},805:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2937:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2596:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},5568:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2185:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},4364:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3546:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},138:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6622:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9651:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7207:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractTransformerNamesGroupsBuilder=void 0;const s=r(2991),c=r(5350),d=r(2569);let l=class{constructor(e){this.levelledTopologicalSorter=e}build(e){const t=Object.keys(e),r=this.buildTransformersRelationEdges(t,e);for(const[e,t]of r)this.levelledTopologicalSorter.add(e,t);return this.levelledTopologicalSorter.sortByGroups()}buildTransformersRelationEdges(e,t){const r=[];for(const o of e){const e=t[o].runAfter;if(e&&e.length)for(const n of e)void 0===t[n]?r.push([o,null]):r.push([n,o]);else r.push([o,null])}return r}};l=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.ILevelledTopologicalSorter)),i("design:paramtypes",["function"==typeof(o=void 0!==d.ILevelledTopologicalSorter&&d.ILevelledTopologicalSorter)?o:Object])],l),t.AbstractTransformerNamesGroupsBuilder=l},3087:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayUtils=void 0;const s=r(2991),c=r(5350),d=r(1403);let l=class{constructor(e){this.randomGenerator=e}createWithRange(e){const t=[];for(let r=0;rn&&(o=i,n=e),r[i]=e}return o}getLastElement(e){var t;return null!==(t=e[e.length-1])&&void 0!==t?t:void 0}rotate(e,t){if(!e.length)throw new ReferenceError("Cannot rotate empty array.");if(t<=0)return e;const r=e;let o;for(;t--;)o=r.pop(),o&&r.unshift(o);return r}shuffle(e){const t=[...e];for(let e=t.length;e;e--){const r=Math.floor(this.randomGenerator.getMathRandom()*e);[t[e-1],t[r]]=[t[r],t[e-1]]}return t}};l=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i("design:paramtypes",["function"==typeof(o=void 0!==d.IRandomGenerator&&d.IRandomGenerator)?o:Object])],l),t.ArrayUtils=l},5579:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CryptUtils=void 0;const s=r(2991),c=r(5350),d=r(1403),l=r(6934),u=r(3697),f=r(4741);let p=class{constructor(e){this.base64Alphabet=l.base64alphabet,this.randomGenerator=e}btoa(e){const t=this.base64Alphabet;let r="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,((e,t)=>String.fromCharCode(parseInt(`${f.Utils.hexadecimalPrefix}${t}`,16))));for(let o,n,i=0,a=t;e.charAt(0|i)||(a="=",i%1);r+=a.charAt(63&o>>8-i%1*8)){if(n=e.charCodeAt(i+=3/4),n>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");o=o<<8|n}return r}hideString(e,t){let r=this.randomGenerator.getRandomGenerator().string({length:t,pool:u.RandomGenerator.randomGeneratorPool}).replace(new RegExp(`[${o=e,o.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}]`,"g"),"");var o;const n=r.split("");return this.randomGenerator.getRandomGenerator().shuffle(n),r=n.join(""),[((e,t)=>{let r=-1,o=-1,n="";for(;r=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CryptUtilsSwappedAlphabet=void 0;const s=r(2991),c=r(5350),d=r(1403),l=r(4497),u=r(5579);let f=class extends u.CryptUtils{constructor(e){super(e),this.base64Alphabet=l.base64alphabetSwapped}};f=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i("design:paramtypes",["function"==typeof(o=void 0!==d.IRandomGenerator&&d.IRandomGenerator)?o:Object])],f),t.CryptUtilsSwappedAlphabet=f},1622:function(e,t,r){"use strict";var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceEncoder=void 0;const i=r(2991);let a=o=class{constructor(){this.stringsCache=new Map}encode(e,t){const r=`${e}-${String(t)}`;if(this.stringsCache.has(r))return this.stringsCache.get(r);const n=new RegExp("[\\s\\S]","g");let i,a;const s=e.replace(n,(e=>t||o.forceEscapeCharactersRegExp.test(e)?(o.ASCIICharactersRegExp.test(e)?(i="\\x",a="00"):(i="\\u",a="0000"),`${i}${(a+e.charCodeAt(0).toString(16)).slice(-a.length)}`):e));return this.stringsCache.set(r,s),this.stringsCache.set(`${s}-${String(t)}`,s),s}};a.ASCIICharactersRegExp=/[\x00-\x7F]/,a.forceEscapeCharactersRegExp=/[\x00-\x1F\x7F-\x9F'"\\\s]/,a=o=n([i.injectable()],a),t.EscapeSequenceEncoder=a},7248:function(e,t,r){"use strict";var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.LevelledTopologicalSorter=void 0;const n=r(2991);let i=class{constructor(){this.graph=new Map}add(e,t=null){return null!==t?this.link(e,t):this.register(e)}sort(){const e=Array.from(this.graph.keys()),t=[],r={};for(const o of e)void 0===r[o]&&this.visit(t,r,o);return t}sortByGroups(){this.sort();const e=[];for(;this.hasNodes();){const t=this.findRootNodes();e.push(t);for(const e of t)this.delete(e)}return e}delete(e){if(this.getPrecedents(e).length)throw new Error("Unable to remove non-root node: "+e);this.graph.delete(e);const t=Array.from(this.graph.values());for(const r of t)for(let t=r.length-1;t>=0;t-=1)r[t]===e&&r.splice(t,1)}findRootNodes(){const e=Array.from(this.graph.keys()),t=[];for(const r of e)this.hasPrecedents(r)||t.push(r);return t}getPrecedents(e){const t=this.graph.get(e);if(!t)throw new Error("Unknown node: "+e);return t}hasNodes(){return this.graph.size>0}hasPrecedents(e){return this.getPrecedents(e).length>0}link(e,t){this.register(e),this.register(t);const r=this.graph.get(t);return r&&!r.includes(e)&&r.push(e),this}register(e){return this.graph.has(e)||this.graph.set(e,[]),this}visit(e,t,r){const o=t[r];if("visiting"===o)throw new Error("Detected cycle involving node: "+r);if(o)return;t[r]="visiting";const n=this.getPrecedents(r);for(const r of n)this.visit(e,t,r);t[r]="ok",e.push(r)}};i=o([n.injectable()],i),t.LevelledTopologicalSorter=i},6543:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NumberUtils=void 0;const o=r(4741);t.NumberUtils=class{static toHex(e){const t="number"==typeof e?e.toString(16):e.toString(16)+"n";return`${o.Utils.hexadecimalPrefix}${t}`}static isCeil(e){return"number"!=typeof e||e%1==0}static isPositive(e){if(isNaN(e))throw new Error("Given value is NaN");return e>0||!(e<0)&&1/e===Number.POSITIVE_INFINITY}static isUnsafeNumber(e){if(isNaN(e))throw new Error("Given value is NaN");return eNumber.MAX_SAFE_INTEGER}static getFactors(e){if(0===e)throw new Error("Invalid number. Allowed only non-zero number");if(1===(e=Math.abs(e)))return[-e,e];const t=[],r=Math.sqrt(e),o=e%2==0?1:2;for(let n=1;n<=r;n+=o){if(e%n!=0)continue;t.push(-n,n);const r=e/n;r!==n&&t.push(-r,r)}return t.sort(((e,t)=>e-t))}}},3697:function(e,t,r){"use strict";var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RandomGenerator=void 0;const u=r(2991),f=r(5350),p=l(r(204)),m=r(3434),g=r(4482),S=r(5164),y=r(5233),h=r(6366),N=r(2691);let _=o=class{constructor(e,t){this.sourceCode=e,this.options=t}initialize(){this.randomGenerator=new m.Chance(this.getRawSeed())}getMathRandom(){return this.getRandomInteger(0,99999)/1e5}getRandomGenerator(){return this.randomGenerator}getRandomInteger(e,t){return this.getRandomGenerator().integer({min:e,max:t})}getRandomString(e,t=o.randomGeneratorPool){return this.getRandomGenerator().string({length:e,pool:t})}getInputSeed(){return this.options.seed.toString()}getRawSeed(){const e=this.getInputSeed();return(""+e).split("|").length>1?e:`${e}|${p.default(this.sourceCode.getSourceCode())}`}};_.randomGeneratorPool=`${h.alphabetString}${N.alphabetStringUppercase}`,s([y.initializable(),c("design:type","function"==typeof(n=void 0!==m.Chance&&m.Chance.Chance)?n:Object)],_.prototype,"randomGenerator",void 0),s([u.postConstruct(),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],_.prototype,"initialize",null),_=o=s([u.injectable(),d(0,u.inject(f.ServiceIdentifiers.ISourceCode)),d(1,u.inject(f.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(i=void 0!==S.ISourceCode&&S.ISourceCode)?i:Object,"function"==typeof(a=void 0!==g.IOptions&&g.IOptions)?a:Object])],_),t.RandomGenerator=_},2161:function(e,t,r){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringUtils=void 0;const n=o(r(5667));t.StringUtils=class{static escapeJsString(e){return n.default(e)}}},4741:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utils=void 0;class r{static buildVersionMessage(e,t){return e&&t?`${e}_${new Date(parseInt(t,10)).toISOString()}`:"unknown"}static extractDomainFrom(e){let t;return t=e.includes("://")||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0],t=t.split(":")[0],t}static getIdentifiersPrefixForMultipleSources(e,t){return`${e||r.baseMultipleSourcesIdentifiersPrefix}${t}`}static makeEnum(e){return Object.freeze(Object.assign({},e))}}t.Utils=r,r.baseMultipleSourcesIdentifiersPrefix="a",r.hexadecimalPrefix="0x"},5285:e=>{function t(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}t.keys=()=>[],t.resolve=t,t.id=5285,e.exports=t},6856:e=>{"use strict";e.exports=JSON.parse('["$&","$\'","$*","$+","$1","$2","$3","$4","$5","$6","$7","$8","$9","$_","$`","$input","@@iterator","ABORT_ERR","ACTIVE","ACTIVE_ATTRIBUTES","ACTIVE_TEXTURE","ACTIVE_UNIFORMS","ADDITION","ALIASED_LINE_WIDTH_RANGE","ALIASED_POINT_SIZE_RANGE","ALLOW_KEYBOARD_INPUT","ALLPASS","ALPHA","ALPHA_BITS","ALT_MASK","ALWAYS","ANY_TYPE","ANY_UNORDERED_NODE_TYPE","ARRAY_BUFFER","ARRAY_BUFFER_BINDING","ATTACHED_SHADERS","ATTRIBUTE_NODE","AT_TARGET","AddSearchProvider","AnalyserNode","AnimationEvent","AnonXMLHttpRequest","ApplicationCache","ApplicationCacheErrorEvent","Array","ArrayBuffer","Attr","Audio","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioListener","AudioNode","AudioParam","AudioProcessingEvent","AudioStreamTrack","AutocompleteErrorEvent","BACK","BAD_BOUNDARYPOINTS_ERR","BANDPASS","BLEND","BLEND_COLOR","BLEND_DST_ALPHA","BLEND_DST_RGB","BLEND_EQUATION","BLEND_EQUATION_ALPHA","BLEND_EQUATION_RGB","BLEND_SRC_ALPHA","BLEND_SRC_RGB","BLUE_BITS","BLUR","BOOL","BOOLEAN_TYPE","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","BOTH","BROWSER_DEFAULT_WEBGL","BUBBLING_PHASE","BUFFER_SIZE","BUFFER_USAGE","BYTE","BYTES_PER_ELEMENT","BarProp","BaseHref","BatteryManager","BeforeLoadEvent","BeforeUnloadEvent","BiquadFilterNode","Blob","BlobEvent","Boolean","CAPTURING_PHASE","CCW","CDATASection","CDATA_SECTION_NODE","CHANGE","CHARSET_RULE","CHECKING","CLAMP_TO_EDGE","CLICK","CLOSED","CLOSING","COLOR_ATTACHMENT0","COLOR_BUFFER_BIT","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","COMMENT_NODE","COMPILE_STATUS","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_TEXTURE_FORMATS","CONNECTING","CONSTANT_ALPHA","CONSTANT_COLOR","CONSTRAINT_ERR","CONTEXT_LOST_WEBGL","CONTROL_MASK","COUNTER_STYLE_RULE","CSS","CSS2Properties","CSSCharsetRule","CSSConditionRule","CSSCounterStyleRule","CSSFontFaceRule","CSSFontFeatureValuesRule","CSSGroupingRule","CSSImportRule","CSSKeyframeRule","CSSKeyframesRule","CSSMediaRule","CSSMozDocumentRule","CSSNameSpaceRule","CSSPageRule","CSSPrimitiveValue","CSSRule","CSSRuleList","CSSStyleDeclaration","CSSStyleRule","CSSStyleSheet","CSSSupportsRule","CSSUnknownRule","CSSValue","CSSValueList","CSSVariablesDeclaration","CSSVariablesRule","CSSViewportRule","CSS_ATTR","CSS_CM","CSS_COUNTER","CSS_CUSTOM","CSS_DEG","CSS_DIMENSION","CSS_EMS","CSS_EXS","CSS_FILTER_BLUR","CSS_FILTER_BRIGHTNESS","CSS_FILTER_CONTRAST","CSS_FILTER_CUSTOM","CSS_FILTER_DROP_SHADOW","CSS_FILTER_GRAYSCALE","CSS_FILTER_HUE_ROTATE","CSS_FILTER_INVERT","CSS_FILTER_OPACITY","CSS_FILTER_REFERENCE","CSS_FILTER_SATURATE","CSS_FILTER_SEPIA","CSS_GRAD","CSS_HZ","CSS_IDENT","CSS_IN","CSS_INHERIT","CSS_KHZ","CSS_MATRIX","CSS_MATRIX3D","CSS_MM","CSS_MS","CSS_NUMBER","CSS_PC","CSS_PERCENTAGE","CSS_PERSPECTIVE","CSS_PRIMITIVE_VALUE","CSS_PT","CSS_PX","CSS_RAD","CSS_RECT","CSS_RGBCOLOR","CSS_ROTATE","CSS_ROTATE3D","CSS_ROTATEX","CSS_ROTATEY","CSS_ROTATEZ","CSS_S","CSS_SCALE","CSS_SCALE3D","CSS_SCALEX","CSS_SCALEY","CSS_SCALEZ","CSS_SKEW","CSS_SKEWX","CSS_SKEWY","CSS_STRING","CSS_TRANSLATE","CSS_TRANSLATE3D","CSS_TRANSLATEX","CSS_TRANSLATEY","CSS_TRANSLATEZ","CSS_UNKNOWN","CSS_URI","CSS_VALUE_LIST","CSS_VH","CSS_VMAX","CSS_VMIN","CSS_VW","CULL_FACE","CULL_FACE_MODE","CURRENT_PROGRAM","CURRENT_VERTEX_ATTRIB","CUSTOM","CW","CanvasGradient","CanvasPattern","CanvasRenderingContext2D","CaretPosition","ChannelMergerNode","ChannelSplitterNode","CharacterData","ClientRect","ClientRectList","Clipboard","ClipboardEvent","CloseEvent","Collator","CommandEvent","Comment","CompositionEvent","Console","Controllers","ConvolverNode","Counter","Crypto","CryptoKey","CustomEvent","DATABASE_ERR","DATA_CLONE_ERR","DATA_ERR","DBLCLICK","DECR","DECR_WRAP","DELETE_STATUS","DEPTH_ATTACHMENT","DEPTH_BITS","DEPTH_BUFFER_BIT","DEPTH_CLEAR_VALUE","DEPTH_COMPONENT","DEPTH_COMPONENT16","DEPTH_FUNC","DEPTH_RANGE","DEPTH_STENCIL","DEPTH_STENCIL_ATTACHMENT","DEPTH_TEST","DEPTH_WRITEMASK","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DISABLED","DISPATCH_REQUEST_ERR","DITHER","DOCUMENT_FRAGMENT_NODE","DOCUMENT_NODE","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_DISCONNECTED","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC","DOCUMENT_POSITION_PRECEDING","DOCUMENT_TYPE_NODE","DOMCursor","DOMError","DOMException","DOMImplementation","DOMImplementationLS","DOMMatrix","DOMMatrixReadOnly","DOMParser","DOMPoint","DOMPointReadOnly","DOMQuad","DOMRect","DOMRectList","DOMRectReadOnly","DOMRequest","DOMSTRING_SIZE_ERR","DOMSettableTokenList","DOMStringList","DOMStringMap","DOMTokenList","DOMTransactionEvent","DOM_DELTA_LINE","DOM_DELTA_PAGE","DOM_DELTA_PIXEL","DOM_INPUT_METHOD_DROP","DOM_INPUT_METHOD_HANDWRITING","DOM_INPUT_METHOD_IME","DOM_INPUT_METHOD_KEYBOARD","DOM_INPUT_METHOD_MULTIMODAL","DOM_INPUT_METHOD_OPTION","DOM_INPUT_METHOD_PASTE","DOM_INPUT_METHOD_SCRIPT","DOM_INPUT_METHOD_UNKNOWN","DOM_INPUT_METHOD_VOICE","DOM_KEY_LOCATION_JOYSTICK","DOM_KEY_LOCATION_LEFT","DOM_KEY_LOCATION_MOBILE","DOM_KEY_LOCATION_NUMPAD","DOM_KEY_LOCATION_RIGHT","DOM_KEY_LOCATION_STANDARD","DOM_VK_0","DOM_VK_1","DOM_VK_2","DOM_VK_3","DOM_VK_4","DOM_VK_5","DOM_VK_6","DOM_VK_7","DOM_VK_8","DOM_VK_9","DOM_VK_A","DOM_VK_ACCEPT","DOM_VK_ADD","DOM_VK_ALT","DOM_VK_ALTGR","DOM_VK_AMPERSAND","DOM_VK_ASTERISK","DOM_VK_AT","DOM_VK_ATTN","DOM_VK_B","DOM_VK_BACKSPACE","DOM_VK_BACK_QUOTE","DOM_VK_BACK_SLASH","DOM_VK_BACK_SPACE","DOM_VK_C","DOM_VK_CANCEL","DOM_VK_CAPS_LOCK","DOM_VK_CIRCUMFLEX","DOM_VK_CLEAR","DOM_VK_CLOSE_BRACKET","DOM_VK_CLOSE_CURLY_BRACKET","DOM_VK_CLOSE_PAREN","DOM_VK_COLON","DOM_VK_COMMA","DOM_VK_CONTEXT_MENU","DOM_VK_CONTROL","DOM_VK_CONVERT","DOM_VK_CRSEL","DOM_VK_CTRL","DOM_VK_D","DOM_VK_DECIMAL","DOM_VK_DELETE","DOM_VK_DIVIDE","DOM_VK_DOLLAR","DOM_VK_DOUBLE_QUOTE","DOM_VK_DOWN","DOM_VK_E","DOM_VK_EISU","DOM_VK_END","DOM_VK_ENTER","DOM_VK_EQUALS","DOM_VK_EREOF","DOM_VK_ESCAPE","DOM_VK_EXCLAMATION","DOM_VK_EXECUTE","DOM_VK_EXSEL","DOM_VK_F","DOM_VK_F1","DOM_VK_F10","DOM_VK_F11","DOM_VK_F12","DOM_VK_F13","DOM_VK_F14","DOM_VK_F15","DOM_VK_F16","DOM_VK_F17","DOM_VK_F18","DOM_VK_F19","DOM_VK_F2","DOM_VK_F20","DOM_VK_F21","DOM_VK_F22","DOM_VK_F23","DOM_VK_F24","DOM_VK_F25","DOM_VK_F26","DOM_VK_F27","DOM_VK_F28","DOM_VK_F29","DOM_VK_F3","DOM_VK_F30","DOM_VK_F31","DOM_VK_F32","DOM_VK_F33","DOM_VK_F34","DOM_VK_F35","DOM_VK_F36","DOM_VK_F4","DOM_VK_F5","DOM_VK_F6","DOM_VK_F7","DOM_VK_F8","DOM_VK_F9","DOM_VK_FINAL","DOM_VK_FRONT","DOM_VK_G","DOM_VK_GREATER_THAN","DOM_VK_H","DOM_VK_HANGUL","DOM_VK_HANJA","DOM_VK_HASH","DOM_VK_HELP","DOM_VK_HK_TOGGLE","DOM_VK_HOME","DOM_VK_HYPHEN_MINUS","DOM_VK_I","DOM_VK_INSERT","DOM_VK_J","DOM_VK_JUNJA","DOM_VK_K","DOM_VK_KANA","DOM_VK_KANJI","DOM_VK_L","DOM_VK_LEFT","DOM_VK_LEFT_TAB","DOM_VK_LESS_THAN","DOM_VK_M","DOM_VK_META","DOM_VK_MODECHANGE","DOM_VK_MULTIPLY","DOM_VK_N","DOM_VK_NONCONVERT","DOM_VK_NUMPAD0","DOM_VK_NUMPAD1","DOM_VK_NUMPAD2","DOM_VK_NUMPAD3","DOM_VK_NUMPAD4","DOM_VK_NUMPAD5","DOM_VK_NUMPAD6","DOM_VK_NUMPAD7","DOM_VK_NUMPAD8","DOM_VK_NUMPAD9","DOM_VK_NUM_LOCK","DOM_VK_O","DOM_VK_OEM_1","DOM_VK_OEM_102","DOM_VK_OEM_2","DOM_VK_OEM_3","DOM_VK_OEM_4","DOM_VK_OEM_5","DOM_VK_OEM_6","DOM_VK_OEM_7","DOM_VK_OEM_8","DOM_VK_OEM_COMMA","DOM_VK_OEM_MINUS","DOM_VK_OEM_PERIOD","DOM_VK_OEM_PLUS","DOM_VK_OPEN_BRACKET","DOM_VK_OPEN_CURLY_BRACKET","DOM_VK_OPEN_PAREN","DOM_VK_P","DOM_VK_PA1","DOM_VK_PAGEDOWN","DOM_VK_PAGEUP","DOM_VK_PAGE_DOWN","DOM_VK_PAGE_UP","DOM_VK_PAUSE","DOM_VK_PERCENT","DOM_VK_PERIOD","DOM_VK_PIPE","DOM_VK_PLAY","DOM_VK_PLUS","DOM_VK_PRINT","DOM_VK_PRINTSCREEN","DOM_VK_PROCESSKEY","DOM_VK_PROPERITES","DOM_VK_Q","DOM_VK_QUESTION_MARK","DOM_VK_QUOTE","DOM_VK_R","DOM_VK_REDO","DOM_VK_RETURN","DOM_VK_RIGHT","DOM_VK_S","DOM_VK_SCROLL_LOCK","DOM_VK_SELECT","DOM_VK_SEMICOLON","DOM_VK_SEPARATOR","DOM_VK_SHIFT","DOM_VK_SLASH","DOM_VK_SLEEP","DOM_VK_SPACE","DOM_VK_SUBTRACT","DOM_VK_T","DOM_VK_TAB","DOM_VK_TILDE","DOM_VK_U","DOM_VK_UNDERSCORE","DOM_VK_UNDO","DOM_VK_UNICODE","DOM_VK_UP","DOM_VK_V","DOM_VK_VOLUME_DOWN","DOM_VK_VOLUME_MUTE","DOM_VK_VOLUME_UP","DOM_VK_W","DOM_VK_WIN","DOM_VK_WINDOW","DOM_VK_WIN_ICO_00","DOM_VK_WIN_ICO_CLEAR","DOM_VK_WIN_ICO_HELP","DOM_VK_WIN_OEM_ATTN","DOM_VK_WIN_OEM_AUTO","DOM_VK_WIN_OEM_BACKTAB","DOM_VK_WIN_OEM_CLEAR","DOM_VK_WIN_OEM_COPY","DOM_VK_WIN_OEM_CUSEL","DOM_VK_WIN_OEM_ENLW","DOM_VK_WIN_OEM_FINISH","DOM_VK_WIN_OEM_FJ_JISHO","DOM_VK_WIN_OEM_FJ_LOYA","DOM_VK_WIN_OEM_FJ_MASSHOU","DOM_VK_WIN_OEM_FJ_ROYA","DOM_VK_WIN_OEM_FJ_TOUROKU","DOM_VK_WIN_OEM_JUMP","DOM_VK_WIN_OEM_PA1","DOM_VK_WIN_OEM_PA2","DOM_VK_WIN_OEM_PA3","DOM_VK_WIN_OEM_RESET","DOM_VK_WIN_OEM_WSCTRL","DOM_VK_X","DOM_VK_XF86XK_ADD_FAVORITE","DOM_VK_XF86XK_APPLICATION_LEFT","DOM_VK_XF86XK_APPLICATION_RIGHT","DOM_VK_XF86XK_AUDIO_CYCLE_TRACK","DOM_VK_XF86XK_AUDIO_FORWARD","DOM_VK_XF86XK_AUDIO_LOWER_VOLUME","DOM_VK_XF86XK_AUDIO_MEDIA","DOM_VK_XF86XK_AUDIO_MUTE","DOM_VK_XF86XK_AUDIO_NEXT","DOM_VK_XF86XK_AUDIO_PAUSE","DOM_VK_XF86XK_AUDIO_PLAY","DOM_VK_XF86XK_AUDIO_PREV","DOM_VK_XF86XK_AUDIO_RAISE_VOLUME","DOM_VK_XF86XK_AUDIO_RANDOM_PLAY","DOM_VK_XF86XK_AUDIO_RECORD","DOM_VK_XF86XK_AUDIO_REPEAT","DOM_VK_XF86XK_AUDIO_REWIND","DOM_VK_XF86XK_AUDIO_STOP","DOM_VK_XF86XK_AWAY","DOM_VK_XF86XK_BACK","DOM_VK_XF86XK_BACK_FORWARD","DOM_VK_XF86XK_BATTERY","DOM_VK_XF86XK_BLUE","DOM_VK_XF86XK_BLUETOOTH","DOM_VK_XF86XK_BOOK","DOM_VK_XF86XK_BRIGHTNESS_ADJUST","DOM_VK_XF86XK_CALCULATOR","DOM_VK_XF86XK_CALENDAR","DOM_VK_XF86XK_CD","DOM_VK_XF86XK_CLOSE","DOM_VK_XF86XK_COMMUNITY","DOM_VK_XF86XK_CONTRAST_ADJUST","DOM_VK_XF86XK_COPY","DOM_VK_XF86XK_CUT","DOM_VK_XF86XK_CYCLE_ANGLE","DOM_VK_XF86XK_DISPLAY","DOM_VK_XF86XK_DOCUMENTS","DOM_VK_XF86XK_DOS","DOM_VK_XF86XK_EJECT","DOM_VK_XF86XK_EXCEL","DOM_VK_XF86XK_EXPLORER","DOM_VK_XF86XK_FAVORITES","DOM_VK_XF86XK_FINANCE","DOM_VK_XF86XK_FORWARD","DOM_VK_XF86XK_FRAME_BACK","DOM_VK_XF86XK_FRAME_FORWARD","DOM_VK_XF86XK_GAME","DOM_VK_XF86XK_GO","DOM_VK_XF86XK_GREEN","DOM_VK_XF86XK_HIBERNATE","DOM_VK_XF86XK_HISTORY","DOM_VK_XF86XK_HOME_PAGE","DOM_VK_XF86XK_HOT_LINKS","DOM_VK_XF86XK_I_TOUCH","DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN","DOM_VK_XF86XK_KBD_BRIGHTNESS_UP","DOM_VK_XF86XK_KBD_LIGHT_ON_OFF","DOM_VK_XF86XK_LAUNCH0","DOM_VK_XF86XK_LAUNCH1","DOM_VK_XF86XK_LAUNCH2","DOM_VK_XF86XK_LAUNCH3","DOM_VK_XF86XK_LAUNCH4","DOM_VK_XF86XK_LAUNCH5","DOM_VK_XF86XK_LAUNCH6","DOM_VK_XF86XK_LAUNCH7","DOM_VK_XF86XK_LAUNCH8","DOM_VK_XF86XK_LAUNCH9","DOM_VK_XF86XK_LAUNCH_A","DOM_VK_XF86XK_LAUNCH_B","DOM_VK_XF86XK_LAUNCH_C","DOM_VK_XF86XK_LAUNCH_D","DOM_VK_XF86XK_LAUNCH_E","DOM_VK_XF86XK_LAUNCH_F","DOM_VK_XF86XK_LIGHT_BULB","DOM_VK_XF86XK_LOG_OFF","DOM_VK_XF86XK_MAIL","DOM_VK_XF86XK_MAIL_FORWARD","DOM_VK_XF86XK_MARKET","DOM_VK_XF86XK_MEETING","DOM_VK_XF86XK_MEMO","DOM_VK_XF86XK_MENU_KB","DOM_VK_XF86XK_MENU_PB","DOM_VK_XF86XK_MESSENGER","DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN","DOM_VK_XF86XK_MON_BRIGHTNESS_UP","DOM_VK_XF86XK_MUSIC","DOM_VK_XF86XK_MY_COMPUTER","DOM_VK_XF86XK_MY_SITES","DOM_VK_XF86XK_NEW","DOM_VK_XF86XK_NEWS","DOM_VK_XF86XK_OFFICE_HOME","DOM_VK_XF86XK_OPEN","DOM_VK_XF86XK_OPEN_URL","DOM_VK_XF86XK_OPTION","DOM_VK_XF86XK_PASTE","DOM_VK_XF86XK_PHONE","DOM_VK_XF86XK_PICTURES","DOM_VK_XF86XK_POWER_DOWN","DOM_VK_XF86XK_POWER_OFF","DOM_VK_XF86XK_RED","DOM_VK_XF86XK_REFRESH","DOM_VK_XF86XK_RELOAD","DOM_VK_XF86XK_REPLY","DOM_VK_XF86XK_ROCKER_DOWN","DOM_VK_XF86XK_ROCKER_ENTER","DOM_VK_XF86XK_ROCKER_UP","DOM_VK_XF86XK_ROTATE_WINDOWS","DOM_VK_XF86XK_ROTATION_KB","DOM_VK_XF86XK_ROTATION_PB","DOM_VK_XF86XK_SAVE","DOM_VK_XF86XK_SCREEN_SAVER","DOM_VK_XF86XK_SCROLL_CLICK","DOM_VK_XF86XK_SCROLL_DOWN","DOM_VK_XF86XK_SCROLL_UP","DOM_VK_XF86XK_SEARCH","DOM_VK_XF86XK_SEND","DOM_VK_XF86XK_SHOP","DOM_VK_XF86XK_SPELL","DOM_VK_XF86XK_SPLIT_SCREEN","DOM_VK_XF86XK_STANDBY","DOM_VK_XF86XK_START","DOM_VK_XF86XK_STOP","DOM_VK_XF86XK_SUBTITLE","DOM_VK_XF86XK_SUPPORT","DOM_VK_XF86XK_SUSPEND","DOM_VK_XF86XK_TASK_PANE","DOM_VK_XF86XK_TERMINAL","DOM_VK_XF86XK_TIME","DOM_VK_XF86XK_TOOLS","DOM_VK_XF86XK_TOP_MENU","DOM_VK_XF86XK_TO_DO_LIST","DOM_VK_XF86XK_TRAVEL","DOM_VK_XF86XK_USER1KB","DOM_VK_XF86XK_USER2KB","DOM_VK_XF86XK_USER_PB","DOM_VK_XF86XK_UWB","DOM_VK_XF86XK_VENDOR_HOME","DOM_VK_XF86XK_VIDEO","DOM_VK_XF86XK_VIEW","DOM_VK_XF86XK_WAKE_UP","DOM_VK_XF86XK_WEB_CAM","DOM_VK_XF86XK_WHEEL_BUTTON","DOM_VK_XF86XK_WLAN","DOM_VK_XF86XK_WORD","DOM_VK_XF86XK_WWW","DOM_VK_XF86XK_XFER","DOM_VK_XF86XK_YELLOW","DOM_VK_XF86XK_ZOOM_IN","DOM_VK_XF86XK_ZOOM_OUT","DOM_VK_Y","DOM_VK_Z","DOM_VK_ZOOM","DONE","DONT_CARE","DOWNLOADING","DRAGDROP","DST_ALPHA","DST_COLOR","DYNAMIC_DRAW","DataChannel","DataTransfer","DataTransferItem","DataTransferItemList","DataView","Date","DateTimeFormat","DelayNode","DesktopNotification","DesktopNotificationCenter","DeviceLightEvent","DeviceMotionEvent","DeviceOrientationEvent","DeviceProximityEvent","DeviceStorage","DeviceStorageChangeEvent","Document","DocumentFragment","DocumentType","DragEvent","DynamicsCompressorNode","E","ELEMENT_ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER_BINDING","ELEMENT_NODE","EMPTY","ENCODING_ERR","ENDED","END_TO_END","END_TO_START","ENTITY_NODE","ENTITY_REFERENCE_NODE","EPSILON","EQUAL","EQUALPOWER","ERROR","EXPONENTIAL_DISTANCE","Element","ElementQuery","Entity","EntityReference","Error","ErrorEvent","EvalError","Event","EventException","EventSource","EventTarget","External","FASTEST","FIDOSDK","FILTER_ACCEPT","FILTER_INTERRUPT","FILTER_REJECT","FILTER_SKIP","FINISHED_STATE","FIRST_ORDERED_NODE_TYPE","FLOAT","FLOAT_MAT2","FLOAT_MAT3","FLOAT_MAT4","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FOCUS","FONT_FACE_RULE","FONT_FEATURE_VALUES_RULE","FRAGMENT_SHADER","FRAGMENT_SHADER_DERIVATIVE_HINT_OES","FRAMEBUFFER","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","FRAMEBUFFER_BINDING","FRAMEBUFFER_COMPLETE","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_UNSUPPORTED","FRONT","FRONT_AND_BACK","FRONT_FACE","FUNC_ADD","FUNC_REVERSE_SUBTRACT","FUNC_SUBTRACT","Feed","FeedEntry","File","FileError","FileList","FileReader","FindInPage","Float32Array","Float64Array","FocusEvent","FontFace","FormData","Function","GENERATE_MIPMAP_HINT","GEQUAL","GREATER","GREEN_BITS","GainNode","Gamepad","GamepadButton","GamepadEvent","GestureEvent","HAVE_CURRENT_DATA","HAVE_ENOUGH_DATA","HAVE_FUTURE_DATA","HAVE_METADATA","HAVE_NOTHING","HEADERS_RECEIVED","HIDDEN","HIERARCHY_REQUEST_ERR","HIGHPASS","HIGHSHELF","HIGH_FLOAT","HIGH_INT","HORIZONTAL","HORIZONTAL_AXIS","HRTF","HTMLAllCollection","HTMLAnchorElement","HTMLAppletElement","HTMLAreaElement","HTMLAudioElement","HTMLBRElement","HTMLBaseElement","HTMLBaseFontElement","HTMLBlockquoteElement","HTMLBodyElement","HTMLButtonElement","HTMLCanvasElement","HTMLCollection","HTMLCommandElement","HTMLContentElement","HTMLDListElement","HTMLDataElement","HTMLDataListElement","HTMLDetailsElement","HTMLDialogElement","HTMLDirectoryElement","HTMLDivElement","HTMLDocument","HTMLElement","HTMLEmbedElement","HTMLFieldSetElement","HTMLFontElement","HTMLFormControlsCollection","HTMLFormElement","HTMLFrameElement","HTMLFrameSetElement","HTMLHRElement","HTMLHeadElement","HTMLHeadingElement","HTMLHtmlElement","HTMLIFrameElement","HTMLImageElement","HTMLInputElement","HTMLIsIndexElement","HTMLKeygenElement","HTMLLIElement","HTMLLabelElement","HTMLLegendElement","HTMLLinkElement","HTMLMapElement","HTMLMarqueeElement","HTMLMediaElement","HTMLMenuElement","HTMLMenuItemElement","HTMLMetaElement","HTMLMeterElement","HTMLModElement","HTMLOListElement","HTMLObjectElement","HTMLOptGroupElement","HTMLOptionElement","HTMLOptionsCollection","HTMLOutputElement","HTMLParagraphElement","HTMLParamElement","HTMLPictureElement","HTMLPreElement","HTMLProgressElement","HTMLPropertiesCollection","HTMLQuoteElement","HTMLScriptElement","HTMLSelectElement","HTMLShadowElement","HTMLSourceElement","HTMLSpanElement","HTMLStyleElement","HTMLTableCaptionElement","HTMLTableCellElement","HTMLTableColElement","HTMLTableElement","HTMLTableRowElement","HTMLTableSectionElement","HTMLTemplateElement","HTMLTextAreaElement","HTMLTimeElement","HTMLTitleElement","HTMLTrackElement","HTMLUListElement","HTMLUnknownElement","HTMLVideoElement","HashChangeEvent","Headers","History","ICE_CHECKING","ICE_CLOSED","ICE_COMPLETED","ICE_CONNECTED","ICE_FAILED","ICE_GATHERING","ICE_WAITING","IDBCursor","IDBCursorWithValue","IDBDatabase","IDBDatabaseException","IDBFactory","IDBFileHandle","IDBFileRequest","IDBIndex","IDBKeyRange","IDBMutableFile","IDBObjectStore","IDBOpenDBRequest","IDBRequest","IDBTransaction","IDBVersionChangeEvent","IDLE","IMPLEMENTATION_COLOR_READ_FORMAT","IMPLEMENTATION_COLOR_READ_TYPE","IMPORT_RULE","INCR","INCR_WRAP","INDEX_SIZE_ERR","INT","INT_VEC2","INT_VEC3","INT_VEC4","INUSE_ATTRIBUTE_ERR","INVALID_ACCESS_ERR","INVALID_CHARACTER_ERR","INVALID_ENUM","INVALID_EXPRESSION_ERR","INVALID_FRAMEBUFFER_OPERATION","INVALID_MODIFICATION_ERR","INVALID_NODE_TYPE_ERR","INVALID_OPERATION","INVALID_STATE_ERR","INVALID_VALUE","INVERSE_DISTANCE","INVERT","IceCandidate","Image","ImageBitmap","ImageData","Infinity","InputEvent","InputMethodContext","InstallTrigger","Int16Array","Int32Array","Int8Array","Intent","InternalError","Intl","IsSearchProviderInstalled","Iterator","JSON","KEEP","KEYDOWN","KEYFRAMES_RULE","KEYFRAME_RULE","KEYPRESS","KEYUP","KeyEvent","KeyboardEvent","LENGTHADJUST_SPACING","LENGTHADJUST_SPACINGANDGLYPHS","LENGTHADJUST_UNKNOWN","LEQUAL","LESS","LINEAR","LINEAR_DISTANCE","LINEAR_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","LINES","LINE_LOOP","LINE_STRIP","LINE_WIDTH","LINK_STATUS","LIVE","LN10","LN2","LOADED","LOADING","LOG10E","LOG2E","LOWPASS","LOWSHELF","LOW_FLOAT","LOW_INT","LSException","LSParserFilter","LUMINANCE","LUMINANCE_ALPHA","LocalMediaStream","Location","MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_RENDERBUFFER_SIZE","MAX_SAFE_INTEGER","MAX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_MAX_ANISOTROPY_EXT","MAX_TEXTURE_SIZE","MAX_VALUE","MAX_VARYING_VECTORS","MAX_VERTEX_ATTRIBS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_UNIFORM_VECTORS","MAX_VIEWPORT_DIMS","MEDIA_ERR_ABORTED","MEDIA_ERR_DECODE","MEDIA_ERR_ENCRYPTED","MEDIA_ERR_NETWORK","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_KEYERR_CLIENT","MEDIA_KEYERR_DOMAIN","MEDIA_KEYERR_HARDWARECHANGE","MEDIA_KEYERR_OUTPUT","MEDIA_KEYERR_SERVICE","MEDIA_KEYERR_UNKNOWN","MEDIA_RULE","MEDIUM_FLOAT","MEDIUM_INT","META_MASK","MIN_SAFE_INTEGER","MIN_VALUE","MIRRORED_REPEAT","MODE_ASYNCHRONOUS","MODE_SYNCHRONOUS","MODIFICATION","MOUSEDOWN","MOUSEDRAG","MOUSEMOVE","MOUSEOUT","MOUSEOVER","MOUSEUP","MOZ_KEYFRAMES_RULE","MOZ_KEYFRAME_RULE","MOZ_SOURCE_CURSOR","MOZ_SOURCE_ERASER","MOZ_SOURCE_KEYBOARD","MOZ_SOURCE_MOUSE","MOZ_SOURCE_PEN","MOZ_SOURCE_TOUCH","MOZ_SOURCE_UNKNOWN","MSGESTURE_FLAG_BEGIN","MSGESTURE_FLAG_CANCEL","MSGESTURE_FLAG_END","MSGESTURE_FLAG_INERTIA","MSGESTURE_FLAG_NONE","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_PEN","MSPOINTER_TYPE_TOUCH","MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE","MS_ASYNC_CALLBACK_STATUS_CANCEL","MS_ASYNC_CALLBACK_STATUS_CHOOSEANY","MS_ASYNC_CALLBACK_STATUS_ERROR","MS_ASYNC_CALLBACK_STATUS_JOIN","MS_ASYNC_OP_STATUS_CANCELED","MS_ASYNC_OP_STATUS_ERROR","MS_ASYNC_OP_STATUS_SUCCESS","MS_MANIPULATION_STATE_ACTIVE","MS_MANIPULATION_STATE_CANCELLED","MS_MANIPULATION_STATE_COMMITTED","MS_MANIPULATION_STATE_DRAGGING","MS_MANIPULATION_STATE_INERTIA","MS_MANIPULATION_STATE_PRESELECT","MS_MANIPULATION_STATE_SELECTING","MS_MANIPULATION_STATE_STOPPED","MS_MEDIA_ERR_ENCRYPTED","MS_MEDIA_KEYERR_CLIENT","MS_MEDIA_KEYERR_DOMAIN","MS_MEDIA_KEYERR_HARDWARECHANGE","MS_MEDIA_KEYERR_OUTPUT","MS_MEDIA_KEYERR_SERVICE","MS_MEDIA_KEYERR_UNKNOWN","Map","Math","MediaController","MediaDevices","MediaElementAudioSourceNode","MediaEncryptedEvent","MediaError","MediaKeyError","MediaKeyEvent","MediaKeyMessageEvent","MediaKeyNeededEvent","MediaKeySession","MediaKeyStatusMap","MediaKeySystemAccess","MediaKeys","MediaList","MediaQueryList","MediaQueryListEvent","MediaRecorder","MediaSource","MediaStream","MediaStreamAudioDestinationNode","MediaStreamAudioSourceNode","MediaStreamEvent","MediaStreamTrack","MediaStreamTrackEvent","MessageChannel","MessageEvent","MessagePort","Methods","MimeType","MimeTypeArray","MouseEvent","MouseScrollEvent","MozAnimation","MozAnimationDelay","MozAnimationDirection","MozAnimationDuration","MozAnimationFillMode","MozAnimationIterationCount","MozAnimationName","MozAnimationPlayState","MozAnimationTimingFunction","MozAppearance","MozBackfaceVisibility","MozBinding","MozBorderBottomColors","MozBorderEnd","MozBorderEndColor","MozBorderEndStyle","MozBorderEndWidth","MozBorderImage","MozBorderLeftColors","MozBorderRightColors","MozBorderStart","MozBorderStartColor","MozBorderStartStyle","MozBorderStartWidth","MozBorderTopColors","MozBoxAlign","MozBoxDirection","MozBoxFlex","MozBoxOrdinalGroup","MozBoxOrient","MozBoxPack","MozBoxSizing","MozCSSKeyframeRule","MozCSSKeyframesRule","MozColumnCount","MozColumnFill","MozColumnGap","MozColumnRule","MozColumnRuleColor","MozColumnRuleStyle","MozColumnRuleWidth","MozColumnWidth","MozColumns","MozContactChangeEvent","MozFloatEdge","MozFontFeatureSettings","MozFontLanguageOverride","MozForceBrokenImageIcon","MozHyphens","MozImageRegion","MozMarginEnd","MozMarginStart","MozMmsEvent","MozMmsMessage","MozMobileMessageThread","MozOSXFontSmoothing","MozOrient","MozOutlineRadius","MozOutlineRadiusBottomleft","MozOutlineRadiusBottomright","MozOutlineRadiusTopleft","MozOutlineRadiusTopright","MozPaddingEnd","MozPaddingStart","MozPerspective","MozPerspectiveOrigin","MozPowerManager","MozSettingsEvent","MozSmsEvent","MozSmsMessage","MozStackSizing","MozTabSize","MozTextAlignLast","MozTextDecorationColor","MozTextDecorationLine","MozTextDecorationStyle","MozTextSizeAdjust","MozTransform","MozTransformOrigin","MozTransformStyle","MozTransition","MozTransitionDelay","MozTransitionDuration","MozTransitionProperty","MozTransitionTimingFunction","MozUserFocus","MozUserInput","MozUserModify","MozUserSelect","MozWindowDragging","MozWindowShadow","MutationEvent","MutationObserver","MutationRecord","NAMESPACE_ERR","NAMESPACE_RULE","NEAREST","NEAREST_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","NEGATIVE_INFINITY","NETWORK_EMPTY","NETWORK_ERR","NETWORK_IDLE","NETWORK_LOADED","NETWORK_LOADING","NETWORK_NO_SOURCE","NEVER","NEW","NEXT","NEXT_NO_DUPLICATE","NICEST","NODE_AFTER","NODE_BEFORE","NODE_BEFORE_AND_AFTER","NODE_INSIDE","NONE","NON_TRANSIENT_ERR","NOTATION_NODE","NOTCH","NOTEQUAL","NOT_ALLOWED_ERR","NOT_FOUND_ERR","NOT_READABLE_ERR","NOT_SUPPORTED_ERR","NO_DATA_ALLOWED_ERR","NO_ERR","NO_ERROR","NO_MODIFICATION_ALLOWED_ERR","NUMBER_TYPE","NUM_COMPRESSED_TEXTURE_FORMATS","NaN","NamedNodeMap","Navigator","NearbyLinks","NetworkInformation","Node","NodeFilter","NodeIterator","NodeList","Notation","Notification","NotifyPaintEvent","Number","NumberFormat","OBSOLETE","ONE","ONE_MINUS_CONSTANT_ALPHA","ONE_MINUS_CONSTANT_COLOR","ONE_MINUS_DST_ALPHA","ONE_MINUS_DST_COLOR","ONE_MINUS_SRC_ALPHA","ONE_MINUS_SRC_COLOR","OPEN","OPENED","OPENING","ORDERED_NODE_ITERATOR_TYPE","ORDERED_NODE_SNAPSHOT_TYPE","OUT_OF_MEMORY","Object","OfflineAudioCompletionEvent","OfflineAudioContext","OfflineResourceList","Option","OscillatorNode","OverflowEvent","PACK_ALIGNMENT","PAGE_RULE","PARSE_ERR","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_CLOSEPATH","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_UNKNOWN","PATH_EXISTS_ERR","PEAKING","PERMISSION_DENIED","PERSISTENT","PI","PLAYING_STATE","POINTS","POLYGON_OFFSET_FACTOR","POLYGON_OFFSET_FILL","POLYGON_OFFSET_UNITS","POSITION_UNAVAILABLE","POSITIVE_INFINITY","PREV","PREV_NO_DUPLICATE","PROCESSING_INSTRUCTION_NODE","PageChangeEvent","PageTransitionEvent","PaintRequest","PaintRequestList","PannerNode","Path2D","Performance","PerformanceEntry","PerformanceMark","PerformanceMeasure","PerformanceNavigation","PerformanceResourceTiming","PerformanceTiming","PeriodicWave","Plugin","PluginArray","PopStateEvent","PopupBlockedEvent","ProcessingInstruction","ProgressEvent","Promise","PropertyNodeList","Proxy","PushManager","PushSubscription","Q","QUOTA_ERR","QUOTA_EXCEEDED_ERR","QueryInterface","READ_ONLY","READ_ONLY_ERR","READ_WRITE","RED_BITS","REMOVAL","RENDERBUFFER","RENDERBUFFER_ALPHA_SIZE","RENDERBUFFER_BINDING","RENDERBUFFER_BLUE_SIZE","RENDERBUFFER_DEPTH_SIZE","RENDERBUFFER_GREEN_SIZE","RENDERBUFFER_HEIGHT","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_RED_SIZE","RENDERBUFFER_STENCIL_SIZE","RENDERBUFFER_WIDTH","RENDERER","RENDERING_INTENT_ABSOLUTE_COLORIMETRIC","RENDERING_INTENT_AUTO","RENDERING_INTENT_PERCEPTUAL","RENDERING_INTENT_RELATIVE_COLORIMETRIC","RENDERING_INTENT_SATURATION","RENDERING_INTENT_UNKNOWN","REPEAT","REPLACE","RGB","RGB565","RGB5_A1","RGBA","RGBA4","RGBColor","ROTATION_CLOCKWISE","ROTATION_COUNTERCLOCKWISE","RTCDataChannelEvent","RTCIceCandidate","RTCPeerConnectionIceEvent","RTCRtpReceiver","RTCRtpSender","RTCSessionDescription","RTCStatsReport","RadioNodeList","Range","RangeError","RangeException","RecordErrorEvent","Rect","ReferenceError","RegExp","Request","Response","SAMPLER_2D","SAMPLER_CUBE","SAMPLES","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_BUFFERS","SAMPLE_COVERAGE","SAMPLE_COVERAGE_INVERT","SAMPLE_COVERAGE_VALUE","SAWTOOTH","SCHEDULED_STATE","SCISSOR_BOX","SCISSOR_TEST","SCROLL_PAGE_DOWN","SCROLL_PAGE_UP","SDP_ANSWER","SDP_OFFER","SDP_PRANSWER","SECURITY_ERR","SELECT","SERIALIZE_ERR","SEVERITY_ERROR","SEVERITY_FATAL_ERROR","SEVERITY_WARNING","SHADER_COMPILER","SHADER_TYPE","SHADING_LANGUAGE_VERSION","SHIFT_MASK","SHORT","SHOWING","SHOW_ALL","SHOW_ATTRIBUTE","SHOW_CDATA_SECTION","SHOW_COMMENT","SHOW_DOCUMENT","SHOW_DOCUMENT_FRAGMENT","SHOW_DOCUMENT_TYPE","SHOW_ELEMENT","SHOW_ENTITY","SHOW_ENTITY_REFERENCE","SHOW_NOTATION","SHOW_PROCESSING_INSTRUCTION","SHOW_TEXT","SINE","SOUNDFIELD","SQLException","SQRT1_2","SQRT2","SQUARE","SRC_ALPHA","SRC_ALPHA_SATURATE","SRC_COLOR","START_TO_END","START_TO_START","STATIC_DRAW","STENCIL_ATTACHMENT","STENCIL_BACK_FAIL","STENCIL_BACK_FUNC","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_BACK_WRITEMASK","STENCIL_BITS","STENCIL_BUFFER_BIT","STENCIL_CLEAR_VALUE","STENCIL_FAIL","STENCIL_FUNC","STENCIL_INDEX","STENCIL_INDEX8","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_REF","STENCIL_TEST","STENCIL_VALUE_MASK","STENCIL_WRITEMASK","STREAM_DRAW","STRING_TYPE","STYLE_RULE","SUBPIXEL_BITS","SUPPORTS_RULE","SVGAElement","SVGAltGlyphDefElement","SVGAltGlyphElement","SVGAltGlyphItemElement","SVGAngle","SVGAnimateColorElement","SVGAnimateElement","SVGAnimateMotionElement","SVGAnimateTransformElement","SVGAnimatedAngle","SVGAnimatedBoolean","SVGAnimatedEnumeration","SVGAnimatedInteger","SVGAnimatedLength","SVGAnimatedLengthList","SVGAnimatedNumber","SVGAnimatedNumberList","SVGAnimatedPreserveAspectRatio","SVGAnimatedRect","SVGAnimatedString","SVGAnimatedTransformList","SVGAnimationElement","SVGCircleElement","SVGClipPathElement","SVGColor","SVGComponentTransferFunctionElement","SVGCursorElement","SVGDefsElement","SVGDescElement","SVGDiscardElement","SVGDocument","SVGElement","SVGElementInstance","SVGElementInstanceList","SVGEllipseElement","SVGException","SVGFEBlendElement","SVGFEColorMatrixElement","SVGFEComponentTransferElement","SVGFECompositeElement","SVGFEConvolveMatrixElement","SVGFEDiffuseLightingElement","SVGFEDisplacementMapElement","SVGFEDistantLightElement","SVGFEDropShadowElement","SVGFEFloodElement","SVGFEFuncAElement","SVGFEFuncBElement","SVGFEFuncGElement","SVGFEFuncRElement","SVGFEGaussianBlurElement","SVGFEImageElement","SVGFEMergeElement","SVGFEMergeNodeElement","SVGFEMorphologyElement","SVGFEOffsetElement","SVGFEPointLightElement","SVGFESpecularLightingElement","SVGFESpotLightElement","SVGFETileElement","SVGFETurbulenceElement","SVGFilterElement","SVGFontElement","SVGFontFaceElement","SVGFontFaceFormatElement","SVGFontFaceNameElement","SVGFontFaceSrcElement","SVGFontFaceUriElement","SVGForeignObjectElement","SVGGElement","SVGGeometryElement","SVGGlyphElement","SVGGlyphRefElement","SVGGradientElement","SVGGraphicsElement","SVGHKernElement","SVGImageElement","SVGLength","SVGLengthList","SVGLineElement","SVGLinearGradientElement","SVGMPathElement","SVGMarkerElement","SVGMaskElement","SVGMatrix","SVGMetadataElement","SVGMissingGlyphElement","SVGNumber","SVGNumberList","SVGPaint","SVGPathElement","SVGPathSeg","SVGPathSegArcAbs","SVGPathSegArcRel","SVGPathSegClosePath","SVGPathSegCurvetoCubicAbs","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathSegLinetoAbs","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegList","SVGPathSegMovetoAbs","SVGPathSegMovetoRel","SVGPatternElement","SVGPoint","SVGPointList","SVGPolygonElement","SVGPolylineElement","SVGPreserveAspectRatio","SVGRadialGradientElement","SVGRect","SVGRectElement","SVGRenderingIntent","SVGSVGElement","SVGScriptElement","SVGSetElement","SVGStopElement","SVGStringList","SVGStyleElement","SVGSwitchElement","SVGSymbolElement","SVGTRefElement","SVGTSpanElement","SVGTextContentElement","SVGTextElement","SVGTextPathElement","SVGTextPositioningElement","SVGTitleElement","SVGTransform","SVGTransformList","SVGUnitTypes","SVGUseElement","SVGVKernElement","SVGViewElement","SVGViewSpec","SVGZoomAndPan","SVGZoomEvent","SVG_ANGLETYPE_DEG","SVG_ANGLETYPE_GRAD","SVG_ANGLETYPE_RAD","SVG_ANGLETYPE_UNKNOWN","SVG_ANGLETYPE_UNSPECIFIED","SVG_CHANNEL_A","SVG_CHANNEL_B","SVG_CHANNEL_G","SVG_CHANNEL_R","SVG_CHANNEL_UNKNOWN","SVG_COLORTYPE_CURRENTCOLOR","SVG_COLORTYPE_RGBCOLOR","SVG_COLORTYPE_RGBCOLOR_ICCCOLOR","SVG_COLORTYPE_UNKNOWN","SVG_EDGEMODE_DUPLICATE","SVG_EDGEMODE_NONE","SVG_EDGEMODE_UNKNOWN","SVG_EDGEMODE_WRAP","SVG_FEBLEND_MODE_COLOR","SVG_FEBLEND_MODE_COLOR_BURN","SVG_FEBLEND_MODE_COLOR_DODGE","SVG_FEBLEND_MODE_DARKEN","SVG_FEBLEND_MODE_DIFFERENCE","SVG_FEBLEND_MODE_EXCLUSION","SVG_FEBLEND_MODE_HARD_LIGHT","SVG_FEBLEND_MODE_HUE","SVG_FEBLEND_MODE_LIGHTEN","SVG_FEBLEND_MODE_LUMINOSITY","SVG_FEBLEND_MODE_MULTIPLY","SVG_FEBLEND_MODE_NORMAL","SVG_FEBLEND_MODE_OVERLAY","SVG_FEBLEND_MODE_SATURATION","SVG_FEBLEND_MODE_SCREEN","SVG_FEBLEND_MODE_SOFT_LIGHT","SVG_FEBLEND_MODE_UNKNOWN","SVG_FECOLORMATRIX_TYPE_HUEROTATE","SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA","SVG_FECOLORMATRIX_TYPE_MATRIX","SVG_FECOLORMATRIX_TYPE_SATURATE","SVG_FECOLORMATRIX_TYPE_UNKNOWN","SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE","SVG_FECOMPONENTTRANSFER_TYPE_GAMMA","SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY","SVG_FECOMPONENTTRANSFER_TYPE_LINEAR","SVG_FECOMPONENTTRANSFER_TYPE_TABLE","SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_ARITHMETIC","SVG_FECOMPOSITE_OPERATOR_ATOP","SVG_FECOMPOSITE_OPERATOR_IN","SVG_FECOMPOSITE_OPERATOR_OUT","SVG_FECOMPOSITE_OPERATOR_OVER","SVG_FECOMPOSITE_OPERATOR_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_XOR","SVG_INVALID_VALUE_ERR","SVG_LENGTHTYPE_CM","SVG_LENGTHTYPE_EMS","SVG_LENGTHTYPE_EXS","SVG_LENGTHTYPE_IN","SVG_LENGTHTYPE_MM","SVG_LENGTHTYPE_NUMBER","SVG_LENGTHTYPE_PC","SVG_LENGTHTYPE_PERCENTAGE","SVG_LENGTHTYPE_PT","SVG_LENGTHTYPE_PX","SVG_LENGTHTYPE_UNKNOWN","SVG_MARKERUNITS_STROKEWIDTH","SVG_MARKERUNITS_UNKNOWN","SVG_MARKERUNITS_USERSPACEONUSE","SVG_MARKER_ORIENT_ANGLE","SVG_MARKER_ORIENT_AUTO","SVG_MARKER_ORIENT_UNKNOWN","SVG_MASKTYPE_ALPHA","SVG_MASKTYPE_LUMINANCE","SVG_MATRIX_NOT_INVERTABLE","SVG_MEETORSLICE_MEET","SVG_MEETORSLICE_SLICE","SVG_MEETORSLICE_UNKNOWN","SVG_MORPHOLOGY_OPERATOR_DILATE","SVG_MORPHOLOGY_OPERATOR_ERODE","SVG_MORPHOLOGY_OPERATOR_UNKNOWN","SVG_PAINTTYPE_CURRENTCOLOR","SVG_PAINTTYPE_NONE","SVG_PAINTTYPE_RGBCOLOR","SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR","SVG_PAINTTYPE_UNKNOWN","SVG_PAINTTYPE_URI","SVG_PAINTTYPE_URI_CURRENTCOLOR","SVG_PAINTTYPE_URI_NONE","SVG_PAINTTYPE_URI_RGBCOLOR","SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR","SVG_PRESERVEASPECTRATIO_NONE","SVG_PRESERVEASPECTRATIO_UNKNOWN","SVG_PRESERVEASPECTRATIO_XMAXYMAX","SVG_PRESERVEASPECTRATIO_XMAXYMID","SVG_PRESERVEASPECTRATIO_XMAXYMIN","SVG_PRESERVEASPECTRATIO_XMIDYMAX","SVG_PRESERVEASPECTRATIO_XMIDYMID","SVG_PRESERVEASPECTRATIO_XMIDYMIN","SVG_PRESERVEASPECTRATIO_XMINYMAX","SVG_PRESERVEASPECTRATIO_XMINYMID","SVG_PRESERVEASPECTRATIO_XMINYMIN","SVG_SPREADMETHOD_PAD","SVG_SPREADMETHOD_REFLECT","SVG_SPREADMETHOD_REPEAT","SVG_SPREADMETHOD_UNKNOWN","SVG_STITCHTYPE_NOSTITCH","SVG_STITCHTYPE_STITCH","SVG_STITCHTYPE_UNKNOWN","SVG_TRANSFORM_MATRIX","SVG_TRANSFORM_ROTATE","SVG_TRANSFORM_SCALE","SVG_TRANSFORM_SKEWX","SVG_TRANSFORM_SKEWY","SVG_TRANSFORM_TRANSLATE","SVG_TRANSFORM_UNKNOWN","SVG_TURBULENCE_TYPE_FRACTALNOISE","SVG_TURBULENCE_TYPE_TURBULENCE","SVG_TURBULENCE_TYPE_UNKNOWN","SVG_UNIT_TYPE_OBJECTBOUNDINGBOX","SVG_UNIT_TYPE_UNKNOWN","SVG_UNIT_TYPE_USERSPACEONUSE","SVG_WRONG_TYPE_ERR","SVG_ZOOMANDPAN_DISABLE","SVG_ZOOMANDPAN_MAGNIFY","SVG_ZOOMANDPAN_UNKNOWN","SYNTAX_ERR","SavedPages","Screen","ScreenOrientation","Script","ScriptProcessorNode","ScrollAreaEvent","SecurityPolicyViolationEvent","Selection","ServiceWorker","ServiceWorkerContainer","ServiceWorkerRegistration","SessionDescription","Set","ShadowRoot","SharedWorker","SimpleGestureEvent","SpeechSynthesisEvent","SpeechSynthesisUtterance","StopIteration","Storage","StorageEvent","String","StyleSheet","StyleSheetList","SubtleCrypto","Symbol","SyntaxError","TEMPORARY","TEXTPATH_METHODTYPE_ALIGN","TEXTPATH_METHODTYPE_STRETCH","TEXTPATH_METHODTYPE_UNKNOWN","TEXTPATH_SPACINGTYPE_AUTO","TEXTPATH_SPACINGTYPE_EXACT","TEXTPATH_SPACINGTYPE_UNKNOWN","TEXTURE","TEXTURE0","TEXTURE1","TEXTURE10","TEXTURE11","TEXTURE12","TEXTURE13","TEXTURE14","TEXTURE15","TEXTURE16","TEXTURE17","TEXTURE18","TEXTURE19","TEXTURE2","TEXTURE20","TEXTURE21","TEXTURE22","TEXTURE23","TEXTURE24","TEXTURE25","TEXTURE26","TEXTURE27","TEXTURE28","TEXTURE29","TEXTURE3","TEXTURE30","TEXTURE31","TEXTURE4","TEXTURE5","TEXTURE6","TEXTURE7","TEXTURE8","TEXTURE9","TEXTURE_2D","TEXTURE_BINDING_2D","TEXTURE_BINDING_CUBE_MAP","TEXTURE_CUBE_MAP","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Z","TEXTURE_CUBE_MAP_POSITIVE_X","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_MAG_FILTER","TEXTURE_MAX_ANISOTROPY_EXT","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXT_NODE","TIMEOUT","TIMEOUT_ERR","TOO_LARGE_ERR","TRANSACTION_INACTIVE_ERR","TRIANGLE","TRIANGLES","TRIANGLE_FAN","TRIANGLE_STRIP","TYPE_BACK_FORWARD","TYPE_ERR","TYPE_MISMATCH_ERR","TYPE_NAVIGATE","TYPE_RELOAD","TYPE_RESERVED","Text","TextDecoder","TextEncoder","TextEvent","TextMetrics","TextTrack","TextTrackCue","TextTrackCueList","TextTrackList","TimeEvent","TimeRanges","Touch","TouchEvent","TouchList","TrackEvent","TransitionEvent","TreeWalker","TypeError","UIEvent","UNCACHED","UNKNOWN_ERR","UNKNOWN_RULE","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","UNORDERED_NODE_ITERATOR_TYPE","UNORDERED_NODE_SNAPSHOT_TYPE","UNPACK_ALIGNMENT","UNPACK_COLORSPACE_CONVERSION_WEBGL","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNSCHEDULED_STATE","UNSENT","UNSIGNED_BYTE","UNSIGNED_INT","UNSIGNED_SHORT","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","UNSPECIFIED_EVENT_TYPE_ERR","UPDATEREADY","URIError","URL","URLSearchParams","URLUnencoded","URL_MISMATCH_ERR","UTC","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","UserMessageHandler","UserMessageHandlersNamespace","UserProximityEvent","VALIDATE_STATUS","VALIDATION_ERR","VARIABLES_RULE","VENDOR","VERSION","VERSION_CHANGE","VERSION_ERR","VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE","VERTEX_ATTRIB_ARRAY_ENABLED","VERTEX_ATTRIB_ARRAY_NORMALIZED","VERTEX_ATTRIB_ARRAY_POINTER","VERTEX_ATTRIB_ARRAY_SIZE","VERTEX_ATTRIB_ARRAY_STRIDE","VERTEX_ATTRIB_ARRAY_TYPE","VERTEX_SHADER","VERTICAL","VERTICAL_AXIS","VER_ERR","VIEWPORT","VIEWPORT_RULE","VTTCue","VTTRegion","ValidityState","VideoStreamTrack","WEBKIT_FILTER_RULE","WEBKIT_KEYFRAMES_RULE","WEBKIT_KEYFRAME_RULE","WEBKIT_REGION_RULE","WRONG_DOCUMENT_ERR","WaveShaperNode","WeakMap","WeakSet","WebGLActiveInfo","WebGLBuffer","WebGLContextEvent","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLRenderingContext","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArray","WebKitAnimationEvent","WebKitBlobBuilder","WebKitCSSFilterRule","WebKitCSSFilterValue","WebKitCSSKeyframeRule","WebKitCSSKeyframesRule","WebKitCSSMatrix","WebKitCSSRegionRule","WebKitCSSTransformValue","WebKitDataCue","WebKitGamepad","WebKitMediaKeyError","WebKitMediaKeyMessageEvent","WebKitMediaKeySession","WebKitMediaKeys","WebKitMediaSource","WebKitMutationObserver","WebKitNamespace","WebKitPlaybackTargetAvailabilityEvent","WebKitPoint","WebKitShadowRoot","WebKitSourceBuffer","WebKitSourceBufferList","WebKitTransitionEvent","WebSocket","WheelEvent","Window","Worker","XMLDocument","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestException","XMLHttpRequestProgressEvent","XMLHttpRequestUpload","XMLSerializer","XMLStylesheetProcessingInstruction","XPathEvaluator","XPathException","XPathExpression","XPathNSResolver","XPathResult","XSLTProcessor","ZERO","_XD0M_","_YD0M_","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__opera","__proto__","_browserjsran","a","aLink","abbr","abort","abs","absolute","acceleration","accelerationIncludingGravity","accelerator","accept","acceptCharset","acceptNode","accessKey","accessKeyLabel","accuracy","acos","acosh","action","actionURL","active","activeCues","activeElement","activeSourceBuffers","activeSourceCount","activeTexture","add","addBehavior","addCandidate","addColorStop","addCue","addElement","addEventListener","addFilter","addFromString","addFromUri","addIceCandidate","addImport","addListener","addNamed","addPageRule","addPath","addPointer","addRange","addRegion","addRule","addSearchEngine","addSourceBuffer","addStream","addTextTrack","addTrack","addWakeLockListener","addedNodes","additionalName","additiveSymbols","addons","adoptNode","adr","advance","alert","algorithm","align","align-content","align-items","align-self","alignContent","alignItems","alignSelf","alignmentBaseline","alinkColor","all","allSettled","allowFullscreen","allowedDirections","alpha","alt","altGraphKey","altHtml","altKey","altLeft","altitude","altitudeAccuracy","amplitude","ancestorOrigins","anchor","anchorNode","anchorOffset","anchors","angle","animVal","animate","animatedInstanceRoot","animatedNormalizedPathSegList","animatedPathSegList","animatedPoints","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","animationDelay","animationDirection","animationDuration","animationFillMode","animationIterationCount","animationName","animationPlayState","animationStartTime","animationTimingFunction","animationsPaused","anniversary","any","app","appCodeName","appMinorVersion","appName","appNotifications","appVersion","append","appendBuffer","appendChild","appendData","appendItem","appendMedium","appendNamed","appendRule","appendStream","appendWindowEnd","appendWindowStart","applets","applicationCache","apply","applyElement","arc","arcTo","archive","areas","arguments","arrayBuffer","asin","asinh","assert","assign","async","atEnd","atan","atan2","atanh","atob","attachEvent","attachShader","attachShadow","attachments","attack","attrChange","attrName","attributeFilter","attributeName","attributeNamespace","attributeOldValue","attributes","audioTracks","autoIncrement","autobuffer","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","availHeight","availLeft","availTop","availWidth","availability","available","aversion","axes","axis","azimuth","b","back","backface-visibility","backfaceVisibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundColor","backgroundImage","backgroundOrigin","backgroundPosition","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundSize","badInput","balance","baseFrequencyX","baseFrequencyY","baseNode","baseOffset","baseURI","baseVal","baselineShift","battery","bday","beginElement","beginElementAt","beginPath","behavior","behaviorCookie","behaviorPart","behaviorUrns","beta","bezierCurveTo","bgColor","bgProperties","bias","big","binaryType","bind","bindAttribLocation","bindBuffer","bindFramebuffer","bindRenderbuffer","bindTexture","blendColor","blendEquation","blendEquationSeparate","blendFunc","blendFuncSeparate","blink","blob","blockDirection","blue","blur","body","bodyUsed","bold","bookmarks","booleanValue","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","borderBottom","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStyle","borderBottomWidth","borderCollapse","borderColor","borderColorDark","borderColorLight","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","borderLeft","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRadius","borderRight","borderRightColor","borderRightStyle","borderRightWidth","borderSpacing","borderStyle","borderTop","borderTopColor","borderTopLeftRadius","borderTopRightRadius","borderTopStyle","borderTopWidth","borderWidth","bottom","bottomMargin","bound","boundElements","boundingClientRect","boundingHeight","boundingLeft","boundingTop","boundingWidth","bounds","box-decoration-break","box-shadow","box-sizing","boxDecorationBreak","boxShadow","boxSizing","breakAfter","breakBefore","breakInside","browserLanguage","btoa","bubbles","buffer","bufferData","bufferDepth","bufferSize","bufferSubData","buffered","bufferedAmount","buildID","buildNumber","button","buttonID","buttons","byteLength","byteOffset","c","call","caller","canBeFormatted","canBeMounted","canBeShared","canHaveChildren","canHaveHTML","canPlayType","cancel","cancelAnimationFrame","cancelBubble","cancelScheduledValues","cancelable","candidate","canvas","caption","caption-side","captionSide","capture","captureEvents","captureStackTrace","caretPositionFromPoint","caretRangeFromPoint","cast","catch","category","cbrt","cd","ceil","cellIndex","cellPadding","cellSpacing","cells","ch","chOff","chain","challenge","changedTouches","channel","channelCount","channelCountMode","channelInterpretation","char","charAt","charCode","charCodeAt","charIndex","characterData","characterDataOldValue","characterSet","charging","chargingTime","charset","checkEnclosure","checkFramebufferStatus","checkIntersection","checkValidity","checked","childElementCount","childList","childNodes","children","chrome","ciphertext","cite","classList","className","classid","clear","clearAttributes","clearColor","clearData","clearDepth","clearImmediate","clearInterval","clearMarks","clearMeasures","clearParameters","clearRect","clearResourceTimings","clearShadow","clearStencil","clearTimeout","clearWatch","click","clickCount","clientHeight","clientInformation","clientLeft","clientRect","clientRects","clientTop","clientWidth","clientX","clientY","clip","clip-path","clip-rule","clipBottom","clipLeft","clipPath","clipPathUnits","clipRight","clipRule","clipTop","clipboardData","clone","cloneContents","cloneNode","cloneRange","close","closePath","closed","closest","clz","clz32","cmp","code","codeBase","codePointAt","codeType","colSpan","collapse","collapseToEnd","collapseToStart","collapsed","collect","colno","color","color-interpolation","color-interpolation-filters","colorDepth","colorInterpolation","colorInterpolationFilters","colorMask","colorType","cols","columnCount","columnFill","columnGap","columnNumber","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","columnWidth","columns","command","commitPreferences","commonAncestorContainer","compact","compareBoundaryPoints","compareDocumentPosition","compareEndPoints","compareNode","comparePoint","compatMode","compatible","compile","compileShader","complete","componentFromPoint","compositionEndOffset","compositionStartOffset","compressedTexImage2D","compressedTexSubImage2D","concat","conditionText","coneInnerAngle","coneOuterAngle","coneOuterGain","confirm","confirmComposition","confirmSiteSpecificTrackingException","confirmWebWideTrackingException","connect","connectEnd","connectStart","connected","connection","connectionSpeed","console","consolidate","constrictionActive","constructor","contactID","contains","containsNode","content","contentDocument","contentEditable","contentOverflow","contentScriptType","contentStyleType","contentType","contentWindow","context","contextMenu","contextmenu","continue","continuous","control","controller","controls","convertToSpecifiedUnits","cookie","cookieEnabled","coords","copyFromChannel","copyTexImage2D","copyTexSubImage2D","copyToChannel","copyWithin","correspondingElement","correspondingUseElement","cos","cosh","count","counter-increment","counter-reset","counterIncrement","counterReset","cpuClass","cpuSleepAllowed","create","createAnalyser","createAnswer","createAttribute","createAttributeNS","createBiquadFilter","createBuffer","createBufferSource","createCDATASection","createCSSStyleSheet","createCaption","createChannelMerger","createChannelSplitter","createComment","createContextualFragment","createControlRange","createConvolver","createDTMFSender","createDataChannel","createDelay","createDelayNode","createDocument","createDocumentFragment","createDocumentType","createDynamicsCompressor","createElement","createElementNS","createEntityReference","createEvent","createEventObject","createExpression","createFramebuffer","createFunction","createGain","createGainNode","createHTMLDocument","createImageBitmap","createImageData","createIndex","createJavaScriptNode","createLinearGradient","createMediaElementSource","createMediaKeys","createMediaStreamDestination","createMediaStreamSource","createMutableFile","createNSResolver","createNodeIterator","createNotification","createObjectStore","createObjectURL","createOffer","createOscillator","createPanner","createPattern","createPeriodicWave","createPopup","createProcessingInstruction","createProgram","createRadialGradient","createRange","createRangeCollection","createRenderbuffer","createSVGAngle","createSVGLength","createSVGMatrix","createSVGNumber","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegClosePath","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPoint","createSVGRect","createSVGTransform","createSVGTransformFromMatrix","createScriptProcessor","createSession","createShader","createShadowRoot","createStereoPanner","createStyleSheet","createTBody","createTFoot","createTHead","createTextNode","createTextRange","createTexture","createTouch","createTouchList","createTreeWalker","createWaveShaper","creationTime","crossOrigin","crypto","csi","cssFloat","cssRules","cssText","cssValueType","ctrlKey","ctrlLeft","cues","cullFace","currentNode","currentPage","currentScale","currentScript","currentSrc","currentState","currentStyle","currentTarget","currentTime","currentTranslate","currentView","cursor","curve","customError","cx","cy","d","data","dataFld","dataFormatAs","dataPageSize","dataSrc","dataTransfer","database","dataset","dateTime","db","debug","debuggerEnabled","declare","decode","decodeAudioData","decodeURI","decodeURIComponent","decodingInfo","decrypt","default","defaultCharset","defaultChecked","defaultMuted","defaultPlaybackRate","defaultPrevented","defaultSelected","defaultStatus","defaultURL","defaultValue","defaultView","defaultstatus","defer","defineMagicFunction","defineMagicVariable","defineProperties","defineProperty","delayTime","delete","deleteBuffer","deleteCaption","deleteCell","deleteContents","deleteData","deleteDatabase","deleteFramebuffer","deleteFromDocument","deleteIndex","deleteMedium","deleteObjectStore","deleteProgram","deleteRenderbuffer","deleteRow","deleteRule","deleteShader","deleteTFoot","deleteTHead","deleteTexture","deliverChangeRecords","delivery","deliveryInfo","deliveryStatus","deliveryTimestamp","delta","deltaMode","deltaX","deltaY","deltaZ","depthFunc","depthMask","depthRange","deriveBits","deriveKey","description","deselectAll","designMode","destination","destinationURL","detach","detachEvent","detachShader","detail","detune","devicePixelRatio","deviceXDPI","deviceYDPI","diffuseConstant","digest","dimensions","dir","dirName","direction","dirxml","disable","disableVertexAttribArray","disabled","dischargingTime","disconnect","dispatchEvent","display","distanceModel","divisor","djsapi","djsproxy","doImport","doNotTrack","doScroll","doctype","document","documentElement","documentMode","documentURI","dolphin","dolphinGameCenter","dolphininfo","dolphinmeta","domComplete","domContentLoadedEventEnd","domContentLoadedEventStart","domInteractive","domLoading","domain","domainLookupEnd","domainLookupStart","dominant-baseline","dominantBaseline","done","dopplerFactor","download","dragDrop","draggable","drawArrays","drawArraysInstancedANGLE","drawCustomFocusRing","drawElements","drawElementsInstancedANGLE","drawFocusIfNeeded","drawImage","drawImageFromRect","drawSystemFocusRing","drawingBufferHeight","drawingBufferWidth","dropEffect","droppedVideoFrames","dropzone","dump","duplicate","duration","dvname","dvnum","dx","dy","dynsrc","e","edgeMode","effectAllowed","elapsedTime","elementFromPoint","elements","elevation","ellipse","email","embeds","empty","empty-cells","emptyCells","enable","enableBackground","enableStyleSheetsForSet","enableVertexAttribArray","enabled","enabledPlugin","encode","encodeURI","encodeURIComponent","encoding","encrypt","enctype","end","endContainer","endElement","endElementAt","endOfStream","endOffset","endTime","ended","endsWith","entities","entries","entryType","enumerate","enumerateEditable","error","errorCode","escape","eval","evaluate","event","eventPhase","every","exception","exec","execCommand","execCommandShowHelp","execScript","exitFullscreen","exitPointerLock","exp","expand","expandEntityReferences","expando","expansion","expiryDate","explicitOriginalTarget","expm1","exponent","exponentialRampToValueAtTime","exportKey","extend","extensions","extentNode","extentOffset","external","externalResourcesRequired","extractContents","extractable","f","face","factoryReset","fallback","familyName","farthestViewportElement","fastSeek","fatal","fetch","fetchStart","fftSize","fgColor","fileCreatedDate","fileHandle","fileModifiedDate","fileName","fileSize","fileUpdatedDate","filename","files","fill","fill-opacity","fill-rule","fillOpacity","fillRect","fillRule","fillStyle","fillText","filter","filterResX","filterResY","filterUnits","filters","finally","find","findIndex","findRule","findText","finish","fireEvent","firstChild","firstElementChild","firstPage","fixed","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","flexBasis","flexDirection","flexFlow","flexGrow","flexShrink","flexWrap","flipX","flipY","float","flood-color","flood-opacity","floodColor","floodOpacity","floor","flush","focus","focusNode","focusOffset","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","fontFamily","fontFeatureSettings","fontKerning","fontLanguageOverride","fontSize","fontSizeAdjust","fontSmoothingEnabled","fontStretch","fontStyle","fontSynthesis","fontVariant","fontVariantAlternates","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariantPosition","fontWeight","fontcolor","fonts","fontsize","for","forEach","forceRedraw","form","formAction","formEnctype","formMethod","formNoValidate","formTarget","format","formatToParts","forms","forward","fr","frame","frameBorder","frameElement","frameSpacing","framebufferRenderbuffer","framebufferTexture2D","frames","freeSpace","freeze","frequency","frequencyBinCount","from","fromCharCode","fromCodePoint","fromElement","frontFace","fround","fullScreen","fullscreenElement","fullscreenEnabled","fx","fy","gain","gamepad","gamma","genderIdentity","generateKey","generateMipmap","generateRequest","geolocation","gestureObject","get","getActiveAttrib","getActiveUniform","getAdjacentText","getAll","getAllResponseHeaders","getAsFile","getAsString","getAttachedShaders","getAttribLocation","getAttribute","getAttributeNS","getAttributeNode","getAttributeNodeNS","getAudioTracks","getBBox","getBattery","getBlob","getBookmark","getBoundingClientRect","getBufferParameter","getByteFrequencyData","getByteTimeDomainData","getCSSCanvasContext","getCTM","getCandidateWindowClientRect","getChannelData","getCharNumAtPosition","getClientRect","getClientRects","getCompositionAlternatives","getComputedStyle","getComputedTextLength","getConfiguration","getContext","getContextAttributes","getCounterValue","getCueAsHTML","getCueById","getCurrentPosition","getCurrentTime","getData","getDatabaseNames","getDate","getDay","getDefaultComputedStyle","getDestinationInsertionPoints","getDistributedNodes","getEditable","getElementById","getElementsByClassName","getElementsByName","getElementsByTagName","getElementsByTagNameNS","getEnclosureList","getEndPositionOfChar","getEntries","getEntriesByName","getEntriesByType","getError","getExtension","getExtentOfChar","getFeature","getFile","getFloat32","getFloat64","getFloatFrequencyData","getFloatTimeDomainData","getFloatValue","getFramebufferAttachmentParameter","getFrequencyResponse","getFullYear","getGamepads","getHours","getImageData","getInt16","getInt32","getInt8","getIntersectionList","getItem","getItems","getKey","getLineDash","getLocalStreams","getMarks","getMatchedCSSRules","getMeasures","getMetadata","getMilliseconds","getMinutes","getModifierState","getMonth","getNamedItem","getNamedItemNS","getNotifier","getNumberOfChars","getOverrideHistoryNavigationMode","getOverrideStyle","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","getParameter","getPathSegAtLength","getPointAtLength","getPreference","getPreferenceDefault","getPresentationAttribute","getPreventDefault","getProgramInfoLog","getProgramParameter","getPropertyCSSValue","getPropertyPriority","getPropertyShorthand","getPropertyValue","getPrototypeOf","getRGBColorValue","getRandomValues","getRangeAt","getReceivers","getRectValue","getRegistration","getRemoteStreams","getRenderbufferParameter","getResponseHeader","getRoot","getRotationOfChar","getSVGDocument","getScreenCTM","getSeconds","getSelection","getSenders","getShaderInfoLog","getShaderParameter","getShaderPrecisionFormat","getShaderSource","getSimpleDuration","getSiteIcons","getSources","getSpeculativeParserUrls","getStartPositionOfChar","getStartTime","getStats","getStorageUpdates","getStreamById","getStringValue","getSubStringLength","getSubscription","getSupportedExtensions","getTexParameter","getTime","getTimezoneOffset","getTotalLength","getTrackById","getTracks","getTransformToElement","getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","getUint16","getUint32","getUint8","getUniform","getUniformLocation","getUserMedia","getValues","getVarDate","getVariableValue","getVertexAttrib","getVertexAttribOffset","getVideoPlaybackQuality","getVideoTracks","getWakeLockState","getYear","givenName","global","globalAlpha","globalCompositeOperation","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","go","gradientTransform","gradientUnits","grammars","green","group","groupCollapsed","groupEnd","hardwareConcurrency","has","hasAttribute","hasAttributeNS","hasAttributes","hasChildNodes","hasComposition","hasExtension","hasFeature","hasFocus","hasLayout","hasOwnProperty","hash","head","headers","heading","height","hidden","hide","hideFocus","high","hint","history","honorificPrefix","honorificSuffix","horizontalOverflow","host","hostname","href","hreflang","hspace","html5TagCheckInerface","htmlFor","htmlText","httpEquiv","hwTimestamp","hypot","iccId","iceConnectionState","iceGatheringState","icon","id","identifier","identity","ignoreBOM","ignoreCase","image-orientation","image-rendering","imageOrientation","imageRendering","images","ime-mode","imeMode","implementation","importKey","importNode","importStylesheet","imports","impp","imul","in1","in2","inBandMetadataTrackDispatchType","inRange","includes","incremental","indeterminate","index","indexNames","indexOf","indexedDB","inertiaDestinationX","inertiaDestinationY","info","init","initAnimationEvent","initBeforeLoadEvent","initClipboardEvent","initCloseEvent","initCommandEvent","initCompositionEvent","initCustomEvent","initData","initDeviceMotionEvent","initDeviceOrientationEvent","initDragEvent","initErrorEvent","initEvent","initFocusEvent","initGestureEvent","initHashChangeEvent","initKeyEvent","initKeyboardEvent","initMSManipulationEvent","initMessageEvent","initMouseEvent","initMouseScrollEvent","initMouseWheelEvent","initMutationEvent","initNSMouseEvent","initOverflowEvent","initPageEvent","initPageTransitionEvent","initPointerEvent","initPopStateEvent","initProgressEvent","initScrollAreaEvent","initSimpleGestureEvent","initStorageEvent","initTextEvent","initTimeEvent","initTouchEvent","initTransitionEvent","initUIEvent","initWebKitAnimationEvent","initWebKitTransitionEvent","initWebKitWheelEvent","initWheelEvent","initialTime","initialize","initiatorType","inner","innerHTML","innerHeight","innerText","innerWidth","input","inputBuffer","inputEncoding","inputMethod","insertAdjacentElement","insertAdjacentHTML","insertAdjacentText","insertBefore","insertCell","insertData","insertItemBefore","insertNode","insertRow","insertRule","instanceRoot","intercept","interimResults","internalSubset","intersectsNode","interval","invalidIteratorState","inverse","invertSelf","is","is2D","isAlternate","isArray","isBingCurrentSearchDefault","isBuffer","isCandidateWindowVisible","isChar","isCollapsed","isComposing","isContentEditable","isContentHandlerRegistered","isContextLost","isDefaultNamespace","isDisabled","isEnabled","isEqual","isEqualNode","isExtensible","isFinite","isFramebuffer","isFrozen","isGenerator","isId","isInjected","isInteger","isMap","isMultiLine","isNaN","isOpen","isPointInFill","isPointInPath","isPointInRange","isPointInStroke","isPrefAlternate","isPrimary","isProgram","isPropertyImplicit","isProtocolHandlerRegistered","isPrototypeOf","isRenderbuffer","isSafeInteger","isSameNode","isSealed","isShader","isSupported","isTextEdit","isTexture","isTrusted","isTypeSupported","isView","isolation","italics","item","itemId","itemProp","itemRef","itemScope","itemType","itemValue","iterateNext","iterator","javaEnabled","jobTitle","join","json","justify-content","justifyContent","k1","k2","k3","k4","kernelMatrix","kernelUnitLengthX","kernelUnitLengthY","kerning","key","keyCode","keyFor","keyIdentifier","keyLightEnabled","keyLocation","keyPath","keySystem","keyText","keyUsage","keys","keytype","kind","knee","label","labels","lang","language","languages","largeArcFlag","lastChild","lastElementChild","lastEventId","lastIndex","lastIndexOf","lastMatch","lastMessageSubject","lastMessageType","lastModified","lastModifiedDate","lastPage","lastParen","lastState","lastStyleSheetSet","latitude","layerX","layerY","layoutFlow","layoutGrid","layoutGridChar","layoutGridLine","layoutGridMode","layoutGridType","lbound","left","leftContext","leftMargin","length","lengthAdjust","lengthComputable","letter-spacing","letterSpacing","level","lighting-color","lightingColor","limitingConeAngle","line","line-height","lineAlign","lineBreak","lineCap","lineDashOffset","lineHeight","lineJoin","lineNumber","lineTo","lineWidth","linearRampToValueAtTime","lineno","link","linkColor","linkProgram","links","list","list-style","list-style-image","list-style-position","list-style-type","listStyle","listStyleImage","listStylePosition","listStyleType","listener","load","loadEventEnd","loadEventStart","loadTimes","loaded","localDescription","localName","localStorage","locale","localeCompare","location","locationbar","lock","lockedFile","log","log10","log1p","log2","logicalXDPI","logicalYDPI","longDesc","longitude","lookupNamespaceURI","lookupPrefix","loop","loopEnd","loopStart","looping","low","lower","lowerBound","lowerOpen","lowsrc","m11","m12","m13","m14","m21","m22","m23","m24","m31","m32","m33","m34","m41","m42","m43","m44","manifest","map","mapping","margin","margin-bottom","margin-left","margin-right","margin-top","marginBottom","marginHeight","marginLeft","marginRight","marginTop","marginWidth","mark","marker","marker-end","marker-mid","marker-offset","marker-start","markerEnd","markerHeight","markerMid","markerOffset","markerStart","markerUnits","markerWidth","marks","mask","mask-type","maskContentUnits","maskType","maskUnits","match","matchMedia","matchMedium","matches","matrix","matrixTransform","max","max-height","max-width","maxAlternatives","maxChannelCount","maxConnectionsPerServer","maxDecibels","maxDistance","maxHeight","maxLength","maxTouchPoints","maxValue","maxWidth","measure","measureText","media","mediaCapabilities","mediaDevices","mediaElement","mediaGroup","mediaKeys","mediaText","meetOrSlice","memory","menubar","mergeAttributes","message","messageClass","messageHandlers","metaKey","method","mimeType","mimeTypes","min","min-height","min-width","minDecibels","minHeight","minValue","minWidth","miterLimit","mix-blend-mode","mixBlendMode","mode","modify","mount","move","moveBy","moveEnd","moveFirst","moveFocusDown","moveFocusLeft","moveFocusRight","moveFocusUp","moveNext","moveRow","moveStart","moveTo","moveToBookmark","moveToElementText","moveToPoint","mozAdd","mozAnimationStartTime","mozAnon","mozApps","mozAudioCaptured","mozAudioChannelType","mozAutoplayEnabled","mozCancelAnimationFrame","mozCancelFullScreen","mozCancelRequestAnimationFrame","mozCaptureStream","mozCaptureStreamUntilEnded","mozClearDataAt","mozContact","mozContacts","mozCreateFileHandle","mozCurrentTransform","mozCurrentTransformInverse","mozCursor","mozDash","mozDashOffset","mozDecodedFrames","mozExitPointerLock","mozFillRule","mozFragmentEnd","mozFrameDelay","mozFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozGetAll","mozGetAllKeys","mozGetAsFile","mozGetDataAt","mozGetMetadata","mozGetUserMedia","mozHasAudio","mozHasItem","mozHidden","mozImageSmoothingEnabled","mozIndexedDB","mozInnerScreenX","mozInnerScreenY","mozInputSource","mozIsTextField","mozItem","mozItemCount","mozItems","mozLength","mozLockOrientation","mozMatchesSelector","mozMovementX","mozMovementY","mozOpaque","mozOrientation","mozPaintCount","mozPaintedFrames","mozParsedFrames","mozPay","mozPointerLockElement","mozPresentedFrames","mozPreservesPitch","mozPressure","mozPrintCallback","mozRTCIceCandidate","mozRTCPeerConnection","mozRTCSessionDescription","mozRemove","mozRequestAnimationFrame","mozRequestFullScreen","mozRequestPointerLock","mozSetDataAt","mozSetImageElement","mozSourceNode","mozSrcObject","mozSystem","mozTCPSocket","mozTextStyle","mozTypesAt","mozUnlockOrientation","mozUserCancelled","mozVisibilityState","msAnimation","msAnimationDelay","msAnimationDirection","msAnimationDuration","msAnimationFillMode","msAnimationIterationCount","msAnimationName","msAnimationPlayState","msAnimationStartTime","msAnimationTimingFunction","msBackfaceVisibility","msBlockProgression","msCSSOMElementFloatMetrics","msCaching","msCachingEnabled","msCancelRequestAnimationFrame","msCapsLockWarningOff","msClearImmediate","msClose","msContentZoomChaining","msContentZoomFactor","msContentZoomLimit","msContentZoomLimitMax","msContentZoomLimitMin","msContentZoomSnap","msContentZoomSnapPoints","msContentZoomSnapType","msContentZooming","msConvertURL","msCrypto","msDoNotTrack","msElementsFromPoint","msElementsFromRect","msExitFullscreen","msExtendedCode","msFillRule","msFirstPaint","msFlex","msFlexAlign","msFlexDirection","msFlexFlow","msFlexItemAlign","msFlexLinePack","msFlexNegative","msFlexOrder","msFlexPack","msFlexPositive","msFlexPreferredSize","msFlexWrap","msFlowFrom","msFlowInto","msFontFeatureSettings","msFullscreenElement","msFullscreenEnabled","msGetInputContext","msGetRegionContent","msGetUntransformedBounds","msGraphicsTrustStatus","msGridColumn","msGridColumnAlign","msGridColumnSpan","msGridColumns","msGridRow","msGridRowAlign","msGridRowSpan","msGridRows","msHidden","msHighContrastAdjust","msHyphenateLimitChars","msHyphenateLimitLines","msHyphenateLimitZone","msHyphens","msImageSmoothingEnabled","msImeAlign","msIndexedDB","msInterpolationMode","msIsStaticHTML","msKeySystem","msKeys","msLaunchUri","msLockOrientation","msManipulationViewsEnabled","msMatchMedia","msMatchesSelector","msMaxTouchPoints","msOrientation","msOverflowStyle","msPerspective","msPerspectiveOrigin","msPlayToDisabled","msPlayToPreferredSourceUri","msPlayToPrimary","msPointerEnabled","msRegionOverflow","msReleasePointerCapture","msRequestAnimationFrame","msRequestFullscreen","msSaveBlob","msSaveOrOpenBlob","msScrollChaining","msScrollLimit","msScrollLimitXMax","msScrollLimitXMin","msScrollLimitYMax","msScrollLimitYMin","msScrollRails","msScrollSnapPointsX","msScrollSnapPointsY","msScrollSnapType","msScrollSnapX","msScrollSnapY","msScrollTranslation","msSetImmediate","msSetMediaKeys","msSetPointerCapture","msTextCombineHorizontal","msTextSizeAdjust","msToBlob","msTouchAction","msTouchSelect","msTraceAsyncCallbackCompleted","msTraceAsyncCallbackStarting","msTraceAsyncOperationCompleted","msTraceAsyncOperationStarting","msTransform","msTransformOrigin","msTransformStyle","msTransition","msTransitionDelay","msTransitionDuration","msTransitionProperty","msTransitionTimingFunction","msUnlockOrientation","msUpdateAsyncCallbackRelation","msUserSelect","msVisibilityState","msWrapFlow","msWrapMargin","msWrapThrough","msWriteProfilerMark","msZoom","msZoomTo","mt","multiEntry","multiSelectionObj","multiline","multiple","multiply","multiplySelf","mutableFile","muted","n","name","nameProp","namedItem","namedRecordset","names","namespaceURI","namespaces","naturalHeight","naturalWidth","navigate","navigation","navigationMode","navigationStart","navigator","near","nearestViewportElement","negative","netscape","networkState","newScale","newTranslate","newURL","newValue","newValueSpecifiedUnits","newVersion","newhome","next","nextElementSibling","nextNode","nextPage","nextSibling","nickname","noHref","noResize","noShade","noValidate","noWrap","nodeName","nodeType","nodeValue","normalize","normalizedPathSegList","notationName","notations","note","noteGrainOn","noteOff","noteOn","now","numOctaves","number","numberOfChannels","numberOfInputs","numberOfItems","numberOfOutputs","numberValue","oMatchesSelector","object","object-fit","object-position","objectFit","objectPosition","objectStore","objectStoreNames","observe","of","offscreenBuffering","offset","offsetHeight","offsetLeft","offsetNode","offsetParent","offsetTop","offsetWidth","offsetX","offsetY","ok","oldURL","oldValue","oldVersion","olderShadowRoot","onLine","onabort","onactivate","onactive","onaddstream","onaddtrack","onafterprint","onafterscriptexecute","onafterupdate","onaudioend","onaudioprocess","onaudiostart","onautocomplete","onautocompleteerror","onbeforeactivate","onbeforecopy","onbeforecut","onbeforedeactivate","onbeforeeditfocus","onbeforepaste","onbeforeprint","onbeforescriptexecute","onbeforeunload","onbeforeupdate","onblocked","onblur","onbounce","onboundary","oncached","oncancel","oncandidatewindowhide","oncandidatewindowshow","oncandidatewindowupdate","oncanplay","oncanplaythrough","once","oncellchange","onchange","onchargingchange","onchargingtimechange","onchecking","onclick","onclose","oncompassneedscalibration","oncomplete","oncontextmenu","oncontrolselect","oncopy","oncuechange","oncut","ondataavailable","ondatachannel","ondatasetchanged","ondatasetcomplete","ondblclick","ondeactivate","ondevicelight","ondevicemotion","ondeviceorientation","ondeviceproximity","ondischargingtimechange","ondisplay","ondownloading","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onencrypted","onend","onended","onenter","onerror","onerrorupdate","onexit","onfilterchange","onfinish","onfocus","onfocusin","onfocusout","onfullscreenchange","onfullscreenerror","ongesturechange","ongestureend","ongesturestart","ongotpointercapture","onhashchange","onhelp","onicecandidate","oniceconnectionstatechange","oninactive","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onlayoutcomplete","onlevelchange","onload","onloadeddata","onloadedmetadata","onloadend","onloadstart","onlosecapture","onlostpointercapture","only","onmark","onmessage","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onmove","onmoveend","onmovestart","onmozfullscreenchange","onmozfullscreenerror","onmozorientationchange","onmozpointerlockchange","onmozpointerlockerror","onmscontentzoom","onmsfullscreenchange","onmsfullscreenerror","onmsgesturechange","onmsgesturedoubletap","onmsgestureend","onmsgesturehold","onmsgesturestart","onmsgesturetap","onmsgotpointercapture","onmsinertiastart","onmslostpointercapture","onmsmanipulationstatechanged","onmsneedkey","onmsorientationchange","onmspointercancel","onmspointerdown","onmspointerenter","onmspointerhover","onmspointerleave","onmspointermove","onmspointerout","onmspointerover","onmspointerup","onmssitemodejumplistitemremoved","onmsthumbnailclick","onnegotiationneeded","onnomatch","onnoupdate","onobsolete","onoffline","ononline","onopen","onorientationchange","onpagechange","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpluginstreamstart","onpointercancel","onpointerdown","onpointerenter","onpointerleave","onpointerlockchange","onpointerlockerror","onpointermove","onpointerout","onpointerover","onpointerup","onpopstate","onprogress","onpropertychange","onratechange","onreadystatechange","onremovestream","onremovetrack","onreset","onresize","onresizeend","onresizestart","onresourcetimingbufferfull","onresult","onresume","onrowenter","onrowexit","onrowsdelete","onrowsinserted","onscroll","onsearch","onseeked","onseeking","onselect","onselectionchange","onselectstart","onshow","onsignalingstatechange","onsoundend","onsoundstart","onspeechend","onspeechstart","onstalled","onstart","onstatechange","onstop","onstorage","onstoragecommit","onsubmit","onsuccess","onsuspend","ontextinput","ontimeout","ontimeupdate","ontoggle","ontouchcancel","ontouchend","ontouchmove","ontouchstart","ontransitionend","onunload","onupdateready","onupgradeneeded","onuserproximity","onversionchange","onvoiceschanged","onvolumechange","onwaiting","onwarning","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkitcurrentplaybacktargetiswirelesschanged","onwebkitfullscreenchange","onwebkitfullscreenerror","onwebkitkeyadded","onwebkitkeyerror","onwebkitkeymessage","onwebkitneedkey","onwebkitorientationchange","onwebkitplaybacktargetavailabilitychanged","onwebkitpointerlockchange","onwebkitpointerlockerror","onwebkitresourcetimingbufferfull","onwebkittransitionend","onwheel","onzoom","opacity","open","openCursor","openDatabase","openKeyCursor","opener","opera","operationType","operator","opr","optimum","options","order","orderX","orderY","ordered","org","orient","orientAngle","orientType","orientation","origin","originalTarget","orphans","oscpu","outerHTML","outerHeight","outerText","outerWidth","outline","outline-color","outline-offset","outline-style","outline-width","outlineColor","outlineOffset","outlineStyle","outlineWidth","outputBuffer","overflow","overflow-x","overflow-y","overflowX","overflowY","overrideMimeType","oversample","ownerDocument","ownerElement","ownerNode","ownerRule","ownerSVGElement","owningElement","p1","p2","p3","p4","pad","padding","padding-bottom","padding-left","padding-right","padding-top","paddingBottom","paddingLeft","paddingRight","paddingTop","page","page-break-after","page-break-before","page-break-inside","pageBreakAfter","pageBreakBefore","pageBreakInside","pageCount","pageX","pageXOffset","pageY","pageYOffset","pages","paint-order","paintOrder","paintRequests","paintType","palette","panningModel","parent","parentElement","parentNode","parentRule","parentStyleSheet","parentTextEdit","parentWindow","parse","parseFloat","parseFromString","parseInt","participants","passive","password","pasteHTML","path","pathLength","pathSegList","pathSegType","pathSegTypeAsLetter","pathname","pattern","patternContentUnits","patternMismatch","patternTransform","patternUnits","pause","pauseAnimations","pauseOnExit","paused","pending","performance","permission","persisted","personalbar","perspective","perspective-origin","perspectiveOrigin","phoneticFamilyName","phoneticGivenName","photo","ping","pitch","pixelBottom","pixelDepth","pixelHeight","pixelLeft","pixelRight","pixelStorei","pixelTop","pixelUnitToMillimeterX","pixelUnitToMillimeterY","pixelWidth","placeholder","platform","play","playbackRate","playbackState","playbackTime","played","plugins","pluginspage","pname","pointer-events","pointerBeforeReferenceNode","pointerEnabled","pointerEvents","pointerId","pointerLockElement","pointerType","points","pointsAtX","pointsAtY","pointsAtZ","polygonOffset","pop","popupWindowFeatures","popupWindowName","popupWindowURI","port","port1","port2","ports","posBottom","posHeight","posLeft","posRight","posTop","posWidth","position","positionAlign","postError","postMessage","poster","pow","powerOff","preMultiplySelf","precision","preferredStyleSheetSet","preferredStylesheetSet","prefix","preload","prepend","preserveAlpha","preserveAspectRatio","preserveAspectRatioString","pressed","pressure","prevValue","preventDefault","preventExtensions","previousElementSibling","previousNode","previousPage","previousScale","previousSibling","previousTranslate","primaryKey","primitiveType","primitiveUnits","principals","print","privateKey","probablySupportsContext","process","processIceMessage","product","productSub","profile","profileEnd","profiles","prompt","properties","propertyIsEnumerable","propertyName","protocol","protocolLong","prototype","pseudoClass","pseudoElement","publicId","publicKey","published","push","pushNotification","pushState","put","putImageData","quadraticCurveTo","qualifier","queryCommandEnabled","queryCommandIndeterm","queryCommandState","queryCommandSupported","queryCommandText","queryCommandValue","querySelector","querySelectorAll","quote","quotes","r","r1","r2","race","radiogroup","radiusX","radiusY","random","range","rangeCount","rangeMax","rangeMin","rangeOffset","rangeOverflow","rangeParent","rangeUnderflow","rate","ratio","raw","read","readAsArrayBuffer","readAsBinaryString","readAsBlob","readAsDataURL","readAsText","readOnly","readPixels","readReportRequested","readyState","reason","reboot","receiver","receivers","recordNumber","recordset","rect","red","redirectCount","redirectEnd","redirectStart","reduce","reduceRight","reduction","refDistance","refX","refY","referenceNode","referrer","refresh","region","regionAnchorX","regionAnchorY","regionId","regions","register","registerContentHandler","registerElement","registerProtocolHandler","reject","rel","relList","relatedNode","relatedTarget","release","releaseCapture","releaseEvents","releasePointerCapture","releaseShaderCompiler","reliable","reload","remainingSpace","remoteDescription","remove","removeAllRanges","removeAttribute","removeAttributeNS","removeAttributeNode","removeBehavior","removeChild","removeCue","removeEventListener","removeFilter","removeImport","removeItem","removeListener","removeNamedItem","removeNamedItemNS","removeNode","removeParameter","removeProperty","removeRange","removeRegion","removeRule","removeSiteSpecificTrackingException","removeSourceBuffer","removeStream","removeTrack","removeVariable","removeWakeLockListener","removeWebWideTrackingException","removedNodes","renderbufferStorage","renderedBuffer","renderingMode","repeat","replace","replaceAdjacentText","replaceChild","replaceData","replaceId","replaceItem","replaceNode","replaceState","replaceTrack","replaceWholeText","reportValidity","requestAnimationFrame","requestAutocomplete","requestData","requestFullscreen","requestMediaKeySystemAccess","requestPermission","requestPointerLock","requestStart","requestingWindow","required","requiredExtensions","requiredFeatures","reset","resetTransform","resize","resizeBy","resizeTo","resolve","response","responseBody","responseEnd","responseStart","responseText","responseType","responseURL","responseXML","restore","result","resultType","resume","returnValue","rev","reverse","reversed","revocable","revokeObjectURL","rgbColor","right","rightContext","rightMargin","rolloffFactor","root","rootElement","rotate","rotateAxisAngle","rotateAxisAngleSelf","rotateFromVector","rotateFromVectorSelf","rotateSelf","rotation","rotationRate","round","rowIndex","rowSpan","rows","rubyAlign","rubyOverhang","rubyPosition","rules","runtime","runtimeStyle","rx","ry","safari","sampleCoverage","sampleRate","sandbox","save","scale","scale3d","scale3dSelf","scaleNonUniform","scaleNonUniformSelf","scaleSelf","scheme","scissor","scope","scopeName","scoped","screen","screenBrightness","screenEnabled","screenLeft","screenPixelToMillimeterX","screenPixelToMillimeterY","screenTop","screenX","screenY","scripts","scroll","scroll-behavior","scrollAmount","scrollBehavior","scrollBy","scrollByLines","scrollByPages","scrollDelay","scrollHeight","scrollIntoView","scrollIntoViewIfNeeded","scrollLeft","scrollLeftMax","scrollMaxX","scrollMaxY","scrollTo","scrollTop","scrollTopMax","scrollWidth","scrollX","scrollY","scrollbar3dLightColor","scrollbarArrowColor","scrollbarBaseColor","scrollbarDarkShadowColor","scrollbarFaceColor","scrollbarHighlightColor","scrollbarShadowColor","scrollbarTrackColor","scrollbars","scrolling","sdp","sdpMLineIndex","sdpMid","seal","search","searchBox","searchBoxJavaBridge_","searchParams","sectionRowIndex","secureConnectionStart","security","seed","seekable","seeking","select","selectAllChildren","selectNode","selectNodeContents","selectNodes","selectSingleNode","selectSubString","selected","selectedIndex","selectedOptions","selectedStyleSheetSet","selectedStylesheetSet","selection","selectionDirection","selectionEnd","selectionStart","selector","selectorText","self","send","sendAsBinary","sendBeacon","sender","sentTimestamp","separator","serializeToString","serviceWorker","sessionId","sessionStorage","set","setActive","setAlpha","setAttribute","setAttributeNS","setAttributeNode","setAttributeNodeNS","setBaseAndExtent","setBingCurrentSearchDefault","setCapture","setColor","setCompositeOperation","setCurrentTime","setCustomValidity","setData","setDate","setDragImage","setEnd","setEndAfter","setEndBefore","setEndPoint","setFillColor","setFilterRes","setFloat32","setFloat64","setFloatValue","setFullYear","setHours","setImmediate","setInt16","setInt32","setInt8","setInterval","setItem","setLineCap","setLineDash","setLineJoin","setLineWidth","setLocalDescription","setMatrix","setMatrixValue","setMediaKeys","setMilliseconds","setMinutes","setMiterLimit","setMonth","setNamedItem","setNamedItemNS","setNonUserCodeExceptions","setOrientToAngle","setOrientToAuto","setOrientation","setOverrideHistoryNavigationMode","setPaint","setParameter","setPeriodicWave","setPointerCapture","setPosition","setPreference","setProperty","setPrototypeOf","setRGBColor","setRGBColorICCColor","setRadius","setRangeText","setRemoteDescription","setRequestHeader","setResizable","setResourceTimingBufferSize","setRotate","setScale","setSeconds","setSelectionRange","setServerCertificate","setShadow","setSkewX","setSkewY","setStart","setStartAfter","setStartBefore","setStdDeviation","setStringValue","setStrokeColor","setSuggestResult","setTargetAtTime","setTargetValueAtTime","setTime","setTimeout","setTransform","setTranslate","setUTCDate","setUTCFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setUTCMonth","setUTCSeconds","setUint16","setUint32","setUint8","setUri","setValueAtTime","setValueCurveAtTime","setVariable","setVelocity","setVersion","setYear","settingName","settingValue","sex","shaderSource","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","shadowRoot","shape","shape-rendering","shapeRendering","sheet","shift","shiftKey","shiftLeft","show","showHelp","showModal","showModalDialog","showModelessDialog","showNotification","sidebar","sign","signalingState","sin","singleNodeValue","sinh","size","sizeToContent","sizes","skewX","skewXSelf","skewY","skewYSelf","slice","slope","small","smil","smooth","smoothingTimeConstant","snapToLines","snapshotItem","snapshotLength","some","sort","source","sourceBuffer","sourceBuffers","sourceIndex","spacing","span","speakAs","speaking","specified","specularConstant","specularExponent","speechSynthesis","speed","speedOfSound","spellcheck","splice","split","splitText","spreadMethod","sqrt","src","srcElement","srcFilter","srcUrn","srcdoc","srclang","srcset","stack","stackTraceLimit","stacktrace","standalone","standby","start","startContainer","startIce","startOffset","startRendering","startTime","startsWith","state","status","statusMessage","statusText","statusbar","stdDeviationX","stdDeviationY","stencilFunc","stencilFuncSeparate","stencilMask","stencilMaskSeparate","stencilOp","stencilOpSeparate","step","stepDown","stepMismatch","stepUp","sticky","stitchTiles","stop","stop-color","stop-opacity","stopColor","stopImmediatePropagation","stopOpacity","stopPropagation","storageArea","storageName","storageStatus","storeSiteSpecificTrackingException","storeWebWideTrackingException","stpVersion","stream","strike","stringValue","stringify","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeRect","strokeStyle","strokeText","strokeWidth","style","styleFloat","styleMedia","styleSheet","styleSheetSets","styleSheets","sub","subarray","subject","submit","subscribe","substr","substring","substringData","subtle","subtree","suffix","suffixes","summary","sup","supports","surfaceScale","surroundContents","suspend","suspendRedraw","swapCache","swapNode","sweepFlag","symbols","system","systemCode","systemId","systemLanguage","systemXDPI","systemYDPI","tBodies","tFoot","tHead","tabIndex","table","table-layout","tableLayout","tableValues","tag","tagName","tagUrn","tags","taintEnabled","takeRecords","tan","tanh","target","targetElement","targetTouches","targetX","targetY","tel","terminate","test","texImage2D","texParameterf","texParameteri","texSubImage2D","text","text-align","text-anchor","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","textAlign","textAlignLast","textAnchor","textAutospace","textBaseline","textContent","textDecoration","textDecorationBlink","textDecorationColor","textDecorationLine","textDecorationLineThrough","textDecorationNone","textDecorationOverline","textDecorationStyle","textDecorationUnderline","textIndent","textJustify","textJustifyTrim","textKashida","textKashidaSpace","textLength","textOverflow","textRendering","textShadow","textTracks","textTransform","textUnderlinePosition","then","threadId","threshold","tiltX","tiltY","time","timeEnd","timeStamp","timeout","timestamp","timestampOffset","timing","title","toArray","toBlob","toDataURL","toDateString","toElement","toExponential","toFixed","toFloat32Array","toFloat64Array","toGMTString","toISOString","toJSON","toLocaleDateString","toLocaleFormat","toLocaleLowerCase","toLocaleString","toLocaleTimeString","toLocaleUpperCase","toLowerCase","toMethod","toPrecision","toSdp","toSource","toStaticHTML","toString","toStringTag","toTimeString","toUTCString","toUpperCase","toggle","toggleLongPressEnabled","tooLong","toolbar","top","topMargin","total","totalFrameDelay","totalVideoFrames","touchAction","touches","trace","track","transaction","transactions","transform","transform-origin","transform-style","transformOrigin","transformPoint","transformString","transformStyle","transformToDocument","transformToFragment","transition","transition-delay","transition-duration","transition-property","transition-timing-function","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","translate","translateSelf","translationX","translationY","trim","trimLeft","trimRight","trueSpeed","trunc","truncate","type","typeDetail","typeMismatch","typeMustMatch","types","ubound","undefined","unescape","uneval","unicode-bidi","unicodeBidi","uniform1f","uniform1fv","uniform1i","uniform1iv","uniform2f","uniform2fv","uniform2i","uniform2iv","uniform3f","uniform3fv","uniform3i","uniform3iv","uniform4f","uniform4fv","uniform4i","uniform4iv","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","unique","uniqueID","uniqueNumber","unitType","units","unloadEventEnd","unloadEventStart","unlock","unmount","unobserve","unpause","unpauseAnimations","unreadCount","unregister","unregisterContentHandler","unregisterProtocolHandler","unscopables","unselectable","unshift","unsubscribe","unsuspendRedraw","unsuspendRedrawAll","unwatch","unwrapKey","update","updateCommands","updateIce","updateInterval","updateSettings","updated","updating","upload","upper","upperBound","upperOpen","uri","url","urn","urns","usages","useCurrentView","useMap","useProgram","usedSpace","userAgent","userLanguage","username","v8BreakIterator","vAlign","vLink","valid","validateProgram","validationMessage","validity","value","valueAsDate","valueAsNumber","valueAsString","valueInSpecifiedUnits","valueMissing","valueOf","valueText","valueType","values","vector-effect","vectorEffect","velocityAngular","velocityExpansion","velocityX","velocityY","vendor","vendorSub","verify","version","vertexAttrib1f","vertexAttrib1fv","vertexAttrib2f","vertexAttrib2fv","vertexAttrib3f","vertexAttrib3fv","vertexAttrib4f","vertexAttrib4fv","vertexAttribDivisorANGLE","vertexAttribPointer","vertical","vertical-align","verticalAlign","verticalOverflow","vibrate","videoHeight","videoTracks","videoWidth","view","viewBox","viewBoxString","viewTarget","viewTargetString","viewport","viewportAnchorX","viewportAnchorY","viewportElement","visibility","visibilityState","visible","vlinkColor","voice","volume","vrml","vspace","w","wand","warn","wasClean","watch","watchPosition","webdriver","webkitAddKey","webkitAnimation","webkitAnimationDelay","webkitAnimationDirection","webkitAnimationDuration","webkitAnimationFillMode","webkitAnimationIterationCount","webkitAnimationName","webkitAnimationPlayState","webkitAnimationTimingFunction","webkitAppearance","webkitAudioContext","webkitAudioDecodedByteCount","webkitAudioPannerNode","webkitBackfaceVisibility","webkitBackground","webkitBackgroundAttachment","webkitBackgroundClip","webkitBackgroundColor","webkitBackgroundImage","webkitBackgroundOrigin","webkitBackgroundPosition","webkitBackgroundPositionX","webkitBackgroundPositionY","webkitBackgroundRepeat","webkitBackgroundSize","webkitBackingStorePixelRatio","webkitBorderImage","webkitBorderImageOutset","webkitBorderImageRepeat","webkitBorderImageSlice","webkitBorderImageSource","webkitBorderImageWidth","webkitBoxAlign","webkitBoxDirection","webkitBoxFlex","webkitBoxOrdinalGroup","webkitBoxOrient","webkitBoxPack","webkitBoxSizing","webkitCancelAnimationFrame","webkitCancelFullScreen","webkitCancelKeyRequest","webkitCancelRequestAnimationFrame","webkitClearResourceTimings","webkitClosedCaptionsVisible","webkitConvertPointFromNodeToPage","webkitConvertPointFromPageToNode","webkitCreateShadowRoot","webkitCurrentFullScreenElement","webkitCurrentPlaybackTargetIsWireless","webkitDirectionInvertedFromDevice","webkitDisplayingFullscreen","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen","webkitExitPointerLock","webkitFullScreenKeyboardInputAllowed","webkitFullscreenElement","webkitFullscreenEnabled","webkitGenerateKeyRequest","webkitGetAsEntry","webkitGetDatabaseNames","webkitGetEntries","webkitGetEntriesByName","webkitGetEntriesByType","webkitGetFlowByName","webkitGetGamepads","webkitGetImageDataHD","webkitGetNamedFlows","webkitGetRegionFlowRanges","webkitGetUserMedia","webkitHasClosedCaptions","webkitHidden","webkitIDBCursor","webkitIDBDatabase","webkitIDBDatabaseError","webkitIDBDatabaseException","webkitIDBFactory","webkitIDBIndex","webkitIDBKeyRange","webkitIDBObjectStore","webkitIDBRequest","webkitIDBTransaction","webkitImageSmoothingEnabled","webkitIndexedDB","webkitInitMessageEvent","webkitIsFullScreen","webkitKeys","webkitLineDashOffset","webkitLockOrientation","webkitMatchesSelector","webkitMediaStream","webkitNotifications","webkitOfflineAudioContext","webkitOrientation","webkitPeerConnection00","webkitPersistentStorage","webkitPointerLockElement","webkitPostMessage","webkitPreservesPitch","webkitPutImageDataHD","webkitRTCPeerConnection","webkitRegionOverset","webkitRequestAnimationFrame","webkitRequestFileSystem","webkitRequestFullScreen","webkitRequestFullscreen","webkitRequestPointerLock","webkitResolveLocalFileSystemURL","webkitSetMediaKeys","webkitSetResourceTimingBufferSize","webkitShadowRoot","webkitShowPlaybackTargetPicker","webkitSlice","webkitSpeechGrammar","webkitSpeechGrammarList","webkitSpeechRecognition","webkitSpeechRecognitionError","webkitSpeechRecognitionEvent","webkitStorageInfo","webkitSupportsFullscreen","webkitTemporaryStorage","webkitTextSizeAdjust","webkitTransform","webkitTransformOrigin","webkitTransition","webkitTransitionDelay","webkitTransitionDuration","webkitTransitionProperty","webkitTransitionTimingFunction","webkitURL","webkitUnlockOrientation","webkitUserSelect","webkitVideoDecodedByteCount","webkitVisibilityState","webkitWirelessVideoPlaybackDisabled","webkitdropzone","webstore","weight","whatToShow","wheelDelta","wheelDeltaX","wheelDeltaY","which","white-space","whiteSpace","wholeText","widows","width","will-change","willChange","willValidate","window","withCredentials","word-break","word-spacing","word-wrap","wordBreak","wordSpacing","wordWrap","wrap","wrapKey","write","writeln","writingMode","x","x1","x2","xChannelSelector","xmlEncoding","xmlStandalone","xmlVersion","xmlbase","xmllang","xmlspace","y","y1","y2","yChannelSelector","yandex","z","z-index","zIndex","zoom","zoomAndPan","zoomRectScreen"]')},9385:e=>{"use strict";e.exports=require("@javascript-obfuscator/escodegen")},6054:e=>{"use strict";e.exports=require("acorn")},2242:e=>{"use strict";e.exports=require("chalk")},3434:e=>{"use strict";e.exports=require("chance")},516:e=>{"use strict";e.exports=require("class-validator")},647:e=>{"use strict";e.exports=require("commander")},8:e=>{"use strict";e.exports=require("eslint-scope")},4523:e=>{"use strict";e.exports=require("estraverse")},9553:e=>{"use strict";e.exports=require("eventemitter3")},3142:e=>{"use strict";e.exports=require("fast-deep-equal")},5747:e=>{"use strict";e.exports=require("fs")},2991:e=>{"use strict";e.exports=require("inversify")},5667:e=>{"use strict";e.exports=require("js-string-escape")},204:e=>{"use strict";e.exports=require("md5")},3841:e=>{"use strict";e.exports=require("mkdirp")},768:e=>{"use strict";e.exports=require("multimatch")},5622:e=>{"use strict";e.exports=require("path")},9906:e=>{"use strict";e.exports=require("reflect-metadata")},8655:e=>{"use strict";e.exports=require("string-template")},6094:e=>{"use strict";e.exports=require("stringz")}},t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={exports:{}};return e[o].call(n.exports,n,n.exports,r),n.exports}return r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r(7568)})(); +/*! +Copyright (C) 2016-2020 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. +*/ + +require("source-map-support").install(); + + +module.exports = +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./index.cli.ts": +/*!**********************!*\ + !*** ./index.cli.ts ***! + \**********************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: __webpack_exports__, module, __webpack_require__ */ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const JavaScriptObfuscatorCLIFacade_1 = __webpack_require__(/*! ./src/JavaScriptObfuscatorCLIFacade */ "./src/JavaScriptObfuscatorCLIFacade.ts"); +module.exports = JavaScriptObfuscatorCLIFacade_1.JavaScriptObfuscatorCLI; + + +/***/ }), + +/***/ "./src/ASTParserFacade.ts": +/*!********************************!*\ + !*** ./src/ASTParserFacade.ts ***! + \********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ASTParserFacade = void 0; +const acorn = __importStar(__webpack_require__(/*! acorn */ "acorn")); +const chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk")); +class ASTParserFacade { + static parse(sourceCode, config) { + const sourceTypeLength = ASTParserFacade.sourceTypes.length; + for (let i = 0; i < sourceTypeLength; i++) { + try { + return ASTParserFacade.parseType(sourceCode, config, ASTParserFacade.sourceTypes[i]); + } + catch (error) { + if (i < sourceTypeLength - 1) { + continue; + } + throw new Error(ASTParserFacade.processParsingError(sourceCode, error.message, error.loc)); + } + } + throw new Error('Acorn parsing error'); + } + static parseType(sourceCode, inputConfig, sourceType) { + const comments = []; + const config = Object.assign(Object.assign({}, inputConfig), { onComment: comments, sourceType }); + const program = acorn + .parse(sourceCode, config); + if (comments.length) { + program.comments = comments; + } + return program; + } + static processParsingError(sourceCode, errorMessage, position) { + if (!position || !position.line || !position.column) { + throw new Error(errorMessage); + } + const sourceCodeLines = sourceCode.split(/\r?\n/); + const errorLine = sourceCodeLines[position.line - 1]; + if (!errorLine) { + throw new Error(errorMessage); + } + const startErrorIndex = Math.max(0, position.column - ASTParserFacade.nearestSymbolsCount); + const endErrorIndex = Math.min(errorLine.length, position.column + ASTParserFacade.nearestSymbolsCount); + const formattedPointer = ASTParserFacade.colorError('>'); + const formattedCodeSlice = `...${errorLine.slice(startErrorIndex, endErrorIndex).replace(/^\s+/, '')}...`; + throw new Error(`ERROR at line ${position.line}: ${errorMessage}\n${formattedPointer} ${formattedCodeSlice}`); + } +} +exports.ASTParserFacade = ASTParserFacade; +ASTParserFacade.colorError = chalk_1.default.red; +ASTParserFacade.nearestSymbolsCount = 15; +ASTParserFacade.sourceTypes = [ + 'script', + 'module' +]; + + +/***/ }), + +/***/ "./src/JavaScriptObfuscator.ts": +/*!*************************************!*\ + !*** ./src/JavaScriptObfuscator.ts ***! + \*************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var JavaScriptObfuscator_1, _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.JavaScriptObfuscator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ./container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const escodegen = __importStar(__webpack_require__(/*! @javascript-obfuscator/escodegen */ "@javascript-obfuscator/escodegen")); +const TObfuscatedCodeFactory_1 = __webpack_require__(/*! ./types/container/source-code/TObfuscatedCodeFactory */ "./src/types/container/source-code/TObfuscatedCodeFactory.ts"); +const ICodeTransformersRunner_1 = __webpack_require__(/*! ./interfaces/code-transformers/ICodeTransformersRunner */ "./src/interfaces/code-transformers/ICodeTransformersRunner.ts"); +const ILogger_1 = __webpack_require__(/*! ./interfaces/logger/ILogger */ "./src/interfaces/logger/ILogger.ts"); +const IOptions_1 = __webpack_require__(/*! ./interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ./interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const INodeTransformersRunner_1 = __webpack_require__(/*! ./interfaces/node-transformers/INodeTransformersRunner */ "./src/interfaces/node-transformers/INodeTransformersRunner.ts"); +const CodeTransformer_1 = __webpack_require__(/*! ./enums/code-transformers/CodeTransformer */ "./src/enums/code-transformers/CodeTransformer.ts"); +const CodeTransformationStage_1 = __webpack_require__(/*! ./enums/code-transformers/CodeTransformationStage */ "./src/enums/code-transformers/CodeTransformationStage.ts"); +const LoggingMessage_1 = __webpack_require__(/*! ./enums/logger/LoggingMessage */ "./src/enums/logger/LoggingMessage.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ./enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ./enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const EcmaVersion_1 = __webpack_require__(/*! ./constants/EcmaVersion */ "./src/constants/EcmaVersion.ts"); +const ASTParserFacade_1 = __webpack_require__(/*! ./ASTParserFacade */ "./src/ASTParserFacade.ts"); +const NodeGuards_1 = __webpack_require__(/*! ./node/NodeGuards */ "./src/node/NodeGuards.ts"); +const Utils_1 = __webpack_require__(/*! ./utils/Utils */ "./src/utils/Utils.ts"); +let JavaScriptObfuscator = JavaScriptObfuscator_1 = class JavaScriptObfuscator { + constructor(codeTransformersRunner, nodeTransformersRunner, randomGenerator, obfuscatedCodeFactory, logger, options) { + this.codeTransformersRunner = codeTransformersRunner; + this.nodeTransformersRunner = nodeTransformersRunner; + this.randomGenerator = randomGenerator; + this.obfuscatedCodeFactory = obfuscatedCodeFactory; + this.logger = logger; + this.options = options; + } + obfuscate(sourceCode) { + if (typeof sourceCode !== 'string') { + sourceCode = ''; + } + const timeStart = Date.now(); + this.logger.info(LoggingMessage_1.LoggingMessage.Version, Utils_1.Utils.buildVersionMessage("2.9.0", 1605424519076)); + this.logger.info(LoggingMessage_1.LoggingMessage.ObfuscationStarted); + this.logger.info(LoggingMessage_1.LoggingMessage.RandomGeneratorSeed, this.randomGenerator.getInputSeed()); + sourceCode = this.runCodeTransformationStage(sourceCode, CodeTransformationStage_1.CodeTransformationStage.PreparingTransformers); + const astTree = this.parseCode(sourceCode); + const obfuscatedAstTree = this.transformAstTree(astTree); + const generatorOutput = this.generateCode(sourceCode, obfuscatedAstTree); + generatorOutput.code = this.runCodeTransformationStage(generatorOutput.code, CodeTransformationStage_1.CodeTransformationStage.FinalizingTransformers); + const obfuscationTime = (Date.now() - timeStart) / 1000; + this.logger.success(LoggingMessage_1.LoggingMessage.ObfuscationCompleted, obfuscationTime); + return this.getObfuscatedCode(generatorOutput); + } + parseCode(sourceCode) { + return ASTParserFacade_1.ASTParserFacade.parse(sourceCode, JavaScriptObfuscator_1.parseOptions); + } + transformAstTree(astTree) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Initializing); + const isEmptyAstTree = NodeGuards_1.NodeGuards.isProgramNode(astTree) + && !astTree.body.length + && !astTree.leadingComments + && !astTree.trailingComments; + if (isEmptyAstTree) { + this.logger.warn(LoggingMessage_1.LoggingMessage.EmptySourceCode); + return astTree; + } + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Preparing); + if (this.options.deadCodeInjection) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.DeadCodeInjection); + } + if (this.options.controlFlowFlattening) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.ControlFlowFlattening); + } + if (this.options.renameProperties) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.RenameProperties); + } + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Converting); + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers); + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.StringArray); + if (this.options.simplify) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Simplifying); + } + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Finalizing); + return astTree; + } + generateCode(sourceCode, astTree) { + const escodegenParams = Object.assign({}, JavaScriptObfuscator_1.escodegenParams); + if (this.options.sourceMap) { + escodegenParams.sourceMap = this.options.inputFileName || 'sourceMap'; + escodegenParams.sourceContent = sourceCode; + } + const generatorOutput = escodegen.generate(astTree, Object.assign(Object.assign({}, escodegenParams), { format: { + compact: this.options.compact + } })); + generatorOutput.map = generatorOutput.map ? generatorOutput.map.toString() : ''; + return generatorOutput; + } + getObfuscatedCode(generatorOutput) { + return this.obfuscatedCodeFactory(generatorOutput.code, generatorOutput.map); + } + runCodeTransformationStage(code, codeTransformationStage) { + this.logger.info(LoggingMessage_1.LoggingMessage.CodeTransformationStage, codeTransformationStage); + return this.codeTransformersRunner.transform(code, JavaScriptObfuscator_1.codeTransformersList, codeTransformationStage); + } + runNodeTransformationStage(astTree, nodeTransformationStage) { + this.logger.info(LoggingMessage_1.LoggingMessage.NodeTransformationStage, nodeTransformationStage); + return this.nodeTransformersRunner.transform(astTree, JavaScriptObfuscator_1.nodeTransformersList, nodeTransformationStage); + } +}; +JavaScriptObfuscator.parseOptions = { + ecmaVersion: EcmaVersion_1.ecmaVersion, + allowHashBang: true, + allowImportExportEverywhere: true, + allowReturnOutsideFunction: true, + locations: true, + ranges: true +}; +JavaScriptObfuscator.escodegenParams = { + comment: true, + verbatim: 'x-verbatim-property', + sourceMapWithCode: true +}; +JavaScriptObfuscator.codeTransformersList = [ + CodeTransformer_1.CodeTransformer.HashbangOperatorTransformer +]; +JavaScriptObfuscator.nodeTransformersList = [ + NodeTransformer_1.NodeTransformer.BooleanLiteralTransformer, + NodeTransformer_1.NodeTransformer.BlockStatementControlFlowTransformer, + NodeTransformer_1.NodeTransformer.BlockStatementSimplifyTransformer, + NodeTransformer_1.NodeTransformer.CommentsTransformer, + NodeTransformer_1.NodeTransformer.CustomCodeHelpersTransformer, + NodeTransformer_1.NodeTransformer.DeadCodeInjectionTransformer, + NodeTransformer_1.NodeTransformer.EscapeSequenceTransformer, + NodeTransformer_1.NodeTransformer.EvalCallExpressionTransformer, + NodeTransformer_1.NodeTransformer.ExportSpecifierTransformer, + NodeTransformer_1.NodeTransformer.ExpressionStatementsMergeTransformer, + NodeTransformer_1.NodeTransformer.FunctionControlFlowTransformer, + NodeTransformer_1.NodeTransformer.IfStatementSimplifyTransformer, + NodeTransformer_1.NodeTransformer.LabeledStatementTransformer, + NodeTransformer_1.NodeTransformer.RenamePropertiesTransformer, + NodeTransformer_1.NodeTransformer.MemberExpressionTransformer, + NodeTransformer_1.NodeTransformer.MetadataTransformer, + NodeTransformer_1.NodeTransformer.MethodDefinitionTransformer, + NodeTransformer_1.NodeTransformer.NumberLiteralTransformer, + NodeTransformer_1.NodeTransformer.NumberToNumericalExpressionTransformer, + NodeTransformer_1.NodeTransformer.ObfuscatingGuardsTransformer, + NodeTransformer_1.NodeTransformer.ObjectExpressionKeysTransformer, + NodeTransformer_1.NodeTransformer.ObjectExpressionTransformer, + NodeTransformer_1.NodeTransformer.ObjectPatternPropertiesTransformer, + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.ScopeIdentifiersTransformer, + NodeTransformer_1.NodeTransformer.SplitStringTransformer, + NodeTransformer_1.NodeTransformer.StringArrayScopeCallsWrapperTransformer, + NodeTransformer_1.NodeTransformer.StringArrayTransformer, + NodeTransformer_1.NodeTransformer.TemplateLiteralTransformer, + NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer +]; +JavaScriptObfuscator = JavaScriptObfuscator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformersRunner)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformersRunner)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObfuscatedCode)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ILogger)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof ICodeTransformersRunner_1.ICodeTransformersRunner !== "undefined" && ICodeTransformersRunner_1.ICodeTransformersRunner) === "function" ? _a : Object, typeof (_b = typeof INodeTransformersRunner_1.INodeTransformersRunner !== "undefined" && INodeTransformersRunner_1.INodeTransformersRunner) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof TObfuscatedCodeFactory_1.TObfuscatedCodeFactory !== "undefined" && TObfuscatedCodeFactory_1.TObfuscatedCodeFactory) === "function" ? _d : Object, typeof (_e = typeof ILogger_1.ILogger !== "undefined" && ILogger_1.ILogger) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], JavaScriptObfuscator); +exports.JavaScriptObfuscator = JavaScriptObfuscator; + + +/***/ }), + +/***/ "./src/JavaScriptObfuscatorCLIFacade.ts": +/*!**********************************************!*\ + !*** ./src/JavaScriptObfuscatorCLIFacade.ts ***! + \**********************************************/ +/*! flagged exports */ +/*! export JavaScriptObfuscatorCLI [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.JavaScriptObfuscatorCLI = void 0; +__webpack_require__(/*! reflect-metadata */ "reflect-metadata"); +const JavaScriptObfuscatorCLI_1 = __webpack_require__(/*! ./cli/JavaScriptObfuscatorCLI */ "./src/cli/JavaScriptObfuscatorCLI.ts"); +class JavaScriptObfuscatorCLIFacade { + static obfuscate(argv) { + const javaScriptObfuscatorCLI = new JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI(argv); + javaScriptObfuscatorCLI.initialize(); + javaScriptObfuscatorCLI.run(); + } +} +exports.JavaScriptObfuscatorCLI = JavaScriptObfuscatorCLIFacade; + + +/***/ }), + +/***/ "./src/JavaScriptObfuscatorFacade.ts": +/*!*******************************************!*\ + !*** ./src/JavaScriptObfuscatorFacade.ts ***! + \*******************************************/ +/*! flagged exports */ +/*! export JavaScriptObfuscator [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.JavaScriptObfuscator = void 0; +__webpack_require__(/*! reflect-metadata */ "reflect-metadata"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ./container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const InversifyContainerFacade_1 = __webpack_require__(/*! ./container/InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const Options_1 = __webpack_require__(/*! ./options/Options */ "./src/options/Options.ts"); +const Utils_1 = __webpack_require__(/*! ./utils/Utils */ "./src/utils/Utils.ts"); +class JavaScriptObfuscatorFacade { + static obfuscate(sourceCode, inputOptions = {}) { + const inversifyContainerFacade = new InversifyContainerFacade_1.InversifyContainerFacade(); + inversifyContainerFacade.load(sourceCode, '', inputOptions); + const javaScriptObfuscator = inversifyContainerFacade + .get(ServiceIdentifiers_1.ServiceIdentifiers.IJavaScriptObfuscator); + const obfuscatedCode = javaScriptObfuscator.obfuscate(sourceCode); + inversifyContainerFacade.unload(); + return obfuscatedCode; + } + static obfuscateMultiple(sourceCodesObject, inputOptions = {}) { + if (typeof sourceCodesObject !== 'object') { + throw new Error('Source codes object should be a plain object'); + } + return Object + .keys(sourceCodesObject) + .reduce((acc, sourceCodeIdentifier, index) => { + const identifiersPrefix = Utils_1.Utils.getIdentifiersPrefixForMultipleSources(inputOptions.identifiersPrefix, index); + const sourceCode = sourceCodesObject[sourceCodeIdentifier]; + const sourceCodeOptions = Object.assign(Object.assign({}, inputOptions), { identifiersPrefix }); + return Object.assign(Object.assign({}, acc), { [sourceCodeIdentifier]: JavaScriptObfuscatorFacade.obfuscate(sourceCode, sourceCodeOptions) }); + }, {}); + } + static getOptionsByPreset(optionsPreset) { + return Options_1.Options.getOptionsByPreset(optionsPreset); + } +} +exports.JavaScriptObfuscator = JavaScriptObfuscatorFacade; +JavaScriptObfuscatorFacade.version = (_a = "2.9.0") !== null && _a !== void 0 ? _a : 'unknown'; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.ts": +/*!******************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.ts ***! + \******************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CallsGraphAnalyzer_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallsGraphAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TCalleeDataExtractorFactory_1 = __webpack_require__(/*! ../../types/container/calls-graph-analyzer/TCalleeDataExtractorFactory */ "./src/types/container/calls-graph-analyzer/TCalleeDataExtractorFactory.ts"); +const CalleeDataExtractor_1 = __webpack_require__(/*! ../../enums/analyzers/calls-graph-analyzer/CalleeDataExtractor */ "./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let CallsGraphAnalyzer = CallsGraphAnalyzer_1 = class CallsGraphAnalyzer { + constructor(calleeDataExtractorFactory) { + this.calleeDataExtractorFactory = calleeDataExtractorFactory; + } + static getLimitIndex(blockScopeBodyLength) { + const lastIndex = blockScopeBodyLength - 1; + const limitThresholdActivationIndex = CallsGraphAnalyzer_1.limitThresholdActivationLength - 1; + let limitIndex = lastIndex; + if (lastIndex > limitThresholdActivationIndex) { + limitIndex = Math.round(limitThresholdActivationIndex + (lastIndex * CallsGraphAnalyzer_1.limitThreshold)); + if (limitIndex > lastIndex) { + limitIndex = lastIndex; + } + } + return limitIndex; + } + analyze(astTree) { + return this.analyzeRecursive(astTree.body); + } + analyzeRecursive(blockScopeBody) { + const limitIndex = CallsGraphAnalyzer_1.getLimitIndex(blockScopeBody.length); + const callsGraphData = []; + const blockScopeBodyLength = blockScopeBody.length; + for (let index = 0; index < blockScopeBodyLength; index++) { + if (index > limitIndex) { + break; + } + const blockScopeBodyNode = blockScopeBody[index]; + estraverse.traverse(blockScopeBodyNode, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isCallExpressionNode(node)) { + return; + } + if (blockScopeBodyNode.parentNode !== NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(node)) { + return estraverse.VisitorOption.Skip; + } + this.analyzeCallExpressionNode(callsGraphData, blockScopeBody, node); + } + }); + } + return callsGraphData; + } + analyzeCallExpressionNode(callsGraphData, blockScopeBody, callExpressionNode) { + CallsGraphAnalyzer_1.calleeDataExtractorsList.forEach((calleeDataExtractorName) => { + const calleeData = this.calleeDataExtractorFactory(calleeDataExtractorName) + .extract(blockScopeBody, callExpressionNode.callee); + if (!calleeData) { + return; + } + callsGraphData.push(Object.assign(Object.assign({}, calleeData), { callsGraph: this.analyzeRecursive(calleeData.callee.body) })); + }); + } +}; +CallsGraphAnalyzer.calleeDataExtractorsList = [ + CalleeDataExtractor_1.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor, + CalleeDataExtractor_1.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor, + CalleeDataExtractor_1.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor +]; +CallsGraphAnalyzer.limitThresholdActivationLength = 25; +CallsGraphAnalyzer.limitThreshold = 0.002; +CallsGraphAnalyzer = CallsGraphAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICalleeDataExtractor)), + __metadata("design:paramtypes", [typeof (_a = typeof TCalleeDataExtractorFactory_1.TCalleeDataExtractorFactory !== "undefined" && TCalleeDataExtractorFactory_1.TCalleeDataExtractorFactory) === "function" ? _a : Object]) +], CallsGraphAnalyzer); +exports.CallsGraphAnalyzer = CallsGraphAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts": +/*!**************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts ***! + \**************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +let AbstractCalleeDataExtractor = class AbstractCalleeDataExtractor { +}; +AbstractCalleeDataExtractor = __decorate([ + inversify_1.injectable() +], AbstractCalleeDataExtractor); +exports.AbstractCalleeDataExtractor = AbstractCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts ***! + \*************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FunctionDeclarationCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const AbstractCalleeDataExtractor_1 = __webpack_require__(/*! ./AbstractCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let FunctionDeclarationCalleeDataExtractor = class FunctionDeclarationCalleeDataExtractor extends AbstractCalleeDataExtractor_1.AbstractCalleeDataExtractor { + extract(blockScopeBody, callee) { + if (!NodeGuards_1.NodeGuards.isIdentifierNode(callee)) { + return null; + } + const calleeBlockStatement = this.getCalleeBlockStatement(NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(blockScopeBody[0]), callee.name); + if (!calleeBlockStatement) { + return null; + } + return { + callee: calleeBlockStatement, + name: callee.name + }; + } + getCalleeBlockStatement(targetNode, name) { + let calleeBlockStatement = null; + estraverse.traverse(targetNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) && node.id.name === name) { + calleeBlockStatement = node.body; + return estraverse.VisitorOption.Break; + } + } + }); + return calleeBlockStatement; + } +}; +FunctionDeclarationCalleeDataExtractor = __decorate([ + inversify_1.injectable() +], FunctionDeclarationCalleeDataExtractor); +exports.FunctionDeclarationCalleeDataExtractor = FunctionDeclarationCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts": +/*!************************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts ***! + \************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FunctionExpressionCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const AbstractCalleeDataExtractor_1 = __webpack_require__(/*! ./AbstractCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let FunctionExpressionCalleeDataExtractor = class FunctionExpressionCalleeDataExtractor extends AbstractCalleeDataExtractor_1.AbstractCalleeDataExtractor { + extract(blockScopeBody, callee) { + let calleeName = null; + let calleeBlockStatement = null; + if (NodeGuards_1.NodeGuards.isIdentifierNode(callee)) { + calleeName = callee.name; + calleeBlockStatement = this.getCalleeBlockStatement(NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(blockScopeBody[0]), callee.name); + } + else if (NodeGuards_1.NodeGuards.isFunctionExpressionNode(callee)) { + calleeName = null; + calleeBlockStatement = callee.body; + } + if (!calleeBlockStatement) { + return null; + } + return { + callee: calleeBlockStatement, + name: calleeName + }; + } + getCalleeBlockStatement(targetNode, name) { + let calleeBlockStatement = null; + estraverse.traverse(targetNode, { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) && + parentNode && + NodeGuards_1.NodeGuards.isVariableDeclaratorNode(parentNode) && + NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.id) && + parentNode.id.name === name) { + calleeBlockStatement = node.body; + return estraverse.VisitorOption.Break; + } + } + }); + return calleeBlockStatement; + } +}; +FunctionExpressionCalleeDataExtractor = __decorate([ + inversify_1.injectable() +], FunctionExpressionCalleeDataExtractor); +exports.FunctionExpressionCalleeDataExtractor = FunctionExpressionCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor.ts": +/*!**********************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor.ts ***! + \**********************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var ObjectExpressionCalleeDataExtractor_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const AbstractCalleeDataExtractor_1 = __webpack_require__(/*! ./AbstractCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor_1 = class ObjectExpressionCalleeDataExtractor extends AbstractCalleeDataExtractor_1.AbstractCalleeDataExtractor { + static isValidTargetPropertyNode(propertyNode, nextItemInCallsChain) { + if (!propertyNode.key) { + return false; + } + const isTargetPropertyNodeWithIdentifierKey = NodeGuards_1.NodeGuards.isIdentifierNode(propertyNode.key) && propertyNode.key.name === nextItemInCallsChain; + const isTargetPropertyNodeWithLiteralKey = NodeGuards_1.NodeGuards.isLiteralNode(propertyNode.key) && + Boolean(propertyNode.key.value) && + propertyNode.key.value === nextItemInCallsChain; + return isTargetPropertyNodeWithIdentifierKey || isTargetPropertyNodeWithLiteralKey; + } + extract(blockScopeBody, callee) { + if (!NodeGuards_1.NodeGuards.isMemberExpressionNode(callee)) { + return null; + } + const objectMembersCallsChain = this.createObjectMembersCallsChain([], callee); + if (!objectMembersCallsChain.length) { + return null; + } + const functionExpressionName = objectMembersCallsChain[objectMembersCallsChain.length - 1]; + const calleeBlockStatement = this.getCalleeBlockStatement(NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(blockScopeBody[0]), objectMembersCallsChain); + if (!calleeBlockStatement) { + return null; + } + return { + callee: calleeBlockStatement, + name: functionExpressionName + }; + } + createObjectMembersCallsChain(currentChain, memberExpression) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(memberExpression.property) && !memberExpression.computed) { + currentChain.unshift(memberExpression.property.name); + } + else if (NodeGuards_1.NodeGuards.isLiteralNode(memberExpression.property) && + (typeof memberExpression.property.value === 'string' || + typeof memberExpression.property.value === 'number')) { + currentChain.unshift(memberExpression.property.value); + } + else { + return currentChain; + } + if (NodeGuards_1.NodeGuards.isMemberExpressionNode(memberExpression.object)) { + return this.createObjectMembersCallsChain(currentChain, memberExpression.object); + } + else if (NodeGuards_1.NodeGuards.isIdentifierNode(memberExpression.object)) { + currentChain.unshift(memberExpression.object.name); + } + return currentChain; + } + getCalleeBlockStatement(targetNode, objectMembersCallsChain) { + const objectName = objectMembersCallsChain.shift(); + if (!objectName) { + return null; + } + let calleeBlockStatement = null; + estraverse.traverse(targetNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isVariableDeclaratorNode(node) && + NodeGuards_1.NodeGuards.isIdentifierNode(node.id) && + node.init && + NodeGuards_1.NodeGuards.isObjectExpressionNode(node.init) && + node.id.name === objectName) { + calleeBlockStatement = this.findCalleeBlockStatement(node.init.properties, objectMembersCallsChain); + return estraverse.VisitorOption.Break; + } + } + }); + return calleeBlockStatement; + } + findCalleeBlockStatement(objectExpressionProperties, objectMembersCallsChain) { + const nextItemInCallsChain = objectMembersCallsChain.shift(); + if (!nextItemInCallsChain) { + return null; + } + for (const propertyNode of objectExpressionProperties) { + if (!NodeGuards_1.NodeGuards.isPropertyNode(propertyNode)) { + continue; + } + if (!ObjectExpressionCalleeDataExtractor_1.isValidTargetPropertyNode(propertyNode, nextItemInCallsChain)) { + continue; + } + if (NodeGuards_1.NodeGuards.isObjectExpressionNode(propertyNode.value)) { + return this.findCalleeBlockStatement(propertyNode.value.properties, objectMembersCallsChain); + } + if (NodeGuards_1.NodeGuards.isFunctionExpressionNode(propertyNode.value)) { + return propertyNode.value.body; + } + } + return null; + } +}; +ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor_1 = __decorate([ + inversify_1.injectable() +], ObjectExpressionCalleeDataExtractor); +exports.ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer.ts": +/*!*************************************************************************************************!*\ + !*** ./src/analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer.ts ***! + \*************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var NumberNumericalExpressionAnalyzer_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberNumericalExpressionAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let NumberNumericalExpressionAnalyzer = NumberNumericalExpressionAnalyzer_1 = class NumberNumericalExpressionAnalyzer { + constructor(randomGenerator) { + this.numberFactorsMap = new Map(); + this.randomGenerator = randomGenerator; + } + analyze(number) { + if (isNaN(number)) { + throw new Error('Given value is NaN'); + } + if (NumberUtils_1.NumberUtils.isUnsafeNumber(number)) { + return [number]; + } + const additionParts = this.generateAdditionParts(number); + return additionParts.map((addition) => this.mixWithMultiplyParts(addition)); + } + generateAdditionParts(number) { + const additionParts = []; + const upperNumberLimit = Math.min(Math.abs(number * 2), Number.MAX_SAFE_INTEGER); + const from = Math.min(-10000, -upperNumberLimit); + const to = Math.max(10000, upperNumberLimit); + let temporarySum = 0; + for (let i = 0; i < NumberNumericalExpressionAnalyzer_1.additionalParts; i++) { + if (i < NumberNumericalExpressionAnalyzer_1.additionalParts - 1) { + let addition = this.randomGenerator.getRandomInteger(from, to); + const isUnsafeCombination = NumberUtils_1.NumberUtils.isUnsafeNumber(temporarySum + addition); + if (isUnsafeCombination) { + addition = -addition; + } + additionParts.push(addition); + temporarySum += addition; + } + else { + const combination = number - temporarySum; + const isUnsafeCombination = NumberUtils_1.NumberUtils.isUnsafeNumber(combination); + if (isUnsafeCombination) { + additionParts.push(0 - temporarySum); + additionParts.push(number); + } + else { + additionParts.push(combination); + } + } + } + return additionParts; + } + mixWithMultiplyParts(number) { + var _a; + const shouldMixWithMultiplyParts = this.randomGenerator.getMathRandom() > 0.5; + if (!shouldMixWithMultiplyParts || number === 0) { + return number; + } + let factors = (_a = this.numberFactorsMap.get(number)) !== null && _a !== void 0 ? _a : null; + if (!factors) { + factors = NumberUtils_1.NumberUtils.getFactors(number); + this.numberFactorsMap.set(number, factors); + } + if (!factors.length) { + return number; + } + const factor = factors[this.randomGenerator.getRandomInteger(0, factors.length - 1)]; + return [factor, number / factor]; + } +}; +NumberNumericalExpressionAnalyzer.additionalParts = 3; +NumberNumericalExpressionAnalyzer = NumberNumericalExpressionAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], NumberNumericalExpressionAnalyzer); +exports.NumberNumericalExpressionAnalyzer = NumberNumericalExpressionAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer.ts": +/*!**************************************************************************************************!*\ + !*** ./src/analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer.ts ***! + \**************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var PrevailingKindOfVariablesAnalyzer_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PrevailingKindOfVariablesAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let PrevailingKindOfVariablesAnalyzer = PrevailingKindOfVariablesAnalyzer_1 = class PrevailingKindOfVariablesAnalyzer { + constructor(arrayUtils) { + this.prevailingKindOfVariables = PrevailingKindOfVariablesAnalyzer_1.defaultKindOfVariables; + this.arrayUtils = arrayUtils; + } + analyze(astTree) { + var _a; + const variableKinds = []; + estraverse.traverse(astTree, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isVariableDeclarationNode(node)) { + return; + } + variableKinds.push(node.kind); + } + }); + this.prevailingKindOfVariables = (_a = this.arrayUtils.findMostOccurringElement(variableKinds)) !== null && _a !== void 0 ? _a : PrevailingKindOfVariablesAnalyzer_1.defaultKindOfVariables; + } + getPrevailingKind() { + return this.prevailingKindOfVariables; + } +}; +PrevailingKindOfVariablesAnalyzer.defaultKindOfVariables = 'var'; +PrevailingKindOfVariablesAnalyzer = PrevailingKindOfVariablesAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _a : Object]) +], PrevailingKindOfVariablesAnalyzer); +exports.PrevailingKindOfVariablesAnalyzer = PrevailingKindOfVariablesAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/scope-analyzer/ScopeAnalyzer.ts": +/*!*******************************************************!*\ + !*** ./src/analyzers/scope-analyzer/ScopeAnalyzer.ts ***! + \*******************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var ScopeAnalyzer_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const eslintScope = __importStar(__webpack_require__(/*! eslint-scope */ "eslint-scope")); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const EcmaVersion_1 = __webpack_require__(/*! ../../constants/EcmaVersion */ "./src/constants/EcmaVersion.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ScopeAnalyzer = ScopeAnalyzer_1 = class ScopeAnalyzer { + constructor() { + this.scopeManager = null; + } + static attachMissingRanges(astTree) { + estraverse.replace(astTree, { + enter: (node, parentNode) => { + var _a, _b, _c, _d; + if (!node.range) { + node.range = [ + (_b = (_a = parentNode === null || parentNode === void 0 ? void 0 : parentNode.range) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : ScopeAnalyzer_1.emptyRangeValue, + (_d = (_c = parentNode === null || parentNode === void 0 ? void 0 : parentNode.range) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ScopeAnalyzer_1.emptyRangeValue + ]; + } + return node; + } + }); + } + static isRootNode(node) { + return NodeGuards_1.NodeGuards.isProgramNode(node) || node.parentNode === node; + } + analyze(astTree) { + const sourceTypeLength = ScopeAnalyzer_1.sourceTypes.length; + ScopeAnalyzer_1.attachMissingRanges(astTree); + for (let i = 0; i < sourceTypeLength; i++) { + try { + this.scopeManager = eslintScope.analyze(astTree, Object.assign(Object.assign({}, ScopeAnalyzer_1.eslintScopeOptions), { sourceType: ScopeAnalyzer_1.sourceTypes[i] })); + return; + } + catch (error) { + if (i < sourceTypeLength - 1) { + continue; + } + throw new Error(error); + } + } + throw new Error('Scope analyzing error'); + } + acquireScope(node) { + if (!this.scopeManager) { + throw new Error('Scope manager is not defined'); + } + const scope = this.scopeManager.acquire(node, ScopeAnalyzer_1.isRootNode(node)); + if (!scope) { + throw new Error('Cannot acquire scope for node'); + } + this.sanitizeScopes(scope); + return scope; + } + sanitizeScopes(scope) { + scope.childScopes.forEach((childScope) => { + if (childScope.type === 'class' && childScope.upper) { + if (!childScope.variables.length) { + return; + } + const classNameVariable = childScope.variables[0]; + const upperVariable = childScope.upper.variables + .find((variable) => { + const isValidClassNameVariable = classNameVariable.defs + .some((definition) => definition.type === 'ClassName'); + return isValidClassNameVariable && variable.name === classNameVariable.name; + }); + upperVariable === null || upperVariable === void 0 ? void 0 : upperVariable.references.push(...childScope.variables[0].references); + } + }); + for (const childScope of scope.childScopes) { + this.sanitizeScopes(childScope); + } + } +}; +ScopeAnalyzer.eslintScopeOptions = { + ecmaVersion: EcmaVersion_1.ecmaVersion, + optimistic: true +}; +ScopeAnalyzer.sourceTypes = [ + 'script', + 'module' +]; +ScopeAnalyzer.emptyRangeValue = 0; +ScopeAnalyzer = ScopeAnalyzer_1 = __decorate([ + inversify_1.injectable() +], ScopeAnalyzer); +exports.ScopeAnalyzer = ScopeAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts": +/*!***********************************************************************************!*\ + !*** ./src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayStorageAnalyzer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayStorageAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let StringArrayStorageAnalyzer = StringArrayStorageAnalyzer_1 = class StringArrayStorageAnalyzer { + constructor(stringArrayStorage, randomGenerator, options) { + this.stringArrayStorageData = new Map(); + this.stringArrayStorage = stringArrayStorage; + this.randomGenerator = randomGenerator; + this.options = options; + } + analyze(astTree) { + if (!this.options.stringArray) { + return; + } + estraverse.traverse(astTree, { + enter: (node, parentNode) => { + if (!parentNode) { + return; + } + if (NodeMetadata_1.NodeMetadata.isIgnoredNode(node)) { + return estraverse.VisitorOption.Skip; + } + if (!NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return; + } + this.analyzeLiteralNode(node, parentNode); + } + }); + } + getItemDataForLiteralNode(literalNode) { + return this.stringArrayStorageData.get(literalNode); + } + analyzeLiteralNode(literalNode, parentNode) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode)) { + return; + } + if (NodeLiteralUtils_1.NodeLiteralUtils.isProhibitedLiteralNode(literalNode, parentNode)) { + return; + } + if (!this.shouldAddValueToStringArray(literalNode)) { + return; + } + this.stringArrayStorageData.set(literalNode, this.stringArrayStorage.getOrThrow(literalNode.value)); + } + shouldAddValueToStringArray(literalNode) { + const isForceTransformNode = NodeMetadata_1.NodeMetadata.isForceTransformNode(literalNode); + if (isForceTransformNode) { + return true; + } + return literalNode.value.length >= StringArrayStorageAnalyzer_1.minimumLengthForStringArray + && this.randomGenerator.getMathRandom() <= this.options.stringArrayThreshold; + } +}; +StringArrayStorageAnalyzer.minimumLengthForStringArray = 3; +StringArrayStorageAnalyzer = StringArrayStorageAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], StringArrayStorageAnalyzer); +exports.StringArrayStorageAnalyzer = StringArrayStorageAnalyzer; + + +/***/ }), + +/***/ "./src/cli/JavaScriptObfuscatorCLI.ts": +/*!********************************************!*\ + !*** ./src/cli/JavaScriptObfuscatorCLI.ts ***! + \********************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.JavaScriptObfuscatorCLI = void 0; +const commander = __importStar(__webpack_require__(/*! commander */ "commander")); +const path = __importStar(__webpack_require__(/*! path */ "path")); +const TInputCLIOptions_1 = __webpack_require__(/*! ../types/options/TInputCLIOptions */ "./src/types/options/TInputCLIOptions.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const LoggingPrefix_1 = __webpack_require__(/*! ../enums/logger/LoggingPrefix */ "./src/enums/logger/LoggingPrefix.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const OptionsPreset_1 = __webpack_require__(/*! ../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const Default_1 = __webpack_require__(/*! ../options/presets/Default */ "./src/options/presets/Default.ts"); +const ArraySanitizer_1 = __webpack_require__(/*! ./sanitizers/ArraySanitizer */ "./src/cli/sanitizers/ArraySanitizer.ts"); +const BooleanSanitizer_1 = __webpack_require__(/*! ./sanitizers/BooleanSanitizer */ "./src/cli/sanitizers/BooleanSanitizer.ts"); +const CLIUtils_1 = __webpack_require__(/*! ./utils/CLIUtils */ "./src/cli/utils/CLIUtils.ts"); +const JavaScriptObfuscatorFacade_1 = __webpack_require__(/*! ../JavaScriptObfuscatorFacade */ "./src/JavaScriptObfuscatorFacade.ts"); +const Logger_1 = __webpack_require__(/*! ../logger/Logger */ "./src/logger/Logger.ts"); +const ObfuscatedCodeWriter_1 = __webpack_require__(/*! ./utils/ObfuscatedCodeWriter */ "./src/cli/utils/ObfuscatedCodeWriter.ts"); +const SourceCodeReader_1 = __webpack_require__(/*! ./utils/SourceCodeReader */ "./src/cli/utils/SourceCodeReader.ts"); +const Utils_1 = __webpack_require__(/*! ../utils/Utils */ "./src/utils/Utils.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +class JavaScriptObfuscatorCLI { + constructor(argv) { + this.rawArguments = argv; + this.arguments = argv.slice(2); + } + static buildOptions(inputOptions) { + const inputCLIOptions = JavaScriptObfuscatorCLI.filterOptions(inputOptions); + const configFilePath = inputOptions.config; + const configFileLocation = configFilePath ? path.resolve(configFilePath, '.') : ''; + const configFileOptions = configFileLocation ? CLIUtils_1.CLIUtils.getUserConfig(configFileLocation) : {}; + return Object.assign(Object.assign(Object.assign({}, Default_1.DEFAULT_PRESET), configFileOptions), inputCLIOptions); + } + static filterOptions(options) { + const filteredOptions = {}; + Object + .keys(options) + .forEach((option) => { + if (options[option] === undefined) { + return; + } + filteredOptions[option] = options[option]; + }); + return filteredOptions; + } + initialize() { + this.inputPath = path.normalize(this.arguments[0] || ''); + this.commands = (new commander.Command()); + this.configureCommands(); + this.configureHelp(); + this.inputCLIOptions = JavaScriptObfuscatorCLI.buildOptions(this.commands.opts()); + this.sourceCodeReader = new SourceCodeReader_1.SourceCodeReader(this.inputPath, this.inputCLIOptions); + this.obfuscatedCodeWriter = new ObfuscatedCodeWriter_1.ObfuscatedCodeWriter(this.inputPath, this.inputCLIOptions); + } + run() { + const canShowHelp = !this.arguments.length || this.arguments.includes('--help'); + if (canShowHelp) { + this.commands.outputHelp(); + return; + } + const sourceCodeData = this.sourceCodeReader.readSourceCode(); + this.processSourceCodeData(sourceCodeData); + } + configureCommands() { + this.commands + .usage(' [options]') + .version(Utils_1.Utils.buildVersionMessage("2.9.0", 1605426521235), '-v, --version') + .option('-o, --output ', 'Output path for obfuscated code') + .option('--compact ', 'Disable one line output code compacting', BooleanSanitizer_1.BooleanSanitizer) + .option('--config ', 'Name of js / json config file') + .option('--control-flow-flattening ', 'Enables control flow flattening', BooleanSanitizer_1.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', BooleanSanitizer_1.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)', BooleanSanitizer_1.BooleanSanitizer) + .option('--debug-protection-interval ', 'Disable browser Debug panel even after page was loaded (can cause DevTools enabled browser freeze)', BooleanSanitizer_1.BooleanSanitizer) + .option('--disable-console-output ', 'Allow console.log, console.info, console.error and console.warn messages output into browser console', BooleanSanitizer_1.BooleanSanitizer) + .option('--domain-lock (comma separated, without whitespaces)', 'Allows to run the obfuscated source code only on specific domains and/or sub-domains (comma separated)', ArraySanitizer_1.ArraySanitizer) + .option('--exclude (comma separated, without whitespaces)', 'A filename or glob which indicates files to exclude from obfuscation', ArraySanitizer_1.ArraySanitizer) + .option('--force-transform-strings (comma separated, without whitespaces)', 'Enables force transformation of string literals, which being matched by passed RegExp patterns (comma separated)', ArraySanitizer_1.ArraySanitizer) + .option('--identifier-names-generator ', 'Sets identifier names generator. ' + + `Values: ${CLIUtils_1.CLIUtils.stringifyOptionAvailableValues(IdentifierNamesGenerator_1.IdentifierNamesGenerator)}. ` + + `Default: ${IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator}`) + .option('--identifiers-prefix ', 'Sets prefix for all global identifiers') + .option('--identifiers-dictionary (comma separated, without whitespaces)', 'Identifiers dictionary (comma separated) for `--identifier-names-generator dictionary` option', ArraySanitizer_1.ArraySanitizer) + .option('--ignore-require-imports ', 'Prevents obfuscation of `require` imports', BooleanSanitizer_1.BooleanSanitizer) + .option('--log ', 'Enables logging of the information to the console', BooleanSanitizer_1.BooleanSanitizer) + .option('--numbers-to-expressions ', 'Enables numbers conversion to expressions', BooleanSanitizer_1.BooleanSanitizer) + .option('--options-preset ', 'Allows to set options preset. ' + + `Values: ${CLIUtils_1.CLIUtils.stringifyOptionAvailableValues(OptionsPreset_1.OptionsPreset)}. ` + + `Default: ${OptionsPreset_1.OptionsPreset.Default}`) + .option('--reserved-names (comma separated, without whitespaces)', 'Disables obfuscation and generation of identifiers, which being matched by passed RegExp patterns (comma separated)', ArraySanitizer_1.ArraySanitizer) + .option('--reserved-strings (comma separated, without whitespaces)', 'Disables transformation of string literals, which being matched by passed RegExp patterns (comma separated)', ArraySanitizer_1.ArraySanitizer) + .option('--rename-globals ', 'Allows to enable obfuscation of global variable and function names with declaration', BooleanSanitizer_1.BooleanSanitizer) + .option('--rename-properties ', 'UNSAFE: Enables renaming of property names. This probably WILL break your code', BooleanSanitizer_1.BooleanSanitizer) + .option('--rotate-string-array ', 'Enable rotation of string array values during obfuscation', BooleanSanitizer_1.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', BooleanSanitizer_1.BooleanSanitizer) + .option('--shuffle-string-array ', 'Randomly shuffles string array items', BooleanSanitizer_1.BooleanSanitizer) + .option('--simplify ', 'Enables additional code obfuscation through simplification', BooleanSanitizer_1.BooleanSanitizer) + .option('--source-map ', 'Enables source map generation', BooleanSanitizer_1.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: ${CLIUtils_1.CLIUtils.stringifyOptionAvailableValues(SourceMapMode_1.SourceMapMode)}. ` + + `Default: ${SourceMapMode_1.SourceMapMode.Separate}`) + .option('--split-strings ', 'Splits literal strings into chunks with length of `splitStringsChunkLength` option value', BooleanSanitizer_1.BooleanSanitizer) + .option('--split-strings-chunk-length ', 'Sets chunk length of `splitStrings` option', parseFloat) + .option('--string-array ', 'Disables gathering of all literal strings into an array and replacing every literal string with an array call', BooleanSanitizer_1.BooleanSanitizer) + .option('--string-array-encoding (comma separated, without whitespaces)', 'Encodes each string in strings array using base64 or rc4 (this option can slow down your code speed). ' + + `Values: ${CLIUtils_1.CLIUtils.stringifyOptionAvailableValues(StringArrayEncoding_1.StringArrayEncoding)}. ` + + `Default: ${StringArrayEncoding_1.StringArrayEncoding.None}`, ArraySanitizer_1.ArraySanitizer) + .option('--string-array-indexes-type (comma separated, without whitespaces)', 'Encodes each string in strings array using base64 or rc4 (this option can slow down your code speed). ' + + `Values: ${CLIUtils_1.CLIUtils.stringifyOptionAvailableValues(StringArrayIndexesType_1.StringArrayIndexesType)}. ` + + `Default: ${StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber}`, ArraySanitizer_1.ArraySanitizer) + .option('--string-array-index-shift ', 'Enables additional index shift for all string array calls', BooleanSanitizer_1.BooleanSanitizer) + .option('--string-array-wrappers-count ', 'Sets the count of wrappers for the string array inside each root or function scope', parseInt) + .option('--string-array-wrappers-chained-calls ', 'Enables the chained calls between string array wrappers', BooleanSanitizer_1.BooleanSanitizer) + .option('--string-array-wrappers-type ', 'Allows to select a type of the wrappers that are appending by the `--string-array-wrappers-count` option. ' + + `Values: ${CLIUtils_1.CLIUtils.stringifyOptionAvailableValues(StringArrayWrappersType_1.StringArrayWrappersType)}. ` + + `Default: ${StringArrayWrappersType_1.StringArrayWrappersType.Variable}`) + .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: ${CLIUtils_1.CLIUtils.stringifyOptionAvailableValues(ObfuscationTarget_1.ObfuscationTarget)}. ` + + `Default: ${ObfuscationTarget_1.ObfuscationTarget.Browser}`) + .option('--transform-object-keys ', 'Enables transformation of object keys', BooleanSanitizer_1.BooleanSanitizer) + .option('--unicode-escape-sequence ', 'Allows to enable/disable string conversion to unicode escape sequence', BooleanSanitizer_1.BooleanSanitizer) + .parse(this.rawArguments); + } + configureHelp() { + this.commands.on('--help', () => { + 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(''); + }); + } + processSourceCodeData(sourceCodeData) { + sourceCodeData.forEach(({ filePath, content }, index) => { + const outputCodePath = this.obfuscatedCodeWriter.getOutputCodePath(filePath); + try { + Logger_1.Logger.log(Logger_1.Logger.colorInfo, LoggingPrefix_1.LoggingPrefix.CLI, `Obfuscating file: ${filePath}...`); + this.processSourceCode(content, filePath, outputCodePath, index); + } + catch (error) { + Logger_1.Logger.log(Logger_1.Logger.colorInfo, LoggingPrefix_1.LoggingPrefix.CLI, `Error in file: ${filePath}...`); + throw error; + } + }); + } + processSourceCode(sourceCode, inputCodePath, outputCodePath, sourceCodeIndex) { + const options = Object.assign(Object.assign(Object.assign({}, this.inputCLIOptions), { inputFileName: path.basename(inputCodePath) }), sourceCodeIndex !== null && { + identifiersPrefix: Utils_1.Utils.getIdentifiersPrefixForMultipleSources(this.inputCLIOptions.identifiersPrefix, sourceCodeIndex) + }); + if (options.sourceMap) { + this.processSourceCodeWithSourceMap(sourceCode, outputCodePath, options); + } + else { + this.processSourceCodeWithoutSourceMap(sourceCode, outputCodePath, options); + } + } + processSourceCodeWithoutSourceMap(sourceCode, outputCodePath, options) { + const obfuscatedCode = JavaScriptObfuscatorFacade_1.JavaScriptObfuscator.obfuscate(sourceCode, options).getObfuscatedCode(); + this.obfuscatedCodeWriter.writeFile(outputCodePath, obfuscatedCode); + } + processSourceCodeWithSourceMap(sourceCode, outputCodePath, options) { + var _a; + const outputSourceMapPath = this.obfuscatedCodeWriter.getOutputSourceMapPath(outputCodePath, (_a = options.sourceMapFileName) !== null && _a !== void 0 ? _a : ''); + options = Object.assign(Object.assign({}, options), { sourceMapFileName: path.basename(outputSourceMapPath) }); + const obfuscatedCode = JavaScriptObfuscatorFacade_1.JavaScriptObfuscator.obfuscate(sourceCode, options); + this.obfuscatedCodeWriter.writeFile(outputCodePath, obfuscatedCode.getObfuscatedCode()); + if (options.sourceMapMode === SourceMapMode_1.SourceMapMode.Separate && obfuscatedCode.getSourceMap()) { + this.obfuscatedCodeWriter.writeFile(outputSourceMapPath, obfuscatedCode.getSourceMap()); + } + } +} +JavaScriptObfuscatorCLI.availableInputExtensions = [ + '.js' +]; +JavaScriptObfuscatorCLI.encoding = 'utf8'; +JavaScriptObfuscatorCLI.obfuscatedFilePrefix = '-obfuscated'; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof commander !== "undefined" && commander.CommanderStatic) === "function" ? _a : Object) +], JavaScriptObfuscatorCLI.prototype, "commands", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_b = typeof TInputCLIOptions_1.TInputCLIOptions !== "undefined" && TInputCLIOptions_1.TInputCLIOptions) === "function" ? _b : Object) +], JavaScriptObfuscatorCLI.prototype, "inputCLIOptions", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], JavaScriptObfuscatorCLI.prototype, "inputPath", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_c = typeof SourceCodeReader_1.SourceCodeReader !== "undefined" && SourceCodeReader_1.SourceCodeReader) === "function" ? _c : Object) +], JavaScriptObfuscatorCLI.prototype, "sourceCodeReader", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_d = typeof ObfuscatedCodeWriter_1.ObfuscatedCodeWriter !== "undefined" && ObfuscatedCodeWriter_1.ObfuscatedCodeWriter) === "function" ? _d : Object) +], JavaScriptObfuscatorCLI.prototype, "obfuscatedCodeWriter", void 0); +exports.JavaScriptObfuscatorCLI = JavaScriptObfuscatorCLI; + + +/***/ }), + +/***/ "./src/cli/sanitizers/ArraySanitizer.ts": +/*!**********************************************!*\ + !*** ./src/cli/sanitizers/ArraySanitizer.ts ***! + \**********************************************/ +/*! flagged exports */ +/*! export ArraySanitizer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ArraySanitizer = void 0; +const ArraySanitizer = (value) => { + if (value.endsWith(',')) { + throw new SyntaxError('Multiple values should be wrapped inside quotes: --option-name \'value1\',\'value2\''); + } + return value.split(',').map((string) => string.trim()); +}; +exports.ArraySanitizer = ArraySanitizer; + + +/***/ }), + +/***/ "./src/cli/sanitizers/BooleanSanitizer.ts": +/*!************************************************!*\ + !*** ./src/cli/sanitizers/BooleanSanitizer.ts ***! + \************************************************/ +/*! flagged exports */ +/*! export BooleanSanitizer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BooleanSanitizer = void 0; +const BooleanSanitizer = (value) => { + return value === 'true' || value === '1'; +}; +exports.BooleanSanitizer = BooleanSanitizer; + + +/***/ }), + +/***/ "./src/cli/utils/CLIUtils.ts": +/*!***********************************!*\ + !*** ./src/cli/utils/CLIUtils.ts ***! + \***********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CLIUtils = void 0; +const path = __importStar(__webpack_require__(/*! path */ "path")); +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +class CLIUtils { + static getUserConfig(configPath) { + let config; + const configFileExtension = path.extname(configPath); + const isValidExtension = CLIUtils.allowedConfigFileExtensions.includes(configFileExtension); + if (!isValidExtension) { + throw new ReferenceError('Given config path must be a valid `.js` or `.json` file path'); + } + try { + config = __webpack_require__("./src/cli/utils sync recursive")(configPath); + } + catch (_a) { + try { + config = require(configPath); + } + catch (_b) { + throw new ReferenceError(`Cannot open config file with path: ${configPath}`); + } + } + return config; + } + static stringifyOptionAvailableValues(optionEnum) { + return Object.values(optionEnum).join(`${StringSeparator_1.StringSeparator.Comma} `); + } +} +exports.CLIUtils = CLIUtils; +CLIUtils.allowedConfigFileExtensions = [ + '.js', + '.json' +]; + + +/***/ }), + +/***/ "./src/cli/utils/ObfuscatedCodeWriter.ts": +/*!***********************************************!*\ + !*** ./src/cli/utils/ObfuscatedCodeWriter.ts ***! + \***********************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatedCodeWriter = void 0; +const fs = __importStar(__webpack_require__(/*! fs */ "fs")); +const mkdirp = __importStar(__webpack_require__(/*! mkdirp */ "mkdirp")); +const path = __importStar(__webpack_require__(/*! path */ "path")); +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const JavaScriptObfuscatorCLI_1 = __webpack_require__(/*! ../JavaScriptObfuscatorCLI */ "./src/cli/JavaScriptObfuscatorCLI.ts"); +class ObfuscatedCodeWriter { + constructor(inputPath, options) { + this.inputPath = path.normalize(inputPath); + this.options = options; + } + getOutputCodePath(filePath) { + const normalizedFilePath = path.normalize(filePath); + const normalizedRawOutputPath = this.options.output + ? path.normalize(this.options.output) + : null; + if (!normalizedRawOutputPath) { + return normalizedFilePath + .split(StringSeparator_1.StringSeparator.Dot) + .map((value, index) => { + return index === 0 ? `${value}${JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI.obfuscatedFilePrefix}` : value; + }) + .join(StringSeparator_1.StringSeparator.Dot); + } + const rawInputPathStats = fs.lstatSync(this.inputPath); + const outputPathExtName = path.extname(normalizedRawOutputPath); + const isDirectoryRawInputPath = rawInputPathStats.isDirectory(); + const isDirectoryRawOutputPath = !JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI + .availableInputExtensions + .includes(outputPathExtName); + if (isDirectoryRawInputPath) { + if (isDirectoryRawOutputPath) { + const baseOutputPath = normalizedFilePath.replace(this.inputPath, ''); + return path.join(normalizedRawOutputPath, baseOutputPath); + } + else { + throw new Error('Output path for directory obfuscation should be a directory path'); + } + } + else { + if (isDirectoryRawOutputPath) { + return path.join(normalizedRawOutputPath, path.basename(filePath)); + } + else { + return normalizedRawOutputPath; + } + } + } + getOutputSourceMapPath(outputCodePath, sourceMapFileName = '') { + if (!outputCodePath) { + throw new Error('Output code path is empty'); + } + let normalizedOutputCodePath = path.normalize(outputCodePath); + let parsedOutputCodePath = path.parse(normalizedOutputCodePath); + if (!parsedOutputCodePath.ext && !sourceMapFileName) { + throw new Error('Source map file name should be set when output code path is a directory path'); + } + if (sourceMapFileName) { + const indexOfLastSeparator = normalizedOutputCodePath.lastIndexOf(path.sep); + const sourceMapPath = parsedOutputCodePath.ext && indexOfLastSeparator > 0 + ? normalizedOutputCodePath.slice(0, indexOfLastSeparator) + : normalizedOutputCodePath; + const normalizedSourceMapFilePath = sourceMapFileName.replace(/^[a-zA-Z]:\\*/, ''); + normalizedOutputCodePath = path.join(sourceMapPath, normalizedSourceMapFilePath); + } + if (!/\.js\.map$/.test(normalizedOutputCodePath)) { + parsedOutputCodePath = path.parse(normalizedOutputCodePath); + const outputCodePathWithoutExtension = path.join(parsedOutputCodePath.dir, parsedOutputCodePath.name); + normalizedOutputCodePath = `${outputCodePathWithoutExtension}.js.map`; + } + else if (/\.js$/.test(normalizedOutputCodePath)) { + normalizedOutputCodePath += '.map'; + } + return normalizedOutputCodePath; + } + writeFile(outputPath, data) { + mkdirp.sync(path.dirname(outputPath)); + fs.writeFileSync(outputPath, data, { + encoding: JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI.encoding + }); + } +} +exports.ObfuscatedCodeWriter = ObfuscatedCodeWriter; + + +/***/ }), + +/***/ "./src/cli/utils/SourceCodeReader.ts": +/*!*******************************************!*\ + !*** ./src/cli/utils/SourceCodeReader.ts ***! + \*******************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceCodeReader = void 0; +const fs = __importStar(__webpack_require__(/*! fs */ "fs")); +const path = __importStar(__webpack_require__(/*! path */ "path")); +const multimatch_1 = __importDefault(__webpack_require__(/*! multimatch */ "multimatch")); +const JavaScriptObfuscatorCLI_1 = __webpack_require__(/*! ../JavaScriptObfuscatorCLI */ "./src/cli/JavaScriptObfuscatorCLI.ts"); +class SourceCodeReader { + constructor(inputPath, options) { + this.inputPath = inputPath; + this.options = options; + } + static isExcludedPath(filePath, excludePatterns = []) { + if (!excludePatterns.length) { + return false; + } + const fileName = path.basename(filePath); + const isExcludedFilePathByGlobPattern = !!multimatch_1.default([filePath], excludePatterns).length; + const isExcludedFilePathByInclusion = excludePatterns.some((excludePattern) => filePath.includes(excludePattern) || fileName.includes(excludePattern)); + return isExcludedFilePathByInclusion || isExcludedFilePathByGlobPattern; + } + static isDirectoryPath(filePath) { + try { + return fs.statSync(filePath).isDirectory(); + } + catch (_a) { + return false; + } + } + static isFilePath(filePath) { + try { + return fs.statSync(filePath).isFile(); + } + catch (_a) { + return false; + } + } + static isValidDirectory(directoryPath, excludePatterns = []) { + return !SourceCodeReader.isExcludedPath(directoryPath, excludePatterns); + } + static isValidFile(filePath, excludePatterns = []) { + return JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI.availableInputExtensions.includes(path.extname(filePath)) + && !filePath.includes(JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI.obfuscatedFilePrefix) + && !SourceCodeReader.isExcludedPath(filePath, excludePatterns); + } + static readFile(filePath) { + return { + filePath: path.normalize(filePath), + content: fs.readFileSync(filePath, JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI.encoding) + }; + } + readSourceCode() { + if (SourceCodeReader.isFilePath(this.inputPath) + && SourceCodeReader.isValidFile(this.inputPath, this.options.exclude)) { + return [SourceCodeReader.readFile(this.inputPath)]; + } + if (SourceCodeReader.isDirectoryPath(this.inputPath) + && SourceCodeReader.isValidDirectory(this.inputPath, this.options.exclude)) { + return this.readDirectoryRecursive(this.inputPath); + } + const availableFilePaths = JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI + .availableInputExtensions + .map((extension) => `\`${extension}\``) + .join(', '); + throw new ReferenceError(`Given input path must be a valid ${availableFilePaths} file or directory path`); + } + readDirectoryRecursive(directoryPath, filesData = []) { + fs.readdirSync(directoryPath, JavaScriptObfuscatorCLI_1.JavaScriptObfuscatorCLI.encoding) + .forEach((fileName) => { + const filePath = path.join(directoryPath, fileName); + if (SourceCodeReader.isDirectoryPath(filePath) + && SourceCodeReader.isValidDirectory(filePath, this.options.exclude)) { + filesData.push(...this.readDirectoryRecursive(filePath)); + return; + } + if (SourceCodeReader.isFilePath(filePath) + && SourceCodeReader.isValidFile(filePath, this.options.exclude)) { + const fileData = SourceCodeReader.readFile(filePath); + filesData.push(fileData); + return; + } + }); + return filesData; + } +} +exports.SourceCodeReader = SourceCodeReader; + + +/***/ }), + +/***/ "./src/code-transformers/AbstractCodeTransformer.ts": +/*!**********************************************************!*\ + !*** ./src/code-transformers/AbstractCodeTransformer.ts ***! + \**********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCodeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractCodeTransformer = class AbstractCodeTransformer { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } +}; +AbstractCodeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractCodeTransformer); +exports.AbstractCodeTransformer = AbstractCodeTransformer; + + +/***/ }), + +/***/ "./src/code-transformers/CodeTransformerNamesGroupsBuilder.ts": +/*!********************************************************************!*\ + !*** ./src/code-transformers/CodeTransformerNamesGroupsBuilder.ts ***! + \********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformerNamesGroupsBuilder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AbstractTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../utils/AbstractTransformerNamesGroupsBuilder */ "./src/utils/AbstractTransformerNamesGroupsBuilder.ts"); +let CodeTransformerNamesGroupsBuilder = class CodeTransformerNamesGroupsBuilder extends AbstractTransformerNamesGroupsBuilder_1.AbstractTransformerNamesGroupsBuilder { +}; +CodeTransformerNamesGroupsBuilder = __decorate([ + inversify_1.injectable() +], CodeTransformerNamesGroupsBuilder); +exports.CodeTransformerNamesGroupsBuilder = CodeTransformerNamesGroupsBuilder; + + +/***/ }), + +/***/ "./src/code-transformers/CodeTransformersRunner.ts": +/*!*********************************************************!*\ + !*** ./src/code-transformers/CodeTransformersRunner.ts ***! + \*********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformersRunner = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCodeTransformerFactory_1 = __webpack_require__(/*! ../types/container/code-transformers/TCodeTransformerFactory */ "./src/types/container/code-transformers/TCodeTransformerFactory.ts"); +const ITransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../interfaces/utils/ITransformerNamesGroupsBuilder */ "./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts"); +let CodeTransformersRunner = class CodeTransformersRunner { + constructor(codeTransformerFactory, codeTransformerNamesGroupsBuilder) { + this.codeTransformerFactory = codeTransformerFactory; + this.codeTransformerNamesGroupsBuilder = codeTransformerNamesGroupsBuilder; + } + transform(code, codeTransformerNames, codeTransformationStage) { + if (!codeTransformerNames.length) { + return code; + } + const normalizedCodeTransformers = this.buildNormalizedCodeTransformers(codeTransformerNames, codeTransformationStage); + const codeTransformerNamesGroups = this.codeTransformerNamesGroupsBuilder.build(normalizedCodeTransformers); + for (const nodeTransformerNamesGroup of codeTransformerNamesGroups) { + for (const nodeTransformerName of nodeTransformerNamesGroup) { + const codeTransformer = normalizedCodeTransformers[nodeTransformerName]; + code = codeTransformer.transformCode(code, codeTransformationStage); + } + } + return code; + } + buildNormalizedCodeTransformers(codeTransformerNames, codeTransformationStage) { + return codeTransformerNames + .reduce((acc, codeTransformerName) => { + const codeTransformer = this.codeTransformerFactory(codeTransformerName); + return Object.assign(Object.assign({}, acc), { [codeTransformerName]: codeTransformer }); + }, {}); + } +}; +CodeTransformersRunner = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICodeTransformer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder)), + __metadata("design:paramtypes", [typeof (_a = typeof TCodeTransformerFactory_1.TCodeTransformerFactory !== "undefined" && TCodeTransformerFactory_1.TCodeTransformerFactory) === "function" ? _a : Object, typeof (_b = typeof ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder !== "undefined" && ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder) === "function" ? _b : Object]) +], CodeTransformersRunner); +exports.CodeTransformersRunner = CodeTransformersRunner; + + +/***/ }), + +/***/ "./src/code-transformers/preparing-transformers/HashbangOperatorTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/code-transformers/preparing-transformers/HashbangOperatorTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HashbangOperatorTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const CodeTransformationStage_1 = __webpack_require__(/*! ../../enums/code-transformers/CodeTransformationStage */ "./src/enums/code-transformers/CodeTransformationStage.ts"); +const AbstractCodeTransformer_1 = __webpack_require__(/*! ../AbstractCodeTransformer */ "./src/code-transformers/AbstractCodeTransformer.ts"); +let HashbangOperatorTransformer = class HashbangOperatorTransformer extends AbstractCodeTransformer_1.AbstractCodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.hashbangOperatorLine = null; + } + transformCode(code, codeTransformationStage) { + switch (codeTransformationStage) { + case CodeTransformationStage_1.CodeTransformationStage.PreparingTransformers: + return this.removeAndSaveHashbangOperatorLine(code); + case CodeTransformationStage_1.CodeTransformationStage.FinalizingTransformers: + return this.appendSavedHashbangOperatorLine(code); + default: + return code; + } + } + removeAndSaveHashbangOperatorLine(code) { + return code + .replace(/^#!.*$(\r?\n)*/m, (substring) => { + if (substring) { + this.hashbangOperatorLine = substring; + } + return ''; + }) + .trim(); + } + appendSavedHashbangOperatorLine(code) { + var _a; + return `${(_a = this.hashbangOperatorLine) !== null && _a !== void 0 ? _a : ''}${code}`; + } +}; +HashbangOperatorTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], HashbangOperatorTransformer); +exports.HashbangOperatorTransformer = HashbangOperatorTransformer; + + +/***/ }), + +/***/ "./src/constants/AlphabetString.ts": +/*!*****************************************!*\ + !*** ./src/constants/AlphabetString.ts ***! + \*****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export alphabetString [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.alphabetString = void 0; +exports.alphabetString = 'abcdefghijklmnopqrstuvwxyz'; + + +/***/ }), + +/***/ "./src/constants/AlphabetStringUppercase.ts": +/*!**************************************************!*\ + !*** ./src/constants/AlphabetStringUppercase.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export alphabetStringUppercase [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.alphabetStringUppercase = void 0; +const AlphabetString_1 = __webpack_require__(/*! ./AlphabetString */ "./src/constants/AlphabetString.ts"); +exports.alphabetStringUppercase = AlphabetString_1.alphabetString.toUpperCase(); + + +/***/ }), + +/***/ "./src/constants/Base64Alphabet.ts": +/*!*****************************************!*\ + !*** ./src/constants/Base64Alphabet.ts ***! + \*****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export base64alphabet [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.base64alphabet = void 0; +const AlphabetStringUppercase_1 = __webpack_require__(/*! ./AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const AlphabetString_1 = __webpack_require__(/*! ./AlphabetString */ "./src/constants/AlphabetString.ts"); +const NumbersString_1 = __webpack_require__(/*! ./NumbersString */ "./src/constants/NumbersString.ts"); +exports.base64alphabet = `${AlphabetStringUppercase_1.alphabetStringUppercase}${AlphabetString_1.alphabetString}${NumbersString_1.numbersString}+/=`; + + +/***/ }), + +/***/ "./src/constants/Base64AlphabetSwapped.ts": +/*!************************************************!*\ + !*** ./src/constants/Base64AlphabetSwapped.ts ***! + \************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export base64alphabetSwapped [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.base64alphabetSwapped = void 0; +const AlphabetStringUppercase_1 = __webpack_require__(/*! ./AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const AlphabetString_1 = __webpack_require__(/*! ./AlphabetString */ "./src/constants/AlphabetString.ts"); +const NumbersString_1 = __webpack_require__(/*! ./NumbersString */ "./src/constants/NumbersString.ts"); +exports.base64alphabetSwapped = `${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}${NumbersString_1.numbersString}+/=`; + + +/***/ }), + +/***/ "./src/constants/EcmaVersion.ts": +/*!**************************************!*\ + !*** ./src/constants/EcmaVersion.ts ***! + \**************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export ecmaVersion [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ecmaVersion = void 0; +exports.ecmaVersion = 12; + + +/***/ }), + +/***/ "./src/constants/NumbersString.ts": +/*!****************************************!*\ + !*** ./src/constants/NumbersString.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export numbersString [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.numbersString = void 0; +exports.numbersString = '0123456789'; + + +/***/ }), + +/***/ "./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts": +/*!************************************************************************************************************************!*\ + !*** ./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts ***! + \************************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export stringArrayRootCallsWrapperParametersDefaultCount [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.stringArrayRootCallsWrapperParametersDefaultCount = void 0; +exports.stringArrayRootCallsWrapperParametersDefaultCount = 2; + + +/***/ }), + +/***/ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts": +/*!*********************************************************************************************************************!*\ + !*** ./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts ***! + \*********************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export stringArrayScopeCallsWrapperParametersMaxCount [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.stringArrayScopeCallsWrapperParametersMaxCount = void 0; +exports.stringArrayScopeCallsWrapperParametersMaxCount = 5; + + +/***/ }), + +/***/ "./src/container/InversifyContainerFacade.ts": +/*!***************************************************!*\ + !*** ./src/container/InversifyContainerFacade.ts ***! + \***************************************************/ +/*! flagged exports */ +/*! export InversifyContainerFacade [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.InversifyContainerFacade = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ./ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const AnalyzersModule_1 = __webpack_require__(/*! ./modules/analyzers/AnalyzersModule */ "./src/container/modules/analyzers/AnalyzersModule.ts"); +const CodeTransformersModule_1 = __webpack_require__(/*! ./modules/code-transformers/CodeTransformersModule */ "./src/container/modules/code-transformers/CodeTransformersModule.ts"); +const ControlFlowTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/ControlFlowTransformersModule */ "./src/container/modules/node-transformers/ControlFlowTransformersModule.ts"); +const ConvertingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/ConvertingTransformersModule */ "./src/container/modules/node-transformers/ConvertingTransformersModule.ts"); +const CustomCodeHelpersModule_1 = __webpack_require__(/*! ./modules/custom-code-helpers/CustomCodeHelpersModule */ "./src/container/modules/custom-code-helpers/CustomCodeHelpersModule.ts"); +const CustomNodesModule_1 = __webpack_require__(/*! ./modules/custom-nodes/CustomNodesModule */ "./src/container/modules/custom-nodes/CustomNodesModule.ts"); +const DeadCodeInjectionTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/DeadCodeInjectionTransformersModule */ "./src/container/modules/node-transformers/DeadCodeInjectionTransformersModule.ts"); +const FinalizingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/FinalizingTransformersModule */ "./src/container/modules/node-transformers/FinalizingTransformersModule.ts"); +const GeneratorsModule_1 = __webpack_require__(/*! ./modules/generators/GeneratorsModule */ "./src/container/modules/generators/GeneratorsModule.ts"); +const InitializingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/InitializingTransformersModule */ "./src/container/modules/node-transformers/InitializingTransformersModule.ts"); +const NodeModule_1 = __webpack_require__(/*! ./modules/node/NodeModule */ "./src/container/modules/node/NodeModule.ts"); +const NodeTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/NodeTransformersModule */ "./src/container/modules/node-transformers/NodeTransformersModule.ts"); +const OptionsModule_1 = __webpack_require__(/*! ./modules/options/OptionsModule */ "./src/container/modules/options/OptionsModule.ts"); +const PreparingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/PreparingTransformersModule */ "./src/container/modules/node-transformers/PreparingTransformersModule.ts"); +const RenameIdentifiersTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/RenameIdentifiersTransformersModule */ "./src/container/modules/node-transformers/RenameIdentifiersTransformersModule.ts"); +const RenamePropertiesTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/RenamePropertiesTransformersModule */ "./src/container/modules/node-transformers/RenamePropertiesTransformersModule.ts"); +const SimplifyingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/SimplifyingTransformersModule */ "./src/container/modules/node-transformers/SimplifyingTransformersModule.ts"); +const StoragesModule_1 = __webpack_require__(/*! ./modules/storages/StoragesModule */ "./src/container/modules/storages/StoragesModule.ts"); +const StringArrayTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/StringArrayTransformersModule */ "./src/container/modules/node-transformers/StringArrayTransformersModule.ts"); +const UtilsModule_1 = __webpack_require__(/*! ./modules/utils/UtilsModule */ "./src/container/modules/utils/UtilsModule.ts"); +const CodeTransformersRunner_1 = __webpack_require__(/*! ../code-transformers/CodeTransformersRunner */ "./src/code-transformers/CodeTransformersRunner.ts"); +const JavaScriptObfuscator_1 = __webpack_require__(/*! ../JavaScriptObfuscator */ "./src/JavaScriptObfuscator.ts"); +const Logger_1 = __webpack_require__(/*! ../logger/Logger */ "./src/logger/Logger.ts"); +const NodeTransformersRunner_1 = __webpack_require__(/*! ../node-transformers/NodeTransformersRunner */ "./src/node-transformers/NodeTransformersRunner.ts"); +const ObfuscationEventEmitter_1 = __webpack_require__(/*! ../event-emitters/ObfuscationEventEmitter */ "./src/event-emitters/ObfuscationEventEmitter.ts"); +const ObfuscatedCode_1 = __webpack_require__(/*! ../source-code/ObfuscatedCode */ "./src/source-code/ObfuscatedCode.ts"); +const SourceCode_1 = __webpack_require__(/*! ../source-code/SourceCode */ "./src/source-code/SourceCode.ts"); +class InversifyContainerFacade { + constructor() { + this.container = new inversify_1.Container(); + } + static getFactory(serviceIdentifier) { + return (context) => { + return (bindingName) => { + return context.container.getNamed(serviceIdentifier, bindingName); + }; + }; + } + static getCacheFactory(serviceIdentifier) { + return (context) => { + const cache = new Map(); + return (bindingName) => { + if (cache.has(bindingName)) { + return cache.get(bindingName); + } + const object = context.container.getNamed(serviceIdentifier, bindingName); + cache.set(bindingName, object); + return object; + }; + }; + } + static getConstructorFactory(serviceIdentifier, ...dependencies) { + return (context) => { + const cache = new Map(); + const cachedDependencies = []; + return (bindingName) => { + dependencies.forEach((dependency, index) => { + if (!cachedDependencies[index]) { + cachedDependencies[index] = context.container.get(dependency); + } + }); + if (cache.has(bindingName)) { + return new (cache.get(bindingName))(...cachedDependencies); + } + const constructor = context.container + .getNamed(serviceIdentifier, bindingName); + cache.set(bindingName, constructor); + return new constructor(...cachedDependencies); + }; + }; + } + get(serviceIdentifier) { + return this.container.get(serviceIdentifier); + } + getNamed(serviceIdentifier, named) { + return this.container.getNamed(serviceIdentifier, named); + } + load(sourceCode, sourceMap, options) { + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.ISourceCode) + .toDynamicValue(() => new SourceCode_1.SourceCode(sourceCode, sourceMap)) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.TInputOptions) + .toDynamicValue(() => options) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.ILogger) + .to(Logger_1.Logger) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.IJavaScriptObfuscator) + .to(JavaScriptObfuscator_1.JavaScriptObfuscator) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformersRunner) + .to(CodeTransformersRunner_1.CodeTransformersRunner) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformersRunner) + .to(NodeTransformersRunner_1.NodeTransformersRunner) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscatedCode) + .to(ObfuscatedCode_1.ObfuscatedCode); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObfuscatedCode) + .toFactory((context) => { + return (obfuscatedCodeAsString, sourceMapAsString) => { + const obfuscatedCode = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscatedCode); + obfuscatedCode.initialize(obfuscatedCodeAsString, sourceMapAsString); + return obfuscatedCode; + }; + }); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscationEventEmitter) + .to(ObfuscationEventEmitter_1.ObfuscationEventEmitter) + .inSingletonScope(); + this.container.load(AnalyzersModule_1.analyzersModule); + this.container.load(CodeTransformersModule_1.codeTransformersModule); + this.container.load(ControlFlowTransformersModule_1.controlFlowTransformersModule); + this.container.load(ConvertingTransformersModule_1.convertingTransformersModule); + this.container.load(CustomCodeHelpersModule_1.customCodeHelpersModule); + this.container.load(CustomNodesModule_1.customNodesModule); + this.container.load(DeadCodeInjectionTransformersModule_1.deadCodeInjectionTransformersModule); + this.container.load(FinalizingTransformersModule_1.finalizingTransformersModule); + this.container.load(GeneratorsModule_1.generatorsModule); + this.container.load(InitializingTransformersModule_1.initializingTransformersModule); + this.container.load(NodeModule_1.nodeModule); + this.container.load(NodeTransformersModule_1.nodeTransformersModule); + this.container.load(OptionsModule_1.optionsModule); + this.container.load(PreparingTransformersModule_1.preparingTransformersModule); + this.container.load(RenameIdentifiersTransformersModule_1.renameIdentifiersTransformersModule); + this.container.load(RenamePropertiesTransformersModule_1.renamePropertiesTransformersModule); + this.container.load(SimplifyingTransformersModule_1.simplifyingTransformersModule); + this.container.load(StoragesModule_1.storagesModule); + this.container.load(StringArrayTransformersModule_1.stringArrayTransformersModule); + this.container.load(UtilsModule_1.utilsModule); + } + unload() { + this.container.unbindAll(); + } +} +exports.InversifyContainerFacade = InversifyContainerFacade; + + +/***/ }), + +/***/ "./src/container/ServiceIdentifiers.ts": +/*!*********************************************!*\ + !*** ./src/container/ServiceIdentifiers.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export ServiceIdentifiers [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ServiceIdentifiers = void 0; +var ServiceIdentifiers; +(function (ServiceIdentifiers) { + ServiceIdentifiers["Factory__ICalleeDataExtractor"] = "Factory"; + ServiceIdentifiers["Factory__ICodeTransformer"] = "Factory"; + ServiceIdentifiers["Factory__IControlFlowCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IControlFlowReplacer"] = "Factory"; + ServiceIdentifiers["Factory__ICustomCodeHelper"] = "Factory"; + ServiceIdentifiers["Factory__ICustomCodeHelperGroup"] = "Factory"; + ServiceIdentifiers["Factory__IDeadCodeInjectionCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IIdentifierNamesGenerator"] = "Factory"; + ServiceIdentifiers["Factory__INodeGuard"] = "Factory"; + ServiceIdentifiers["Factory__INodeTransformer"] = "Factory"; + ServiceIdentifiers["Factory__IObfuscatedCode"] = "Factory"; + ServiceIdentifiers["Factory__IObjectExpressionKeysTransformerCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IObjectExpressionExtractor"] = "Factory"; + ServiceIdentifiers["Factory__IStringArrayCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IStringArrayIndexNode"] = "Factory"; + ServiceIdentifiers["Factory__TControlFlowStorage"] = "Factory"; + ServiceIdentifiers["IArrayUtils"] = "IArrayUtils"; + ServiceIdentifiers["ICalleeDataExtractor"] = "ICalleeDataExtractor"; + ServiceIdentifiers["ICallsGraphAnalyzer"] = "ICallsGraphAnalyzer"; + ServiceIdentifiers["ICodeTransformer"] = "ICodeTransformer"; + ServiceIdentifiers["ICodeTransformerNamesGroupsBuilder"] = "ICodeTransformerNamesGroupsBuilder"; + ServiceIdentifiers["ICodeTransformersRunner"] = "ICodeTransformersRunner"; + ServiceIdentifiers["ICryptUtils"] = "ICryptUtils"; + ServiceIdentifiers["ICryptUtilsSwappedAlphabet"] = "ICryptUtilsSwappedAlphabet"; + ServiceIdentifiers["ICustomCodeHelper"] = "ICustomCodeHelper"; + ServiceIdentifiers["ICustomCodeHelperGroup"] = "ICustomCodeHelperGroup"; + ServiceIdentifiers["IControlFlowReplacer"] = "IControlFlowReplacer"; + ServiceIdentifiers["ICustomCodeHelperFormatter"] = "ICustomCodeHelperFormatter"; + ServiceIdentifiers["ICustomCodeHelperObfuscator"] = "ICustomCodeHelperObfuscator"; + ServiceIdentifiers["IEscapeSequenceEncoder"] = "IEscapeSequenceEncoder"; + ServiceIdentifiers["IIdentifierNamesGenerator"] = "IIdentifierNamesGenerator"; + ServiceIdentifiers["IIdentifierReplacer"] = "IIdentifierReplacer"; + ServiceIdentifiers["IJavaScriptObfuscator"] = "IJavaScriptObfuscator"; + ServiceIdentifiers["ILevelledTopologicalSorter"] = "ILevelledTopologicalSorter"; + ServiceIdentifiers["ILiteralNodesCacheStorage"] = "ILiteralNodesCacheStorage"; + ServiceIdentifiers["ILogger"] = "ILogger"; + ServiceIdentifiers["INodeGuard"] = "INodeGuard"; + ServiceIdentifiers["INodeTransformer"] = "INodeTransformer"; + ServiceIdentifiers["INodeTransformerNamesGroupsBuilder"] = "INodeTransformerNamesGroupsBuilder"; + ServiceIdentifiers["INodeTransformersRunner"] = "INodeTransformersRunner"; + ServiceIdentifiers["INumberNumericalExpressionAnalyzer"] = "INumberNumericalExpressionAnalyzer"; + ServiceIdentifiers["IObfuscationEventEmitter"] = "IObfuscationEventEmitter"; + ServiceIdentifiers["IObfuscatedCode"] = "IObfuscatedCode"; + ServiceIdentifiers["IOptions"] = "IOptions"; + ServiceIdentifiers["IOptionsNormalizer"] = "IOptionsNormalizer"; + ServiceIdentifiers["IPrevailingKindOfVariablesAnalyzer"] = "IPrevailingKindOfVariablesAnalyzer"; + ServiceIdentifiers["IObjectExpressionExtractor"] = "IObjectExpressionExtractor"; + ServiceIdentifiers["IRandomGenerator"] = "IRandomGenerator"; + ServiceIdentifiers["IRenamePropertiesReplacer"] = "IRenamePropertiesReplacer"; + ServiceIdentifiers["IScopeIdentifiersTraverser"] = "IScopeIdentifiersTraverser"; + ServiceIdentifiers["ISourceCode"] = "ISourceCode"; + ServiceIdentifiers["IScopeAnalyzer"] = "IScopeAnalyzer"; + ServiceIdentifiers["IStringArrayIndexNode"] = "IStringArrayIndexNode"; + ServiceIdentifiers["IStringArrayScopeCallsWrapperLexicalScopeDataStorage"] = "IStringArrayScopeCallsWrapperLexicalScopeDataStorage"; + ServiceIdentifiers["IStringArrayScopeCallsWrapperNamesDataStorage"] = "IStringArrayScopeCallsWrapperNamesDataStorage"; + ServiceIdentifiers["IStringArrayStorage"] = "IStringArrayStorage"; + ServiceIdentifiers["IStringArrayStorageAnalyzer"] = "IStringArrayStorageAnalyzer"; + ServiceIdentifiers["IVisitedLexicalScopeNodesStackStorage"] = "IVisitedLexicalScopeNodesStackStorage"; + ServiceIdentifiers["Newable__ICustomNode"] = "Newable"; + ServiceIdentifiers["Newable__TControlFlowStorage"] = "Newable"; + ServiceIdentifiers["TCustomNodeGroupStorage"] = "TCustomNodeGroupStorage"; + ServiceIdentifiers["TInputOptions"] = "TInputOptions"; +})(ServiceIdentifiers = exports.ServiceIdentifiers || (exports.ServiceIdentifiers = {})); + + +/***/ }), + +/***/ "./src/container/modules/analyzers/AnalyzersModule.ts": +/*!************************************************************!*\ + !*** ./src/container/modules/analyzers/AnalyzersModule.ts ***! + \************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export analyzersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.analyzersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const CalleeDataExtractor_1 = __webpack_require__(/*! ../../../enums/analyzers/calls-graph-analyzer/CalleeDataExtractor */ "./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts"); +const CallsGraphAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/CallsGraphAnalyzer */ "./src/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.ts"); +const FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts"); +const FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts"); +const NumberNumericalExpressionAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer */ "./src/analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer.ts"); +const ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor.ts"); +const PrevailingKindOfVariablesAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer */ "./src/analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer.ts"); +const ScopeAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/scope-analyzer/ScopeAnalyzer */ "./src/analyzers/scope-analyzer/ScopeAnalyzer.ts"); +const StringArrayStorageAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer */ "./src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts"); +exports.analyzersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICallsGraphAnalyzer) + .to(CallsGraphAnalyzer_1.CallsGraphAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INumberNumericalExpressionAnalyzer) + .to(NumberNumericalExpressionAnalyzer_1.NumberNumericalExpressionAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer) + .to(PrevailingKindOfVariablesAnalyzer_1.PrevailingKindOfVariablesAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IScopeAnalyzer) + .to(ScopeAnalyzer_1.ScopeAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorageAnalyzer) + .to(StringArrayStorageAnalyzer_1.StringArrayStorageAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor) + .to(FunctionDeclarationCalleeDataExtractor_1.FunctionDeclarationCalleeDataExtractor) + .whenTargetNamed(CalleeDataExtractor_1.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor) + .to(FunctionExpressionCalleeDataExtractor_1.FunctionExpressionCalleeDataExtractor) + .whenTargetNamed(CalleeDataExtractor_1.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor) + .to(ObjectExpressionCalleeDataExtractor_1.ObjectExpressionCalleeDataExtractor) + .whenTargetNamed(CalleeDataExtractor_1.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICalleeDataExtractor) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor)); +}); + + +/***/ }), + +/***/ "./src/container/modules/code-transformers/CodeTransformersModule.ts": +/*!***************************************************************************!*\ + !*** ./src/container/modules/code-transformers/CodeTransformersModule.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export codeTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.codeTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const CodeTransformer_1 = __webpack_require__(/*! ../../../enums/code-transformers/CodeTransformer */ "./src/enums/code-transformers/CodeTransformer.ts"); +const CodeTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../../../code-transformers/CodeTransformerNamesGroupsBuilder */ "./src/code-transformers/CodeTransformerNamesGroupsBuilder.ts"); +const HashbangOperatorTransformer_1 = __webpack_require__(/*! ../../../code-transformers/preparing-transformers/HashbangOperatorTransformer */ "./src/code-transformers/preparing-transformers/HashbangOperatorTransformer.ts"); +exports.codeTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICodeTransformer) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformer)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder) + .to(CodeTransformerNamesGroupsBuilder_1.CodeTransformerNamesGroupsBuilder) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformer) + .to(HashbangOperatorTransformer_1.HashbangOperatorTransformer) + .whenTargetNamed(CodeTransformer_1.CodeTransformer.HashbangOperatorTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/custom-code-helpers/CustomCodeHelpersModule.ts": +/*!******************************************************************************!*\ + !*** ./src/container/modules/custom-code-helpers/CustomCodeHelpersModule.ts ***! + \******************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export customCodeHelpersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.customCodeHelpersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const CustomCodeHelperGroup_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelperGroup */ "./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts"); +const ConsoleOutputCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup */ "./src/custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup.ts"); +const DebugProtectionCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup */ "./src/custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup.ts"); +const DomainLockCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup */ "./src/custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup.ts"); +const SelfDefendingCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup */ "./src/custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup.ts"); +const StringArrayCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/group/StringArrayCodeHelperGroup */ "./src/custom-code-helpers/string-array/group/StringArrayCodeHelperGroup.ts"); +const ConsoleOutputDisableCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper */ "./src/custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper.ts"); +const CustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../custom-code-helpers/CustomCodeHelperFormatter */ "./src/custom-code-helpers/CustomCodeHelperFormatter.ts"); +const CustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../../custom-code-helpers/CustomCodeHelperObfuscator */ "./src/custom-code-helpers/CustomCodeHelperObfuscator.ts"); +const DebugProtectionFunctionCallCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper */ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper.ts"); +const DebugProtectionFunctionIntervalCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper */ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper.ts"); +const DebugProtectionFunctionCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper */ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper.ts"); +const DomainLockCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/domain-lock/DomainLockCodeHelper */ "./src/custom-code-helpers/domain-lock/DomainLockCodeHelper.ts"); +const CallsControllerFunctionCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper */ "./src/custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper.ts"); +const SelfDefendingUnicodeCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper */ "./src/custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper.ts"); +const StringArrayCallsWrapperCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts"); +const StringArrayCallsWrapperBase64CodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper.ts"); +const StringArrayCallsWrapperRc4CodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper.ts"); +const StringArrayCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCodeHelper.ts"); +const StringArrayRotateFunctionCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper.ts"); +exports.customCodeHelpersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(ConsoleOutputDisableCodeHelper_1.ConsoleOutputDisableCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DebugProtectionFunctionCallCodeHelper_1.DebugProtectionFunctionCallCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DebugProtectionFunctionIntervalCodeHelper_1.DebugProtectionFunctionIntervalCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DebugProtectionFunctionCodeHelper_1.DebugProtectionFunctionCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DomainLockCodeHelper_1.DomainLockCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DomainLock); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(CallsControllerFunctionCodeHelper_1.CallsControllerFunctionCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(SelfDefendingUnicodeCodeHelper_1.SelfDefendingUnicodeCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCallsWrapperCodeHelper_1.StringArrayCallsWrapperCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapper); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCallsWrapperBase64CodeHelper_1.StringArrayCallsWrapperBase64CodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperBase64); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCallsWrapperRc4CodeHelper_1.StringArrayCallsWrapperRc4CodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperRc4); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCodeHelper_1.StringArrayCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArray); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayRotateFunctionCodeHelper_1.StringArrayRotateFunctionCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(ConsoleOutputCodeHelperGroup_1.ConsoleOutputCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.ConsoleOutput); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(DebugProtectionCodeHelperGroup_1.DebugProtectionCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.DebugProtection); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(DomainLockCustomCodeHelperGroup_1.DomainLockCustomCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.DomainLock); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(SelfDefendingCodeHelperGroup_1.SelfDefendingCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.SelfDefending); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(StringArrayCodeHelperGroup_1.StringArrayCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.StringArray); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelperGroup) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter) + .to(CustomCodeHelperFormatter_1.CustomCodeHelperFormatter) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator) + .to(CustomCodeHelperObfuscator_1.CustomCodeHelperObfuscator) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/custom-nodes/CustomNodesModule.ts": +/*!*****************************************************************!*\ + !*** ./src/container/modules/custom-nodes/CustomNodesModule.ts ***! + \*****************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export customNodesModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.customNodesModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const DeadCodeInjectionCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/DeadCodeInjectionCustomNode */ "./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts"); +const ObjectExpressionKeysTransformerCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode */ "./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts"); +const StringArrayCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/StringArrayCustomNode */ "./src/enums/custom-nodes/StringArrayCustomNode.ts"); +const BinaryExpressionFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode */ "./src/custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode.ts"); +const BlockStatementControlFlowFlatteningNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode */ "./src/custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode.ts"); +const BlockStatementDeadCodeInjectionNode_1 = __webpack_require__(/*! ../../../custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode */ "./src/custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode.ts"); +const CallExpressionControlFlowStorageCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode.ts"); +const CallExpressionFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode */ "./src/custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode.ts"); +const ControlFlowStorageNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts"); +const ExpressionWithOperatorControlFlowStorageCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode.ts"); +const LogicalExpressionFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode */ "./src/custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode.ts"); +const ObjectExpressionVariableDeclarationHostNode_1 = __webpack_require__(/*! ../../../custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode */ "./src/custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode.ts"); +const StringArrayCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/StringArrayCallNode */ "./src/custom-nodes/string-array-nodes/StringArrayCallNode.ts"); +const StringArrayHexadecimalNumberIndexNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode.ts"); +const StringArrayHexadecimalNumericStringIndexNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode.ts"); +const StringArrayIndexNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode */ "./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts"); +const StringArrayScopeCallsWrapperFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode */ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts"); +const StringArrayScopeCallsWrapperVariableNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode */ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts"); +const StringLiteralControlFlowStorageCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode.ts"); +const StringLiteralNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/StringLiteralNode */ "./src/custom-nodes/control-flow-flattening-nodes/StringLiteralNode.ts"); +exports.customNodesModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(BinaryExpressionFunctionNode_1.BinaryExpressionFunctionNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.BinaryExpressionFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(BlockStatementControlFlowFlatteningNode_1.BlockStatementControlFlowFlatteningNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(CallExpressionControlFlowStorageCallNode_1.CallExpressionControlFlowStorageCallNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(CallExpressionFunctionNode_1.CallExpressionFunctionNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(ControlFlowStorageNode_1.ControlFlowStorageNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.ControlFlowStorageNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(ExpressionWithOperatorControlFlowStorageCallNode_1.ExpressionWithOperatorControlFlowStorageCallNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(LogicalExpressionFunctionNode_1.LogicalExpressionFunctionNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.LogicalExpressionFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringLiteralNode_1.StringLiteralNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringLiteralControlFlowStorageCallNode_1.StringLiteralControlFlowStorageCallNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(BlockStatementDeadCodeInjectionNode_1.BlockStatementDeadCodeInjectionNode) + .whenTargetNamed(DeadCodeInjectionCustomNode_1.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(ObjectExpressionVariableDeclarationHostNode_1.ObjectExpressionVariableDeclarationHostNode) + .whenTargetNamed(ObjectExpressionKeysTransformerCustomNode_1.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringArrayCallNode_1.StringArrayCallNode) + .whenTargetNamed(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringArrayScopeCallsWrapperFunctionNode_1.StringArrayScopeCallsWrapperFunctionNode) + .whenTargetNamed(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringArrayScopeCallsWrapperVariableNode_1.StringArrayScopeCallsWrapperVariableNode) + .whenTargetNamed(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayIndexNode) + .to(StringArrayHexadecimalNumberIndexNode_1.StringArrayHexadecimalNumberIndexNode) + .inSingletonScope() + .whenTargetNamed(StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayIndexNode) + .to(StringArrayHexadecimalNumericStringIndexNode_1.StringArrayHexadecimalNumericStringIndexNode) + .inSingletonScope() + .whenTargetNamed(StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage, ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayIndexNode)); +}); + + +/***/ }), + +/***/ "./src/container/modules/generators/GeneratorsModule.ts": +/*!**************************************************************!*\ + !*** ./src/container/modules/generators/GeneratorsModule.ts ***! + \**************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export generatorsModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.generatorsModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const DictionaryIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/DictionaryIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/DictionaryIdentifierNamesGenerator.ts"); +const HexadecimalIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.ts"); +const MangledIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/MangledIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts"); +const MangledShuffledIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator.ts"); +exports.generatorsModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(DictionaryIdentifierNamesGenerator_1.DictionaryIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(HexadecimalIdentifierNamesGenerator_1.HexadecimalIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(MangledIdentifierNamesGenerator_1.MangledIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(MangledShuffledIdentifierNamesGenerator_1.MangledShuffledIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator); + function identifierNameGeneratorFactory() { + let cachedIdentifierNamesGenerator = null; + return (context) => (options) => { + if (cachedIdentifierNamesGenerator) { + return cachedIdentifierNamesGenerator; + } + let identifierNamesGenerator; + switch (options.identifierNamesGenerator) { + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator); + break; + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator); + break; + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator); + break; + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator: + default: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator); + } + cachedIdentifierNamesGenerator = identifierNamesGenerator; + return identifierNamesGenerator; + }; + } + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator) + .toFactory(identifierNameGeneratorFactory()); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/ControlFlowTransformersModule.ts": +/*!**********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/ControlFlowTransformersModule.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export controlFlowTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.controlFlowTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ControlFlowReplacer_1 = __webpack_require__(/*! ../../../enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer */ "./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const BinaryExpressionControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts"); +const BlockStatementControlFlowTransformer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer */ "./src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts"); +const CallExpressionControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts"); +const FunctionControlFlowTransformer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/FunctionControlFlowTransformer */ "./src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts"); +const LogicalExpressionControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts"); +const StringLiteralControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts"); +exports.controlFlowTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(BlockStatementControlFlowTransformer_1.BlockStatementControlFlowTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.BlockStatementControlFlowTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(FunctionControlFlowTransformer_1.FunctionControlFlowTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.FunctionControlFlowTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(BinaryExpressionControlFlowReplacer_1.BinaryExpressionControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.BinaryExpressionControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(CallExpressionControlFlowReplacer_1.CallExpressionControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.CallExpressionControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(LogicalExpressionControlFlowReplacer_1.LogicalExpressionControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.LogicalExpressionControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(StringLiteralControlFlowReplacer_1.StringLiteralControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.StringLiteralControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowReplacer) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer)); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/ConvertingTransformersModule.ts": +/*!*********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/ConvertingTransformersModule.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export convertingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.convertingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ObjectExpressionExtractor_1 = __webpack_require__(/*! ../../../enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor */ "./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts"); +const BasePropertiesExtractor_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor */ "./src/node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor.ts"); +const BooleanLiteralTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/BooleanLiteralTransformer */ "./src/node-transformers/converting-transformers/BooleanLiteralTransformer.ts"); +const ExportSpecifierTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ExportSpecifierTransformer */ "./src/node-transformers/converting-transformers/ExportSpecifierTransformer.ts"); +const MemberExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/MemberExpressionTransformer */ "./src/node-transformers/converting-transformers/MemberExpressionTransformer.ts"); +const MethodDefinitionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/MethodDefinitionTransformer */ "./src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts"); +const NumberLiteralTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/NumberLiteralTransformer */ "./src/node-transformers/converting-transformers/NumberLiteralTransformer.ts"); +const NumberToNumericalExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/NumberToNumericalExpressionTransformer */ "./src/node-transformers/converting-transformers/NumberToNumericalExpressionTransformer.ts"); +const ObjectExpressionKeysTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ObjectExpressionKeysTransformer */ "./src/node-transformers/converting-transformers/ObjectExpressionKeysTransformer.ts"); +const ObjectExpressionToVariableDeclarationExtractor_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor */ "./src/node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor.ts"); +const ObjectExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ObjectExpressionTransformer */ "./src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts"); +const ObjectPatternPropertiesTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ObjectPatternPropertiesTransformer */ "./src/node-transformers/converting-transformers/ObjectPatternPropertiesTransformer.ts"); +const SplitStringTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/SplitStringTransformer */ "./src/node-transformers/converting-transformers/SplitStringTransformer.ts"); +const TemplateLiteralTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/TemplateLiteralTransformer */ "./src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts"); +exports.convertingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(BooleanLiteralTransformer_1.BooleanLiteralTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.BooleanLiteralTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ExportSpecifierTransformer_1.ExportSpecifierTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ExportSpecifierTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(MemberExpressionTransformer_1.MemberExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.MemberExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(MethodDefinitionTransformer_1.MethodDefinitionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.MethodDefinitionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(NumberLiteralTransformer_1.NumberLiteralTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.NumberLiteralTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(NumberToNumericalExpressionTransformer_1.NumberToNumericalExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.NumberToNumericalExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObjectExpressionKeysTransformer_1.ObjectExpressionKeysTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObjectExpressionKeysTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObjectExpressionTransformer_1.ObjectExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObjectExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObjectPatternPropertiesTransformer_1.ObjectPatternPropertiesTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObjectPatternPropertiesTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(SplitStringTransformer_1.SplitStringTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.SplitStringTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(TemplateLiteralTransformer_1.TemplateLiteralTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.TemplateLiteralTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IObjectExpressionExtractor) + .to(ObjectExpressionToVariableDeclarationExtractor_1.ObjectExpressionToVariableDeclarationExtractor) + .whenTargetNamed(ObjectExpressionExtractor_1.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IObjectExpressionExtractor) + .to(BasePropertiesExtractor_1.BasePropertiesExtractor) + .whenTargetNamed(ObjectExpressionExtractor_1.ObjectExpressionExtractor.BasePropertiesExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionExtractor) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.IObjectExpressionExtractor)); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/DeadCodeInjectionTransformersModule.ts": +/*!****************************************************************************************!*\ + !*** ./src/container/modules/node-transformers/DeadCodeInjectionTransformersModule.ts ***! + \****************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export deadCodeInjectionTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.deadCodeInjectionTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const DeadCodeInjectionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer */ "./src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts"); +exports.deadCodeInjectionTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(DeadCodeInjectionTransformer_1.DeadCodeInjectionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.DeadCodeInjectionTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/FinalizingTransformersModule.ts": +/*!*********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/FinalizingTransformersModule.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export finalizingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.finalizingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const EscapeSequenceTransformer_1 = __webpack_require__(/*! ../../../node-transformers/finalizing-transformers/EscapeSequenceTransformer */ "./src/node-transformers/finalizing-transformers/EscapeSequenceTransformer.ts"); +exports.finalizingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(EscapeSequenceTransformer_1.EscapeSequenceTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.EscapeSequenceTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/InitializingTransformersModule.ts": +/*!***********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/InitializingTransformersModule.ts ***! + \***********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export initializingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.initializingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const CommentsTransformer_1 = __webpack_require__(/*! ../../../node-transformers/initializing-transformers/CommentsTransformer */ "./src/node-transformers/initializing-transformers/CommentsTransformer.ts"); +exports.initializingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(CommentsTransformer_1.CommentsTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.CommentsTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/NodeTransformersModule.ts": +/*!***************************************************************************!*\ + !*** ./src/container/modules/node-transformers/NodeTransformersModule.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export nodeTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.nodeTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../../../node-transformers/NodeTransformerNamesGroupsBuilder */ "./src/node-transformers/NodeTransformerNamesGroupsBuilder.ts"); +exports.nodeTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeTransformer) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder) + .to(NodeTransformerNamesGroupsBuilder_1.NodeTransformerNamesGroupsBuilder) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/PreparingTransformersModule.ts": +/*!********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/PreparingTransformersModule.ts ***! + \********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export preparingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.preparingTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ObfuscatingGuard_1 = __webpack_require__(/*! ../../../enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard */ "./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts"); +const BlackListObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts"); +const ConditionalCommentObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts"); +const CustomCodeHelpersTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/CustomCodeHelpersTransformer */ "./src/node-transformers/preparing-transformers/CustomCodeHelpersTransformer.ts"); +const EvalCallExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/EvalCallExpressionTransformer */ "./src/node-transformers/preparing-transformers/EvalCallExpressionTransformer.ts"); +const ForceTransformStringObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts"); +const IgnoredRequireImportObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard.ts"); +const MetadataTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/MetadataTransformer */ "./src/node-transformers/preparing-transformers/MetadataTransformer.ts"); +const ObfuscatingGuardsTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/ObfuscatingGuardsTransformer */ "./src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts"); +const ParentificationTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/ParentificationTransformer */ "./src/node-transformers/preparing-transformers/ParentificationTransformer.ts"); +const ReservedStringObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts"); +const VariablePreserveTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/VariablePreserveTransformer */ "./src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts"); +exports.preparingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(CustomCodeHelpersTransformer_1.CustomCodeHelpersTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.CustomCodeHelpersTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(EvalCallExpressionTransformer_1.EvalCallExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.EvalCallExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(MetadataTransformer_1.MetadataTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.MetadataTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObfuscatingGuardsTransformer_1.ObfuscatingGuardsTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObfuscatingGuardsTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ParentificationTransformer_1.ParentificationTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ParentificationTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(VariablePreserveTransformer_1.VariablePreserveTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.VariablePreserveTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(BlackListObfuscatingGuard_1.BlackListObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.BlackListObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(ConditionalCommentObfuscatingGuard_1.ConditionalCommentObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.ConditionalCommentObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(ForceTransformStringObfuscatingGuard_1.ForceTransformStringObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.ForceTransformStringObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(IgnoredRequireImportObfuscatingGuard_1.IgnoredRequireImportObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(ReservedStringObfuscatingGuard_1.ReservedStringObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.ReservedStringObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeGuard) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard)); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/RenameIdentifiersTransformersModule.ts": +/*!****************************************************************************************!*\ + !*** ./src/container/modules/node-transformers/RenameIdentifiersTransformersModule.ts ***! + \****************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export renameIdentifiersTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.renameIdentifiersTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const IdentifierReplacer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer */ "./src/node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer.ts"); +const LabeledStatementTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/LabeledStatementTransformer */ "./src/node-transformers/rename-identifiers-transformers/LabeledStatementTransformer.ts"); +const ScopeIdentifiersTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer */ "./src/node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer.ts"); +const ScopeThroughIdentifiersTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer */ "./src/node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer.ts"); +exports.renameIdentifiersTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(LabeledStatementTransformer_1.LabeledStatementTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.LabeledStatementTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ScopeIdentifiersTransformer_1.ScopeIdentifiersTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ScopeIdentifiersTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ScopeThroughIdentifiersTransformer_1.ScopeThroughIdentifiersTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ScopeThroughIdentifiersTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer) + .to(IdentifierReplacer_1.IdentifierReplacer) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/RenamePropertiesTransformersModule.ts": +/*!***************************************************************************************!*\ + !*** ./src/container/modules/node-transformers/RenamePropertiesTransformersModule.ts ***! + \***************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export renamePropertiesTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.renamePropertiesTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const RenamePropertiesReplacer_1 = __webpack_require__(/*! ../../../node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer */ "./src/node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer.ts"); +const RenamePropertiesTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-properties-transformers/RenamePropertiesTransformer */ "./src/node-transformers/rename-properties-transformers/RenamePropertiesTransformer.ts"); +exports.renamePropertiesTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(RenamePropertiesTransformer_1.RenamePropertiesTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.RenamePropertiesTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IRenamePropertiesReplacer) + .to(RenamePropertiesReplacer_1.RenamePropertiesReplacer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/SimplifyingTransformersModule.ts": +/*!**********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/SimplifyingTransformersModule.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export simplifyingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.simplifyingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const BlockStatementSimplifyTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer.ts"); +const ExpressionStatementsMergeTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer */ "./src/node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer.ts"); +const IfStatementSimplifyTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/IfStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/IfStatementSimplifyTransformer.ts"); +const VariableDeclarationsMergeTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer */ "./src/node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer.ts"); +exports.simplifyingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(BlockStatementSimplifyTransformer_1.BlockStatementSimplifyTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.BlockStatementSimplifyTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ExpressionStatementsMergeTransformer_1.ExpressionStatementsMergeTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ExpressionStatementsMergeTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(IfStatementSimplifyTransformer_1.IfStatementSimplifyTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.IfStatementSimplifyTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(VariableDeclarationsMergeTransformer_1.VariableDeclarationsMergeTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/StringArrayTransformersModule.ts": +/*!**********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/StringArrayTransformersModule.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export stringArrayTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.stringArrayTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const StringArrayScopeCallsWrapperTransformer_1 = __webpack_require__(/*! ../../../node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer */ "./src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts"); +const StringArrayTransformer_1 = __webpack_require__(/*! ../../../node-transformers/string-array-transformers/StringArrayTransformer */ "./src/node-transformers/string-array-transformers/StringArrayTransformer.ts"); +exports.stringArrayTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(StringArrayScopeCallsWrapperTransformer_1.StringArrayScopeCallsWrapperTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.StringArrayScopeCallsWrapperTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(StringArrayTransformer_1.StringArrayTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.StringArrayTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node/NodeModule.ts": +/*!**************************************************!*\ + !*** ./src/container/modules/node/NodeModule.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export nodeModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.nodeModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../../node/ScopeIdentifiersTraverser */ "./src/node/ScopeIdentifiersTraverser.ts"); +exports.nodeModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser) + .to(ScopeIdentifiersTraverser_1.ScopeIdentifiersTraverser) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/options/OptionsModule.ts": +/*!********************************************************!*\ + !*** ./src/container/modules/options/OptionsModule.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export optionsModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.optionsModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const Options_1 = __webpack_require__(/*! ../../../options/Options */ "./src/options/Options.ts"); +const OptionsNormalizer_1 = __webpack_require__(/*! ../../../options/OptionsNormalizer */ "./src/options/OptionsNormalizer.ts"); +exports.optionsModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IOptions) + .to(Options_1.Options) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IOptionsNormalizer) + .to(OptionsNormalizer_1.OptionsNormalizer) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/storages/StoragesModule.ts": +/*!**********************************************************!*\ + !*** ./src/container/modules/storages/StoragesModule.ts ***! + \**********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export storagesModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.storagesModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ControlFlowStorage_1 = __webpack_require__(/*! ../../../storages/custom-nodes/ControlFlowStorage */ "./src/storages/custom-nodes/ControlFlowStorage.ts"); +const CustomCodeHelperGroupStorage_1 = __webpack_require__(/*! ../../../storages/custom-code-helpers/CustomCodeHelperGroupStorage */ "./src/storages/custom-code-helpers/CustomCodeHelperGroupStorage.ts"); +const LiteralNodesCacheStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/LiteralNodesCacheStorage */ "./src/storages/string-array-transformers/LiteralNodesCacheStorage.ts"); +const StringArrayScopeCallsWrapperLexicalScopeDataStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage */ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage.ts"); +const StringArrayScopeCallsWrapperNamesDataStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage */ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage.ts"); +const StringArrayStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/StringArrayStorage */ "./src/storages/string-array-transformers/StringArrayStorage.ts"); +const VisitedLexicalScopeNodesStackStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage */ "./src/storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage.ts"); +exports.storagesModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.TCustomNodeGroupStorage) + .to(CustomCodeHelperGroupStorage_1.CustomCodeHelperGroupStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ILiteralNodesCacheStorage) + .to(LiteralNodesCacheStorage_1.LiteralNodesCacheStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage) + .to(StringArrayStorage_1.StringArrayStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage) + .to(StringArrayScopeCallsWrapperLexicalScopeDataStorage_1.StringArrayScopeCallsWrapperLexicalScopeDataStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage) + .to(StringArrayScopeCallsWrapperNamesDataStorage_1.StringArrayScopeCallsWrapperNamesDataStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage) + .to(VisitedLexicalScopeNodesStackStorage_1.VisitedLexicalScopeNodesStackStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__TControlFlowStorage) + .toConstructor(ControlFlowStorage_1.ControlFlowStorage); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__TControlFlowStorage) + .toFactory((context) => { + return () => { + const constructor = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.Newable__TControlFlowStorage); + const randomGenerator = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator); + const options = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.IOptions); + const storage = new constructor(randomGenerator, options); + storage.initialize(); + return storage; + }; + }); +}); + + +/***/ }), + +/***/ "./src/container/modules/utils/UtilsModule.ts": +/*!****************************************************!*\ + !*** ./src/container/modules/utils/UtilsModule.ts ***! + \****************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export utilsModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.utilsModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ArrayUtils_1 = __webpack_require__(/*! ../../../utils/ArrayUtils */ "./src/utils/ArrayUtils.ts"); +const CryptUtils_1 = __webpack_require__(/*! ../../../utils/CryptUtils */ "./src/utils/CryptUtils.ts"); +const CryptUtilsSwappedAlphabet_1 = __webpack_require__(/*! ../../../utils/CryptUtilsSwappedAlphabet */ "./src/utils/CryptUtilsSwappedAlphabet.ts"); +const EscapeSequenceEncoder_1 = __webpack_require__(/*! ../../../utils/EscapeSequenceEncoder */ "./src/utils/EscapeSequenceEncoder.ts"); +const LevelledTopologicalSorter_1 = __webpack_require__(/*! ../../../utils/LevelledTopologicalSorter */ "./src/utils/LevelledTopologicalSorter.ts"); +const RandomGenerator_1 = __webpack_require__(/*! ../../../utils/RandomGenerator */ "./src/utils/RandomGenerator.ts"); +exports.utilsModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils) + .to(ArrayUtils_1.ArrayUtils) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator) + .to(RandomGenerator_1.RandomGenerator) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtils) + .to(CryptUtils_1.CryptUtils) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtilsSwappedAlphabet) + .to(CryptUtilsSwappedAlphabet_1.CryptUtilsSwappedAlphabet) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder) + .to(EscapeSequenceEncoder_1.EscapeSequenceEncoder) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ILevelledTopologicalSorter) + .to(LevelledTopologicalSorter_1.LevelledTopologicalSorter); +}); + + +/***/ }), + +/***/ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts": +/*!*************************************************************!*\ + !*** ./src/custom-code-helpers/AbstractCustomCodeHelper.ts ***! + \*************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var AbstractCustomCodeHelper_1, _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCustomCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const GlobalVariableTemplate1_1 = __webpack_require__(/*! ./common/templates/GlobalVariableTemplate1 */ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate1.ts"); +const GlobalVariableTemplate2_1 = __webpack_require__(/*! ./common/templates/GlobalVariableTemplate2 */ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate2.ts"); +let AbstractCustomCodeHelper = AbstractCustomCodeHelper_1 = class AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + this.cachedNode = null; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.customCodeHelperFormatter = customCodeHelperFormatter; + this.customCodeHelperObfuscator = customCodeHelperObfuscator; + this.randomGenerator = randomGenerator; + this.options = options; + } + getNode() { + if (!this.cachedNode) { + const codeHelperTemplate = this.getCodeHelperTemplate(); + this.cachedNode = this.customCodeHelperFormatter.formatStructure(this.getNodeStructure(codeHelperTemplate)); + } + return this.cachedNode; + } + getGlobalVariableTemplate() { + return this.randomGenerator + .getRandomGenerator() + .pickone(AbstractCustomCodeHelper_1.globalVariableTemplateFunctions); + } + getCodeHelperTemplate() { + return ''; + } +}; +AbstractCustomCodeHelper.globalVariableTemplateFunctions = [ + GlobalVariableTemplate1_1.GlobalVariableTemplate1(), + GlobalVariableTemplate2_1.GlobalVariableTemplate2() +]; +AbstractCustomCodeHelper = AbstractCustomCodeHelper_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], AbstractCustomCodeHelper); +exports.AbstractCustomCodeHelper = AbstractCustomCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts": +/*!******************************************************************!*\ + !*** ./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts ***! + \******************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCustomCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractCustomCodeHelperGroup = class AbstractCustomCodeHelperGroup { + constructor(identifierNamesGeneratorFactory, randomGenerator, options) { + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.randomGenerator = randomGenerator; + this.options = options; + } + getAppendEvent() { + return this.appendEvent; + } + getCustomCodeHelpers() { + return this.customCodeHelpers; + } + appendCustomNodeIfExist(customCodeHelperName, callback) { + const customCodeHelper = this.customCodeHelpers.get(customCodeHelperName); + if (!customCodeHelper) { + return; + } + callback(customCodeHelper); + } + getRandomCallsGraphIndex(callsGraphLength) { + return this.randomGenerator.getRandomInteger(0, Math.max(0, Math.round(callsGraphLength - 1))); + } +}; +AbstractCustomCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], AbstractCustomCodeHelperGroup); +exports.AbstractCustomCodeHelperGroup = AbstractCustomCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/CustomCodeHelperFormatter.ts": +/*!**************************************************************!*\ + !*** ./src/custom-code-helpers/CustomCodeHelperFormatter.ts ***! + \**************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperFormatter = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const string_template_1 = __importDefault(__webpack_require__(/*! string-template */ "string-template")); +const IPrevailingKindOfVariablesAnalyzer_1 = __webpack_require__(/*! ../interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer */ "./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CustomCodeHelperFormatter = class CustomCodeHelperFormatter { + constructor(prevailingKindOfVariablesAnalyzer) { + this.prevailingKindOfVariables = prevailingKindOfVariablesAnalyzer.getPrevailingKind(); + } + formatTemplate(template, mapping) { + return string_template_1.default(template, mapping); + } + formatStructure(statements) { + for (const statement of statements) { + estraverse.replace(statement, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isVariableDeclarationNode(node)) { + return; + } + if (this.prevailingKindOfVariables === 'var') { + node.kind = 'var'; + } + return node; + } + }); + } + return statements; + } +}; +CustomCodeHelperFormatter = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)), + __metadata("design:paramtypes", [typeof (_a = typeof IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer !== "undefined" && IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer) === "function" ? _a : Object]) +], CustomCodeHelperFormatter); +exports.CustomCodeHelperFormatter = CustomCodeHelperFormatter; + + +/***/ }), + +/***/ "./src/custom-code-helpers/CustomCodeHelperObfuscator.ts": +/*!***************************************************************!*\ + !*** ./src/custom-code-helpers/CustomCodeHelperObfuscator.ts ***! + \***************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperObfuscator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NoCustomNodes_1 = __webpack_require__(/*! ../options/presets/NoCustomNodes */ "./src/options/presets/NoCustomNodes.ts"); +const JavaScriptObfuscatorFacade_1 = __webpack_require__(/*! ../JavaScriptObfuscatorFacade */ "./src/JavaScriptObfuscatorFacade.ts"); +let CustomCodeHelperObfuscator = class CustomCodeHelperObfuscator { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } + obfuscateTemplate(template, additionalOptions = {}) { + return JavaScriptObfuscatorFacade_1.JavaScriptObfuscator.obfuscate(template, Object.assign(Object.assign(Object.assign({}, NoCustomNodes_1.NO_ADDITIONAL_NODES_PRESET), { identifierNamesGenerator: this.options.identifierNamesGenerator, identifiersDictionary: this.options.identifiersDictionary, numbersToExpressions: this.options.numbersToExpressions, simplify: this.options.simplify, seed: this.randomGenerator.getRawSeed() }), additionalOptions)).getObfuscatedCode(); + } +}; +CustomCodeHelperObfuscator = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], CustomCodeHelperObfuscator); +exports.CustomCodeHelperObfuscator = CustomCodeHelperObfuscator; + + +/***/ }), + +/***/ "./src/custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper.ts": +/*!***************************************************************************************!*\ + !*** ./src/custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallsControllerFunctionCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SingleCallControllerTemplate_1 = __webpack_require__(/*! ../common/templates/SingleCallControllerTemplate */ "./src/custom-code-helpers/common/templates/SingleCallControllerTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let CallsControllerFunctionCodeHelper = class CallsControllerFunctionCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(appendEvent, callsControllerFunctionName) { + this.appendEvent = appendEvent; + this.callsControllerFunctionName = callsControllerFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + if (this.appendEvent === ObfuscationEvent_1.ObfuscationEvent.AfterObfuscation) { + return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(SingleCallControllerTemplate_1.SingleCallControllerTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName + })); + } + return this.customCodeHelperFormatter.formatTemplate(SingleCallControllerTemplate_1.SingleCallControllerTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], CallsControllerFunctionCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof ObfuscationEvent_1.ObfuscationEvent !== "undefined" && ObfuscationEvent_1.ObfuscationEvent) === "function" ? _a : Object) +], CallsControllerFunctionCodeHelper.prototype, "appendEvent", void 0); +CallsControllerFunctionCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], CallsControllerFunctionCodeHelper); +exports.CallsControllerFunctionCodeHelper = CallsControllerFunctionCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export GlobalVariableNoEvalTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobalVariableNoEvalTemplate = void 0; +function GlobalVariableNoEvalTemplate() { + return ` + const that = (typeof window !== 'undefined' + ? window + : (typeof process === 'object' && + typeof require === 'function' && + typeof global === 'object') + ? global + : this); + `; +} +exports.GlobalVariableNoEvalTemplate = GlobalVariableNoEvalTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate1.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/GlobalVariableTemplate1.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export GlobalVariableTemplate1 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobalVariableTemplate1 = void 0; +function GlobalVariableTemplate1() { + return ` + let that; + + try { + const getGlobal = Function('return (function() ' + '{}.constructor("return this")( )' + ');'); + + that = getGlobal(); + } catch (e) { + that = window; + } + `; +} +exports.GlobalVariableTemplate1 = GlobalVariableTemplate1; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate2.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/GlobalVariableTemplate2.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export GlobalVariableTemplate2 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobalVariableTemplate2 = void 0; +function GlobalVariableTemplate2() { + return ` + const getGlobal = function () { + let globalObject; + + try { + globalObject = Function('return (function() ' + '{}.constructor("return this")( )' + ');')(); + } catch (e) { + globalObject = window; + } + + return globalObject; + }; + const that = getGlobal(); + `; +} +exports.GlobalVariableTemplate2 = GlobalVariableTemplate2; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/SingleCallControllerTemplate.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/SingleCallControllerTemplate.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export SingleCallControllerTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SingleCallControllerTemplate = void 0; +function SingleCallControllerTemplate() { + return ` + const {callControllerFunctionName} = (function(){ + let firstCall = true; + + return function (context, fn){ + const rfn = firstCall ? function(){ + if(fn){ + const res = fn.apply(context, arguments); + fn = null; + return res; + } + } : function(){} + + firstCall = false; + + return rfn; + } + })(); + `; +} +exports.SingleCallControllerTemplate = SingleCallControllerTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper.ts ***! + \**********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConsoleOutputDisableCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const ConsoleOutputDisableTemplate_1 = __webpack_require__(/*! ./templates/ConsoleOutputDisableTemplate */ "./src/custom-code-helpers/console-output/templates/ConsoleOutputDisableTemplate.ts"); +const GlobalVariableNoEvalTemplate_1 = __webpack_require__(/*! ../common/templates/GlobalVariableNoEvalTemplate */ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ConsoleOutputDisableCodeHelper = class ConsoleOutputDisableCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(callsControllerFunctionName, consoleOutputDisableFunctionName) { + this.callsControllerFunctionName = callsControllerFunctionName; + this.consoleOutputDisableFunctionName = consoleOutputDisableFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const globalVariableTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? this.getGlobalVariableTemplate() + : GlobalVariableNoEvalTemplate_1.GlobalVariableNoEvalTemplate(); + return this.customCodeHelperFormatter.formatTemplate(ConsoleOutputDisableTemplate_1.ConsoleOutputDisableTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName, + consoleLogDisableFunctionName: this.consoleOutputDisableFunctionName, + globalVariableTemplate + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ConsoleOutputDisableCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ConsoleOutputDisableCodeHelper.prototype, "consoleOutputDisableFunctionName", void 0); +ConsoleOutputDisableCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], ConsoleOutputDisableCodeHelper); +exports.ConsoleOutputDisableCodeHelper = ConsoleOutputDisableCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConsoleOutputCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let ConsoleOutputCodeHelperGroup = class ConsoleOutputCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.disableConsoleOutput) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const consoleOutputDisableHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const consoleOutputDisableLexicalScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(consoleOutputDisableHostNode)) !== null && _a !== void 0 ? _a : null; + const consoleOutputDisableFunctionName = consoleOutputDisableLexicalScopeNode + ? this.identifierNamesGenerator.generate(consoleOutputDisableLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = consoleOutputDisableLexicalScopeNode + ? this.identifierNamesGenerator.generate(consoleOutputDisableLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable, (customCodeHelper) => { + customCodeHelper.initialize(callsControllerFunctionName, consoleOutputDisableFunctionName); + NodeAppender_1.NodeAppender.prepend(consoleOutputDisableHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.disableConsoleOutput) { + return; + } + const consoleOutputDisableExpressionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable, consoleOutputDisableExpressionCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], ConsoleOutputCodeHelperGroup.prototype, "customCodeHelpers", void 0); +ConsoleOutputCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], ConsoleOutputCodeHelperGroup); +exports.ConsoleOutputCodeHelperGroup = ConsoleOutputCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/console-output/templates/ConsoleOutputDisableTemplate.ts": +/*!******************************************************************************************!*\ + !*** ./src/custom-code-helpers/console-output/templates/ConsoleOutputDisableTemplate.ts ***! + \******************************************************************************************/ +/*! flagged exports */ +/*! export ConsoleOutputDisableTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConsoleOutputDisableTemplate = void 0; +function ConsoleOutputDisableTemplate() { + return ` + const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () { + {globalVariableTemplate} + + const consoleObject = (that.console = that.console || {}); + const methods = ['log', 'warn', 'info', 'error', 'exception', 'table', 'trace']; + + for (let index = 0; index < methods.length; index++){ + const func = {callControllerFunctionName}.constructor.prototype.bind({callControllerFunctionName}); + const methodName = methods[index]; + const originalFunction = consoleObject[methodName] || func; + + func.__proto__ = {callControllerFunctionName}.bind({callControllerFunctionName}); + func.toString = originalFunction.toString.bind(originalFunction); + + consoleObject[methodName] = func; + } + }); + + {consoleLogDisableFunctionName}(); + `; +} +exports.ConsoleOutputDisableTemplate = ConsoleOutputDisableTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper.ts": +/*!*******************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionCallCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DebugProtectionFunctionCallTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DebugProtectionFunctionCallCodeHelper = class DebugProtectionFunctionCallCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(debugProtectionFunctionName, callsControllerFunctionName) { + this.debugProtectionFunctionName = debugProtectionFunctionName; + this.callsControllerFunctionName = callsControllerFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + return this.customCodeHelperFormatter.formatTemplate(DebugProtectionFunctionCallTemplate_1.DebugProtectionFunctionCallTemplate(), { + debugProtectionFunctionName: this.debugProtectionFunctionName, + callControllerFunctionName: this.callsControllerFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionCallCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionCallCodeHelper.prototype, "debugProtectionFunctionName", void 0); +DebugProtectionFunctionCallCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionFunctionCallCodeHelper); +exports.DebugProtectionFunctionCallCodeHelper = DebugProtectionFunctionCallCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper.ts": +/*!***************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DebuggerTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function/DebuggerTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplate.ts"); +const DebuggerTemplateNoEval_1 = __webpack_require__(/*! ./templates/debug-protection-function/DebuggerTemplateNoEval */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplateNoEval.ts"); +const DebugProtectionFunctionTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function/DebugProtectionFunctionTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebugProtectionFunctionTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DebugProtectionFunctionCodeHelper = class DebugProtectionFunctionCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(debugProtectionFunctionName) { + this.debugProtectionFunctionName = debugProtectionFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const debuggerTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? DebuggerTemplate_1.DebuggerTemplate() + : DebuggerTemplateNoEval_1.DebuggerTemplateNoEval(); + return this.customCodeHelperFormatter.formatTemplate(DebugProtectionFunctionTemplate_1.DebugProtectionFunctionTemplate(), { + debuggerTemplate, + debugProtectionFunctionName: this.debugProtectionFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionCodeHelper.prototype, "debugProtectionFunctionName", void 0); +DebugProtectionFunctionCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionFunctionCodeHelper); +exports.DebugProtectionFunctionCodeHelper = DebugProtectionFunctionCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper.ts": +/*!***********************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper.ts ***! + \***********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionIntervalCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DebugProtectionFunctionIntervalCodeHelper = class DebugProtectionFunctionIntervalCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(debugProtectionFunctionName) { + this.debugProtectionFunctionName = debugProtectionFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + return this.customCodeHelperFormatter.formatTemplate(DebugProtectionFunctionIntervalTemplate_1.DebugProtectionFunctionIntervalTemplate(), { + debugProtectionFunctionName: this.debugProtectionFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionIntervalCodeHelper.prototype, "debugProtectionFunctionName", void 0); +DebugProtectionFunctionIntervalCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionFunctionIntervalCodeHelper); +exports.DebugProtectionFunctionIntervalCodeHelper = DebugProtectionFunctionIntervalCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup.ts": +/*!******************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let DebugProtectionCodeHelperGroup = class DebugProtectionCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.debugProtection) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const debugProtectionFunctionCallHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const debugProtectionFunctionCallScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(debugProtectionFunctionCallHostNode)) !== null && _a !== void 0 ? _a : null; + const debugProtectionFunctionName = debugProtectionFunctionCallScopeNode + ? this.identifierNamesGenerator.generate(debugProtectionFunctionCallScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = debugProtectionFunctionCallScopeNode + ? this.identifierNamesGenerator.generate(debugProtectionFunctionCallScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall, (customCodeHelper) => { + customCodeHelper.initialize(debugProtectionFunctionName, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(debugProtectionFunctionCallHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction, (customCodeHelper) => { + customCodeHelper.initialize(debugProtectionFunctionName); + NodeAppender_1.NodeAppender.append(nodeWithStatements, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval, (customCodeHelper) => { + const programBodyLength = NodeGuards_1.NodeGuards.isSwitchCaseNode(nodeWithStatements) + ? nodeWithStatements.consequent.length + : nodeWithStatements.body.length; + const randomIndex = this.randomGenerator.getRandomInteger(0, programBodyLength); + customCodeHelper.initialize(debugProtectionFunctionName); + NodeAppender_1.NodeAppender.insertAtIndex(nodeWithStatements, customCodeHelper.getNode(), randomIndex); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.debugProtection) { + return; + } + const debugProtectionFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction); + const debugProtectionFunctionCallCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall); + const debugProtectionFunctionIntervalCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction, debugProtectionFunctionCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall, debugProtectionFunctionCallCodeHelper); + if (this.options.debugProtectionInterval) { + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval, debugProtectionFunctionIntervalCodeHelper); + } + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], DebugProtectionCodeHelperGroup.prototype, "customCodeHelpers", void 0); +DebugProtectionCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionCodeHelperGroup); +exports.DebugProtectionCodeHelperGroup = DebugProtectionCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate.ts": +/*!**********************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate.ts ***! + \**********************************************************************************************************************************/ +/*! flagged exports */ +/*! export DebugProtectionFunctionCallTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionCallTemplate = void 0; +function DebugProtectionFunctionCallTemplate() { + return ` + (function () { + {callControllerFunctionName}( + this, + function () { + const regExp1 = new RegExp('function *\\\\( *\\\\)'); + const regExp2 = new RegExp('\\\\+\\\\+ *\\(?:[a-zA-Z_$][0-9a-zA-Z_$]*\\)', 'i'); + + const result = {debugProtectionFunctionName}('init'); + + if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) { + result('0'); + } else { + {debugProtectionFunctionName}(); + } + } + )(); + })(); + `; +} +exports.DebugProtectionFunctionCallTemplate = DebugProtectionFunctionCallTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate.ts": +/*!******************************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate.ts ***! + \******************************************************************************************************************************************/ +/*! flagged exports */ +/*! export DebugProtectionFunctionIntervalTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionIntervalTemplate = void 0; +function DebugProtectionFunctionIntervalTemplate() { + return ` + setInterval(function () { + {debugProtectionFunctionName}(); + }, 4000); + `; +} +exports.DebugProtectionFunctionIntervalTemplate = DebugProtectionFunctionIntervalTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebugProtectionFunctionTemplate.ts": +/*!*************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebugProtectionFunctionTemplate.ts ***! + \*************************************************************************************************************************/ +/*! flagged exports */ +/*! export DebugProtectionFunctionTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionTemplate = void 0; +function DebugProtectionFunctionTemplate() { + return ` + function {debugProtectionFunctionName} (ret) { + function debuggerProtection (counter) { + + {debuggerTemplate} + + debuggerProtection(++counter); + } + + try { + if (ret) { + return debuggerProtection; + } else { + debuggerProtection(0); + } + } catch (y) {} + } + `; +} +exports.DebugProtectionFunctionTemplate = DebugProtectionFunctionTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplate.ts": +/*!**********************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplate.ts ***! + \**********************************************************************************************************/ +/*! flagged exports */ +/*! export DebuggerTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebuggerTemplate = void 0; +function DebuggerTemplate() { + return ` + if (typeof counter === 'string') { + return (function (arg) {}.constructor('while (true) {}').apply('counter')); + } else { + if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) { + (function () {return true;}.constructor('debu' + 'gger').call('action')); + } else { + (function () {return false;}.constructor('debu' + 'gger').apply('stateObject')); + } + + } + `; +} +exports.DebuggerTemplate = DebuggerTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplateNoEval.ts": +/*!****************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplateNoEval.ts ***! + \****************************************************************************************************************/ +/*! flagged exports */ +/*! export DebuggerTemplateNoEval [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebuggerTemplateNoEval = void 0; +function DebuggerTemplateNoEval() { + return ` + if (typeof counter === 'string') { + const func = function () { + while (true) {} + }; + + return func(); + } else { + if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) { + debugger; + } else { + debugger; + } + + } + `; +} +exports.DebuggerTemplateNoEval = DebuggerTemplateNoEval; + + +/***/ }), + +/***/ "./src/custom-code-helpers/domain-lock/DomainLockCodeHelper.ts": +/*!*********************************************************************!*\ + !*** ./src/custom-code-helpers/domain-lock/DomainLockCodeHelper.ts ***! + \*********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const ICryptUtils_1 = __webpack_require__(/*! ../../interfaces/utils/ICryptUtils */ "./src/interfaces/utils/ICryptUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DomainLockTemplate_1 = __webpack_require__(/*! ./templates/DomainLockTemplate */ "./src/custom-code-helpers/domain-lock/templates/DomainLockTemplate.ts"); +const GlobalVariableNoEvalTemplate_1 = __webpack_require__(/*! ../common/templates/GlobalVariableNoEvalTemplate */ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DomainLockCodeHelper = class DomainLockCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options, cryptUtils) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + this.cryptUtils = cryptUtils; + } + initialize(callsControllerFunctionName, domainLockFunctionName) { + this.callsControllerFunctionName = callsControllerFunctionName; + this.domainLockFunctionName = domainLockFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const domainsString = this.options.domainLock.join(';'); + const [hiddenDomainsString, diff] = this.cryptUtils.hideString(domainsString, domainsString.length * 3); + const globalVariableTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? this.getGlobalVariableTemplate() + : GlobalVariableNoEvalTemplate_1.GlobalVariableNoEvalTemplate(); + return this.customCodeHelperFormatter.formatTemplate(DomainLockTemplate_1.DomainLockTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName, + domainLockFunctionName: this.domainLockFunctionName, + diff, + domains: hiddenDomainsString, + globalVariableTemplate + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DomainLockCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DomainLockCodeHelper.prototype, "domainLockFunctionName", void 0); +DomainLockCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object, typeof (_f = typeof ICryptUtils_1.ICryptUtils !== "undefined" && ICryptUtils_1.ICryptUtils) === "function" ? _f : Object]) +], DomainLockCodeHelper); +exports.DomainLockCodeHelper = DomainLockCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockCustomCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let DomainLockCustomCodeHelperGroup = class DomainLockCustomCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.domainLock.length) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const domainLockFunctionHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const domainLockFunctionLexicalScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(domainLockFunctionHostNode)) !== null && _a !== void 0 ? _a : null; + const domainLockFunctionName = domainLockFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(domainLockFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = domainLockFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(domainLockFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DomainLock, (customCodeHelper) => { + customCodeHelper.initialize(callsControllerFunctionName, domainLockFunctionName); + NodeAppender_1.NodeAppender.prepend(domainLockFunctionHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.domainLock.length) { + return; + } + const domainLockCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DomainLock); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DomainLock, domainLockCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], DomainLockCustomCodeHelperGroup.prototype, "customCodeHelpers", void 0); +DomainLockCustomCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DomainLockCustomCodeHelperGroup); +exports.DomainLockCustomCodeHelperGroup = DomainLockCustomCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/domain-lock/templates/DomainLockTemplate.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-code-helpers/domain-lock/templates/DomainLockTemplate.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export DomainLockTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockTemplate = void 0; +function DomainLockTemplate() { + return ` + const {domainLockFunctionName} = {callControllerFunctionName}(this, function () { + + {globalVariableTemplate} + + const func = function () { + return { + key: 'item', + value: 'attribute', + getAttribute: function () { + for (let i = 0; i < 1000; i--) { + const isPositive = i > 0; + + switch (isPositive) { + case true: + return this.item + '_' + this.value + '_' + i; + default: + this.item + '_' + this.value; + } + } + }() + }; + }; + + const regExp = new RegExp("[{diff}]", "g"); + const domains = "{domains}".replace(regExp, "").split(";"); + let document; + let domain; + let location; + let hostname; + + for (let d in that) { + if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) { + document = d; + + break; + } + } + + for (let d1 in that[document]) { + if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) { + domain = d1; + + break; + } + } + + if (!("~" > domain)) { + for (let d2 in that[document]) { + if (d2.length == 8 && d2.charCodeAt(7) == 110 && d2.charCodeAt(0) == 108) { + location = d2; + + break; + } + } + + for (let d3 in that[document][location]) { + if (d3.length == 8 && d3.charCodeAt(7) == 101 && d3.charCodeAt(0) == 104) { + hostname = d3; + + break; + } + } + } + + if (!document || !that[document]) { + return; + } + + const documentDomain = that[document][domain]; + const documentLocationHostName = !!that[document][location] && that[document][location][hostname]; + const currentDomain = documentDomain || documentLocationHostName; + + if (!currentDomain) { + return; + } + + let ok = false; + + for (let i = 0; i < domains.length; i++) { + const domain = domains[i]; + const domainNormalized = domain[0] === String.fromCharCode(46) + ? domain.slice(1) + : domain; + const position = currentDomain.length - domainNormalized.length; + const lastIndex = currentDomain.indexOf(domainNormalized, position); + const endsWith = lastIndex !== -1 && lastIndex === position; + + if (endsWith) { + if (currentDomain.length == domain.length || domain.indexOf(".") === 0) { + ok = true; + } + } + } + + if (!ok) { + data; + } else { + return; + } + + func(); + }); + + {domainLockFunctionName}(); + `; +} +exports.DomainLockTemplate = DomainLockTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper.ts ***! + \**********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingUnicodeCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SelfDefendingTemplate_1 = __webpack_require__(/*! ./templates/SelfDefendingTemplate */ "./src/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.ts"); +const SelfDefendingNoEvalTemplate_1 = __webpack_require__(/*! ./templates/SelfDefendingNoEvalTemplate */ "./src/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const GlobalVariableNoEvalTemplate_1 = __webpack_require__(/*! ../common/templates/GlobalVariableNoEvalTemplate */ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts"); +let SelfDefendingUnicodeCodeHelper = class SelfDefendingUnicodeCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(callsControllerFunctionName, selfDefendingFunctionName) { + this.callsControllerFunctionName = callsControllerFunctionName; + this.selfDefendingFunctionName = selfDefendingFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const globalVariableTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? this.getGlobalVariableTemplate() + : GlobalVariableNoEvalTemplate_1.GlobalVariableNoEvalTemplate(); + const selfDefendingTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? SelfDefendingTemplate_1.SelfDefendingTemplate() + : SelfDefendingNoEvalTemplate_1.SelfDefendingNoEvalTemplate(); + return this.customCodeHelperFormatter.formatTemplate(selfDefendingTemplate, { + callControllerFunctionName: this.callsControllerFunctionName, + selfDefendingFunctionName: this.selfDefendingFunctionName, + globalVariableTemplate + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], SelfDefendingUnicodeCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], SelfDefendingUnicodeCodeHelper.prototype, "selfDefendingFunctionName", void 0); +SelfDefendingUnicodeCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], SelfDefendingUnicodeCodeHelper); +exports.SelfDefendingUnicodeCodeHelper = SelfDefendingUnicodeCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let SelfDefendingCodeHelperGroup = class SelfDefendingCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.selfDefending) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const selfDefendingFunctionHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const selfDefendingFunctionLexicalScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(selfDefendingFunctionHostNode)) !== null && _a !== void 0 ? _a : null; + const selfDefendingFunctionName = selfDefendingFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(selfDefendingFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = selfDefendingFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(selfDefendingFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode, (customCodeHelper) => { + customCodeHelper.initialize(callsControllerFunctionName, selfDefendingFunctionName); + NodeAppender_1.NodeAppender.prepend(selfDefendingFunctionHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.selfDefending) { + return; + } + const selfDefendingUnicodeCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode, selfDefendingUnicodeCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], SelfDefendingCodeHelperGroup.prototype, "customCodeHelpers", void 0); +SelfDefendingCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], SelfDefendingCodeHelperGroup); +exports.SelfDefendingCodeHelperGroup = SelfDefendingCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.ts ***! + \*****************************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingNoEvalTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingNoEvalTemplate = void 0; +function SelfDefendingNoEvalTemplate() { + return ` + const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () { + {globalVariableTemplate} + + const test = function () { + const regExp = new that.RegExp('^([^ ]+( +[^ ]+)+)+[^ ]}'); + + return !regExp.test({selfDefendingFunctionName}); + }; + + return test(); + }); + + {selfDefendingFunctionName}(); + `; +} +exports.SelfDefendingNoEvalTemplate = SelfDefendingNoEvalTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.ts": +/*!***********************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.ts ***! + \***********************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingTemplate = void 0; +function SelfDefendingTemplate() { + return ` + const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () { + const test = function () { + const regExp = test + .constructor('return /" + this + "/')() + .constructor('^([^ ]+( +[^ ]+)+)+[^ ]}'); + + return !regExp.test({selfDefendingFunctionName}); + }; + + return test(); + }); + + {selfDefendingFunctionName}(); + `; +} +exports.SelfDefendingTemplate = SelfDefendingTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperBase64CodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AtobTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/AtobTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts"); +const StringArrayBase64DecodeTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate.ts"); +const StringArrayCallsWrapperCodeHelper_1 = __webpack_require__(/*! ./StringArrayCallsWrapperCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts"); +let StringArrayCallsWrapperBase64CodeHelper = class StringArrayCallsWrapperBase64CodeHelper extends StringArrayCallsWrapperCodeHelper_1.StringArrayCallsWrapperCodeHelper { + getDecodeStringArrayTemplate() { + const atobFunctionName = this.randomGenerator.getRandomString(6); + const atobPolyfill = this.customCodeHelperFormatter.formatTemplate(AtobTemplate_1.AtobTemplate(), { + atobFunctionName: atobFunctionName + }); + const selfDefendingCode = this.getSelfDefendingTemplate(); + return this.customCodeHelperFormatter.formatTemplate(StringArrayBase64DecodeTemplate_1.StringArrayBase64DecodeTemplate(this.randomGenerator), { + atobPolyfill, + atobFunctionName, + selfDefendingCode, + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName + }); + } +}; +StringArrayCallsWrapperBase64CodeHelper = __decorate([ + inversify_1.injectable() +], StringArrayCallsWrapperBase64CodeHelper); +exports.StringArrayCallsWrapperBase64CodeHelper = StringArrayCallsWrapperBase64CodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts": +/*!***********************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IEscapeSequenceEncoder_1 = __webpack_require__(/*! ../../interfaces/utils/IEscapeSequenceEncoder */ "./src/interfaces/utils/IEscapeSequenceEncoder.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SelfDefendingTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/SelfDefendingTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/SelfDefendingTemplate.ts"); +const StringArrayCallsWrapperTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayCallsWrapperCodeHelper = class StringArrayCallsWrapperCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options, escapeSequenceEncoder) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + this.escapeSequenceEncoder = escapeSequenceEncoder; + } + initialize(stringArrayName, stringArrayCallsWrapperName, indexShiftAmount) { + this.stringArrayName = stringArrayName; + this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + this.indexShiftAmount = indexShiftAmount; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const decodeCodeHelperTemplate = this.getDecodeStringArrayTemplate(); + const preservedNames = [`^${this.stringArrayName}$`]; + return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(StringArrayCallsWrapperTemplate_1.StringArrayCallsWrapperTemplate(), { + decodeCodeHelperTemplate, + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, + stringArrayName: this.stringArrayName, + indexShiftAmount: this.indexShiftAmount + }), { + reservedNames: preservedNames + }); + } + getDecodeStringArrayTemplate() { + return ''; + } + getSelfDefendingTemplate() { + if (!this.options.selfDefending) { + return ''; + } + return this.customCodeHelperFormatter.formatTemplate(SelfDefendingTemplate_1.SelfDefendingTemplate(this.randomGenerator, this.escapeSequenceEncoder), { + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, + stringArrayName: this.stringArrayName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayCallsWrapperCodeHelper.prototype, "indexShiftAmount", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCallsWrapperCodeHelper.prototype, "stringArrayName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCallsWrapperCodeHelper.prototype, "stringArrayCallsWrapperName", void 0); +StringArrayCallsWrapperCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object, typeof (_f = typeof IEscapeSequenceEncoder_1.IEscapeSequenceEncoder !== "undefined" && IEscapeSequenceEncoder_1.IEscapeSequenceEncoder) === "function" ? _f : Object]) +], StringArrayCallsWrapperCodeHelper); +exports.StringArrayCallsWrapperCodeHelper = StringArrayCallsWrapperCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperRc4CodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AtobTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/AtobTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts"); +const Rc4Template_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/Rc4Template */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/Rc4Template.ts"); +const StringArrayRC4DecodeTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate.ts"); +const StringArrayCallsWrapperCodeHelper_1 = __webpack_require__(/*! ./StringArrayCallsWrapperCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts"); +let StringArrayCallsWrapperRc4CodeHelper = class StringArrayCallsWrapperRc4CodeHelper extends StringArrayCallsWrapperCodeHelper_1.StringArrayCallsWrapperCodeHelper { + getDecodeStringArrayTemplate() { + const atobFunctionName = this.randomGenerator.getRandomString(6); + const atobPolyfill = this.customCodeHelperFormatter.formatTemplate(AtobTemplate_1.AtobTemplate(), { + atobFunctionName + }); + const rc4Polyfill = this.customCodeHelperFormatter.formatTemplate(Rc4Template_1.Rc4Template(), { + atobFunctionName + }); + const selfDefendingCode = this.getSelfDefendingTemplate(); + return this.customCodeHelperFormatter.formatTemplate(StringArrayRC4DecodeTemplate_1.StringArrayRC4DecodeTemplate(this.randomGenerator), { + atobPolyfill, + rc4Polyfill, + selfDefendingCode, + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName + }); + } +}; +StringArrayCallsWrapperRc4CodeHelper = __decorate([ + inversify_1.injectable() +], StringArrayCallsWrapperRc4CodeHelper); +exports.StringArrayCallsWrapperRc4CodeHelper = StringArrayCallsWrapperRc4CodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCodeHelper.ts": +/*!***********************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCodeHelper.ts ***! + \***********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const StringArrayTemplate_1 = __webpack_require__(/*! ./templates/string-array/StringArrayTemplate */ "./src/custom-code-helpers/string-array/templates/string-array/StringArrayTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const StringUtils_1 = __webpack_require__(/*! ../../utils/StringUtils */ "./src/utils/StringUtils.ts"); +let StringArrayCodeHelper = class StringArrayCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(stringArrayStorage, stringArrayName) { + this.stringArrayStorage = stringArrayStorage; + this.stringArrayName = stringArrayName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + return this.customCodeHelperFormatter.formatTemplate(StringArrayTemplate_1.StringArrayTemplate(), { + stringArrayName: this.stringArrayName, + stringArrayStorageItems: this.getEncodedStringArrayStorageItems() + }); + } + getEncodedStringArrayStorageItems() { + return Array + .from(this.stringArrayStorage.getStorage().values()) + .map((stringArrayStorageItemData) => { + const escapedEncodedValue = StringUtils_1.StringUtils.escapeJsString(stringArrayStorageItemData.encodedValue); + return `'${escapedEncodedValue}'`; + }) + .toString(); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _a : Object) +], StringArrayCodeHelper.prototype, "stringArrayStorage", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCodeHelper.prototype, "stringArrayName", void 0); +StringArrayCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], StringArrayCodeHelper); +exports.StringArrayCodeHelper = StringArrayCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper.ts": +/*!*************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRotateFunctionCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IEscapeSequenceEncoder_1 = __webpack_require__(/*! ../../interfaces/utils/IEscapeSequenceEncoder */ "./src/interfaces/utils/IEscapeSequenceEncoder.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SelfDefendingTemplate_1 = __webpack_require__(/*! ./templates/string-array-rotate-function/SelfDefendingTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/SelfDefendingTemplate.ts"); +const StringArrayRotateFunctionTemplate_1 = __webpack_require__(/*! ./templates/string-array-rotate-function/StringArrayRotateFunctionTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/StringArrayRotateFunctionTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let StringArrayRotateFunctionCodeHelper = class StringArrayRotateFunctionCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options, escapeSequenceEncoder) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + this.escapeSequenceEncoder = escapeSequenceEncoder; + } + initialize(stringArrayName, stringArrayRotationAmount) { + this.stringArrayName = stringArrayName; + this.stringArrayRotationAmount = stringArrayRotationAmount; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const timesName = this.identifierNamesGenerator.generateNext(); + const whileFunctionName = this.identifierNamesGenerator.generateNext(); + const preservedNames = [`^${this.stringArrayName}$`]; + let code = ''; + if (this.options.selfDefending) { + code = this.customCodeHelperFormatter.formatTemplate(SelfDefendingTemplate_1.SelfDefendingTemplate(this.escapeSequenceEncoder), { + timesName, + whileFunctionName + }); + } + else { + code = `${whileFunctionName}(++${timesName})`; + } + return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(StringArrayRotateFunctionTemplate_1.StringArrayRotateFunctionTemplate(), { + code, + timesName, + whileFunctionName, + stringArrayName: this.stringArrayName, + stringArrayRotationAmount: NumberUtils_1.NumberUtils.toHex(this.stringArrayRotationAmount) + }), { + reservedNames: preservedNames + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayRotateFunctionCodeHelper.prototype, "stringArrayName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayRotateFunctionCodeHelper.prototype, "stringArrayRotationAmount", void 0); +StringArrayRotateFunctionCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object, typeof (_f = typeof IEscapeSequenceEncoder_1.IEscapeSequenceEncoder !== "undefined" && IEscapeSequenceEncoder_1.IEscapeSequenceEncoder) === "function" ? _f : Object]) +], StringArrayRotateFunctionCodeHelper); +exports.StringArrayRotateFunctionCodeHelper = StringArrayRotateFunctionCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/group/StringArrayCodeHelperGroup.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/group/StringArrayCodeHelperGroup.ts ***! + \**********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayCodeHelperGroup_1, _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +let StringArrayCodeHelperGroup = StringArrayCodeHelperGroup_1 = class StringArrayCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, stringArrayStorage, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.AfterObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + this.stringArrayStorage = stringArrayStorage; + } + appendNodes(nodeWithStatements, callsGraphData) { + if (!this.stringArrayStorage.getLength()) { + return; + } + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.StringArray, (customCodeHelper) => { + NodeAppender_1.NodeAppender.prepend(nodeWithStatements, customCodeHelper.getNode()); + }); + const stringArrayEncodingsLength = this.options.stringArrayEncoding.length; + for (let i = 0; i < stringArrayEncodingsLength; i++) { + const stringArrayEncoding = this.options.stringArrayEncoding[i]; + const stringArrayCallsWrapperCodeHelperName = this.getStringArrayCallsWrapperCodeHelperName(stringArrayEncoding); + this.appendCustomNodeIfExist(stringArrayCallsWrapperCodeHelperName, (customCodeHelper) => { + NodeAppender_1.NodeAppender.insertAtIndex(nodeWithStatements, customCodeHelper.getNode(), i + 1); + }); + } + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction, (customCodeHelper) => { + NodeAppender_1.NodeAppender.insertAtIndex(nodeWithStatements, customCodeHelper.getNode(), 1); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.stringArray) { + return; + } + const stringArrayCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.StringArray); + const stringArrayName = this.stringArrayStorage.getStorageName(); + stringArrayCodeHelper.initialize(this.stringArrayStorage, stringArrayName); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.StringArray, stringArrayCodeHelper); + for (const stringArrayEncoding of this.options.stringArrayEncoding) { + const stringArrayCallsWrapperCodeHelperName = this.getStringArrayCallsWrapperCodeHelperName(stringArrayEncoding); + const stringArrayCallsWrapperCodeHelper = this.customCodeHelperFactory(stringArrayCallsWrapperCodeHelperName); + const stringArrayCallsWrapperName = this.stringArrayStorage.getStorageCallsWrapperName(stringArrayEncoding); + stringArrayCallsWrapperCodeHelper.initialize(stringArrayName, stringArrayCallsWrapperName, this.stringArrayStorage.getIndexShiftAmount()); + this.customCodeHelpers.set(stringArrayCallsWrapperCodeHelperName, stringArrayCallsWrapperCodeHelper); + } + const stringArrayRotateFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction); + stringArrayRotateFunctionCodeHelper.initialize(stringArrayName, this.stringArrayStorage.getRotationAmount()); + if (this.options.rotateStringArray) { + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction, stringArrayRotateFunctionCodeHelper); + } + } + getStringArrayCallsWrapperCodeHelperName(stringArrayEncoding) { + var _a; + return (_a = StringArrayCodeHelperGroup_1 + .stringArrayCallsWrapperCodeHelperMap.get(stringArrayEncoding)) !== null && _a !== void 0 ? _a : CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapper; + } +}; +StringArrayCodeHelperGroup.stringArrayCallsWrapperCodeHelperMap = new Map([ + [StringArrayEncoding_1.StringArrayEncoding.None, CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapper], + [StringArrayEncoding_1.StringArrayEncoding.Base64, CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperBase64], + [StringArrayEncoding_1.StringArrayEncoding.Rc4, CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperRc4] +]); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], StringArrayCodeHelperGroup.prototype, "customCodeHelpers", void 0); +StringArrayCodeHelperGroup = StringArrayCodeHelperGroup_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _c : Object, typeof (_d = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], StringArrayCodeHelperGroup); +exports.StringArrayCodeHelperGroup = StringArrayCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts": +/*!***************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts ***! + \***************************************************************************************************/ +/*! flagged exports */ +/*! export AtobTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AtobTemplate = void 0; +const Base64AlphabetSwapped_1 = __webpack_require__(/*! ../../../../constants/Base64AlphabetSwapped */ "./src/constants/Base64AlphabetSwapped.ts"); +function AtobTemplate() { + return ` + var {atobFunctionName} = function (input) { + const chars = '${Base64AlphabetSwapped_1.base64alphabetSwapped}'; + + const str = String(input).replace(/=+$/, ''); + let output = ''; + for ( + let bc = 0, bs, buffer, idx = 0; + buffer = str.charAt(idx++); + ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, + bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0 + ) { + buffer = chars.indexOf(buffer); + } + return output; + }; + `; +} +exports.AtobTemplate = AtobTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/Rc4Template.ts": +/*!**************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/Rc4Template.ts ***! + \**************************************************************************************************/ +/*! flagged exports */ +/*! export Rc4Template [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Rc4Template = void 0; +function Rc4Template() { + return ` + const rc4 = function (str, key) { + let s = [], j = 0, x, res = '', newStr = ''; + + str = {atobFunctionName}(str); + + for (let k = 0, length = str.length; k < length; k++) { + newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2); + } + + str = decodeURIComponent(newStr); + + let i; + + for (i = 0; i < 256; i++) { + s[i] = i; + } + + for (i = 0; i < 256; i++) { + j = (j + s[i] + key.charCodeAt(i % key.length)) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + } + + i = 0; + j = 0; + + for (let y = 0; y < str.length; y++) { + i = (i + 1) % 256; + j = (j + s[i]) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]); + } + + return res; + } + `; +} +exports.Rc4Template = Rc4Template; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/SelfDefendingTemplate.ts": +/*!************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/SelfDefendingTemplate.ts ***! + \************************************************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingTemplate = void 0; +function SelfDefendingTemplate(randomGenerator, escapeSequenceEncoder) { + const identifierLength = 6; + const rc4BytesIdentifier = randomGenerator.getRandomString(identifierLength); + const statesIdentifier = randomGenerator.getRandomString(identifierLength); + const newStateIdentifier = randomGenerator.getRandomString(identifierLength); + const firstStateIdentifier = randomGenerator.getRandomString(identifierLength); + const secondStateIdentifier = randomGenerator.getRandomString(identifierLength); + const checkStateIdentifier = randomGenerator.getRandomString(identifierLength); + const runStateIdentifier = randomGenerator.getRandomString(identifierLength); + const getStateIdentifier = randomGenerator.getRandomString(identifierLength); + const stateResultIdentifier = randomGenerator.getRandomString(identifierLength); + return ` + const StatesClass = function (${rc4BytesIdentifier}) { + this.${rc4BytesIdentifier} = ${rc4BytesIdentifier}; + this.${statesIdentifier} = [1, 0, 0]; + this.${newStateIdentifier} = function(){return 'newState';}; + this.${firstStateIdentifier} = '${escapeSequenceEncoder.encode('\\w+ *\\(\\) *{\\w+ *', true)}'; + this.${secondStateIdentifier} = '${escapeSequenceEncoder.encode('[\'|"].+[\'|"];? *}', true)}'; + }; + + StatesClass.prototype.${checkStateIdentifier} = function () { + const regExp = new RegExp(this.${firstStateIdentifier} + this.${secondStateIdentifier}); + const expression = regExp.test(this.${newStateIdentifier}.toString()) + ? --this.${statesIdentifier}[1] + : --this.${statesIdentifier}[0]; + + return this.${runStateIdentifier}(expression); + }; + + StatesClass.prototype.${runStateIdentifier} = function (${stateResultIdentifier}) { + if (!Boolean(~${stateResultIdentifier})) { + return ${stateResultIdentifier}; + } + + return this.${getStateIdentifier}(this.${rc4BytesIdentifier}); + }; + + StatesClass.prototype.${getStateIdentifier} = function (${rc4BytesIdentifier}) { + for (let i = 0, len = this.${statesIdentifier}.length; i < len; i++) { + this.${statesIdentifier}.push(Math.round(Math.random())); + len = this.${statesIdentifier}.length; + } + + return ${rc4BytesIdentifier}(this.${statesIdentifier}[0]); + }; + + new StatesClass({stringArrayCallsWrapperName}).${checkStateIdentifier}(); + `; +} +exports.SelfDefendingTemplate = SelfDefendingTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate.ts": +/*!**********************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate.ts ***! + \**********************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayBase64DecodeTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayBase64DecodeTemplate = void 0; +function StringArrayBase64DecodeTemplate(randomGenerator) { + const identifierLength = 6; + const initializedIdentifier = randomGenerator.getRandomString(identifierLength); + const base64DecodeFunctionIdentifier = randomGenerator.getRandomString(identifierLength); + const dataIdentifier = randomGenerator.getRandomString(identifierLength); + return ` + if ({stringArrayCallsWrapperName}.${initializedIdentifier} === undefined) { + {atobPolyfill} + + {stringArrayCallsWrapperName}.${base64DecodeFunctionIdentifier} = function (str) { + const string = {atobFunctionName}(str); + let newStringChars = []; + + for (let i = 0, length = string.length; i < length; i++) { + newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2); + } + + return decodeURIComponent(newStringChars); + }; + + {stringArrayCallsWrapperName}.${dataIdentifier} = {}; + + {stringArrayCallsWrapperName}.${initializedIdentifier} = true; + } + + const cachedValue = {stringArrayCallsWrapperName}.${dataIdentifier}[index]; + + if (cachedValue === undefined) { + {selfDefendingCode} + + value = {stringArrayCallsWrapperName}.${base64DecodeFunctionIdentifier}(value); + {stringArrayCallsWrapperName}.${dataIdentifier}[index] = value; + } else { + value = cachedValue; + } + `; +} +exports.StringArrayBase64DecodeTemplate = StringArrayBase64DecodeTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate.ts": +/*!**********************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate.ts ***! + \**********************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayCallsWrapperTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperTemplate = void 0; +function StringArrayCallsWrapperTemplate() { + return ` + const {stringArrayCallsWrapperName} = function (index, key) { + index = index - {indexShiftAmount}; + + let value = {stringArrayName}[index]; + + {decodeCodeHelperTemplate} + + return value; + }; + `; +} +exports.StringArrayCallsWrapperTemplate = StringArrayCallsWrapperTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate.ts": +/*!*******************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate.ts ***! + \*******************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayRC4DecodeTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRC4DecodeTemplate = void 0; +function StringArrayRC4DecodeTemplate(randomGenerator) { + const identifierLength = 6; + const initializedIdentifier = randomGenerator.getRandomString(identifierLength); + const rc4Identifier = randomGenerator.getRandomString(identifierLength); + const dataIdentifier = randomGenerator.getRandomString(identifierLength); + const onceIdentifier = randomGenerator.getRandomString(identifierLength); + return ` + if ({stringArrayCallsWrapperName}.${initializedIdentifier} === undefined) { + {atobPolyfill} + + {rc4Polyfill} + {stringArrayCallsWrapperName}.${rc4Identifier} = rc4; + + {stringArrayCallsWrapperName}.${dataIdentifier} = {}; + + {stringArrayCallsWrapperName}.${initializedIdentifier} = true; + } + + const cachedValue = {stringArrayCallsWrapperName}.${dataIdentifier}[index]; + + if (cachedValue === undefined) { + if ({stringArrayCallsWrapperName}.${onceIdentifier} === undefined) { + {selfDefendingCode} + + {stringArrayCallsWrapperName}.${onceIdentifier} = true; + } + + value = {stringArrayCallsWrapperName}.${rc4Identifier}(value, key); + {stringArrayCallsWrapperName}.${dataIdentifier}[index] = value; + } else { + value = cachedValue; + } + `; +} +exports.StringArrayRC4DecodeTemplate = StringArrayRC4DecodeTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/SelfDefendingTemplate.ts": +/*!**************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-rotate-function/SelfDefendingTemplate.ts ***! + \**************************************************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingTemplate = void 0; +function SelfDefendingTemplate(escapeSequenceEncoder) { + return ` + const selfDefendingFunc = function () { + const object = { + data: { + key: 'cookie', + value: 'timeout' + }, + setCookie: function (options, name, value, document) { + document = document || {}; + + let updatedCookie = name + "=" + value; + let i = 0; + + for (let i = 0, len = options.length; i < len; i++) { + const propName = options[i]; + + updatedCookie += "; " + propName; + + const propValue = options[propName]; + + options.push(propValue); + len = options.length; + + if (propValue !== true) { + updatedCookie += "=" + propValue; + } + } + + document['cookie'] = updatedCookie; + }, + removeCookie: function(){return 'dev';}, + getCookie: function (document, name) { + document = document || function (value) { return value }; + const matches = document(new RegExp( + "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" + )); + + const func = function (param1, param2) { + param1(++param2); + }; + + func({whileFunctionName}, {timesName}); + + return matches ? decodeURIComponent(matches[1]) : undefined; + } + }; + + const test1 = function () { + const regExp = new RegExp('${escapeSequenceEncoder.encode('\\w+ *\\(\\) *{\\w+ *[\'|"].+[\'|"];? *}', true)}'); + + return regExp.test(object.removeCookie.toString()); + }; + + object['updateCookie'] = test1; + + let cookie = ''; + const result = object['updateCookie'](); + + if (!result) { + object['setCookie'](['*'], 'counter', 1); + } else if (result) { + cookie = object['getCookie'](null, 'counter'); + } else { + object['removeCookie'](); + } + }; + + selfDefendingFunc(); + `; +} +exports.SelfDefendingTemplate = SelfDefendingTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/StringArrayRotateFunctionTemplate.ts": +/*!**************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-rotate-function/StringArrayRotateFunctionTemplate.ts ***! + \**************************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayRotateFunctionTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRotateFunctionTemplate = void 0; +function StringArrayRotateFunctionTemplate() { + return ` + (function (array, {timesName}) { + const {whileFunctionName} = function (times) { + while (--times) { + array['push'](array['shift']()); + } + }; + + {code} + })({stringArrayName}, {stringArrayRotationAmount}); + `; +} +exports.StringArrayRotateFunctionTemplate = StringArrayRotateFunctionTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array/StringArrayTemplate.ts": +/*!********************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array/StringArrayTemplate.ts ***! + \********************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayTemplate = void 0; +function StringArrayTemplate() { + return ` + const {stringArrayName} = [{stringArrayStorageItems}]; + `; +} +exports.StringArrayTemplate = StringArrayTemplate; + + +/***/ }), + +/***/ "./src/custom-nodes/AbstractCustomNode.ts": +/*!************************************************!*\ + !*** ./src/custom-nodes/AbstractCustomNode.ts ***! + \************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCustomNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractCustomNode = class AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + this.cachedNode = null; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.customCodeHelperFormatter = customCodeHelperFormatter; + this.randomGenerator = randomGenerator; + this.options = options; + } + getNode() { + if (!this.cachedNode) { + this.cachedNode = this.customCodeHelperFormatter.formatStructure(this.getNodeStructure()); + } + return this.cachedNode; + } +}; +AbstractCustomNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], AbstractCustomNode); +exports.AbstractCustomNode = AbstractCustomNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode.ts": +/*!****************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode.ts ***! + \****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BinaryExpressionFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BinaryExpressionFunctionNode = class BinaryExpressionFunctionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(operator) { + this.operator = operator; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([ + NodeFactory_1.NodeFactory.identifierNode('x'), + NodeFactory_1.NodeFactory.identifierNode('y') + ], NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.binaryExpressionNode(this.operator, NodeFactory_1.NodeFactory.identifierNode('x'), NodeFactory_1.NodeFactory.identifierNode('y'))) + ]))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +BinaryExpressionFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BinaryExpressionFunctionNode); +exports.BinaryExpressionFunctionNode = BinaryExpressionFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode.ts": +/*!***************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode.ts ***! + \***************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementControlFlowFlatteningNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementControlFlowFlatteningNode = class BlockStatementControlFlowFlatteningNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(blockStatementBody, shuffledKeys, originalKeysIndexesInShuffledArray) { + this.blockStatementBody = blockStatementBody; + this.shuffledKeys = shuffledKeys; + this.originalKeysIndexesInShuffledArray = originalKeysIndexesInShuffledArray; + } + getNodeStructure() { + const controllerIdentifierName = this.randomGenerator.getRandomString(6); + const indexIdentifierName = this.randomGenerator.getRandomString(6); + const structure = NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(controllerIdentifierName), NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join(StringSeparator_1.StringSeparator.VerticalLine)), NodeFactory_1.NodeFactory.identifierNode('split')), [ + NodeFactory_1.NodeFactory.literalNode(StringSeparator_1.StringSeparator.VerticalLine) + ])) + ], 'const'), + NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(indexIdentifierName), NodeFactory_1.NodeFactory.literalNode(0)) + ], 'let'), + NodeFactory_1.NodeFactory.whileStatementNode(NodeFactory_1.NodeFactory.literalNode(true), NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.switchStatementNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(controllerIdentifierName), NodeFactory_1.NodeFactory.updateExpressionNode('++', NodeFactory_1.NodeFactory.identifierNode(indexIdentifierName)), true), this.shuffledKeys.map((key, index) => { + const statement = this.blockStatementBody[key]; + const consequent = [statement]; + if (!NodeGuards_1.NodeGuards.isReturnStatementNode(statement)) { + consequent.push(NodeFactory_1.NodeFactory.continueStatement()); + } + return NodeFactory_1.NodeFactory.switchCaseNode(NodeFactory_1.NodeFactory.literalNode(String(index)), consequent); + })), + NodeFactory_1.NodeFactory.breakStatement() + ])) + ]); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], BlockStatementControlFlowFlatteningNode.prototype, "blockStatementBody", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], BlockStatementControlFlowFlatteningNode.prototype, "originalKeysIndexesInShuffledArray", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], BlockStatementControlFlowFlatteningNode.prototype, "shuffledKeys", void 0); +BlockStatementControlFlowFlatteningNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BlockStatementControlFlowFlatteningNode); +exports.BlockStatementControlFlowFlatteningNode = BlockStatementControlFlowFlatteningNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallExpressionFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let CallExpressionFunctionNode = class CallExpressionFunctionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(expressionArguments) { + this.expressionArguments = expressionArguments; + } + getNodeStructure() { + const calleeIdentifier = NodeFactory_1.NodeFactory.identifierNode('callee'); + const params = []; + const argumentsLength = this.expressionArguments.length; + for (let i = 0; i < argumentsLength; i++) { + params.push(NodeFactory_1.NodeFactory.identifierNode(`param${i + 1}`)); + } + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([ + calleeIdentifier, + ...params + ], NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(calleeIdentifier, params)) + ]))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], CallExpressionFunctionNode.prototype, "expressionArguments", void 0); +CallExpressionFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], CallExpressionFunctionNode); +exports.CallExpressionFunctionNode = CallExpressionFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LogicalExpressionFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let LogicalExpressionFunctionNode = class LogicalExpressionFunctionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(operator) { + this.operator = operator; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([ + NodeFactory_1.NodeFactory.identifierNode('x'), + NodeFactory_1.NodeFactory.identifierNode('y') + ], NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.logicalExpressionNode(this.operator, NodeFactory_1.NodeFactory.identifierNode('x'), NodeFactory_1.NodeFactory.identifierNode('y'))) + ]))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +LogicalExpressionFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], LogicalExpressionFunctionNode); +exports.LogicalExpressionFunctionNode = LogicalExpressionFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/StringLiteralNode.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/StringLiteralNode.ts ***! + \*****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringLiteralNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let StringLiteralNode = class StringLiteralNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(literalValue) { + this.literalValue = literalValue; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.literalNode(this.literalValue)); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringLiteralNode.prototype, "literalValue", void 0); +StringLiteralNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], StringLiteralNode); +exports.StringLiteralNode = StringLiteralNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode.ts": +/*!*******************************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode.ts ***! + \*******************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallExpressionControlFlowStorageCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let CallExpressionControlFlowStorageCallNode = class CallExpressionControlFlowStorageCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorageName, controlFlowStorageKey, callee, expressionArguments) { + this.controlFlowStorageName = controlFlowStorageName; + this.controlFlowStorageKey = controlFlowStorageKey; + this.callee = callee; + this.expressionArguments = expressionArguments; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageName), NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageKey)), [ + this.callee, + ...this.expressionArguments + ])); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof ESTree !== "undefined" && ESTree.Expression) === "function" ? _a : Object) +], CallExpressionControlFlowStorageCallNode.prototype, "callee", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], CallExpressionControlFlowStorageCallNode.prototype, "controlFlowStorageKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], CallExpressionControlFlowStorageCallNode.prototype, "controlFlowStorageName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], CallExpressionControlFlowStorageCallNode.prototype, "expressionArguments", void 0); +CallExpressionControlFlowStorageCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], CallExpressionControlFlowStorageCallNode); +exports.CallExpressionControlFlowStorageCallNode = CallExpressionControlFlowStorageCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts ***! + \*************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowStorageNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowStorage_1 = __webpack_require__(/*! ../../../types/storages/TControlFlowStorage */ "./src/types/storages/TControlFlowStorage.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ControlFlowStorageNode = class ControlFlowStorageNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorage) { + this.controlFlowStorage = controlFlowStorage; + } + getNodeStructure() { + const propertyNodes = Array + .from(this.controlFlowStorage.getStorage()) + .map(([key, value]) => { + const node = value.getNode()[0]; + if (!NodeGuards_1.NodeGuards.isExpressionStatementNode(node)) { + throw new Error('Function node for control flow storage object should be passed inside the `ExpressionStatement` node!'); + } + return NodeFactory_1.NodeFactory.propertyNode(NodeFactory_1.NodeFactory.identifierNode(key), node.expression); + }); + let structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()), NodeFactory_1.NodeFactory.objectExpressionNode(propertyNodes)) + ], 'const'); + structure = NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof TControlFlowStorage_1.TControlFlowStorage !== "undefined" && TControlFlowStorage_1.TControlFlowStorage) === "function" ? _a : Object) +], ControlFlowStorageNode.prototype, "controlFlowStorage", void 0); +ControlFlowStorageNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], ControlFlowStorageNode); +exports.ControlFlowStorageNode = ControlFlowStorageNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode.ts": +/*!***************************************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode.ts ***! + \***************************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExpressionWithOperatorControlFlowStorageCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ExpressionWithOperatorControlFlowStorageCallNode = class ExpressionWithOperatorControlFlowStorageCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorageName, controlFlowStorageKey, leftValue, rightValue) { + this.controlFlowStorageName = controlFlowStorageName; + this.controlFlowStorageKey = controlFlowStorageKey; + this.leftValue = leftValue; + this.rightValue = rightValue; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageName), NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageKey)), [ + this.leftValue, + this.rightValue + ])); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ExpressionWithOperatorControlFlowStorageCallNode.prototype, "controlFlowStorageKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ExpressionWithOperatorControlFlowStorageCallNode.prototype, "controlFlowStorageName", void 0); +ExpressionWithOperatorControlFlowStorageCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], ExpressionWithOperatorControlFlowStorageCallNode); +exports.ExpressionWithOperatorControlFlowStorageCallNode = ExpressionWithOperatorControlFlowStorageCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode.ts": +/*!******************************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode.ts ***! + \******************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringLiteralControlFlowStorageCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringLiteralControlFlowStorageCallNode = class StringLiteralControlFlowStorageCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorageName, controlFlowStorageKey) { + this.controlFlowStorageName = controlFlowStorageName; + this.controlFlowStorageKey = controlFlowStorageKey; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageName), NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageKey))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringLiteralControlFlowStorageCallNode.prototype, "controlFlowStorageKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringLiteralControlFlowStorageCallNode.prototype, "controlFlowStorageName", void 0); +StringLiteralControlFlowStorageCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], StringLiteralControlFlowStorageCallNode); +exports.StringLiteralControlFlowStorageCallNode = StringLiteralControlFlowStorageCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode.ts": +/*!*******************************************************************************************!*\ + !*** ./src/custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementDeadCodeInjectionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementDeadCodeInjectionNode = class BlockStatementDeadCodeInjectionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(blockStatementNode, deadCodeInjectionRootAstHostNode) { + this.blockStatementNode = blockStatementNode; + this.deadCodeInjectionRootAstHostNode = deadCodeInjectionRootAstHostNode; + } + getNode() { + return this.getNodeStructure(); + } + getNodeStructure() { + const random1 = this.randomGenerator.getMathRandom() > 0.5; + const random2 = this.randomGenerator.getMathRandom() > 0.5; + const operator = random1 ? '===' : '!=='; + const leftString = this.randomGenerator.getRandomString(5); + const rightString = random2 ? leftString : this.randomGenerator.getRandomString(5); + const [consequent, alternate] = random1 === random2 + ? [this.blockStatementNode, this.deadCodeInjectionRootAstHostNode] + : [this.deadCodeInjectionRootAstHostNode, this.blockStatementNode]; + const structure = NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.ifStatementNode(NodeFactory_1.NodeFactory.binaryExpressionNode(operator, NodeFactory_1.NodeFactory.literalNode(leftString), NodeFactory_1.NodeFactory.literalNode(rightString)), consequent, alternate) + ]); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +BlockStatementDeadCodeInjectionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BlockStatementDeadCodeInjectionNode); +exports.BlockStatementDeadCodeInjectionNode = BlockStatementDeadCodeInjectionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode.ts": +/*!******************************************************************************************************************!*\ + !*** ./src/custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode.ts ***! + \******************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionVariableDeclarationHostNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ObjectExpressionVariableDeclarationHostNode = class ObjectExpressionVariableDeclarationHostNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(lexicalScopeNode, properties) { + this.lexicalScopeNode = lexicalScopeNode; + this.properties = properties; + } + getNodeStructure() { + const variableDeclarationName = NodeGuards_1.NodeGuards.isProgramNode(this.lexicalScopeNode) + ? this.identifierNamesGenerator.generateForGlobalScope() + : this.identifierNamesGenerator.generateForLexicalScope(this.lexicalScopeNode); + const structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(variableDeclarationName), NodeFactory_1.NodeFactory.objectExpressionNode(this.properties)) + ], 'const'); + return [structure]; + } +}; +ObjectExpressionVariableDeclarationHostNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], ObjectExpressionVariableDeclarationHostNode); +exports.ObjectExpressionVariableDeclarationHostNode = ObjectExpressionVariableDeclarationHostNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts": +/*!****************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts ***! + \****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var AbstractStringArrayCallNode_1, _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractStringArrayCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +const StringArrayIndexNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode */ "./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +let AbstractStringArrayCallNode = AbstractStringArrayCallNode_1 = class AbstractStringArrayCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + this.stringArrayIndexNodeFactory = stringArrayIndexNodeFactory; + this.stringArrayStorage = stringArrayStorage; + this.arrayUtils = arrayUtils; + } + getStringArrayIndexNode(index) { + var _a; + const isPositive = index >= 0; + const normalizedIndex = Math.abs(index); + const stringArrayCallsIndexType = this.randomGenerator + .getRandomGenerator() + .pickone(this.options.stringArrayIndexesType); + const stringArrayIndexNodeName = (_a = AbstractStringArrayCallNode_1.stringArrayIndexNodesMap.get(stringArrayCallsIndexType)) !== null && _a !== void 0 ? _a : null; + if (!stringArrayIndexNodeName) { + throw new Error('Invalid string array index node name'); + } + const stringArrayCallIndexNode = this.stringArrayIndexNodeFactory(stringArrayIndexNodeName) + .getNode(normalizedIndex); + NodeMetadata_1.NodeMetadata.set(stringArrayCallIndexNode, { replacedLiteral: true }); + const hexadecimalNode = isPositive + ? stringArrayCallIndexNode + : NodeFactory_1.NodeFactory.unaryExpressionNode('-', stringArrayCallIndexNode); + NodeUtils_1.NodeUtils.parentizeAst(hexadecimalNode); + return hexadecimalNode; + } + getRc4KeyLiteralNode(decodeKey) { + const rc4KeyLiteralNode = NodeFactory_1.NodeFactory.literalNode(decodeKey); + NodeMetadata_1.NodeMetadata.set(rc4KeyLiteralNode, { replacedLiteral: true }); + return rc4KeyLiteralNode; + } +}; +AbstractStringArrayCallNode.stringArrayIndexNodesMap = new Map([ + [StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber, StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode], + [StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumericString, StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode] +]); +AbstractStringArrayCallNode = AbstractStringArrayCallNode_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _d : Object, typeof (_e = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _e : Object, typeof (_f = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _f : Object, typeof (_g = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _g : Object]) +], AbstractStringArrayCallNode); +exports.AbstractStringArrayCallNode = AbstractStringArrayCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/StringArrayCallNode.ts": +/*!********************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/StringArrayCallNode.ts ***! + \********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/*! CommonJS bailout: this is used directly at 2:18-22 */ +/*! CommonJS bailout: this is used directly at 8:18-22 */ +/*! CommonJS bailout: this is used directly at 11:15-19 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g, _h; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const StringArrayRootCallsWrapperParametersDefaultCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts"); +const StringArrayScopeCallsWrapperParametersMaxCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts"); +const AbstractStringArrayCallNode_1 = __webpack_require__(/*! ./AbstractStringArrayCallNode */ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayCallNode = class StringArrayCallNode extends AbstractStringArrayCallNode_1.AbstractStringArrayCallNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options); + } + initialize(stringArrayCallsWrapperName, stringArrayCallsWrapperParameterIndexesData, index, indexShiftAmount, decodeKey) { + this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + this.stringArrayCallsWrapperParameterIndexesData = stringArrayCallsWrapperParameterIndexesData; + this.index = index; + this.indexShiftAmount = indexShiftAmount; + this.decodeKey = decodeKey; + } + getNodeStructure() { + var _a, _b; + const resultIndex = this.indexShiftAmount + this.index; + const indexNode = this.getStringArrayIndexNode(resultIndex); + const rc4KeyLiteralNode = this.decodeKey + ? this.getRc4KeyLiteralNode(this.decodeKey) + : null; + const callExpressionArgs = this.arrayUtils.fillWithRange(!this.stringArrayCallsWrapperParameterIndexesData + ? StringArrayRootCallsWrapperParametersDefaultCount_1.stringArrayRootCallsWrapperParametersDefaultCount + : StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount, () => this.getFakeStringArrayIndexNode(resultIndex)); + callExpressionArgs.splice((_b = (_a = this.stringArrayCallsWrapperParameterIndexesData) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : 0, 1, indexNode); + if (this.stringArrayCallsWrapperParameterIndexesData) { + callExpressionArgs.splice(this.stringArrayCallsWrapperParameterIndexesData.decodeKey, 1, rc4KeyLiteralNode !== null && rc4KeyLiteralNode !== void 0 ? rc4KeyLiteralNode : this.getFakeStringArrayIndexNode(resultIndex)); + } + else if (rc4KeyLiteralNode) { + callExpressionArgs.splice(1, 1, rc4KeyLiteralNode); + } + else { + callExpressionArgs.splice(1, 1); + } + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.stringArrayCallsWrapperName), callExpressionArgs)); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } + getFakeStringArrayIndexNode(actualIndex) { + return this.getStringArrayIndexNode(this.getFakeStringArrayIndex(actualIndex)); + } + getFakeStringArrayIndex(actualIndex) { + const stringArrayStorageLength = this.stringArrayStorage.getLength(); + const fakeIndexOffset = stringArrayStorageLength / 2; + const minimumIndex = actualIndex - fakeIndexOffset; + const maximumIndex = actualIndex + fakeIndexOffset; + return this.randomGenerator.getRandomInteger(minimumIndex, maximumIndex); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayCallNode.prototype, "decodeKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayCallNode.prototype, "index", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayCallNode.prototype, "indexShiftAmount", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCallNode.prototype, "stringArrayCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayCallNode.prototype, "stringArrayCallsWrapperParameterIndexesData", void 0); +StringArrayCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _c : Object, typeof (_d = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _d : Object, typeof (_e = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _e : Object, typeof (_f = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _f : Object, typeof (_g = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _g : Object, typeof (_h = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _h : Object]) +], StringArrayCallNode); +exports.StringArrayCallNode = StringArrayCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g, _h, _j; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const StringArrayScopeCallsWrapperParametersMaxCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts"); +const AbstractStringArrayCallNode_1 = __webpack_require__(/*! ./AbstractStringArrayCallNode */ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const StringArrayRootCallsWrapperParametersDefaultCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts"); +let StringArrayScopeCallsWrapperFunctionNode = class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArrayCallNode_1.AbstractStringArrayCallNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options); + } + initialize(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexesData, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexesData, shiftedIndex) { + this.stringArrayScopeCallsWrapperName = stringArrayScopeCallsWrapperName; + this.stringArrayScopeCallsWrapperParameterIndexesData = stringArrayScopeCallsWrapperParameterIndexesData; + this.upperStringArrayCallsWrapperName = upperStringArrayCallsWrapperName; + this.upperStringArrayCallsWrapperParameterIndexesData = upperStringArrayCallsWrapperParameterIndexesData; + this.shiftedIndex = shiftedIndex; + } + getNodeStructure() { + var _a, _b, _c, _d, _e, _f, _g, _h; + const stringArrayCallIdentifierNode = NodeFactory_1.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + const decodeKeyIdentifierNode = NodeFactory_1.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + const stringArrayCallNode = this.getUpperStringArrayCallNode(stringArrayCallIdentifierNode, this.getStringArrayIndexNode(this.shiftedIndex)); + const parameters = this.arrayUtils.fillWithRange(!this.stringArrayScopeCallsWrapperParameterIndexesData + ? StringArrayRootCallsWrapperParametersDefaultCount_1.stringArrayRootCallsWrapperParametersDefaultCount + : StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount, () => this.getFakeParameterNode()); + parameters.splice((_b = (_a = this.stringArrayScopeCallsWrapperParameterIndexesData) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : 0, 1, stringArrayCallIdentifierNode); + parameters.splice((_d = (_c = this.stringArrayScopeCallsWrapperParameterIndexesData) === null || _c === void 0 ? void 0 : _c.decodeKey) !== null && _d !== void 0 ? _d : 1, 1, decodeKeyIdentifierNode); + const callExpressionArgs = this.arrayUtils.fillWithRange(!this.upperStringArrayCallsWrapperParameterIndexesData + ? StringArrayRootCallsWrapperParametersDefaultCount_1.stringArrayRootCallsWrapperParametersDefaultCount + : StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount, (index) => this.getUpperStringArrayCallNode(parameters[index], this.getFakeUpperStringArrayIndexNode())); + callExpressionArgs.splice((_f = (_e = this.upperStringArrayCallsWrapperParameterIndexesData) === null || _e === void 0 ? void 0 : _e.index) !== null && _f !== void 0 ? _f : 0, 1, stringArrayCallNode); + callExpressionArgs.splice((_h = (_g = this.upperStringArrayCallsWrapperParameterIndexesData) === null || _g === void 0 ? void 0 : _g.decodeKey) !== null && _h !== void 0 ? _h : 1, 1, decodeKeyIdentifierNode); + const functionExpressionNode = NodeFactory_1.NodeFactory.functionExpressionNode(parameters, NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.upperStringArrayCallsWrapperName), callExpressionArgs)) + ])); + const structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName), functionExpressionNode) + ], 'const'); + NodeUtils_1.NodeUtils.parentizeAst(structure); + for (const parameter of parameters) { + parameter.name = this.identifierNamesGenerator.generateForLexicalScope(functionExpressionNode); + } + return [structure]; + } + getUpperStringArrayCallNode(indexParameterIdentifierNode, indexShiftNode) { + return NodeFactory_1.NodeFactory.binaryExpressionNode('-', indexParameterIdentifierNode, indexShiftNode); + } + getFakeParameterNode() { + return NodeFactory_1.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + } + getFakeUpperStringArrayIndexNode() { + return this.getStringArrayIndexNode(this.randomGenerator.getRandomInteger(0, 500)); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "shiftedIndex", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "upperStringArrayCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "upperStringArrayCallsWrapperParameterIndexesData", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "stringArrayScopeCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "stringArrayScopeCallsWrapperParameterIndexesData", void 0); +StringArrayScopeCallsWrapperFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _d : Object, typeof (_e = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _e : Object, typeof (_f = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _f : Object, typeof (_g = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _g : Object, typeof (_h = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _h : Object, typeof (_j = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _j : Object]) +], StringArrayScopeCallsWrapperFunctionNode); +exports.StringArrayScopeCallsWrapperFunctionNode = StringArrayScopeCallsWrapperFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperVariableNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractStringArrayCallNode_1 = __webpack_require__(/*! ./AbstractStringArrayCallNode */ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayScopeCallsWrapperVariableNode = class StringArrayScopeCallsWrapperVariableNode extends AbstractStringArrayCallNode_1.AbstractStringArrayCallNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options); + } + initialize(stringArrayScopeCallsWrapperName, stringArrayCallsWrapperName) { + this.stringArrayScopeCallsWrapperName = stringArrayScopeCallsWrapperName; + this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName), NodeFactory_1.NodeFactory.identifierNode(this.stringArrayCallsWrapperName)) + ], 'const'); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperVariableNode.prototype, "stringArrayCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperVariableNode.prototype, "stringArrayScopeCallsWrapperName", void 0); +StringArrayScopeCallsWrapperVariableNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _d : Object, typeof (_e = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _e : Object, typeof (_f = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _f : Object, typeof (_g = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _g : Object]) +], StringArrayScopeCallsWrapperVariableNode); +exports.StringArrayScopeCallsWrapperVariableNode = StringArrayScopeCallsWrapperVariableNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts": +/*!******************************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts ***! + \******************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractStringArrayIndexNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +let AbstractStringArrayIndexNode = class AbstractStringArrayIndexNode { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } +}; +AbstractStringArrayIndexNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractStringArrayIndexNode); +exports.AbstractStringArrayIndexNode = AbstractStringArrayIndexNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayHexadecimalNumberIndexNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const AbstractStringArrayIndexNode_1 = __webpack_require__(/*! ./AbstractStringArrayIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let StringArrayHexadecimalNumberIndexNode = class StringArrayHexadecimalNumberIndexNode extends AbstractStringArrayIndexNode_1.AbstractStringArrayIndexNode { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getNode(index) { + const hexadecimalIndex = NumberUtils_1.NumberUtils.toHex(index); + return NodeFactory_1.NodeFactory.literalNode(index, hexadecimalIndex); + } +}; +StringArrayHexadecimalNumberIndexNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayHexadecimalNumberIndexNode); +exports.StringArrayHexadecimalNumberIndexNode = StringArrayHexadecimalNumberIndexNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode.ts": +/*!**********************************************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode.ts ***! + \**********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayHexadecimalNumericStringIndexNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const AbstractStringArrayIndexNode_1 = __webpack_require__(/*! ./AbstractStringArrayIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let StringArrayHexadecimalNumericStringIndexNode = class StringArrayHexadecimalNumericStringIndexNode extends AbstractStringArrayIndexNode_1.AbstractStringArrayIndexNode { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getNode(index) { + const hexadecimalIndex = NumberUtils_1.NumberUtils.toHex(index); + return NodeFactory_1.NodeFactory.literalNode(hexadecimalIndex); + } +}; +StringArrayHexadecimalNumericStringIndexNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayHexadecimalNumericStringIndexNode); +exports.StringArrayHexadecimalNumericStringIndexNode = StringArrayHexadecimalNumericStringIndexNode; + + +/***/ }), + +/***/ "./src/decorators/Initializable.ts": +/*!*****************************************!*\ + !*** ./src/decorators/Initializable.ts ***! + \*****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export initializable [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.initializable = void 0; +const defaultDescriptor = { + configurable: true, + enumerable: true +}; +const initializedTargetMetadataKey = '_initialized'; +const initializablePropertiesSetMetadataKey = '_initializablePropertiesSet'; +const wrappedMethodsSetMetadataKey = '_wrappedMethodsSet'; +const constructorMethodName = 'constructor'; +function initializable(initializeMethodName = 'initialize') { + const decoratorName = Object.keys(this)[0]; + return (target, propertyKey) => { + const initializeMethod = target[initializeMethodName]; + if (!initializeMethod || typeof initializeMethod !== 'function') { + throw new Error(`\`${initializeMethodName}\` method with initialization logic not ` + + `found. \`@${decoratorName}\` decorator requires \`${initializeMethodName}\` method`); + } + initializeTargetMetadata(initializedTargetMetadataKey, false, target); + initializeTargetMetadata(initializablePropertiesSetMetadataKey, new Set(), target); + initializeTargetMetadata(wrappedMethodsSetMetadataKey, new Set(), target); + wrapTargetMethodsInInitializedCheck(target, initializeMethodName); + wrapInitializeMethodInInitializeCheck(target, initializeMethodName, propertyKey); + return wrapInitializableProperty(target, propertyKey); + }; +} +exports.initializable = initializable; +function initializeTargetMetadata(metadataKey, metadataValue, target) { + const hasInitializedMetadata = Reflect.hasMetadata(metadataKey, target); + if (!hasInitializedMetadata) { + Reflect.defineMetadata(metadataKey, metadataValue, target); + } +} +function wrapTargetMethodsInInitializedCheck(target, initializeMethodName) { + const ownPropertyNames = Object.getOwnPropertyNames(target); + const prohibitedPropertyNames = new Set([initializeMethodName, constructorMethodName]); + ownPropertyNames.forEach((propertyName) => { + var _a; + const initializablePropertiesSet = Reflect + .getMetadata(initializablePropertiesSetMetadataKey, target); + const wrappedMethodsSet = Reflect + .getMetadata(wrappedMethodsSetMetadataKey, target); + const isProhibitedPropertyName = prohibitedPropertyNames.has(propertyName) + || initializablePropertiesSet.has(propertyName) + || wrappedMethodsSet.has(propertyName); + if (isProhibitedPropertyName) { + return; + } + const targetProperty = target[propertyName]; + if (typeof targetProperty !== 'function') { + return; + } + const methodDescriptor = (_a = Object + .getOwnPropertyDescriptor(target, propertyName)) !== null && _a !== void 0 ? _a : defaultDescriptor; + const originalMethod = methodDescriptor.value; + Object.defineProperty(target, propertyName, Object.assign(Object.assign({}, methodDescriptor), { value() { + if (!Reflect.getMetadata(initializedTargetMetadataKey, this)) { + throw new Error(`Class should be initialized with \`${initializeMethodName}()\` method`); + } + return originalMethod.apply(this, arguments); + } })); + wrappedMethodsSet.add(propertyName); + }); +} +function wrapInitializeMethodInInitializeCheck(target, initializeMethodName, propertyKey) { + var _a; + const methodDescriptor = (_a = Object + .getOwnPropertyDescriptor(target, initializeMethodName)) !== null && _a !== void 0 ? _a : defaultDescriptor; + const originalMethod = methodDescriptor.value; + Object.defineProperty(target, initializeMethodName, Object.assign(Object.assign({}, methodDescriptor), { value: function () { + Reflect.defineMetadata(initializedTargetMetadataKey, true, this); + const result = originalMethod.apply(this, arguments); + if (this[propertyKey]) { } + return result; + } })); +} +function wrapInitializableProperty(target, propertyKey) { + var _a; + const initializablePropertiesSet = Reflect + .getMetadata(initializablePropertiesSetMetadataKey, target); + initializablePropertiesSet.add(propertyKey); + const initializablePropertyMetadataKey = `_${propertyKey.toString()}`; + const propertyDescriptor = (_a = Object + .getOwnPropertyDescriptor(target, initializablePropertyMetadataKey)) !== null && _a !== void 0 ? _a : defaultDescriptor; + Object.defineProperty(target, propertyKey, Object.assign(Object.assign({}, propertyDescriptor), { get: function () { + if (this[initializablePropertyMetadataKey] === undefined) { + throw new Error(`Property \`${propertyKey.toString()}\` is not initialized! Initialize it first!`); + } + return this[initializablePropertyMetadataKey]; + }, set: function (newVal) { + this[initializablePropertyMetadataKey] = newVal; + } })); + return propertyDescriptor; +} + + +/***/ }), + +/***/ "./src/enums/ObfuscationTarget.ts": +/*!****************************************!*\ + !*** ./src/enums/ObfuscationTarget.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export ObfuscationTarget [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscationTarget = void 0; +const Utils_1 = __webpack_require__(/*! ../utils/Utils */ "./src/utils/Utils.ts"); +exports.ObfuscationTarget = Utils_1.Utils.makeEnum({ + Browser: 'browser', + BrowserNoEval: 'browser-no-eval', + Node: 'node' +}); + + +/***/ }), + +/***/ "./src/enums/StringSeparator.ts": +/*!**************************************!*\ + !*** ./src/enums/StringSeparator.ts ***! + \**************************************/ +/*! flagged exports */ +/*! export StringSeparator [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringSeparator = void 0; +var StringSeparator; +(function (StringSeparator) { + StringSeparator["Comma"] = ","; + StringSeparator["Dot"] = "."; + StringSeparator["VerticalLine"] = "|"; +})(StringSeparator = exports.StringSeparator || (exports.StringSeparator = {})); + + +/***/ }), + +/***/ "./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts": +/*!*************************************************************************!*\ + !*** ./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts ***! + \*************************************************************************/ +/*! flagged exports */ +/*! export CalleeDataExtractor [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CalleeDataExtractor = void 0; +var CalleeDataExtractor; +(function (CalleeDataExtractor) { + CalleeDataExtractor["FunctionDeclarationCalleeDataExtractor"] = "FunctionDeclarationCalleeDataExtractor"; + CalleeDataExtractor["FunctionExpressionCalleeDataExtractor"] = "FunctionExpressionCalleeDataExtractor"; + CalleeDataExtractor["ObjectExpressionCalleeDataExtractor"] = "ObjectExpressionCalleeDataExtractor"; +})(CalleeDataExtractor = exports.CalleeDataExtractor || (exports.CalleeDataExtractor = {})); + + +/***/ }), + +/***/ "./src/enums/code-transformers/CodeTransformationStage.ts": +/*!****************************************************************!*\ + !*** ./src/enums/code-transformers/CodeTransformationStage.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export CodeTransformationStage [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformationStage = void 0; +var CodeTransformationStage; +(function (CodeTransformationStage) { + CodeTransformationStage["PreparingTransformers"] = "PreparingTransformers"; + CodeTransformationStage["FinalizingTransformers"] = "FinalizingTransformers"; +})(CodeTransformationStage = exports.CodeTransformationStage || (exports.CodeTransformationStage = {})); + + +/***/ }), + +/***/ "./src/enums/code-transformers/CodeTransformer.ts": +/*!********************************************************!*\ + !*** ./src/enums/code-transformers/CodeTransformer.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export CodeTransformer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformer = void 0; +var CodeTransformer; +(function (CodeTransformer) { + CodeTransformer["HashbangOperatorTransformer"] = "HashbangOperatorTransformer"; +})(CodeTransformer = exports.CodeTransformer || (exports.CodeTransformer = {})); + + +/***/ }), + +/***/ "./src/enums/custom-code-helpers/CustomCodeHelper.ts": +/*!***********************************************************!*\ + !*** ./src/enums/custom-code-helpers/CustomCodeHelper.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export CustomCodeHelper [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelper = void 0; +var CustomCodeHelper; +(function (CustomCodeHelper) { + CustomCodeHelper["CallsControllerFunction"] = "CallsControllerFunction"; + CustomCodeHelper["ConsoleOutputDisable"] = "ConsoleOutputDisable"; + CustomCodeHelper["DebugProtectionFunctionCall"] = "DebugProtectionFunctionCall"; + CustomCodeHelper["DebugProtectionFunctionInterval"] = "DebugProtectionFunctionInterval"; + CustomCodeHelper["DebugProtectionFunction"] = "DebugProtectionFunction"; + CustomCodeHelper["DomainLock"] = "DomainLock"; + CustomCodeHelper["SelfDefendingUnicode"] = "SelfDefendingUnicode"; + CustomCodeHelper["StringArray"] = "StringArray"; + CustomCodeHelper["StringArrayCallsWrapper"] = "StringArrayCallsWrapper"; + CustomCodeHelper["StringArrayCallsWrapperBase64"] = "StringArrayCallsWrapperBase64"; + CustomCodeHelper["StringArrayCallsWrapperRc4"] = "StringArrayCallsWrapperRc4"; + CustomCodeHelper["StringArrayRotateFunction"] = "StringArrayRotateFunction"; +})(CustomCodeHelper = exports.CustomCodeHelper || (exports.CustomCodeHelper = {})); + + +/***/ }), + +/***/ "./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts": +/*!****************************************************************!*\ + !*** ./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export CustomCodeHelperGroup [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperGroup = void 0; +var CustomCodeHelperGroup; +(function (CustomCodeHelperGroup) { + CustomCodeHelperGroup["ConsoleOutput"] = "ConsoleOutput"; + CustomCodeHelperGroup["DebugProtection"] = "DebugProtection"; + CustomCodeHelperGroup["DomainLock"] = "DomainLock"; + CustomCodeHelperGroup["SelfDefending"] = "SelfDefending"; + CustomCodeHelperGroup["StringArray"] = "StringArray"; +})(CustomCodeHelperGroup = exports.CustomCodeHelperGroup || (exports.CustomCodeHelperGroup = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/ControlFlowCustomNode.ts": +/*!*********************************************************!*\ + !*** ./src/enums/custom-nodes/ControlFlowCustomNode.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export ControlFlowCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowCustomNode = void 0; +var ControlFlowCustomNode; +(function (ControlFlowCustomNode) { + ControlFlowCustomNode["BinaryExpressionFunctionNode"] = "BinaryExpressionFunctionNode"; + ControlFlowCustomNode["BlockStatementControlFlowFlatteningNode"] = "BlockStatementControlFlowFlatteningNode"; + ControlFlowCustomNode["CallExpressionControlFlowStorageCallNode"] = "CallExpressionControlFlowStorageCallNode"; + ControlFlowCustomNode["CallExpressionFunctionNode"] = "CallExpressionFunctionNode"; + ControlFlowCustomNode["ControlFlowStorageNode"] = "ControlFlowStorageNode"; + ControlFlowCustomNode["ExpressionWithOperatorControlFlowStorageCallNode"] = "ExpressionWithOperatorControlFlowStorageCallNode"; + ControlFlowCustomNode["LogicalExpressionFunctionNode"] = "LogicalExpressionFunctionNode"; + ControlFlowCustomNode["StringLiteralControlFlowStorageCallNode"] = "StringLiteralControlFlowStorageCallNode"; + ControlFlowCustomNode["StringLiteralNode"] = "StringLiteralNode"; +})(ControlFlowCustomNode = exports.ControlFlowCustomNode || (exports.ControlFlowCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts": +/*!***************************************************************!*\ + !*** ./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts ***! + \***************************************************************/ +/*! flagged exports */ +/*! export DeadCodeInjectionCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionCustomNode = void 0; +var DeadCodeInjectionCustomNode; +(function (DeadCodeInjectionCustomNode) { + DeadCodeInjectionCustomNode["BlockStatementDeadCodeInjectionNode"] = "BlockStatementDeadCodeInjectionNode"; +})(DeadCodeInjectionCustomNode = exports.DeadCodeInjectionCustomNode || (exports.DeadCodeInjectionCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts": +/*!*****************************************************************************!*\ + !*** ./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export ObjectExpressionKeysTransformerCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionKeysTransformerCustomNode = void 0; +var ObjectExpressionKeysTransformerCustomNode; +(function (ObjectExpressionKeysTransformerCustomNode) { + ObjectExpressionKeysTransformerCustomNode["ObjectExpressionVariableDeclarationHostNode"] = "ObjectExpressionVariableDeclarationHostNode"; +})(ObjectExpressionKeysTransformerCustomNode = exports.ObjectExpressionKeysTransformerCustomNode || (exports.ObjectExpressionKeysTransformerCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/StringArrayCustomNode.ts": +/*!*********************************************************!*\ + !*** ./src/enums/custom-nodes/StringArrayCustomNode.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export StringArrayCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCustomNode = void 0; +var StringArrayCustomNode; +(function (StringArrayCustomNode) { + StringArrayCustomNode["StringArrayCallNode"] = "StringArrayCallNode"; + StringArrayCustomNode["StringArrayScopeCallsWrapperFunctionNode"] = "StringArrayScopeCallsWrapperFunctionNode"; + StringArrayCustomNode["StringArrayScopeCallsWrapperVariableNode"] = "StringArrayScopeCallsWrapperVariableNode"; +})(StringArrayCustomNode = exports.StringArrayCustomNode || (exports.StringArrayCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts": +/*!*********************************************************************************!*\ + !*** ./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export StringArrayIndexNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayIndexNode = void 0; +var StringArrayIndexNode; +(function (StringArrayIndexNode) { + StringArrayIndexNode["StringArrayHexadecimalNumberIndexNode"] = "StringArrayHexadecimalNumberIndexNode"; + StringArrayIndexNode["StringArrayHexadecimalNumericStringIndexNode"] = "StringArrayHexadecimalNumericStringIndexNode"; +})(StringArrayIndexNode = exports.StringArrayIndexNode || (exports.StringArrayIndexNode = {})); + + +/***/ }), + +/***/ "./src/enums/event-emitters/ObfuscationEvent.ts": +/*!******************************************************!*\ + !*** ./src/enums/event-emitters/ObfuscationEvent.ts ***! + \******************************************************/ +/*! flagged exports */ +/*! export ObfuscationEvent [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscationEvent = void 0; +var ObfuscationEvent; +(function (ObfuscationEvent) { + ObfuscationEvent["AfterObfuscation"] = "afterObfuscation"; + ObfuscationEvent["BeforeObfuscation"] = "beforeObfuscation"; +})(ObfuscationEvent = exports.ObfuscationEvent || (exports.ObfuscationEvent = {})); + + +/***/ }), + +/***/ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts": +/*!**************************************************************************************!*\ + !*** ./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts ***! + \**************************************************************************************/ +/*! flagged exports */ +/*! export IdentifierNamesGenerator [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IdentifierNamesGenerator = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.IdentifierNamesGenerator = Utils_1.Utils.makeEnum({ + DictionaryIdentifierNamesGenerator: 'dictionary', + HexadecimalIdentifierNamesGenerator: 'hexadecimal', + MangledIdentifierNamesGenerator: 'mangled', + MangledShuffledIdentifierNamesGenerator: 'mangled-shuffled' +}); + + +/***/ }), + +/***/ "./src/enums/logger/LoggingMessage.ts": +/*!********************************************!*\ + !*** ./src/enums/logger/LoggingMessage.ts ***! + \********************************************/ +/*! flagged exports */ +/*! export LoggingMessage [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LoggingMessage = void 0; +var LoggingMessage; +(function (LoggingMessage) { + LoggingMessage["EmptySourceCode"] = "Empty source code. Obfuscation canceled..."; + LoggingMessage["ObfuscationCompleted"] = "Obfuscation completed. Total time: %s sec."; + LoggingMessage["ObfuscationStarted"] = "Obfuscation started..."; + LoggingMessage["RandomGeneratorSeed"] = "Random generator seed: %s..."; + LoggingMessage["CodeTransformationStage"] = "Code transformation stage: %s..."; + LoggingMessage["NodeTransformationStage"] = "AST transformation stage: %s..."; + LoggingMessage["Version"] = "Version: %s"; +})(LoggingMessage = exports.LoggingMessage || (exports.LoggingMessage = {})); + + +/***/ }), + +/***/ "./src/enums/logger/LoggingPrefix.ts": +/*!*******************************************!*\ + !*** ./src/enums/logger/LoggingPrefix.ts ***! + \*******************************************/ +/*! flagged exports */ +/*! export LoggingPrefix [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LoggingPrefix = void 0; +var LoggingPrefix; +(function (LoggingPrefix) { + LoggingPrefix["Base"] = "[javascript-obfuscator]"; + LoggingPrefix["CLI"] = "[javascript-obfuscator-cli]"; +})(LoggingPrefix = exports.LoggingPrefix || (exports.LoggingPrefix = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/NodeTransformationStage.ts": +/*!****************************************************************!*\ + !*** ./src/enums/node-transformers/NodeTransformationStage.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export NodeTransformationStage [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformationStage = void 0; +var NodeTransformationStage; +(function (NodeTransformationStage) { + NodeTransformationStage["ControlFlowFlattening"] = "ControlFlowFlattening"; + NodeTransformationStage["Converting"] = "Converting"; + NodeTransformationStage["DeadCodeInjection"] = "DeadCodeInjection"; + NodeTransformationStage["Finalizing"] = "Finalizing"; + NodeTransformationStage["Initializing"] = "Initializing"; + NodeTransformationStage["Preparing"] = "Preparing"; + NodeTransformationStage["RenameIdentifiers"] = "RenameIdentifiers"; + NodeTransformationStage["RenameProperties"] = "RenameProperties"; + NodeTransformationStage["Simplifying"] = "Simplifying"; + NodeTransformationStage["StringArray"] = "StringArray"; +})(NodeTransformationStage = exports.NodeTransformationStage || (exports.NodeTransformationStage = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/NodeTransformer.ts": +/*!********************************************************!*\ + !*** ./src/enums/node-transformers/NodeTransformer.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export NodeTransformer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformer = void 0; +var NodeTransformer; +(function (NodeTransformer) { + NodeTransformer["BooleanLiteralTransformer"] = "BooleanLiteralTransformer"; + NodeTransformer["BlockStatementControlFlowTransformer"] = "BlockStatementControlFlowTransformer"; + NodeTransformer["BlockStatementSimplifyTransformer"] = "BlockStatementSimplifyTransformer"; + NodeTransformer["CommentsTransformer"] = "CommentsTransformer"; + NodeTransformer["CustomCodeHelpersTransformer"] = "CustomCodeHelpersTransformer"; + NodeTransformer["DeadCodeInjectionTransformer"] = "DeadCodeInjectionTransformer"; + NodeTransformer["EscapeSequenceTransformer"] = "EscapeSequenceTransformer"; + NodeTransformer["EvalCallExpressionTransformer"] = "EvalCallExpressionTransformer"; + NodeTransformer["ExportSpecifierTransformer"] = "ExportSpecifierTransformer"; + NodeTransformer["ExpressionStatementsMergeTransformer"] = "ExpressionStatementsMergeTransformer"; + NodeTransformer["FunctionControlFlowTransformer"] = "FunctionControlFlowTransformer"; + NodeTransformer["IfStatementSimplifyTransformer"] = "IfStatementSimplifyTransformer"; + NodeTransformer["LabeledStatementTransformer"] = "LabeledStatementTransformer"; + NodeTransformer["MemberExpressionTransformer"] = "MemberExpressionTransformer"; + NodeTransformer["MetadataTransformer"] = "MetadataTransformer"; + NodeTransformer["MethodDefinitionTransformer"] = "MethodDefinitionTransformer"; + NodeTransformer["NumberLiteralTransformer"] = "NumberLiteralTransformer"; + NodeTransformer["NumberToNumericalExpressionTransformer"] = "NumberToNumericalExpressionTransformer"; + NodeTransformer["ObfuscatingGuardsTransformer"] = "ObfuscatingGuardsTransformer"; + NodeTransformer["ObjectExpressionKeysTransformer"] = "ObjectExpressionKeysTransformer"; + NodeTransformer["ObjectExpressionTransformer"] = "ObjectExpressionTransformer"; + NodeTransformer["ObjectPatternPropertiesTransformer"] = "ObjectPatternPropertiesTransformer"; + NodeTransformer["ParentificationTransformer"] = "ParentificationTransformer"; + NodeTransformer["RenamePropertiesTransformer"] = "RenamePropertiesTransformer"; + NodeTransformer["ScopeIdentifiersTransformer"] = "ScopeIdentifiersTransformer"; + NodeTransformer["ScopeThroughIdentifiersTransformer"] = "ScopeThroughIdentifiersTransformer"; + NodeTransformer["SplitStringTransformer"] = "SplitStringTransformer"; + NodeTransformer["StringArrayTransformer"] = "StringArrayTransformer"; + NodeTransformer["StringArrayScopeCallsWrapperTransformer"] = "StringArrayScopeCallsWrapperTransformer"; + NodeTransformer["TemplateLiteralTransformer"] = "TemplateLiteralTransformer"; + NodeTransformer["VariableDeclarationsMergeTransformer"] = "VariableDeclarationsMergeTransformer"; + NodeTransformer["VariablePreserveTransformer"] = "VariablePreserveTransformer"; +})(NodeTransformer = exports.NodeTransformer || (exports.NodeTransformer = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/VisitorDirection.ts": +/*!*********************************************************!*\ + !*** ./src/enums/node-transformers/VisitorDirection.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export VisitorDirection [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VisitorDirection = void 0; +var VisitorDirection; +(function (VisitorDirection) { + VisitorDirection["Enter"] = "enter"; + VisitorDirection["Leave"] = "leave"; +})(VisitorDirection = exports.VisitorDirection || (exports.VisitorDirection = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts ***! + \*************************************************************************************************************/ +/*! flagged exports */ +/*! export ControlFlowReplacer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowReplacer = void 0; +var ControlFlowReplacer; +(function (ControlFlowReplacer) { + ControlFlowReplacer["BinaryExpressionControlFlowReplacer"] = "BinaryExpressionControlFlowReplacer"; + ControlFlowReplacer["CallExpressionControlFlowReplacer"] = "CallExpressionControlFlowReplacer"; + ControlFlowReplacer["LogicalExpressionControlFlowReplacer"] = "LogicalExpressionControlFlowReplacer"; + ControlFlowReplacer["StringLiteralControlFlowReplacer"] = "StringLiteralControlFlowReplacer"; +})(ControlFlowReplacer = exports.ControlFlowReplacer || (exports.ControlFlowReplacer = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts": +/*!****************************************************************************************************************!*\ + !*** ./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts ***! + \****************************************************************************************************************/ +/*! flagged exports */ +/*! export ObjectExpressionExtractor [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionExtractor = void 0; +var ObjectExpressionExtractor; +(function (ObjectExpressionExtractor) { + ObjectExpressionExtractor["BasePropertiesExtractor"] = "BasePropertiesExtractor"; + ObjectExpressionExtractor["ObjectExpressionToVariableDeclarationExtractor"] = "ObjectExpressionToVariableDeclarationExtractor"; +})(ObjectExpressionExtractor = exports.ObjectExpressionExtractor || (exports.ObjectExpressionExtractor = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts": +/*!***************************************************************************************************!*\ + !*** ./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts ***! + \***************************************************************************************************/ +/*! flagged exports */ +/*! export ObfuscatingGuard [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatingGuard = void 0; +var ObfuscatingGuard; +(function (ObfuscatingGuard) { + ObfuscatingGuard["BlackListObfuscatingGuard"] = "BlackListObfuscatingGuard"; + ObfuscatingGuard["ConditionalCommentObfuscatingGuard"] = "ConditionalCommentObfuscatingGuard"; + ObfuscatingGuard["ForceTransformStringObfuscatingGuard"] = "ForceTransformStringObfuscatingGuard"; + ObfuscatingGuard["IgnoredRequireImportObfuscatingGuard"] = "IgnoredRequireImportObfuscatingGuard"; + ObfuscatingGuard["ReservedStringObfuscatingGuard"] = "ReservedStringObfuscatingGuard"; +})(ObfuscatingGuard = exports.ObfuscatingGuard || (exports.ObfuscatingGuard = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts": +/*!**************************************************************************************!*\ + !*** ./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts ***! + \**************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayEncoding [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayEncoding = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.StringArrayEncoding = Utils_1.Utils.makeEnum({ + None: 'none', + Base64: 'base64', + Rc4: 'rc4' +}); + + +/***/ }), + +/***/ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts": +/*!*****************************************************************************************!*\ + !*** ./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts ***! + \*****************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayIndexesType [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayIndexesType = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.StringArrayIndexesType = Utils_1.Utils.makeEnum({ + HexadecimalNumber: 'hexadecimal-number', + HexadecimalNumericString: 'hexadecimal-numeric-string' +}); + + +/***/ }), + +/***/ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts": +/*!******************************************************************************************!*\ + !*** ./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts ***! + \******************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayWrappersType [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayWrappersType = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.StringArrayWrappersType = Utils_1.Utils.makeEnum({ + Variable: 'variable', + Function: 'function', +}); + + +/***/ }), + +/***/ "./src/enums/node/NodeType.ts": +/*!************************************!*\ + !*** ./src/enums/node/NodeType.ts ***! + \************************************/ +/*! flagged exports */ +/*! export NodeType [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeType = void 0; +var NodeType; +(function (NodeType) { + NodeType["ArrayExpression"] = "ArrayExpression"; + NodeType["ArrayPattern"] = "ArrayPattern"; + NodeType["ArrowFunctionExpression"] = "ArrowFunctionExpression"; + NodeType["AssignmentExpression"] = "AssignmentExpression"; + NodeType["AssignmentPattern"] = "AssignmentPattern"; + NodeType["AwaitExpression"] = "AwaitExpression"; + NodeType["BinaryExpression"] = "BinaryExpression"; + NodeType["BlockStatement"] = "BlockStatement"; + NodeType["BreakStatement"] = "BreakStatement"; + NodeType["CallExpression"] = "CallExpression"; + NodeType["CatchClause"] = "CatchClause"; + NodeType["ChainExpression"] = "ChainExpression"; + NodeType["ClassDeclaration"] = "ClassDeclaration"; + NodeType["ConditionalExpression"] = "ConditionalExpression"; + NodeType["ContinueStatement"] = "ContinueStatement"; + NodeType["ExportAllDeclaration"] = "ExportAllDeclaration"; + NodeType["ExportNamedDeclaration"] = "ExportNamedDeclaration"; + NodeType["ExportSpecifier"] = "ExportSpecifier"; + NodeType["ExpressionStatement"] = "ExpressionStatement"; + NodeType["ForStatement"] = "ForStatement"; + NodeType["ForInStatement"] = "ForInStatement"; + NodeType["ForOfStatement"] = "ForOfStatement"; + NodeType["FunctionDeclaration"] = "FunctionDeclaration"; + NodeType["FunctionExpression"] = "FunctionExpression"; + NodeType["Identifier"] = "Identifier"; + NodeType["IfStatement"] = "IfStatement"; + NodeType["ImportDeclaration"] = "ImportDeclaration"; + NodeType["ImportDefaultSpecifier"] = "ImportDefaultSpecifier"; + NodeType["ImportNamespaceSpecifier"] = "ImportNamespaceSpecifier"; + NodeType["ImportSpecifier"] = "ImportSpecifier"; + NodeType["LabeledStatement"] = "LabeledStatement"; + NodeType["Literal"] = "Literal"; + NodeType["LogicalExpression"] = "LogicalExpression"; + NodeType["MemberExpression"] = "MemberExpression"; + NodeType["MethodDefinition"] = "MethodDefinition"; + NodeType["ObjectExpression"] = "ObjectExpression"; + NodeType["ObjectPattern"] = "ObjectPattern"; + NodeType["Program"] = "Program"; + NodeType["Property"] = "Property"; + NodeType["RestElement"] = "RestElement"; + NodeType["ReturnStatement"] = "ReturnStatement"; + NodeType["SequenceExpression"] = "SequenceExpression"; + NodeType["SpreadElement"] = "SpreadElement"; + NodeType["Super"] = "Super"; + NodeType["SwitchCase"] = "SwitchCase"; + NodeType["SwitchStatement"] = "SwitchStatement"; + NodeType["TaggedTemplateExpression"] = "TaggedTemplateExpression"; + NodeType["TemplateElement"] = "TemplateElement"; + NodeType["TemplateLiteral"] = "TemplateLiteral"; + NodeType["ThrowStatement"] = "ThrowStatement"; + NodeType["TryStatement"] = "TryStatement"; + NodeType["UnaryExpression"] = "UnaryExpression"; + NodeType["UpdateExpression"] = "UpdateExpression"; + NodeType["VariableDeclaration"] = "VariableDeclaration"; + NodeType["VariableDeclarator"] = "VariableDeclarator"; + NodeType["WhileStatement"] = "WhileStatement"; + NodeType["YieldExpression"] = "YieldExpression"; +})(NodeType = exports.NodeType || (exports.NodeType = {})); + + +/***/ }), + +/***/ "./src/enums/node/ObfuscatingGuardResult.ts": +/*!**************************************************!*\ + !*** ./src/enums/node/ObfuscatingGuardResult.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export ObfuscatingGuardResult [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatingGuardResult = void 0; +var ObfuscatingGuardResult; +(function (ObfuscatingGuardResult) { + ObfuscatingGuardResult["ForceTransform"] = "ForceTransform"; + ObfuscatingGuardResult["Ignore"] = "Ignore"; + ObfuscatingGuardResult["Transform"] = "Transform"; +})(ObfuscatingGuardResult = exports.ObfuscatingGuardResult || (exports.ObfuscatingGuardResult = {})); + + +/***/ }), + +/***/ "./src/enums/options/presets/OptionsPreset.ts": +/*!****************************************************!*\ + !*** ./src/enums/options/presets/OptionsPreset.ts ***! + \****************************************************/ +/*! flagged exports */ +/*! export OptionsPreset [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OptionsPreset = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.OptionsPreset = Utils_1.Utils.makeEnum({ + Default: 'default', + LowObfuscation: 'low-obfuscation', + MediumObfuscation: 'medium-obfuscation', + HighObfuscation: 'high-obfuscation' +}); + + +/***/ }), + +/***/ "./src/enums/source-map/SourceMapMode.ts": +/*!***********************************************!*\ + !*** ./src/enums/source-map/SourceMapMode.ts ***! + \***********************************************/ +/*! flagged exports */ +/*! export SourceMapMode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceMapMode = void 0; +const Utils_1 = __webpack_require__(/*! ../../utils/Utils */ "./src/utils/Utils.ts"); +exports.SourceMapMode = Utils_1.Utils.makeEnum({ + Inline: 'inline', + Separate: 'separate' +}); + + +/***/ }), + +/***/ "./src/event-emitters/ObfuscationEventEmitter.ts": +/*!*******************************************************!*\ + !*** ./src/event-emitters/ObfuscationEventEmitter.ts ***! + \*******************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscationEventEmitter = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const eventemitter3_1 = __importDefault(__webpack_require__(/*! eventemitter3 */ "eventemitter3")); +inversify_1.decorate(inversify_1.injectable(), eventemitter3_1.default); +let ObfuscationEventEmitter = class ObfuscationEventEmitter extends eventemitter3_1.default { +}; +ObfuscationEventEmitter = __decorate([ + inversify_1.injectable() +], ObfuscationEventEmitter); +exports.ObfuscationEventEmitter = ObfuscationEventEmitter; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts": +/*!****************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts ***! + \****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let AbstractIdentifierNamesGenerator = class AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options) { + this.preservedNamesSet = new Set(); + this.lexicalScopesPreservedNamesMap = new Map(); + this.randomGenerator = randomGenerator; + this.options = options; + } + generate(lexicalScopeNode, nameLength) { + return NodeGuards_1.NodeGuards.isProgramNode(lexicalScopeNode) + ? this.generateForGlobalScope() + : this.generateForLexicalScope(lexicalScopeNode); + } + preserveName(name) { + this.preservedNamesSet.add(name); + } + preserveNameForLexicalScope(name, lexicalScopeNode) { + var _a; + const preservedNamesForLexicalScopeSet = (_a = this.lexicalScopesPreservedNamesMap.get(lexicalScopeNode)) !== null && _a !== void 0 ? _a : new Set(); + preservedNamesForLexicalScopeSet.add(name); + this.lexicalScopesPreservedNamesMap.set(lexicalScopeNode, preservedNamesForLexicalScopeSet); + } + isValidIdentifierName(name) { + return this.notReservedName(name) && !this.preservedNamesSet.has(name); + } + isValidIdentifierNameInLexicalScopes(name, lexicalScopeNodes) { + var _a; + if (!this.isValidIdentifierName(name)) { + return false; + } + for (const lexicalScope of lexicalScopeNodes) { + const preservedNamesForLexicalScopeSet = (_a = this.lexicalScopesPreservedNamesMap.get(lexicalScope)) !== null && _a !== void 0 ? _a : null; + if (!preservedNamesForLexicalScopeSet) { + continue; + } + if (preservedNamesForLexicalScopeSet.has(name)) { + return false; + } + } + return true; + } + notReservedName(name) { + return this.options.reservedNames.length + ? !this.options.reservedNames.some((reservedName) => new RegExp(reservedName, 'g').exec(name) !== null) + : true; + } +}; +AbstractIdentifierNamesGenerator = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractIdentifierNamesGenerator); +exports.AbstractIdentifierNamesGenerator = AbstractIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/DictionaryIdentifierNamesGenerator.ts": +/*!******************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/DictionaryIdentifierNamesGenerator.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var DictionaryIdentifierNamesGenerator_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DictionaryIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractIdentifierNamesGenerator_1 = __webpack_require__(/*! ./AbstractIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let DictionaryIdentifierNamesGenerator = DictionaryIdentifierNamesGenerator_1 = class DictionaryIdentifierNamesGenerator extends AbstractIdentifierNamesGenerator_1.AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options, arrayUtils) { + super(randomGenerator, options); + this.arrayUtils = arrayUtils; + this.identifierNamesSet = new Set(this.getInitialIdentifierNames(this.options.identifiersDictionary)); + this.identifiersIterator = this.identifierNamesSet.values(); + } + static incrementIdentifierName(identifierName) { + let newIdentifierName = ''; + let isSuccess = false; + for (const character of identifierName) { + if (!isSuccess && character === character.toUpperCase()) { + newIdentifierName += character.toLowerCase(); + } + else if (!isSuccess && character === character.toLowerCase()) { + newIdentifierName += character.toUpperCase(); + isSuccess = true; + } + else { + newIdentifierName += character; + } + } + if (isSuccess) { + return newIdentifierName; + } + return null; + } + generateNext() { + const identifierName = this.generateNewDictionaryName(); + this.preserveName(identifierName); + return identifierName; + } + generateForGlobalScope() { + const prefix = this.options.identifiersPrefix ? + `${this.options.identifiersPrefix}` + : ''; + const identifierName = this.generateNewDictionaryName(); + const identifierNameWithPrefix = `${prefix}${identifierName}`; + if (!this.isValidIdentifierName(identifierNameWithPrefix)) { + return this.generateForGlobalScope(); + } + this.preserveName(identifierNameWithPrefix); + return identifierNameWithPrefix; + } + generateForLexicalScope(lexicalScopeNode) { + const lexicalScopes = [ + lexicalScopeNode, + ...NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScopes(lexicalScopeNode) + ]; + const identifierName = this.generateNewDictionaryName(); + if (!this.isValidIdentifierNameInLexicalScopes(identifierName, lexicalScopes)) { + return this.generateForLexicalScope(lexicalScopeNode); + } + this.preserveNameForLexicalScope(identifierName, lexicalScopeNode); + return identifierName; + } + generateNewDictionaryName() { + if (!this.identifierNamesSet.size) { + throw new Error('Too many identifiers in the code, add more words to identifiers dictionary'); + } + const iteratorResult = this.identifiersIterator.next(); + if (!iteratorResult.done) { + const identifierName = iteratorResult.value; + if (!this.isValidIdentifierName(identifierName)) { + return this.generateNewDictionaryName(); + } + return iteratorResult.value; + } + this.identifierNamesSet = new Set(this.getIncrementedIdentifierNames([...this.identifierNamesSet])); + this.identifiersIterator = this.identifierNamesSet.values(); + return this.generateNewDictionaryName(); + } + getInitialIdentifierNames(identifierNames) { + const formattedIdentifierNames = identifierNames + .filter(Boolean) + .map((identifierName) => identifierName.toLowerCase()); + return this.arrayUtils.shuffle(formattedIdentifierNames); + } + getIncrementedIdentifierNames(identifierNames) { + const formattedIdentifierNames = []; + for (const identifierName of identifierNames) { + const newIdentifierName = DictionaryIdentifierNamesGenerator_1 + .incrementIdentifierName(identifierName); + if (newIdentifierName) { + formattedIdentifierNames.push(newIdentifierName); + } + } + return this.arrayUtils.shuffle(formattedIdentifierNames); + } +}; +DictionaryIdentifierNamesGenerator = DictionaryIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _c : Object]) +], DictionaryIdentifierNamesGenerator); +exports.DictionaryIdentifierNamesGenerator = DictionaryIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.ts": +/*!*******************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var HexadecimalIdentifierNamesGenerator_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HexadecimalIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractIdentifierNamesGenerator_1 = __webpack_require__(/*! ./AbstractIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +const Utils_1 = __webpack_require__(/*! ../../utils/Utils */ "./src/utils/Utils.ts"); +let HexadecimalIdentifierNamesGenerator = HexadecimalIdentifierNamesGenerator_1 = class HexadecimalIdentifierNamesGenerator extends AbstractIdentifierNamesGenerator_1.AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + generateNext(nameLength) { + const rangeMinInteger = 10000; + const rangeMaxInteger = 99999999; + const randomInteger = this.randomGenerator.getRandomInteger(rangeMinInteger, rangeMaxInteger); + const hexadecimalNumber = NumberUtils_1.NumberUtils.toHex(randomInteger); + const prefixLength = Utils_1.Utils.hexadecimalPrefix.length; + const baseNameLength = (nameLength !== null && nameLength !== void 0 ? nameLength : HexadecimalIdentifierNamesGenerator_1.baseIdentifierNameLength) + + prefixLength; + const baseIdentifierName = hexadecimalNumber.slice(0, baseNameLength); + const identifierName = `_${baseIdentifierName}`; + if (!this.isValidIdentifierName(identifierName)) { + return this.generateNext(nameLength); + } + this.preserveName(identifierName); + return identifierName; + } + generateForGlobalScope(nameLength) { + const identifierName = this.generateNext(nameLength); + return `${this.options.identifiersPrefix}${identifierName}`.replace('__', '_'); + } + generateForLexicalScope(lexicalScopeNode, nameLength) { + return this.generateNext(nameLength); + } +}; +HexadecimalIdentifierNamesGenerator.baseIdentifierNameLength = 6; +HexadecimalIdentifierNamesGenerator = HexadecimalIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], HexadecimalIdentifierNamesGenerator); +exports.HexadecimalIdentifierNamesGenerator = HexadecimalIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts": +/*!***************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var MangledIdentifierNamesGenerator_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MangledIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NumbersString_1 = __webpack_require__(/*! ../../constants/NumbersString */ "./src/constants/NumbersString.ts"); +const AlphabetString_1 = __webpack_require__(/*! ../../constants/AlphabetString */ "./src/constants/AlphabetString.ts"); +const AlphabetStringUppercase_1 = __webpack_require__(/*! ../../constants/AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const AbstractIdentifierNamesGenerator_1 = __webpack_require__(/*! ./AbstractIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let MangledIdentifierNamesGenerator = MangledIdentifierNamesGenerator_1 = class MangledIdentifierNamesGenerator extends AbstractIdentifierNamesGenerator_1.AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.previousMangledName = MangledIdentifierNamesGenerator_1.initMangledNameCharacter; + } + generateNext(nameLength) { + const identifierName = this.generateNewMangledName(this.previousMangledName); + this.updatePreviousMangledName(identifierName); + this.preserveName(identifierName); + return identifierName; + } + generateForGlobalScope(nameLength) { + const prefix = this.options.identifiersPrefix ? + `${this.options.identifiersPrefix}` + : ''; + const identifierName = this.generateNewMangledName(this.previousMangledName); + const identifierNameWithPrefix = `${prefix}${identifierName}`; + this.updatePreviousMangledName(identifierName); + if (!this.isValidIdentifierName(identifierNameWithPrefix)) { + return this.generateForGlobalScope(nameLength); + } + this.preserveName(identifierNameWithPrefix); + return identifierNameWithPrefix; + } + generateForLexicalScope(lexicalScopeNode, nameLength) { + const lexicalScopes = [ + lexicalScopeNode, + ...NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScopes(lexicalScopeNode) + ]; + const lastMangledNameForScope = this.getLastMangledNameForScopes(lexicalScopes); + let identifierName = lastMangledNameForScope; + do { + identifierName = this.generateNewMangledName(identifierName); + } while (!this.isValidIdentifierNameInLexicalScopes(identifierName, lexicalScopes)); + MangledIdentifierNamesGenerator_1.lastMangledNameInScopeMap.set(lexicalScopeNode, identifierName); + this.updatePreviousMangledName(identifierName); + this.preserveNameForLexicalScope(identifierName, lexicalScopeNode); + return identifierName; + } + isIncrementedMangledName(nextName, prevName) { + if (nextName === prevName) { + return false; + } + const nextNameLength = nextName.length; + const prevNameLength = prevName.length; + if (nextNameLength !== prevNameLength) { + return nextNameLength > prevNameLength; + } + const nameSequence = this.getNameSequence(); + for (let i = 0; i < nextNameLength; i++) { + const nextNameCharacter = nextName[i]; + const prevNameCharacter = prevName[i]; + if (nextNameCharacter === prevNameCharacter) { + continue; + } + const indexOfNextNameCharacter = nameSequence.indexOf(nextNameCharacter); + const indexOfPrevNameCharacter = nameSequence.indexOf(prevNameCharacter); + return indexOfNextNameCharacter > indexOfPrevNameCharacter; + } + throw new Error('Something goes wrong during comparison of mangled names'); + } + isValidIdentifierName(mangledName) { + return super.isValidIdentifierName(mangledName) + && !MangledIdentifierNamesGenerator_1.reservedNamesSet.has(mangledName); + } + getNameSequence() { + return MangledIdentifierNamesGenerator_1.nameSequence; + } + updatePreviousMangledName(name) { + if (!this.isIncrementedMangledName(name, this.previousMangledName)) { + return; + } + this.previousMangledName = name; + } + generateNewMangledName(previousMangledName) { + const generateNewMangledName = (name) => { + const nameSequence = this.getNameSequence(); + const nameSequenceLength = nameSequence.length; + const nameLength = name.length; + const zeroSequence = (num) => { + return '0'.repeat(num); + }; + let index = nameLength - 1; + do { + const character = name[index]; + const indexInSequence = nameSequence.indexOf(character); + const lastNameSequenceIndex = nameSequenceLength - 1; + if (indexInSequence !== lastNameSequenceIndex) { + const previousNamePart = name.slice(0, index); + const nextCharacter = nameSequence[indexInSequence + 1]; + const zeroSequenceLength = nameLength - (index + 1); + const zeroSequenceCharacters = zeroSequence(zeroSequenceLength); + return previousNamePart + nextCharacter + zeroSequenceCharacters; + } + --index; + } while (index >= 0); + const firstLetterCharacter = nameSequence[NumbersString_1.numbersString.length]; + return `${firstLetterCharacter}${zeroSequence(nameLength)}`; + }; + let newMangledName = generateNewMangledName(previousMangledName); + if (!this.isValidIdentifierName(newMangledName)) { + newMangledName = this.generateNewMangledName(newMangledName); + } + return newMangledName; + } + getLastMangledNameForScopes(lexicalScopeNodes) { + var _a; + for (const lexicalScope of lexicalScopeNodes) { + const lastMangledName = (_a = MangledIdentifierNamesGenerator_1.lastMangledNameInScopeMap + .get(lexicalScope)) !== null && _a !== void 0 ? _a : null; + if (!lastMangledName) { + continue; + } + return lastMangledName; + } + return MangledIdentifierNamesGenerator_1.initMangledNameCharacter; + } +}; +MangledIdentifierNamesGenerator.initMangledNameCharacter = '9'; +MangledIdentifierNamesGenerator.lastMangledNameInScopeMap = new WeakMap(); +MangledIdentifierNamesGenerator.nameSequence = [ + ...`${NumbersString_1.numbersString}${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}` +]; +MangledIdentifierNamesGenerator.reservedNamesSet = new Set([ + 'byte', 'case', 'char', 'do', 'else', 'enum', 'eval', 'for', 'goto', + 'if', 'in', 'int', 'let', 'long', 'new', 'null', 'this', 'true', 'try', + 'var', 'void', 'with' +]); +MangledIdentifierNamesGenerator = MangledIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MangledIdentifierNamesGenerator); +exports.MangledIdentifierNamesGenerator = MangledIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator.ts": +/*!***********************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator.ts ***! + \***********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var MangledShuffledIdentifierNamesGenerator_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MangledShuffledIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NumbersString_1 = __webpack_require__(/*! ../../constants/NumbersString */ "./src/constants/NumbersString.ts"); +const AlphabetString_1 = __webpack_require__(/*! ../../constants/AlphabetString */ "./src/constants/AlphabetString.ts"); +const AlphabetStringUppercase_1 = __webpack_require__(/*! ../../constants/AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const MangledIdentifierNamesGenerator_1 = __webpack_require__(/*! ./MangledIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts"); +let MangledShuffledIdentifierNamesGenerator = MangledShuffledIdentifierNamesGenerator_1 = class MangledShuffledIdentifierNamesGenerator extends MangledIdentifierNamesGenerator_1.MangledIdentifierNamesGenerator { + constructor(arrayUtils, randomGenerator, options) { + super(randomGenerator, options); + this.arrayUtils = arrayUtils; + } + initialize() { + this.initializeNameSequence([ + ...`${NumbersString_1.numbersString}`, + ...this.arrayUtils.shuffle([...`${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}`]) + ]); + } + initializeNameSequence(nameSequence) { + if (!this.getNameSequence()) { + MangledShuffledIdentifierNamesGenerator_1.shuffledNameSequence = nameSequence; + } + } + getNameSequence() { + return MangledShuffledIdentifierNamesGenerator_1.shuffledNameSequence; + } + generateNewMangledName(previousMangledName) { + return super.generateNewMangledName(previousMangledName); + } +}; +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], MangledShuffledIdentifierNamesGenerator.prototype, "initialize", null); +MangledShuffledIdentifierNamesGenerator = MangledShuffledIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], MangledShuffledIdentifierNamesGenerator); +exports.MangledShuffledIdentifierNamesGenerator = MangledShuffledIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer.ts": +/*!******************************************************************************!*\ + !*** ./src/interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer.ts ***! + \******************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts ***! + \*********************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer.ts ***! + \*************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/scope-analyzer/IScopeAnalyzer.ts": +/*!*******************************************************************!*\ + !*** ./src/interfaces/analyzers/scope-analyzer/IScopeAnalyzer.ts ***! + \*******************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer.ts": +/*!***********************************************************************************************!*\ + !*** ./src/interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer.ts ***! + \***********************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/code-transformers/ICodeTransformersRunner.ts": +/*!*********************************************************************!*\ + !*** ./src/interfaces/code-transformers/ICodeTransformersRunner.ts ***! + \*********************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts": +/*!**************************************************************************!*\ + !*** ./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts ***! + \**************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts": +/*!***************************************************************************!*\ + !*** ./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/event-emitters/IObfuscationEventEmitter.ts": +/*!*******************************************************************!*\ + !*** ./src/interfaces/event-emitters/IObfuscationEventEmitter.ts ***! + \*******************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/logger/ILogger.ts": +/*!******************************************!*\ + !*** ./src/interfaces/logger/ILogger.ts ***! + \******************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node-transformers/INodeTransformersRunner.ts": +/*!*********************************************************************!*\ + !*** ./src/interfaces/node-transformers/INodeTransformersRunner.ts ***! + \*********************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts": +/*!**********************************************************************************************************!*\ + !*** ./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts ***! + \**********************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer.ts ***! + \***************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node/IScopeIdentifiersTraverser.ts": +/*!***********************************************************!*\ + !*** ./src/interfaces/node/IScopeIdentifiersTraverser.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/options/IOptions.ts": +/*!********************************************!*\ + !*** ./src/interfaces/options/IOptions.ts ***! + \********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/options/IOptionsNormalizer.ts": +/*!******************************************************!*\ + !*** ./src/interfaces/options/IOptionsNormalizer.ts ***! + \******************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/source-code/ISourceCode.ts": +/*!***************************************************!*\ + !*** ./src/interfaces/source-code/ISourceCode.ts ***! + \***************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage.ts": +/*!****************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage.ts ***! + \****************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts": +/*!*******************************************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts ***! + \*******************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts": +/*!************************************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts ***! + \************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts": +/*!**********************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts": +/*!****************************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts ***! + \****************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/IArrayUtils.ts": +/*!*********************************************!*\ + !*** ./src/interfaces/utils/IArrayUtils.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ICryptUtils.ts": +/*!*********************************************!*\ + !*** ./src/interfaces/utils/ICryptUtils.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ICryptUtilsSwappedAlphabet.ts": +/*!************************************************************!*\ + !*** ./src/interfaces/utils/ICryptUtilsSwappedAlphabet.ts ***! + \************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/IEscapeSequenceEncoder.ts": +/*!********************************************************!*\ + !*** ./src/interfaces/utils/IEscapeSequenceEncoder.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ILevelledTopologicalSorter.ts": +/*!************************************************************!*\ + !*** ./src/interfaces/utils/ILevelledTopologicalSorter.ts ***! + \************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/IRandomGenerator.ts": +/*!**************************************************!*\ + !*** ./src/interfaces/utils/IRandomGenerator.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts": +/*!****************************************************************!*\ + !*** ./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/logger/Logger.ts": +/*!******************************!*\ + !*** ./src/logger/Logger.ts ***! + \******************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var Logger_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Logger = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk")); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const LoggingPrefix_1 = __webpack_require__(/*! ../enums/logger/LoggingPrefix */ "./src/enums/logger/LoggingPrefix.ts"); +let Logger = Logger_1 = class Logger { + constructor(options) { + this.options = options; + } + static log(loggingLevelColor, loggingPrefix, loggingMessage, value) { + const processedMessage = loggingLevelColor(`\n${loggingPrefix} ${loggingMessage}`); + console.log(processedMessage, value !== null && value !== void 0 ? value : ''); + } + info(loggingMessage, value) { + if (!this.options.log) { + return; + } + Logger_1.log(Logger_1.colorInfo, LoggingPrefix_1.LoggingPrefix.Base, loggingMessage, value); + } + success(loggingMessage, value) { + if (!this.options.log) { + return; + } + Logger_1.log(Logger_1.colorSuccess, LoggingPrefix_1.LoggingPrefix.Base, loggingMessage, value); + } + warn(loggingMessage, value) { + if (!this.options.log) { + return; + } + Logger_1.log(Logger_1.colorWarn, LoggingPrefix_1.LoggingPrefix.Base, loggingMessage, value); + } +}; +Logger.colorInfo = chalk_1.default.cyan; +Logger.colorSuccess = chalk_1.default.green; +Logger.colorWarn = chalk_1.default.yellow; +Logger = Logger_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], Logger); +exports.Logger = Logger; + + +/***/ }), + +/***/ "./src/node-transformers/AbstractNodeTransformer.ts": +/*!**********************************************************!*\ + !*** ./src/node-transformers/AbstractNodeTransformer.ts ***! + \**********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractNodeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractNodeTransformer = class AbstractNodeTransformer { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } +}; +AbstractNodeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractNodeTransformer); +exports.AbstractNodeTransformer = AbstractNodeTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/NodeTransformerNamesGroupsBuilder.ts": +/*!********************************************************************!*\ + !*** ./src/node-transformers/NodeTransformerNamesGroupsBuilder.ts ***! + \********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformerNamesGroupsBuilder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AbstractTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../utils/AbstractTransformerNamesGroupsBuilder */ "./src/utils/AbstractTransformerNamesGroupsBuilder.ts"); +let NodeTransformerNamesGroupsBuilder = class NodeTransformerNamesGroupsBuilder extends AbstractTransformerNamesGroupsBuilder_1.AbstractTransformerNamesGroupsBuilder { +}; +NodeTransformerNamesGroupsBuilder = __decorate([ + inversify_1.injectable() +], NodeTransformerNamesGroupsBuilder); +exports.NodeTransformerNamesGroupsBuilder = NodeTransformerNamesGroupsBuilder; + + +/***/ }), + +/***/ "./src/node-transformers/NodeTransformersRunner.ts": +/*!*********************************************************!*\ + !*** ./src/node-transformers/NodeTransformersRunner.ts ***! + \*********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformersRunner = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TNodeTransformerFactory_1 = __webpack_require__(/*! ../types/container/node-transformers/TNodeTransformerFactory */ "./src/types/container/node-transformers/TNodeTransformerFactory.ts"); +const ITransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../interfaces/utils/ITransformerNamesGroupsBuilder */ "./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts"); +const VisitorDirection_1 = __webpack_require__(/*! ../enums/node-transformers/VisitorDirection */ "./src/enums/node-transformers/VisitorDirection.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let NodeTransformersRunner = class NodeTransformersRunner { + constructor(nodeTransformerFactory, nodeTransformerNamesGroupsBuilder) { + this.nodeTransformerFactory = nodeTransformerFactory; + this.nodeTransformerNamesGroupsBuilder = nodeTransformerNamesGroupsBuilder; + } + transform(astTree, nodeTransformerNames, nodeTransformationStage) { + if (!nodeTransformerNames.length) { + return astTree; + } + const normalizedNodeTransformers = this.buildNormalizedNodeTransformers(nodeTransformerNames, nodeTransformationStage); + const nodeTransformerNamesGroups = this.nodeTransformerNamesGroupsBuilder.build(normalizedNodeTransformers); + for (const nodeTransformerNamesGroup of nodeTransformerNamesGroups) { + const enterVisitors = []; + const leaveVisitors = []; + for (const nodeTransformerName of nodeTransformerNamesGroup) { + const nodeTransformer = normalizedNodeTransformers[nodeTransformerName]; + const visitor = nodeTransformer.getVisitor(nodeTransformationStage); + if (!visitor) { + continue; + } + if (visitor.enter) { + enterVisitors.push({ enter: visitor.enter }); + } + if (visitor.leave) { + leaveVisitors.push({ leave: visitor.leave }); + } + } + if (!enterVisitors.length && !leaveVisitors.length) { + continue; + } + estraverse.replace(astTree, { + enter: this.mergeVisitorsForDirection(enterVisitors, VisitorDirection_1.VisitorDirection.Enter), + leave: this.mergeVisitorsForDirection(leaveVisitors, VisitorDirection_1.VisitorDirection.Leave) + }); + } + return astTree; + } + buildNormalizedNodeTransformers(nodeTransformerNames, nodeTransformationStage) { + return nodeTransformerNames + .reduce((acc, nodeTransformerName) => { + const nodeTransformer = this.nodeTransformerFactory(nodeTransformerName); + if (!nodeTransformer.getVisitor(nodeTransformationStage)) { + return acc; + } + return Object.assign(Object.assign({}, acc), { [nodeTransformerName]: nodeTransformer }); + }, {}); + } + mergeVisitorsForDirection(visitors, direction) { + const visitorsLength = visitors.length; + if (!visitorsLength) { + return (node, parentNode) => node; + } + return (node, parentNode) => { + if (NodeMetadata_1.NodeMetadata.isIgnoredNode(node)) { + return estraverse.VisitorOption.Skip; + } + for (let i = 0; i < visitorsLength; i++) { + const visitorFunction = visitors[i][direction]; + if (!visitorFunction) { + continue; + } + const visitorResult = visitorFunction(node, parentNode); + if (!visitorResult || !NodeGuards_1.NodeGuards.isNode(visitorResult)) { + continue; + } + node = visitorResult; + } + return node; + }; + } +}; +NodeTransformersRunner = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeTransformer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder)), + __metadata("design:paramtypes", [typeof (_a = typeof TNodeTransformerFactory_1.TNodeTransformerFactory !== "undefined" && TNodeTransformerFactory_1.TNodeTransformerFactory) === "function" ? _a : Object, typeof (_b = typeof ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder !== "undefined" && ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder) === "function" ? _b : Object]) +], NodeTransformersRunner); +exports.NodeTransformersRunner = NodeTransformersRunner; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts": +/*!*************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts ***! + \*************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var BlockStatementControlFlowTransformer_1, _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementControlFlowTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementControlFlowTransformer = BlockStatementControlFlowTransformer_1 = class BlockStatementControlFlowTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(controlFlowCustomNodeFactory, arrayUtils, randomGenerator, options) { + super(randomGenerator, options); + this.controlFlowCustomNodeFactory = controlFlowCustomNodeFactory; + this.arrayUtils = arrayUtils; + } + static isProhibitedStatementNode(node) { + const isBreakOrContinueStatement = NodeGuards_1.NodeGuards.isBreakStatementNode(node) + || NodeGuards_1.NodeGuards.isContinueStatementNode(node); + const isVariableDeclarationWithLetOrConstKind = NodeGuards_1.NodeGuards.isVariableDeclarationNode(node) + && (node.kind === 'const' || node.kind === 'let'); + const isClassDeclaration = NodeGuards_1.NodeGuards.isClassDeclarationNode(node); + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) + || isBreakOrContinueStatement + || isVariableDeclarationWithLetOrConstKind + || isClassDeclaration; + } + static canTransformBlockStatementNode(blockStatementNode) { + let canTransform = true; + estraverse.traverse(blockStatementNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isWhileStatementNode(node)) { + return estraverse.VisitorOption.Skip; + } + if (BlockStatementControlFlowTransformer_1.isProhibitedStatementNode(node)) { + canTransform = false; + } + } + }); + if (blockStatementNode.body.length <= 4) { + canTransform = false; + } + return canTransform; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.ControlFlowFlattening: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(blockStatementNode, parentNode) { + if (this.randomGenerator.getMathRandom() > this.options.controlFlowFlatteningThreshold || + !BlockStatementControlFlowTransformer_1.canTransformBlockStatementNode(blockStatementNode)) { + return blockStatementNode; + } + const blockStatementBody = blockStatementNode.body; + const originalKeys = this.arrayUtils.createWithRange(blockStatementBody.length); + const shuffledKeys = this.arrayUtils.shuffle(originalKeys); + const originalKeysIndexesInShuffledArray = originalKeys.map((key) => shuffledKeys.indexOf(key)); + const blockStatementControlFlowFlatteningCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode); + blockStatementControlFlowFlatteningCustomNode.initialize(blockStatementBody, shuffledKeys, originalKeysIndexesInShuffledArray); + const newBlockStatementNode = blockStatementControlFlowFlatteningCustomNode.getNode()[0]; + NodeUtils_1.NodeUtils.parentizeNode(newBlockStatementNode, parentNode); + return newBlockStatementNode; + } +}; +BlockStatementControlFlowTransformer = BlockStatementControlFlowTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BlockStatementControlFlowTransformer); +exports.BlockStatementControlFlowTransformer = BlockStatementControlFlowTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts": +/*!*******************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var FunctionControlFlowTransformer_1, _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FunctionControlFlowTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const TControlFlowReplacerFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TControlFlowReplacerFactory */ "./src/types/container/node-transformers/TControlFlowReplacerFactory.ts"); +const TControlFlowStorageFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TControlFlowStorageFactory */ "./src/types/container/node-transformers/TControlFlowStorageFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const ControlFlowReplacer_1 = __webpack_require__(/*! ../../enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer */ "./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts"); +const NodeType_1 = __webpack_require__(/*! ../../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let FunctionControlFlowTransformer = FunctionControlFlowTransformer_1 = class FunctionControlFlowTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(controlFlowStorageFactory, controlFlowReplacerFactory, controlFlowCustomNodeFactory, randomGenerator, options) { + super(randomGenerator, options); + this.controlFlowData = new Map(); + this.visitedFunctionNodes = new Set(); + this.hostNodesWithControlFlowNode = new Set(); + this.controlFlowStorageFactory = controlFlowStorageFactory; + this.controlFlowReplacerFactory = controlFlowReplacerFactory; + this.controlFlowCustomNodeFactory = controlFlowCustomNodeFactory; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.ControlFlowFlattening: + return { + leave: (node, parentNode) => { + if (parentNode && (NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) || + NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) || + NodeGuards_1.NodeGuards.isArrowFunctionExpressionNode(node))) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(functionNode, parentNode) { + this.visitedFunctionNodes.add(functionNode); + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(functionNode.body)) { + return functionNode; + } + const hostNode = this.getHostNode(functionNode.body); + const controlFlowStorage = this.getControlFlowStorage(hostNode); + this.controlFlowData.set(hostNode, controlFlowStorage); + this.transformFunctionBody(functionNode.body, controlFlowStorage); + if (!controlFlowStorage.getLength()) { + return functionNode; + } + const controlFlowStorageCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.ControlFlowStorageNode); + controlFlowStorageCustomNode.initialize(controlFlowStorage); + NodeAppender_1.NodeAppender.prepend(hostNode, controlFlowStorageCustomNode.getNode()); + this.hostNodesWithControlFlowNode.add(hostNode); + NodeUtils_1.NodeUtils.parentizeAst(functionNode); + return functionNode; + } + getControlFlowStorage(hostNode) { + const controlFlowStorage = this.controlFlowStorageFactory(); + if (this.controlFlowData.has(hostNode)) { + if (this.hostNodesWithControlFlowNode.has(hostNode)) { + if (NodeGuards_1.NodeGuards.isSwitchCaseNode(hostNode)) { + hostNode.consequent.shift(); + } + else { + hostNode.body.shift(); + } + } + const hostControlFlowStorage = this.controlFlowData.get(hostNode); + controlFlowStorage.mergeWith(hostControlFlowStorage, true); + } + return controlFlowStorage; + } + getHostNode(functionNodeBody) { + const blockScopesOfNode = NodeStatementUtils_1.NodeStatementUtils.getParentNodesWithStatements(functionNodeBody); + if (blockScopesOfNode.length === 1) { + return functionNodeBody; + } + else { + blockScopesOfNode.pop(); + } + if (blockScopesOfNode.length > FunctionControlFlowTransformer_1.hostNodeSearchMinDepth) { + blockScopesOfNode.splice(0, FunctionControlFlowTransformer_1.hostNodeSearchMinDepth); + } + if (blockScopesOfNode.length > FunctionControlFlowTransformer_1.hostNodeSearchMaxDepth) { + blockScopesOfNode.length = FunctionControlFlowTransformer_1.hostNodeSearchMaxDepth; + } + return this.randomGenerator.getRandomGenerator().pickone(blockScopesOfNode); + } + isVisitedFunctionNode(node) { + return (NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) || + NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) || + NodeGuards_1.NodeGuards.isArrowFunctionExpressionNode(node)) && this.visitedFunctionNodes.has(node); + } + transformFunctionBody(functionNodeBody, controlFlowStorage) { + estraverse.replace(functionNodeBody, { + enter: (node, parentNode) => { + if (NodeMetadata_1.NodeMetadata.isIgnoredNode(node)) { + return estraverse.VisitorOption.Skip; + } + if (this.isVisitedFunctionNode(node) || !parentNode) { + return estraverse.VisitorOption.Skip; + } + if (!FunctionControlFlowTransformer_1.controlFlowReplacersMap.has(node.type)) { + return node; + } + if (this.randomGenerator.getMathRandom() > this.options.controlFlowFlatteningThreshold) { + return node; + } + const controlFlowReplacerName = FunctionControlFlowTransformer_1 + .controlFlowReplacersMap.get(node.type); + if (controlFlowReplacerName === undefined) { + return node; + } + return Object.assign(Object.assign({}, this.controlFlowReplacerFactory(controlFlowReplacerName).replace(node, parentNode, controlFlowStorage)), { parentNode }); + } + }); + } +}; +FunctionControlFlowTransformer.controlFlowReplacersMap = new Map([ + [NodeType_1.NodeType.BinaryExpression, ControlFlowReplacer_1.ControlFlowReplacer.BinaryExpressionControlFlowReplacer], + [NodeType_1.NodeType.CallExpression, ControlFlowReplacer_1.ControlFlowReplacer.CallExpressionControlFlowReplacer], + [NodeType_1.NodeType.LogicalExpression, ControlFlowReplacer_1.ControlFlowReplacer.LogicalExpressionControlFlowReplacer], + [NodeType_1.NodeType.Literal, ControlFlowReplacer_1.ControlFlowReplacer.StringLiteralControlFlowReplacer] +]); +FunctionControlFlowTransformer.hostNodeSearchMinDepth = 0; +FunctionControlFlowTransformer.hostNodeSearchMaxDepth = 2; +FunctionControlFlowTransformer = FunctionControlFlowTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__TControlFlowStorage)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowReplacer)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowStorageFactory_1.TControlFlowStorageFactory !== "undefined" && TControlFlowStorageFactory_1.TControlFlowStorageFactory) === "function" ? _a : Object, typeof (_b = typeof TControlFlowReplacerFactory_1.TControlFlowReplacerFactory !== "undefined" && TControlFlowReplacerFactory_1.TControlFlowReplacerFactory) === "function" ? _b : Object, typeof (_c = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], FunctionControlFlowTransformer); +exports.FunctionControlFlowTransformer = FunctionControlFlowTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var AbstractControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractControlFlowReplacer = AbstractControlFlowReplacer_1 = class AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + this.replacerDataByControlFlowStorageId = new Map(); + this.controlFlowCustomNodeFactory = controlFlowCustomNodeFactory; + this.randomGenerator = randomGenerator; + this.options = options; + } + static getStorageKeysByIdForCurrentStorage(identifierDataByControlFlowStorageId, controlFlowStorageId) { + let storageKeysById; + if (identifierDataByControlFlowStorageId.has(controlFlowStorageId)) { + storageKeysById = identifierDataByControlFlowStorageId.get(controlFlowStorageId); + } + else { + storageKeysById = new Map(); + } + return storageKeysById; + } + insertCustomNodeToControlFlowStorage(customNode, controlFlowStorage, replacerId, usingExistingIdentifierChance) { + const controlFlowStorageId = controlFlowStorage.getStorageId(); + const storageKeysById = AbstractControlFlowReplacer_1 + .getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId, controlFlowStorageId); + const storageKeysForCurrentId = storageKeysById.get(replacerId); + if (this.randomGenerator.getMathRandom() < usingExistingIdentifierChance && + storageKeysForCurrentId && + storageKeysForCurrentId.length) { + return this.randomGenerator.getRandomGenerator().pickone(storageKeysForCurrentId); + } + const generateStorageKey = (length) => { + const key = this.randomGenerator.getRandomString(length); + if (controlFlowStorage.getStorage().has(key)) { + return generateStorageKey(length); + } + return key; + }; + const storageKey = generateStorageKey(5); + storageKeysById.set(replacerId, [storageKey]); + this.replacerDataByControlFlowStorageId.set(controlFlowStorageId, storageKeysById); + controlFlowStorage.set(storageKey, customNode); + return storageKey; + } +}; +AbstractControlFlowReplacer = AbstractControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], AbstractControlFlowReplacer); +exports.AbstractControlFlowReplacer = AbstractControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts": +/*!***********************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts ***! + \***********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var BinaryExpressionControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BinaryExpressionControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const ExpressionWithOperatorControlFlowReplacer_1 = __webpack_require__(/*! ./ExpressionWithOperatorControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts"); +let BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer_1 = class BinaryExpressionControlFlowReplacer extends ExpressionWithOperatorControlFlowReplacer_1.ExpressionWithOperatorControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(binaryExpressionNode, parentNode, controlFlowStorage) { + const operator = binaryExpressionNode.operator; + const binaryExpressionFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.BinaryExpressionFunctionNode); + binaryExpressionFunctionCustomNode.initialize(operator); + const storageKey = this.insertCustomNodeToControlFlowStorage(binaryExpressionFunctionCustomNode, controlFlowStorage, operator, BinaryExpressionControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey, binaryExpressionNode.left, binaryExpressionNode.right); + } +}; +BinaryExpressionControlFlowReplacer.usingExistingIdentifierChance = 0.5; +BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], BinaryExpressionControlFlowReplacer); +exports.BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts": +/*!*********************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts ***! + \*********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CallExpressionControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallExpressionControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const AbstractControlFlowReplacer_1 = __webpack_require__(/*! ./AbstractControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CallExpressionControlFlowReplacer = CallExpressionControlFlowReplacer_1 = class CallExpressionControlFlowReplacer extends AbstractControlFlowReplacer_1.AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(callExpressionNode, parentNode, controlFlowStorage) { + const callee = callExpressionNode.callee; + if (!NodeGuards_1.NodeGuards.isIdentifierNode(callee)) { + return callExpressionNode; + } + const replacerId = String(callExpressionNode.arguments.length); + const callExpressionFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionFunctionNode); + const expressionArguments = callExpressionNode.arguments; + callExpressionFunctionCustomNode.initialize(expressionArguments); + const storageKey = this.insertCustomNodeToControlFlowStorage(callExpressionFunctionCustomNode, controlFlowStorage, replacerId, CallExpressionControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey, callee, expressionArguments); + } + getControlFlowStorageCallNode(controlFlowStorageId, storageKey, callee, expressionArguments) { + const controlFlowStorageCallCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode); + controlFlowStorageCallCustomNode.initialize(controlFlowStorageId, storageKey, callee, expressionArguments); + const statementNode = controlFlowStorageCallCustomNode.getNode()[0]; + if (!statementNode || !NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } +}; +CallExpressionControlFlowReplacer.usingExistingIdentifierChance = 0.5; +CallExpressionControlFlowReplacer = CallExpressionControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], CallExpressionControlFlowReplacer); +exports.CallExpressionControlFlowReplacer = CallExpressionControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts": +/*!*****************************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts ***! + \*****************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExpressionWithOperatorControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const AbstractControlFlowReplacer_1 = __webpack_require__(/*! ./AbstractControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ExpressionWithOperatorControlFlowReplacer = class ExpressionWithOperatorControlFlowReplacer extends AbstractControlFlowReplacer_1.AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + getControlFlowStorageCallNode(controlFlowStorageId, storageKey, leftExpression, rightExpression) { + const controlFlowStorageCallCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode); + controlFlowStorageCallCustomNode.initialize(controlFlowStorageId, storageKey, leftExpression, rightExpression); + const statementNode = controlFlowStorageCallCustomNode.getNode()[0]; + if (!statementNode || !NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } +}; +ExpressionWithOperatorControlFlowReplacer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], ExpressionWithOperatorControlFlowReplacer); +exports.ExpressionWithOperatorControlFlowReplacer = ExpressionWithOperatorControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts": +/*!************************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts ***! + \************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var LogicalExpressionControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LogicalExpressionControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const ExpressionWithOperatorControlFlowReplacer_1 = __webpack_require__(/*! ./ExpressionWithOperatorControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let LogicalExpressionControlFlowReplacer = LogicalExpressionControlFlowReplacer_1 = class LogicalExpressionControlFlowReplacer extends ExpressionWithOperatorControlFlowReplacer_1.ExpressionWithOperatorControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(logicalExpressionNode, parentNode, controlFlowStorage) { + if (this.checkForProhibitedExpressions(logicalExpressionNode.left, logicalExpressionNode.right)) { + return logicalExpressionNode; + } + const operator = logicalExpressionNode.operator; + const logicalExpressionFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.LogicalExpressionFunctionNode); + logicalExpressionFunctionCustomNode.initialize(operator); + const storageKey = this.insertCustomNodeToControlFlowStorage(logicalExpressionFunctionCustomNode, controlFlowStorage, operator, LogicalExpressionControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey, logicalExpressionNode.left, logicalExpressionNode.right); + } + checkForProhibitedExpressions(leftExpression, rightExpression) { + return [leftExpression, rightExpression].some((expressionNode) => { + let nodeForCheck; + if (!NodeGuards_1.NodeGuards.isUnaryExpressionNode(expressionNode)) { + nodeForCheck = expressionNode; + } + else { + nodeForCheck = NodeUtils_1.NodeUtils.getUnaryExpressionArgumentNode(expressionNode); + } + return !NodeGuards_1.NodeGuards.isLiteralNode(nodeForCheck) && + !NodeGuards_1.NodeGuards.isIdentifierNode(nodeForCheck) && + !NodeGuards_1.NodeGuards.isObjectExpressionNode(nodeForCheck) && + !NodeGuards_1.NodeGuards.isExpressionStatementNode(nodeForCheck); + }); + } +}; +LogicalExpressionControlFlowReplacer.usingExistingIdentifierChance = 0.5; +LogicalExpressionControlFlowReplacer = LogicalExpressionControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], LogicalExpressionControlFlowReplacer); +exports.LogicalExpressionControlFlowReplacer = LogicalExpressionControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts": +/*!********************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts ***! + \********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringLiteralControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringLiteralControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const AbstractControlFlowReplacer_1 = __webpack_require__(/*! ./AbstractControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +let StringLiteralControlFlowReplacer = StringLiteralControlFlowReplacer_1 = class StringLiteralControlFlowReplacer extends AbstractControlFlowReplacer_1.AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(literalNode, parentNode, controlFlowStorage) { + if (NodeGuards_1.NodeGuards.isPropertyNode(parentNode) && parentNode.key === literalNode) { + return literalNode; + } + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode) || literalNode.value.length < 3) { + return literalNode; + } + const replacerId = String(literalNode.value); + const literalFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralNode); + literalFunctionCustomNode.initialize(literalNode.value); + const storageKey = this.insertCustomNodeToControlFlowStorage(literalFunctionCustomNode, controlFlowStorage, replacerId, StringLiteralControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey); + } + getControlFlowStorageCallNode(controlFlowStorageId, storageKey) { + const controlFlowStorageCallCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode); + controlFlowStorageCallCustomNode.initialize(controlFlowStorageId, storageKey); + const statementNode = controlFlowStorageCallCustomNode.getNode()[0]; + if (!statementNode || !NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } +}; +StringLiteralControlFlowReplacer.usingExistingIdentifierChance = 1; +StringLiteralControlFlowReplacer = StringLiteralControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], StringLiteralControlFlowReplacer); +exports.StringLiteralControlFlowReplacer = StringLiteralControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/BooleanLiteralTransformer.ts": +/*!************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/BooleanLiteralTransformer.ts ***! + \************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BooleanLiteralTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let BooleanLiteralTransformer = class BooleanLiteralTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (typeof literalNode.value !== 'boolean') { + return literalNode; + } + const literalValue = literalNode.value; + const unaryExpressionNode = literalValue + ? this.getTrueUnaryExpressionNode() + : this.getFalseUnaryExpressionNode(); + NodeUtils_1.NodeUtils.parentizeNode(unaryExpressionNode, parentNode); + return unaryExpressionNode; + } + getTrueUnaryExpressionNode() { + return NodeFactory_1.NodeFactory.unaryExpressionNode('!', this.getFalseUnaryExpressionNode()); + } + getFalseUnaryExpressionNode() { + return NodeFactory_1.NodeFactory.unaryExpressionNode('!', NodeFactory_1.NodeFactory.arrayExpressionNode()); + } +}; +BooleanLiteralTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], BooleanLiteralTransformer); +exports.BooleanLiteralTransformer = BooleanLiteralTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ExportSpecifierTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ExportSpecifierTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExportSpecifierTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ExportSpecifierTransformer = class ExportSpecifierTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isExportSpecifierNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(exportSpecifierNode, parentNode) { + if (exportSpecifierNode.local.name === exportSpecifierNode.exported.name) { + exportSpecifierNode.exported = NodeUtils_1.NodeUtils.clone(exportSpecifierNode.local); + } + return exportSpecifierNode; + } +}; +ExportSpecifierTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ExportSpecifierTransformer); +exports.ExportSpecifierTransformer = ExportSpecifierTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/MemberExpressionTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/MemberExpressionTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MemberExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let MemberExpressionTransformer = class MemberExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isMemberExpressionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(memberExpressionNode, parentNode) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(memberExpressionNode.property)) { + if (memberExpressionNode.computed) { + return memberExpressionNode; + } + memberExpressionNode.computed = true; + memberExpressionNode.property = NodeFactory_1.NodeFactory.literalNode(memberExpressionNode.property.name); + } + return memberExpressionNode; + } +}; +MemberExpressionTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MemberExpressionTransformer); +exports.MemberExpressionTransformer = MemberExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var MethodDefinitionTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MethodDefinitionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let MethodDefinitionTransformer = MethodDefinitionTransformer_1 = class MethodDefinitionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isMethodDefinitionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(methodDefinitionNode, parentNode) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(methodDefinitionNode.key)) { + return this.replaceIdentifierKey(methodDefinitionNode, methodDefinitionNode.key); + } + if (NodeGuards_1.NodeGuards.isLiteralNode(methodDefinitionNode.key)) { + return this.replaceLiteralKey(methodDefinitionNode, methodDefinitionNode.key); + } + return methodDefinitionNode; + } + replaceIdentifierKey(methodDefinitionNode, keyNode) { + if (!MethodDefinitionTransformer_1.ignoredNames.includes(keyNode.name) + && !methodDefinitionNode.computed) { + methodDefinitionNode.computed = true; + methodDefinitionNode.key = NodeFactory_1.NodeFactory.literalNode(keyNode.name); + } + return methodDefinitionNode; + } + replaceLiteralKey(methodDefinitionNode, keyNode) { + if (typeof keyNode.value === 'string' + && !MethodDefinitionTransformer_1.ignoredNames.includes(keyNode.value) + && !methodDefinitionNode.computed) { + methodDefinitionNode.computed = true; + } + return methodDefinitionNode; + } +}; +MethodDefinitionTransformer.ignoredNames = ['constructor']; +MethodDefinitionTransformer = MethodDefinitionTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MethodDefinitionTransformer); +exports.MethodDefinitionTransformer = MethodDefinitionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/NumberLiteralTransformer.ts": +/*!***********************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/NumberLiteralTransformer.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberLiteralTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let NumberLiteralTransformer = class NumberLiteralTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.NumberToNumericalExpressionTransformer + ]; + this.numberLiteralCache = new Map(); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (typeof literalNode.value !== 'number' && typeof literalNode.value !== 'bigint') { + return literalNode; + } + const literalValue = literalNode.value; + let rawValue; + if (this.numberLiteralCache.has(literalValue)) { + rawValue = this.numberLiteralCache.get(literalValue); + } + else { + if (NumberUtils_1.NumberUtils.isCeil(literalValue)) { + rawValue = NumberUtils_1.NumberUtils.toHex(literalValue); + } + else { + rawValue = String(literalValue); + } + this.numberLiteralCache.set(literalValue, rawValue); + } + return NodeFactory_1.NodeFactory.literalNode(literalValue, rawValue); + } +}; +NumberLiteralTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], NumberLiteralTransformer); +exports.NumberLiteralTransformer = NumberLiteralTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/NumberToNumericalExpressionTransformer.ts": +/*!*************************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/NumberToNumericalExpressionTransformer.ts ***! + \*************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberToNumericalExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const INumberNumericalExpressionAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer */ "./src/interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let NumberToNumericalExpressionTransformer = class NumberToNumericalExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(numberNumericalExpressionAnalyzer, randomGenerator, options) { + super(randomGenerator, options); + this.numberNumericalExpressionAnalyzer = numberNumericalExpressionAnalyzer; + } + getVisitor(nodeTransformationStage) { + if (!this.options.numbersToExpressions) { + return null; + } + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (typeof literalNode.value !== 'number') { + return literalNode; + } + if (NodeGuards_1.NodeGuards.isPropertyNode(parentNode) && !parentNode.computed) { + return literalNode; + } + const numberNumericalExpressionData = this.numberNumericalExpressionAnalyzer.analyze(literalNode.value); + return this.convertNumericalExpressionDataToNode(numberNumericalExpressionData); + } + convertNumericalExpressionDataToNode(numberNumericalExpressionData, operator = '+') { + var _a; + const numberNumericalExpressionDataLength = numberNumericalExpressionData.length; + const leftParts = numberNumericalExpressionDataLength > 1 + ? numberNumericalExpressionData.slice(0, numberNumericalExpressionDataLength - 1) + : [numberNumericalExpressionData[0]]; + const rightParts = numberNumericalExpressionDataLength > 1 + ? numberNumericalExpressionData.slice(-1) + : []; + if (rightParts.length) { + return this.convertPartsToBinaryExpression(operator, leftParts, rightParts); + } + const firstLeftPartOrNumber = (_a = leftParts[0]) !== null && _a !== void 0 ? _a : null; + return Array.isArray(firstLeftPartOrNumber) + ? this.convertNumericalExpressionDataToNode(firstLeftPartOrNumber, '*') + : this.convertPartOrNumberToLiteralNode(firstLeftPartOrNumber); + } + convertPartsToBinaryExpression(operator, leftParts, rightParts) { + const rightPartOrNumber = rightParts[0]; + if (Array.isArray(rightPartOrNumber)) { + return NodeFactory_1.NodeFactory.binaryExpressionNode(operator, this.convertNumericalExpressionDataToNode(leftParts), this.convertNumericalExpressionDataToNode(rightPartOrNumber, '*')); + } + else { + return NodeFactory_1.NodeFactory.binaryExpressionNode(operator, this.convertNumericalExpressionDataToNode(leftParts), this.convertPartOrNumberToLiteralNode(rightPartOrNumber)); + } + } + convertPartOrNumberToLiteralNode(partOrNumber) { + const number = Array.isArray(partOrNumber) + ? partOrNumber[0] + : partOrNumber; + const isPositiveNumber = NumberUtils_1.NumberUtils.isPositive(number); + const literalNode = NodeFactory_1.NodeFactory.literalNode(Math.abs(number)); + return isPositiveNumber + ? literalNode + : NodeFactory_1.NodeFactory.unaryExpressionNode('-', literalNode); + } +}; +NumberToNumericalExpressionTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INumberNumericalExpressionAnalyzer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof INumberNumericalExpressionAnalyzer_1.INumberNumericalExpressionAnalyzer !== "undefined" && INumberNumericalExpressionAnalyzer_1.INumberNumericalExpressionAnalyzer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], NumberToNumericalExpressionTransformer); +exports.NumberToNumericalExpressionTransformer = NumberToNumericalExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ObjectExpressionKeysTransformer.ts": +/*!******************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ObjectExpressionKeysTransformer.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var ObjectExpressionKeysTransformer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionKeysTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TObjectExpressionExtractorFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TObjectExpressionExtractorFactory */ "./src/types/container/node-transformers/TObjectExpressionExtractorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const ObjectExpressionExtractor_1 = __webpack_require__(/*! ../../enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor */ "./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let ObjectExpressionKeysTransformer = ObjectExpressionKeysTransformer_1 = class ObjectExpressionKeysTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(objectExpressionExtractorFactory, randomGenerator, options) { + super(randomGenerator, options); + this.objectExpressionExtractorFactory = objectExpressionExtractorFactory; + } + static isProhibitedHostStatement(objectExpressionNode, hostStatement) { + return ObjectExpressionKeysTransformer_1.isReferencedIdentifierName(objectExpressionNode, hostStatement) + || ObjectExpressionKeysTransformer_1.isProhibitedSequenceExpression(objectExpressionNode, hostStatement); + } + static isReferencedIdentifierName(objectExpressionNode, hostNode) { + const identifierNamesSet = []; + let isReferencedIdentifierName = false; + let isCurrentNode = false; + estraverse.traverse(hostNode, { + enter: (node) => { + if (node === objectExpressionNode) { + isCurrentNode = true; + } + if (!NodeGuards_1.NodeGuards.isIdentifierNode(node)) { + return; + } + if (!isCurrentNode) { + identifierNamesSet.push(node.name); + return; + } + if (identifierNamesSet.includes(node.name)) { + isReferencedIdentifierName = true; + } + }, + leave: (node) => { + if (node === objectExpressionNode) { + isCurrentNode = false; + return estraverse.VisitorOption.Break; + } + } + }); + return isReferencedIdentifierName; + } + static isProhibitedSequenceExpression(objectExpressionNode, hostNode) { + return NodeGuards_1.NodeGuards.isExpressionStatementNode(hostNode) + && NodeGuards_1.NodeGuards.isSequenceExpressionNode(hostNode.expression) + && hostNode.expression.expressions.some((expressionNode) => NodeGuards_1.NodeGuards.isCallExpressionNode(expressionNode) + && NodeGuards_1.NodeGuards.isSuperNode(expressionNode.callee)); + } + getVisitor(nodeTransformationStage) { + if (!this.options.transformObjectKeys) { + return null; + } + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + leave: (node, parentNode) => { + if (parentNode + && NodeGuards_1.NodeGuards.isObjectExpressionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(objectExpressionNode, parentNode) { + if (!objectExpressionNode.properties.length) { + return objectExpressionNode; + } + const hostStatement = NodeStatementUtils_1.NodeStatementUtils.getRootStatementOfNode(objectExpressionNode); + if (ObjectExpressionKeysTransformer_1.isProhibitedHostStatement(objectExpressionNode, hostStatement)) { + return objectExpressionNode; + } + return this.applyObjectExpressionKeysExtractorsRecursive(ObjectExpressionKeysTransformer_1.objectExpressionExtractorNames, objectExpressionNode, hostStatement); + } + applyObjectExpressionKeysExtractorsRecursive(objectExpressionExtractorNames, objectExpressionNode, hostStatement) { + const newObjectExpressionExtractorNames = [...objectExpressionExtractorNames]; + const objectExpressionExtractor = newObjectExpressionExtractorNames.shift(); + if (!objectExpressionExtractor) { + return objectExpressionNode; + } + const { nodeToReplace, objectExpressionHostStatement: newObjectExpressionHostStatement, objectExpressionNode: newObjectExpressionNode } = this.objectExpressionExtractorFactory(objectExpressionExtractor) + .extract(objectExpressionNode, hostStatement); + this.applyObjectExpressionKeysExtractorsRecursive(newObjectExpressionExtractorNames, newObjectExpressionNode, newObjectExpressionHostStatement); + return nodeToReplace; + } +}; +ObjectExpressionKeysTransformer.objectExpressionExtractorNames = [ + ObjectExpressionExtractor_1.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor, + ObjectExpressionExtractor_1.ObjectExpressionExtractor.BasePropertiesExtractor +]; +ObjectExpressionKeysTransformer = ObjectExpressionKeysTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionExtractor)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TObjectExpressionExtractorFactory_1.TObjectExpressionExtractorFactory !== "undefined" && TObjectExpressionExtractorFactory_1.TObjectExpressionExtractorFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], ObjectExpressionKeysTransformer); +exports.ObjectExpressionKeysTransformer = ObjectExpressionKeysTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ObjectExpressionTransformer = class ObjectExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isObjectExpressionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(objectExpressionNode, parentNode) { + objectExpressionNode.properties + .forEach((property) => { + if (!NodeGuards_1.NodeGuards.isPropertyNode(property)) { + return; + } + if (!property.key) { + return; + } + if (property.computed) { + this.transformComputedProperty(property); + } + else { + this.transformBaseProperty(property); + } + }); + return objectExpressionNode; + } + transformComputedProperty(property) { + if (!NodeGuards_1.NodeGuards.isLiteralNode(property.key) || !(typeof property.key.value === 'string')) { + return; + } + property.key = NodeFactory_1.NodeFactory.literalNode(property.key.value); + } + transformBaseProperty(property) { + if (property.shorthand) { + property.shorthand = false; + } + if (!NodeGuards_1.NodeGuards.isIdentifierNode(property.key)) { + return; + } + property.key = NodeFactory_1.NodeFactory.literalNode(property.key.name); + } +}; +ObjectExpressionTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ObjectExpressionTransformer); +exports.ObjectExpressionTransformer = ObjectExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ObjectPatternPropertiesTransformer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ObjectPatternPropertiesTransformer.ts ***! + \*********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectPatternPropertiesTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ObjectPatternPropertiesTransformer = class ObjectPatternPropertiesTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isPropertyNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(propertyNode, parentNode) { + if (!NodeGuards_1.NodeGuards.isObjectPatternNode(parentNode) || !propertyNode.shorthand) { + return propertyNode; + } + if (!this.options.renameGlobals) { + const lexicalScope = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScope(propertyNode); + const shouldNotTransformGlobalPropertyNode = !!lexicalScope && NodeGuards_1.NodeGuards.isProgramNode(lexicalScope); + if (shouldNotTransformGlobalPropertyNode) { + return propertyNode; + } + } + propertyNode.shorthand = false; + propertyNode.value = NodeUtils_1.NodeUtils.clone(propertyNode.value); + NodeUtils_1.NodeUtils.parentizeNode(propertyNode.value, propertyNode); + return propertyNode; + } +}; +ObjectPatternPropertiesTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ObjectPatternPropertiesTransformer); +exports.ObjectPatternPropertiesTransformer = ObjectPatternPropertiesTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/SplitStringTransformer.ts": +/*!*********************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/SplitStringTransformer.ts ***! + \*********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var SplitStringTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SplitStringTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const stringz = __importStar(__webpack_require__(/*! stringz */ "stringz")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let SplitStringTransformer = SplitStringTransformer_1 = class SplitStringTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ObjectExpressionKeysTransformer, + NodeTransformer_1.NodeTransformer.TemplateLiteralTransformer + ]; + } + static chunkString(string, stringLength, chunkSize) { + const chunksCount = Math.ceil(stringLength / chunkSize); + const chunks = []; + let nextChunkStartIndex = 0; + for (let chunkIndex = 0; chunkIndex < chunksCount; ++chunkIndex, nextChunkStartIndex += chunkSize) { + chunks[chunkIndex] = stringz.substr(string, nextChunkStartIndex, chunkSize); + } + return chunks; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (!this.options.splitStrings) { + return; + } + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (NodeLiteralUtils_1.NodeLiteralUtils.isProhibitedLiteralNode(literalNode, parentNode)) { + return literalNode; + } + const firstPassChunksNode = this.transformLiteralNodeByChunkLength(literalNode, parentNode, SplitStringTransformer_1.firstPassChunkLength); + const secondPassChunksNode = estraverse.replace(firstPassChunksNode, { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformLiteralNodeByChunkLength(node, parentNode, this.options.splitStringsChunkLength); + } + } + }); + return secondPassChunksNode; + } + transformLiteralNodeByChunkLength(literalNode, parentNode, chunkLength) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode)) { + return literalNode; + } + const valueLength = stringz.length(literalNode.value); + if (chunkLength >= valueLength) { + return literalNode; + } + const stringChunks = SplitStringTransformer_1.chunkString(literalNode.value, valueLength, chunkLength); + const binaryExpressionNode = this.transformStringChunksToBinaryExpressionNode(stringChunks); + NodeUtils_1.NodeUtils.parentizeAst(binaryExpressionNode); + NodeUtils_1.NodeUtils.parentizeNode(binaryExpressionNode, parentNode); + return binaryExpressionNode; + } + transformStringChunksToBinaryExpressionNode(chunks) { + const firstChunk = chunks.shift(); + const secondChunk = chunks.shift(); + if (!firstChunk || !secondChunk) { + throw new Error('First and second chunks values should not be empty'); + } + const initialBinaryExpressionNode = NodeFactory_1.NodeFactory.binaryExpressionNode('+', NodeFactory_1.NodeFactory.literalNode(firstChunk), NodeFactory_1.NodeFactory.literalNode(secondChunk)); + return chunks.reduce((binaryExpressionNode, chunk) => { + const chunkLiteralNode = NodeFactory_1.NodeFactory.literalNode(chunk); + return NodeFactory_1.NodeFactory.binaryExpressionNode('+', binaryExpressionNode, chunkLiteralNode); + }, initialBinaryExpressionNode); + } +}; +SplitStringTransformer.firstPassChunkLength = 1000; +SplitStringTransformer = SplitStringTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], SplitStringTransformer); +exports.SplitStringTransformer = SplitStringTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var TemplateLiteralTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.TemplateLiteralTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let TemplateLiteralTransformer = TemplateLiteralTransformer_1 = class TemplateLiteralTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + static isLiteralNodeWithStringValue(node) { + return !!node && NodeGuards_1.NodeGuards.isLiteralNode(node) && typeof node.value === 'string'; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isTemplateLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(templateLiteralNode, parentNode) { + if (NodeGuards_1.NodeGuards.isTaggedTemplateExpressionNode(parentNode)) { + return templateLiteralNode; + } + return this.transformTemplateLiteralNode(templateLiteralNode, parentNode); + } + transformTemplateLiteralNode(templateLiteralNode, parentNode) { + const templateLiteralExpressions = templateLiteralNode.expressions; + let nodes = []; + templateLiteralNode.quasis.forEach((templateElement) => { + nodes.push(NodeFactory_1.NodeFactory.literalNode(templateElement.value.cooked)); + const expression = templateLiteralExpressions.shift(); + if (!expression) { + return; + } + nodes.push(expression); + }); + nodes = nodes.filter((node) => { + return !(NodeGuards_1.NodeGuards.isLiteralNode(node) && node.value === ''); + }); + if (!TemplateLiteralTransformer_1.isLiteralNodeWithStringValue(nodes[0]) && + !TemplateLiteralTransformer_1.isLiteralNodeWithStringValue(nodes[1])) { + nodes.unshift(NodeFactory_1.NodeFactory.literalNode('')); + } + let transformedNode; + if (nodes.length > 1) { + let root = NodeFactory_1.NodeFactory.binaryExpressionNode('+', nodes.shift(), nodes.shift()); + nodes.forEach((node) => { + root = NodeFactory_1.NodeFactory.binaryExpressionNode('+', root, node); + }); + transformedNode = root; + } + else { + transformedNode = nodes[0]; + } + NodeUtils_1.NodeUtils.parentizeAst(transformedNode); + NodeUtils_1.NodeUtils.parentizeNode(transformedNode, parentNode); + return transformedNode; + } +}; +TemplateLiteralTransformer = TemplateLiteralTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], TemplateLiteralTransformer); +exports.TemplateLiteralTransformer = TemplateLiteralTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var BasePropertiesExtractor_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BasePropertiesExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BasePropertiesExtractor = BasePropertiesExtractor_1 = class BasePropertiesExtractor { + static getPropertyNodeKeyName(propertyNode) { + const propertyKeyNode = propertyNode.key; + if (NodeGuards_1.NodeGuards.isLiteralNode(propertyKeyNode) + && (typeof propertyKeyNode.value === 'string' + || typeof propertyKeyNode.value === 'number')) { + return propertyKeyNode.value.toString(); + } + if (NodeGuards_1.NodeGuards.isIdentifierNode(propertyKeyNode)) { + return propertyKeyNode.name; + } + return null; + } + static isProhibitedPropertyNode(node) { + return node.kind !== 'init'; + } + static isProhibitedPattern(node) { + return !node + || NodeGuards_1.NodeGuards.isObjectPatternNode(node) + || NodeGuards_1.NodeGuards.isArrayPatternNode(node) + || NodeGuards_1.NodeGuards.isAssignmentPatternNode(node) + || NodeGuards_1.NodeGuards.isRestElementNode(node); + } + static shouldCreateLiteralNode(property) { + return !property.computed + || (property.computed && !!property.key && NodeGuards_1.NodeGuards.isLiteralNode(property.key)); + } + extract(objectExpressionNode, hostStatement) { + const hostNode = objectExpressionNode.parentNode; + if (hostNode + && NodeGuards_1.NodeGuards.isVariableDeclaratorNode(hostNode) + && NodeGuards_1.NodeGuards.isIdentifierNode(hostNode.id)) { + return this.transformObjectExpressionNode(objectExpressionNode, hostStatement, hostNode.id); + } + return { + nodeToReplace: objectExpressionNode, + objectExpressionHostStatement: hostStatement, + objectExpressionNode: objectExpressionNode + }; + } + transformObjectExpressionNode(objectExpressionNode, hostStatement, memberExpressionHostNode) { + const properties = objectExpressionNode.properties; + const [expressionStatements, removablePropertyIds] = this + .extractPropertiesToExpressionStatements(properties, hostStatement, memberExpressionHostNode); + const hostNodeWithStatements = NodeStatementUtils_1.NodeStatementUtils.getScopeOfNode(hostStatement); + this.filterExtractedObjectExpressionProperties(objectExpressionNode, removablePropertyIds); + NodeAppender_1.NodeAppender.insertAfter(hostNodeWithStatements, expressionStatements, hostStatement); + NodeUtils_1.NodeUtils.parentizeAst(hostNodeWithStatements); + return { + nodeToReplace: objectExpressionNode, + objectExpressionHostStatement: hostStatement, + objectExpressionNode: objectExpressionNode + }; + } + extractPropertiesToExpressionStatements(properties, hostStatement, memberExpressionHostNode) { + const propertiesLength = properties.length; + const expressionStatements = []; + const removablePropertyIds = []; + for (let i = propertiesLength - 1; i >= 0; i--) { + const property = properties[i]; + if (NodeGuards_1.NodeGuards.isSpreadElementNode(property)) { + break; + } + if (BasePropertiesExtractor_1.isProhibitedPropertyNode(property)) { + continue; + } + const propertyValue = property.value; + if (BasePropertiesExtractor_1.isProhibitedPattern(propertyValue)) { + continue; + } + const propertyKeyName = BasePropertiesExtractor_1.getPropertyNodeKeyName(property); + if (!propertyKeyName) { + continue; + } + const shouldCreateLiteralNode = BasePropertiesExtractor_1.shouldCreateLiteralNode(property); + const memberExpressionProperty = shouldCreateLiteralNode + ? NodeFactory_1.NodeFactory.literalNode(propertyKeyName) + : NodeFactory_1.NodeFactory.identifierNode(propertyKeyName); + const memberExpressionNode = NodeFactory_1.NodeFactory + .memberExpressionNode(memberExpressionHostNode, memberExpressionProperty, true); + const expressionStatementNode = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.assignmentExpressionNode('=', memberExpressionNode, propertyValue)); + if (NodeGuards_1.NodeGuards.isObjectExpressionNode(property.value)) { + this.transformObjectExpressionNode(property.value, hostStatement, memberExpressionNode); + } + expressionStatements.unshift(expressionStatementNode); + removablePropertyIds.unshift(i); + } + return [expressionStatements, removablePropertyIds]; + } + filterExtractedObjectExpressionProperties(objectExpressionNode, removablePropertyIds) { + objectExpressionNode.properties = objectExpressionNode.properties + .filter((property, index) => !removablePropertyIds.includes(index)); + } +}; +BasePropertiesExtractor = BasePropertiesExtractor_1 = __decorate([ + inversify_1.injectable() +], BasePropertiesExtractor); +exports.BasePropertiesExtractor = BasePropertiesExtractor; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor.ts": +/*!**************************************************************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor.ts ***! + \**************************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionToVariableDeclarationExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TObjectExpressionKeysTransformerCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory */ "./src/types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory.ts"); +const ObjectExpressionKeysTransformerCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode */ "./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let ObjectExpressionToVariableDeclarationExtractor = class ObjectExpressionToVariableDeclarationExtractor { + constructor(objectExpressionKeysTransformerCustomNodeFactory) { + this.objectExpressionKeysTransformerCustomNodeFactory = objectExpressionKeysTransformerCustomNodeFactory; + } + extract(objectExpressionNode, hostStatement) { + return this.transformObjectExpressionToVariableDeclaration(objectExpressionNode, hostStatement); + } + transformObjectExpressionToVariableDeclaration(objectExpressionNode, hostStatement) { + var _a; + const hostNodeWithStatements = NodeStatementUtils_1.NodeStatementUtils.getScopeOfNode(hostStatement); + const lexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithLexicalScope(hostNodeWithStatements) + ? hostNodeWithStatements + : (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScope(hostNodeWithStatements)) !== null && _a !== void 0 ? _a : null; + if (!lexicalScopeNode) { + throw new Error('Cannot find lexical scope node for the host statement node'); + } + const properties = objectExpressionNode.properties; + const newObjectExpressionHostStatement = this.getObjectExpressionHostNode(lexicalScopeNode, properties); + const statementsToInsert = [newObjectExpressionHostStatement]; + NodeAppender_1.NodeAppender.insertBefore(hostNodeWithStatements, statementsToInsert, hostStatement); + NodeUtils_1.NodeUtils.parentizeAst(newObjectExpressionHostStatement); + NodeUtils_1.NodeUtils.parentizeNode(newObjectExpressionHostStatement, hostNodeWithStatements); + const newObjectExpressionIdentifier = this.getObjectExpressionIdentifierNode(newObjectExpressionHostStatement); + const newObjectExpressionNode = this.getObjectExpressionNode(newObjectExpressionHostStatement); + return { + nodeToReplace: newObjectExpressionIdentifier, + objectExpressionHostStatement: newObjectExpressionHostStatement, + objectExpressionNode: newObjectExpressionNode + }; + } + getObjectExpressionHostNode(lexicalScopeNode, properties) { + const variableDeclarationHostNodeCustomNode = this.objectExpressionKeysTransformerCustomNodeFactory(ObjectExpressionKeysTransformerCustomNode_1.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode); + variableDeclarationHostNodeCustomNode.initialize(lexicalScopeNode, properties); + const statementNode = variableDeclarationHostNodeCustomNode.getNode()[0]; + if (!statementNode + || !NodeGuards_1.NodeGuards.isVariableDeclarationNode(statementNode)) { + throw new Error('`objectExpressionHostCustomNode.getNode()[0]` should returns array with `VariableDeclaration` node'); + } + return statementNode; + } + getObjectExpressionIdentifierNode(objectExpressionHostNode) { + const newObjectExpressionIdentifierNode = objectExpressionHostNode.declarations[0].id; + if (!NodeGuards_1.NodeGuards.isIdentifierNode(newObjectExpressionIdentifierNode)) { + throw new Error('`objectExpressionHostNode` should contain `VariableDeclarator` node with `Identifier` id property'); + } + return newObjectExpressionIdentifierNode; + } + getObjectExpressionNode(objectExpressionHostNode) { + var _a; + const newObjectExpressionNode = (_a = objectExpressionHostNode.declarations[0].init) !== null && _a !== void 0 ? _a : null; + if (!newObjectExpressionNode || !NodeGuards_1.NodeGuards.isObjectExpressionNode(newObjectExpressionNode)) { + throw new Error('`objectExpressionHostNode` should contain `VariableDeclarator` node with `ObjectExpression` init property'); + } + return newObjectExpressionNode; + } +}; +ObjectExpressionToVariableDeclarationExtractor = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode)), + __metadata("design:paramtypes", [typeof (_a = typeof TObjectExpressionKeysTransformerCustomNodeFactory_1.TObjectExpressionKeysTransformerCustomNodeFactory !== "undefined" && TObjectExpressionKeysTransformerCustomNodeFactory_1.TObjectExpressionKeysTransformerCustomNodeFactory) === "function" ? _a : Object]) +], ObjectExpressionToVariableDeclarationExtractor); +exports.ObjectExpressionToVariableDeclarationExtractor = ObjectExpressionToVariableDeclarationExtractor; + + +/***/ }), + +/***/ "./src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var DeadCodeInjectionTransformer_1, _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TDeadNodeInjectionCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory */ "./src/types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const INodeTransformersRunner_1 = __webpack_require__(/*! ../../interfaces/node-transformers/INodeTransformersRunner */ "./src/interfaces/node-transformers/INodeTransformersRunner.ts"); +const DeadCodeInjectionCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/DeadCodeInjectionCustomNode */ "./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeType_1 = __webpack_require__(/*! ../../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DeadCodeInjectionTransformer = DeadCodeInjectionTransformer_1 = class DeadCodeInjectionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(deadCodeInjectionCustomNodeFactory, transformersRunner, randomGenerator, options) { + super(randomGenerator, options); + this.deadCodeInjectionRootAstHostNodeSet = new Set(); + this.collectedBlockStatements = []; + this.collectedBlockStatementsTotalLength = 0; + this.deadCodeInjectionCustomNodeFactory = deadCodeInjectionCustomNodeFactory; + this.transformersRunner = transformersRunner; + } + static isProhibitedNodeInsideCollectedBlockStatement(targetNode) { + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(targetNode) + || NodeGuards_1.NodeGuards.isBreakStatementNode(targetNode) + || NodeGuards_1.NodeGuards.isContinueStatementNode(targetNode) + || NodeGuards_1.NodeGuards.isAwaitExpressionNode(targetNode) + || NodeGuards_1.NodeGuards.isYieldExpressionNode(targetNode) + || NodeGuards_1.NodeGuards.isSuperNode(targetNode) + || (NodeGuards_1.NodeGuards.isForOfStatementNode(targetNode) && targetNode.await); + } + static isScopeHoistingFunctionDeclaration(targetNode) { + if (!NodeGuards_1.NodeGuards.isFunctionDeclarationNode(targetNode)) { + return false; + } + const scopeNode = NodeStatementUtils_1.NodeStatementUtils.getScopeOfNode(targetNode); + const scopeBody = !NodeGuards_1.NodeGuards.isSwitchCaseNode(scopeNode) + ? scopeNode.body + : scopeNode.consequent; + const indexInScope = scopeBody.indexOf(targetNode); + if (indexInScope === 0) { + return false; + } + const slicedBody = scopeBody.slice(0, indexInScope); + const hostBlockStatementNode = NodeFactory_1.NodeFactory.blockStatementNode(slicedBody); + const functionDeclarationName = targetNode.id.name; + let isScopeHoistedFunctionDeclaration = false; + estraverse.traverse(hostBlockStatementNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isIdentifierNode(node) && node.name === functionDeclarationName) { + isScopeHoistedFunctionDeclaration = true; + return estraverse.VisitorOption.Break; + } + } + }); + return isScopeHoistedFunctionDeclaration; + } + static isValidCollectedBlockStatementNode(blockStatementNode) { + if (!blockStatementNode.body.length) { + return false; + } + let nestedBlockStatementsCount = 0; + let isValidBlockStatementNode = true; + estraverse.traverse(blockStatementNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + nestedBlockStatementsCount++; + } + if (nestedBlockStatementsCount > DeadCodeInjectionTransformer_1.maxNestedBlockStatementsCount + || DeadCodeInjectionTransformer_1.isProhibitedNodeInsideCollectedBlockStatement(node) + || DeadCodeInjectionTransformer_1.isScopeHoistingFunctionDeclaration(node)) { + isValidBlockStatementNode = false; + return estraverse.VisitorOption.Break; + } + } + }); + return isValidBlockStatementNode; + } + static isValidWrappedBlockStatementNode(blockStatementNode) { + if (!blockStatementNode.body.length) { + return false; + } + let isValidBlockStatementNode = true; + estraverse.traverse(blockStatementNode, { + enter: (node) => { + if (DeadCodeInjectionTransformer_1.isScopeHoistingFunctionDeclaration(node)) { + isValidBlockStatementNode = false; + return estraverse.VisitorOption.Break; + } + } + }); + if (!isValidBlockStatementNode) { + return false; + } + const parentNodeWithStatements = NodeStatementUtils_1.NodeStatementUtils + .getParentNodeWithStatements(blockStatementNode); + return parentNodeWithStatements.type !== NodeType_1.NodeType.Program; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.DeadCodeInjection: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.prepareNode(node, parentNode); + return node; + } + }, + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + if (!this.deadCodeInjectionRootAstHostNodeSet.size) { + return null; + } + return { + enter: (node, parentNode) => { + if (parentNode && this.isDeadCodeInjectionRootAstHostNode(node)) { + return this.restoreNode(node, parentNode); + } + } + }; + default: + return null; + } + } + prepareNode(programNode, parentNode) { + estraverse.traverse(programNode, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return; + } + const clonedBlockStatementNode = NodeUtils_1.NodeUtils.clone(node); + if (!DeadCodeInjectionTransformer_1.isValidCollectedBlockStatementNode(clonedBlockStatementNode)) { + return; + } + const transformedBlockStatementNode = this.makeClonedBlockStatementNodeUnique(clonedBlockStatementNode); + this.collectedBlockStatements.push(transformedBlockStatementNode); + } + }); + this.collectedBlockStatementsTotalLength = this.collectedBlockStatements.length; + } + transformNode(blockStatementNode, parentNode) { + const canBreakTraverse = !this.collectedBlockStatements.length + || this.collectedBlockStatementsTotalLength < DeadCodeInjectionTransformer_1.minCollectedBlockStatementsCount; + if (canBreakTraverse) { + return estraverse.VisitorOption.Break; + } + if (this.randomGenerator.getMathRandom() > this.options.deadCodeInjectionThreshold + || !DeadCodeInjectionTransformer_1.isValidWrappedBlockStatementNode(blockStatementNode)) { + return blockStatementNode; + } + const minInteger = 0; + const maxInteger = this.collectedBlockStatements.length - 1; + const randomIndex = this.randomGenerator.getRandomInteger(minInteger, maxInteger); + const randomBlockStatementNode = this.collectedBlockStatements.splice(randomIndex, 1)[0]; + const isDuplicateBlockStatementNodes = randomBlockStatementNode === blockStatementNode; + if (isDuplicateBlockStatementNodes) { + return blockStatementNode; + } + return this.replaceBlockStatementNode(blockStatementNode, randomBlockStatementNode, parentNode); + } + restoreNode(deadCodeInjectionRootAstHostNode, parentNode) { + const hostNodeFirstStatement = deadCodeInjectionRootAstHostNode.body[0]; + if (!NodeGuards_1.NodeGuards.isFunctionDeclarationNode(hostNodeFirstStatement)) { + throw new Error('Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node'); + } + return hostNodeFirstStatement.body; + } + isDeadCodeInjectionRootAstHostNode(node) { + return NodeGuards_1.NodeGuards.isBlockStatementNode(node) && this.deadCodeInjectionRootAstHostNodeSet.has(node); + } + makeClonedBlockStatementNodeUnique(clonedBlockStatementNode) { + const hostNode = NodeFactory_1.NodeFactory.programNode([ + NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([], clonedBlockStatementNode)) + ]); + NodeUtils_1.NodeUtils.parentizeAst(hostNode); + NodeUtils_1.NodeUtils.parentizeNode(hostNode, hostNode); + this.transformersRunner.transform(hostNode, DeadCodeInjectionTransformer_1.transformersToRenameBlockScopeIdentifiers, NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers); + return clonedBlockStatementNode; + } + replaceBlockStatementNode(blockStatementNode, randomBlockStatementNode, parentNode) { + const deadCodeInjectionRootAstHostNode = NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.functionDeclarationNode(DeadCodeInjectionTransformer_1.deadCodeInjectionRootAstHostNodeName, [], randomBlockStatementNode) + ]); + this.deadCodeInjectionRootAstHostNodeSet.add(deadCodeInjectionRootAstHostNode); + const blockStatementDeadCodeInjectionCustomNode = this.deadCodeInjectionCustomNodeFactory(DeadCodeInjectionCustomNode_1.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode); + blockStatementDeadCodeInjectionCustomNode.initialize(blockStatementNode, deadCodeInjectionRootAstHostNode); + const newBlockStatementNode = blockStatementDeadCodeInjectionCustomNode.getNode()[0]; + NodeUtils_1.NodeUtils.parentizeNode(newBlockStatementNode, parentNode); + return newBlockStatementNode; + } +}; +DeadCodeInjectionTransformer.deadCodeInjectionRootAstHostNodeName = 'deadCodeInjectionRootAstHostNode'; +DeadCodeInjectionTransformer.maxNestedBlockStatementsCount = 4; +DeadCodeInjectionTransformer.minCollectedBlockStatementsCount = 5; +DeadCodeInjectionTransformer.transformersToRenameBlockScopeIdentifiers = [ + NodeTransformer_1.NodeTransformer.LabeledStatementTransformer, + NodeTransformer_1.NodeTransformer.ScopeIdentifiersTransformer, + NodeTransformer_1.NodeTransformer.ScopeThroughIdentifiersTransformer +]; +DeadCodeInjectionTransformer = DeadCodeInjectionTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformersRunner)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TDeadNodeInjectionCustomNodeFactory_1.TDeadNodeInjectionCustomNodeFactory !== "undefined" && TDeadNodeInjectionCustomNodeFactory_1.TDeadNodeInjectionCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof INodeTransformersRunner_1.INodeTransformersRunner !== "undefined" && INodeTransformersRunner_1.INodeTransformersRunner) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], DeadCodeInjectionTransformer); +exports.DeadCodeInjectionTransformer = DeadCodeInjectionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/finalizing-transformers/EscapeSequenceTransformer.ts": +/*!************************************************************************************!*\ + !*** ./src/node-transformers/finalizing-transformers/EscapeSequenceTransformer.ts ***! + \************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.EscapeSequenceTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IEscapeSequenceEncoder_1 = __webpack_require__(/*! ../../interfaces/utils/IEscapeSequenceEncoder */ "./src/interfaces/utils/IEscapeSequenceEncoder.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let EscapeSequenceTransformer = class EscapeSequenceTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options, escapeSequenceEncoder) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.CustomCodeHelpersTransformer + ]; + this.escapeSequenceEncoder = escapeSequenceEncoder; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + return { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode)) { + return literalNode; + } + const encodedValue = this.escapeSequenceEncoder.encode(literalNode.value, this.options.unicodeEscapeSequence); + const newLiteralNode = NodeFactory_1.NodeFactory.literalNode(encodedValue); + NodeUtils_1.NodeUtils.parentizeNode(newLiteralNode, parentNode); + return newLiteralNode; + } +}; +EscapeSequenceTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IEscapeSequenceEncoder_1.IEscapeSequenceEncoder !== "undefined" && IEscapeSequenceEncoder_1.IEscapeSequenceEncoder) === "function" ? _c : Object]) +], EscapeSequenceTransformer); +exports.EscapeSequenceTransformer = EscapeSequenceTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/initializing-transformers/CommentsTransformer.ts": +/*!********************************************************************************!*\ + !*** ./src/node-transformers/initializing-transformers/CommentsTransformer.ts ***! + \********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CommentsTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CommentsTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const ConditionalCommentObfuscatingGuard_1 = __webpack_require__(/*! ../preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CommentsTransformer = CommentsTransformer_1 = class CommentsTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Initializing: + return { + leave: (node) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + return { + leave: (node) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.filterCommentsOnFinalizingTraverse(node); + } + } + }; + default: + return null; + } + } + transformNode(rootNode) { + rootNode = this.filterCommentsOnPrimaryTraverse(rootNode); + if (!rootNode.comments || !rootNode.comments.length) { + return rootNode; + } + const comments = rootNode.comments.reverse(); + if (comments.length === 0) { + return rootNode; + } + if (!rootNode.body.length) { + rootNode.leadingComments = comments; + return rootNode; + } + let isFirstNode = true; + estraverse.traverse(rootNode, { + enter: (node) => { + if (node === rootNode) { + return; + } + const commentIdx = comments.findIndex((comment) => comment.range && node.range && comment.range[0] < node.range[0]); + if (commentIdx >= 0) { + (isFirstNode ? rootNode : node).leadingComments = + comments.splice(commentIdx, comments.length - commentIdx).reverse(); + } + isFirstNode = false; + } + }); + if (comments.length > 0) { + rootNode.trailingComments = comments.reverse(); + } + return rootNode; + } + filterCommentsOnPrimaryTraverse(rootNode) { + var _a; + rootNode.comments = (_a = rootNode.comments) === null || _a === void 0 ? void 0 : _a.filter((comment) => this.filterComment(comment, true)); + return rootNode; + } + filterCommentsOnFinalizingTraverse(rootNode) { + estraverse.replace(rootNode, { + enter: (node) => { + var _a, _b; + if (node.leadingComments) { + node.leadingComments = (_a = node.leadingComments) === null || _a === void 0 ? void 0 : _a.filter((comment) => this.filterComment(comment, false)); + } + if (node.trailingComments) { + node.trailingComments = (_b = node.trailingComments) === null || _b === void 0 ? void 0 : _b.filter((comment) => this.filterComment(comment, false)); + } + return node; + } + }); + return rootNode; + } + filterComment(comment, keepConditionalComment) { + if (keepConditionalComment && ConditionalCommentObfuscatingGuard_1.ConditionalCommentObfuscatingGuard.isConditionalComment(comment)) { + return true; + } + return CommentsTransformer_1.preservedWords + .some((preservedWord) => comment.value.includes(preservedWord)); + } +}; +CommentsTransformer.preservedWords = [ + '@license', + '@preserve' +]; +CommentsTransformer = CommentsTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], CommentsTransformer); +exports.CommentsTransformer = CommentsTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/CustomCodeHelpersTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/CustomCodeHelpersTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelpersTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperGroupStorage_1 = __webpack_require__(/*! ../../types/storages/TCustomCodeHelperGroupStorage */ "./src/types/storages/TCustomCodeHelperGroupStorage.ts"); +const IObfuscationEventEmitter_1 = __webpack_require__(/*! ../../interfaces/event-emitters/IObfuscationEventEmitter */ "./src/interfaces/event-emitters/IObfuscationEventEmitter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ICallsGraphAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer */ "./src/interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer.ts"); +const IPrevailingKindOfVariablesAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer */ "./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CustomCodeHelpersTransformer = class CustomCodeHelpersTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(callsGraphAnalyzer, prevailingKindOfVariablesAnalyzer, obfuscationEventEmitter, customCodeHelperGroupStorage, randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + this.callsGraphData = []; + this.callsGraphAnalyzer = callsGraphAnalyzer; + this.prevailingKindOfVariablesAnalyzer = prevailingKindOfVariablesAnalyzer; + this.obfuscationEventEmitter = obfuscationEventEmitter; + this.customCodeHelperGroupStorage = customCodeHelperGroupStorage; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + leave: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.prepareNode(node, parentNode); + this.appendCustomNodesBeforeObfuscation(node, parentNode); + return this.transformNode(node, parentNode); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + return { + leave: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.appendCustomNodesAfterObfuscation(node, parentNode); + } + } + }; + default: + return null; + } + } + prepareNode(node, parentNode) { + this.callsGraphData = this.callsGraphAnalyzer.analyze(node); + this.prevailingKindOfVariablesAnalyzer.analyze(node); + } + transformNode(node, parentNode) { + return node; + } + appendCustomNodesBeforeObfuscation(node, parentNode) { + this.customCodeHelperGroupStorage + .getStorage() + .forEach((customCodeHelperGroup) => { + customCodeHelperGroup.initialize(); + this.obfuscationEventEmitter.once(customCodeHelperGroup.getAppendEvent(), customCodeHelperGroup.appendNodes.bind(customCodeHelperGroup)); + }); + this.obfuscationEventEmitter.emit(ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation, node, this.callsGraphData); + } + appendCustomNodesAfterObfuscation(node, parentNode) { + this.obfuscationEventEmitter.emit(ObfuscationEvent_1.ObfuscationEvent.AfterObfuscation, node, this.callsGraphData); + } +}; +CustomCodeHelpersTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICallsGraphAnalyzer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscationEventEmitter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.TCustomNodeGroupStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof ICallsGraphAnalyzer_1.ICallsGraphAnalyzer !== "undefined" && ICallsGraphAnalyzer_1.ICallsGraphAnalyzer) === "function" ? _a : Object, typeof (_b = typeof IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer !== "undefined" && IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer) === "function" ? _b : Object, typeof (_c = typeof IObfuscationEventEmitter_1.IObfuscationEventEmitter !== "undefined" && IObfuscationEventEmitter_1.IObfuscationEventEmitter) === "function" ? _c : Object, typeof (_d = typeof TCustomCodeHelperGroupStorage_1.TCustomCodeHelperGroupStorage !== "undefined" && TCustomCodeHelperGroupStorage_1.TCustomCodeHelperGroupStorage) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], CustomCodeHelpersTransformer); +exports.CustomCodeHelpersTransformer = CustomCodeHelpersTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/EvalCallExpressionTransformer.ts": +/*!***************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/EvalCallExpressionTransformer.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var EvalCallExpressionTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.EvalCallExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const StringUtils_1 = __webpack_require__(/*! ../../utils/StringUtils */ "./src/utils/StringUtils.ts"); +let EvalCallExpressionTransformer = EvalCallExpressionTransformer_1 = class EvalCallExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.EscapeSequenceTransformer, + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + this.evalRootAstHostNodeSet = new Set(); + } + static extractEvalStringFromCallExpressionArgument(node) { + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return EvalCallExpressionTransformer_1 + .extractEvalStringFromLiteralNode(node); + } + if (NodeGuards_1.NodeGuards.isTemplateLiteralNode(node)) { + return EvalCallExpressionTransformer_1 + .extractEvalStringFromTemplateLiteralNode(node); + } + return null; + } + static extractEvalStringFromLiteralNode(node) { + return typeof node.value === 'string' ? node.value : null; + } + static extractEvalStringFromTemplateLiteralNode(node) { + const quasis = node.quasis; + const allowedQuasisLength = 1; + if (quasis.length !== allowedQuasisLength || node.expressions.length) { + return null; + } + return quasis[0].value.cooked; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + if (parentNode + && NodeGuards_1.NodeGuards.isCallExpressionNode(node) + && NodeGuards_1.NodeGuards.isIdentifierNode(node.callee) + && node.callee.name === 'eval') { + return this.transformNode(node, parentNode); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + if (!this.evalRootAstHostNodeSet.size) { + return null; + } + return { + leave: (node, parentNode) => { + if (parentNode && this.isEvalRootAstHostNode(node)) { + return this.restoreNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(callExpressionNode, parentNode) { + const callExpressionFirstArgument = callExpressionNode.arguments[0]; + if (!callExpressionFirstArgument) { + return callExpressionNode; + } + const evalString = EvalCallExpressionTransformer_1 + .extractEvalStringFromCallExpressionArgument(callExpressionFirstArgument); + if (!evalString) { + return callExpressionNode; + } + let ast; + try { + ast = NodeUtils_1.NodeUtils.convertCodeToStructure(evalString); + } + catch (_a) { + return callExpressionNode; + } + const evalRootAstHostNode = NodeFactory_1.NodeFactory + .functionExpressionNode([], NodeFactory_1.NodeFactory.blockStatementNode(ast)); + NodeUtils_1.NodeUtils.parentizeAst(evalRootAstHostNode); + NodeUtils_1.NodeUtils.parentizeNode(evalRootAstHostNode, parentNode); + this.evalRootAstHostNodeSet.add(evalRootAstHostNode); + return evalRootAstHostNode; + } + restoreNode(evalRootAstHostNode, parentNode) { + const targetAst = evalRootAstHostNode.body.body; + const obfuscatedCode = NodeUtils_1.NodeUtils.convertStructureToCode(targetAst); + return NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.identifierNode('eval'), [ + NodeFactory_1.NodeFactory.literalNode(StringUtils_1.StringUtils.escapeJsString(obfuscatedCode)) + ]); + } + isEvalRootAstHostNode(node) { + return NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) && this.evalRootAstHostNodeSet.has(node); + } +}; +EvalCallExpressionTransformer = EvalCallExpressionTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], EvalCallExpressionTransformer); +exports.EvalCallExpressionTransformer = EvalCallExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/MetadataTransformer.ts": +/*!*****************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/MetadataTransformer.ts ***! + \*****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MetadataTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let MetadataTransformer = class MetadataTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + return this.transformNode(node, parentNode); + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + NodeMetadata_1.NodeMetadata.set(node, { ignoredNode: false }); + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + NodeMetadata_1.NodeMetadata.set(node, { replacedLiteral: false }); + } + return node; + } +}; +MetadataTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MetadataTransformer); +exports.MetadataTransformer = MetadataTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var ObfuscatingGuardsTransformer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatingGuardsTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TObfuscatingGuardFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TObfuscatingGuardFactory */ "./src/types/container/node-transformers/TObfuscatingGuardFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const ObfuscatingGuard_1 = __webpack_require__(/*! ../../enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard */ "./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let ObfuscatingGuardsTransformer = ObfuscatingGuardsTransformer_1 = class ObfuscatingGuardsTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(obfuscatingGuardFactory, randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + this.obfuscatingGuards = ObfuscatingGuardsTransformer_1.obfuscatingGuardsList.map(obfuscatingGuardFactory); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + return this.transformNode(node, parentNode); + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + const obfuscatingGuardResults = this.obfuscatingGuards + .map((obfuscatingGuard) => obfuscatingGuard.check(node)); + this.setNodeMetadata(node, obfuscatingGuardResults); + return node; + } + setNodeMetadata(node, obfuscatingGuardResults) { + const isTransformNode = obfuscatingGuardResults + .every((obfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform); + let isForceTransformNode = false; + let isIgnoredNode = false; + if (!isTransformNode) { + isForceTransformNode = obfuscatingGuardResults + .some((obfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult_1.ObfuscatingGuardResult.ForceTransform); + isIgnoredNode = !isForceTransformNode && obfuscatingGuardResults + .some((obfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore); + } + NodeMetadata_1.NodeMetadata.set(node, { + forceTransformNode: isForceTransformNode && !NodeGuards_1.NodeGuards.isProgramNode(node), + ignoredNode: isIgnoredNode && !NodeGuards_1.NodeGuards.isProgramNode(node) + }); + } +}; +ObfuscatingGuardsTransformer.obfuscatingGuardsList = [ + ObfuscatingGuard_1.ObfuscatingGuard.BlackListObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.ConditionalCommentObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.ForceTransformStringObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.ReservedStringObfuscatingGuard +]; +ObfuscatingGuardsTransformer = ObfuscatingGuardsTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeGuard)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TObfuscatingGuardFactory_1.TObfuscatingGuardFactory !== "undefined" && TObfuscatingGuardFactory_1.TObfuscatingGuardFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], ObfuscatingGuardsTransformer); +exports.ObfuscatingGuardsTransformer = ObfuscatingGuardsTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/ParentificationTransformer.ts": +/*!************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/ParentificationTransformer.ts ***! + \************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ParentificationTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ParentificationTransformer = class ParentificationTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + return this.transformNode(node, parentNode); + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + return NodeUtils_1.NodeUtils.parentizeNode(node, parentNode); + } +}; +ParentificationTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ParentificationTransformer); +exports.ParentificationTransformer = ParentificationTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VariablePreserveTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../interfaces/node/IScopeIdentifiersTraverser */ "./src/interfaces/node/IScopeIdentifiersTraverser.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let VariablePreserveTransformer = class VariablePreserveTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options, scopeIdentifiersTraverser) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer + ]; + this.identifierReplacer = identifierReplacer; + this.scopeIdentifiersTraverser = scopeIdentifiersTraverser; + this.preserveScopeVariableIdentifiers = this.preserveScopeVariableIdentifiers.bind(this); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + case NodeTransformationStage_1.NodeTransformationStage.Converting: + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(programNode, parentNode) { + this.scopeIdentifiersTraverser.traverseScopeIdentifiers(programNode, parentNode, this.preserveScopeVariableIdentifiers); + return programNode; + } + preserveScopeVariableIdentifiers(data) { + const { isGlobalDeclaration, isBubblingDeclaration, variable, variableScope } = data; + for (const identifier of variable.identifiers) { + if (isGlobalDeclaration || isBubblingDeclaration) { + this.preserveIdentifierNameForRootLexicalScope(identifier); + } + else { + this.preserveIdentifierNameForLexicalScope(identifier, variableScope); + } + } + } + preserveIdentifierNameForRootLexicalScope(identifierNode) { + this.identifierReplacer.preserveName(identifierNode); + } + preserveIdentifierNameForLexicalScope(identifierNode, variableScope) { + const lexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithLexicalScope(variableScope.block) + ? variableScope.block + : null; + if (!lexicalScopeNode) { + return; + } + this.identifierReplacer.preserveNameForLexicalScope(identifierNode, lexicalScopeNode); + } +}; +VariablePreserveTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object, typeof (_d = typeof IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser !== "undefined" && IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser) === "function" ? _d : Object]) +], VariablePreserveTransformer); +exports.VariablePreserveTransformer = VariablePreserveTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts": +/*!******************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts ***! + \******************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var BlackListObfuscatingGuard_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlackListObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let BlackListObfuscatingGuard = BlackListObfuscatingGuard_1 = class BlackListObfuscatingGuard { + constructor() { + this.blackListGuardsLength = BlackListObfuscatingGuard_1.blackListGuards.length; + } + check(node) { + for (let i = 0; i < this.blackListGuardsLength; i++) { + if (BlackListObfuscatingGuard_1.blackListGuards[i](node)) { + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } +}; +BlackListObfuscatingGuard.blackListGuards = [ + NodeGuards_1.NodeGuards.isUseStrictOperator +]; +BlackListObfuscatingGuard = BlackListObfuscatingGuard_1 = __decorate([ + inversify_1.injectable(), + __metadata("design:paramtypes", []) +], BlackListObfuscatingGuard); +exports.BlackListObfuscatingGuard = BlackListObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var ConditionalCommentObfuscatingGuard_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConditionalCommentObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ConditionalCommentObfuscatingGuard = ConditionalCommentObfuscatingGuard_1 = class ConditionalCommentObfuscatingGuard { + constructor() { + this.obfuscationAllowed = true; + } + static isConditionalComment(comment) { + return ConditionalCommentObfuscatingGuard_1.obfuscationEnableCommentRegExp.test(comment.value) || + ConditionalCommentObfuscatingGuard_1.obfuscationDisableCommentRegExp.test(comment.value); + } + check(node) { + if (NodeGuards_1.NodeGuards.isNodeWithComments(node)) { + const leadingComments = node.leadingComments; + if (leadingComments) { + this.obfuscationAllowed = this.checkComments(leadingComments); + } + } + return this.obfuscationAllowed + ? ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform + : ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + checkComments(comments) { + const commentsLength = comments.length; + let obfuscationAllowed = this.obfuscationAllowed; + for (let i = 0; i < commentsLength; i++) { + const comment = comments[i]; + if (ConditionalCommentObfuscatingGuard_1.obfuscationEnableCommentRegExp.test(comment.value)) { + obfuscationAllowed = true; + continue; + } + if (ConditionalCommentObfuscatingGuard_1.obfuscationDisableCommentRegExp.test(comment.value)) { + obfuscationAllowed = false; + } + } + return obfuscationAllowed; + } +}; +ConditionalCommentObfuscatingGuard.obfuscationEnableCommentRegExp = new RegExp('javascript-obfuscator *: *enable'); +ConditionalCommentObfuscatingGuard.obfuscationDisableCommentRegExp = new RegExp('javascript-obfuscator *: *disable'); +ConditionalCommentObfuscatingGuard = ConditionalCommentObfuscatingGuard_1 = __decorate([ + inversify_1.injectable() +], ConditionalCommentObfuscatingGuard); +exports.ConditionalCommentObfuscatingGuard = ConditionalCommentObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts": +/*!*****************************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts ***! + \*****************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ForceTransformStringObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ForceTransformStringObfuscatingGuard = class ForceTransformStringObfuscatingGuard { + constructor(options) { + this.options = options; + } + check(node) { + if (this.options.forceTransformStrings.length + && NodeGuards_1.NodeGuards.isLiteralNode(node) + && typeof node.value === 'string') { + return !this.isForceTransformString(node.value) + ? ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform + : ObfuscatingGuardResult_1.ObfuscatingGuardResult.ForceTransform; + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } + isForceTransformString(value) { + return this.options.forceTransformStrings + .some((forceTransformString) => { + return new RegExp(forceTransformString, 'g').exec(value) !== null; + }); + } +}; +ForceTransformStringObfuscatingGuard = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], ForceTransformStringObfuscatingGuard); +exports.ForceTransformStringObfuscatingGuard = ForceTransformStringObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard.ts": +/*!*****************************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard.ts ***! + \*****************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IgnoredRequireImportObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let IgnoredRequireImportObfuscatingGuard = class IgnoredRequireImportObfuscatingGuard { + constructor(options) { + this.options = options; + } + check(node) { + if (this.options.ignoreRequireImports + && NodeGuards_1.NodeGuards.isCallExpressionNode(node) + && NodeGuards_1.NodeGuards.isIdentifierNode(node.callee) + && node.callee.name === 'require') { + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } +}; +IgnoredRequireImportObfuscatingGuard = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], IgnoredRequireImportObfuscatingGuard); +exports.IgnoredRequireImportObfuscatingGuard = IgnoredRequireImportObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts": +/*!***********************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts ***! + \***********************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ReservedStringObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ReservedStringObfuscatingGuard = class ReservedStringObfuscatingGuard { + constructor(options) { + this.options = options; + } + check(node) { + if (this.options.reservedStrings.length + && NodeGuards_1.NodeGuards.isLiteralNode(node) + && typeof node.value === 'string') { + return !this.isReservedString(node.value) + ? ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform + : ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } + isReservedString(value) { + return this.options.reservedStrings + .some((reservedString) => { + return new RegExp(reservedString, 'g').exec(value) !== null; + }); + } +}; +ReservedStringObfuscatingGuard = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], ReservedStringObfuscatingGuard); +exports.ReservedStringObfuscatingGuard = ReservedStringObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/LabeledStatementTransformer.ts": +/*!**********************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/LabeledStatementTransformer.ts ***! + \**********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LabeledStatementTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let LabeledStatementTransformer = class LabeledStatementTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options) { + super(randomGenerator, options); + this.identifierReplacer = identifierReplacer; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLabeledStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(labeledStatementNode, parentNode) { + const lexicalScopeNode = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScope(labeledStatementNode); + if (!lexicalScopeNode) { + return labeledStatementNode; + } + this.storeLabeledStatementName(labeledStatementNode, lexicalScopeNode); + this.replaceLabeledStatementName(labeledStatementNode, lexicalScopeNode); + return labeledStatementNode; + } + storeLabeledStatementName(labeledStatementNode, lexicalScopeNode) { + this.identifierReplacer.storeLocalName(labeledStatementNode.label, lexicalScopeNode); + } + replaceLabeledStatementName(labeledStatementNode, lexicalScopeNode) { + estraverse.replace(labeledStatementNode, { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLabelIdentifierNode(node, parentNode)) { + const newIdentifier = this.identifierReplacer + .replace(node, lexicalScopeNode); + node.name = newIdentifier.name; + } + } + }); + } +}; +LabeledStatementTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], LabeledStatementTransformer); +exports.LabeledStatementTransformer = LabeledStatementTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer.ts": +/*!**********************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer.ts ***! + \**********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeIdentifiersTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../interfaces/node/IScopeIdentifiersTraverser */ "./src/interfaces/node/IScopeIdentifiersTraverser.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let ScopeIdentifiersTransformer = class ScopeIdentifiersTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options, scopeIdentifiersTraverser) { + super(randomGenerator, options); + this.lexicalScopesWithObjectPatternWithoutDeclarationMap = new Map(); + this.identifierReplacer = identifierReplacer; + this.scopeIdentifiersTraverser = scopeIdentifiersTraverser; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(programNode, parentNode) { + this.scopeIdentifiersTraverser.traverseScopeIdentifiers(programNode, parentNode, (data) => { + const { isGlobalDeclaration, variable, variableLexicalScopeNode } = data; + if (!this.options.renameGlobals && isGlobalDeclaration) { + const isImportBindingOrCatchClauseIdentifier = variable.defs + .every((definition) => definition.type === 'ImportBinding' + || definition.type === 'CatchClause'); + if (!isImportBindingOrCatchClauseIdentifier) { + return; + } + } + this.transformScopeVariableIdentifiers(variable, variableLexicalScopeNode, isGlobalDeclaration); + }); + return programNode; + } + transformScopeVariableIdentifiers(variable, lexicalScopeNode, isGlobalDeclaration) { + var _a; + const firstIdentifier = (_a = variable.identifiers[0]) !== null && _a !== void 0 ? _a : null; + if (!firstIdentifier) { + return; + } + if (!this.isReplaceableIdentifierNode(firstIdentifier, lexicalScopeNode, variable)) { + return; + } + this.storeIdentifierName(firstIdentifier, lexicalScopeNode, isGlobalDeclaration); + this.replaceIdentifierName(firstIdentifier, lexicalScopeNode, variable); + } + storeIdentifierName(identifierNode, lexicalScopeNode, isGlobalDeclaration) { + if (isGlobalDeclaration) { + this.identifierReplacer.storeGlobalName(identifierNode, lexicalScopeNode); + } + else { + this.identifierReplacer.storeLocalName(identifierNode, lexicalScopeNode); + } + } + replaceIdentifierName(identifierNode, lexicalScopeNode, variable) { + const newIdentifier = this.identifierReplacer + .replace(identifierNode, lexicalScopeNode); + variable.identifiers.forEach((identifier) => { + identifier.name = newIdentifier.name; + }); + variable.references.forEach((reference) => { + reference.identifier.name = identifierNode.name; + }); + } + isReplaceableIdentifierNode(identifierNode, lexicalScopeNode, variable) { + const parentNode = identifierNode.parentNode; + return !!parentNode + && !NodeMetadata_1.NodeMetadata.isIgnoredNode(identifierNode) + && !this.isProhibitedPropertyIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedPropertyAssignmentPatternIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedClassDeclarationNameIdentifierNode(variable, identifierNode, parentNode) + && !this.isProhibitedExportNamedClassDeclarationIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedExportNamedFunctionDeclarationIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedExportNamedVariableDeclarationIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedImportSpecifierNode(identifierNode, parentNode) + && !this.isProhibitedVariableNameUsedInObjectPatternNode(variable, identifierNode, lexicalScopeNode) + && !NodeGuards_1.NodeGuards.isLabelIdentifierNode(identifierNode, parentNode); + } + isProhibitedClassDeclarationNameIdentifierNode(variable, identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isClassDeclarationNode(variable.scope.block) + && NodeGuards_1.NodeGuards.isClassDeclarationNode(parentNode) + && parentNode.id === identifierNode; + } + isProhibitedExportNamedClassDeclarationIdentifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isClassDeclarationNode(parentNode) + && parentNode.id === identifierNode + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode); + } + isProhibitedExportNamedFunctionDeclarationIdentifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(parentNode) + && parentNode.id === identifierNode + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode); + } + isProhibitedExportNamedVariableDeclarationIdentifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isVariableDeclaratorNode(parentNode) + && parentNode.id === identifierNode + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isVariableDeclarationNode(parentNode.parentNode) + && !!parentNode.parentNode.parentNode + && NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode.parentNode); + } + isProhibitedImportSpecifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isImportSpecifierNode(parentNode) + && parentNode.imported.name === parentNode.local.name; + } + isProhibitedPropertyIdentifierNode(node, parentNode) { + return NodeGuards_1.NodeGuards.isPropertyNode(parentNode) + && !parentNode.computed + && NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.key) + && NodeGuards_1.NodeGuards.isIdentifierNode(node) + && parentNode.shorthand + && parentNode.key.name === node.name; + } + isProhibitedPropertyAssignmentPatternIdentifierNode(node, parentNode) { + return NodeGuards_1.NodeGuards.isAssignmentPatternNode(parentNode) + && parentNode.left === node + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isPropertyNode(parentNode.parentNode) + && NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.left) + && NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.parentNode.key) + && parentNode.left.name === parentNode.parentNode.key.name; + } + isProhibitedVariableNameUsedInObjectPatternNode(variable, identifierNode, lexicalScopeNode) { + let isLexicalScopeHasObjectPatternWithoutDeclaration = this.lexicalScopesWithObjectPatternWithoutDeclarationMap.get(lexicalScopeNode); + if (isLexicalScopeHasObjectPatternWithoutDeclaration === false) { + return false; + } + const hasVarDefinitions = variable.defs.some((definition) => definition.kind === 'var'); + if (!hasVarDefinitions) { + return false; + } + let isProhibitedVariableDeclaration = false; + estraverse.traverse(lexicalScopeNode, { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isObjectPatternNode(node) + && parentNode + && NodeGuards_1.NodeGuards.isAssignmentExpressionNode(parentNode)) { + isLexicalScopeHasObjectPatternWithoutDeclaration = true; + const properties = node.properties; + for (const property of properties) { + if (!NodeGuards_1.NodeGuards.isPropertyNode(property)) { + continue; + } + if (property.computed || !property.shorthand) { + continue; + } + if (!NodeGuards_1.NodeGuards.isIdentifierNode(property.key)) { + continue; + } + if (identifierNode.name !== property.key.name) { + continue; + } + isProhibitedVariableDeclaration = true; + return estraverse.VisitorOption.Break; + } + } + } + }); + this.lexicalScopesWithObjectPatternWithoutDeclarationMap.set(lexicalScopeNode, isLexicalScopeHasObjectPatternWithoutDeclaration !== null && isLexicalScopeHasObjectPatternWithoutDeclaration !== void 0 ? isLexicalScopeHasObjectPatternWithoutDeclaration : false); + return isProhibitedVariableDeclaration; + } +}; +ScopeIdentifiersTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object, typeof (_d = typeof IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser !== "undefined" && IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser) === "function" ? _d : Object]) +], ScopeIdentifiersTransformer); +exports.ScopeIdentifiersTransformer = ScopeIdentifiersTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer.ts": +/*!*****************************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer.ts ***! + \*****************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeThroughIdentifiersTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../interfaces/node/IScopeIdentifiersTraverser */ "./src/interfaces/node/IScopeIdentifiersTraverser.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ScopeThroughIdentifiersTransformer = class ScopeThroughIdentifiersTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options, scopeIdentifiersTraverser) { + super(randomGenerator, options); + this.identifierReplacer = identifierReplacer; + this.scopeIdentifiersTraverser = scopeIdentifiersTraverser; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(programNode, parentNode) { + this.scopeIdentifiersTraverser.traverseScopeThroughIdentifiers(programNode, parentNode, (data) => { + const { reference, variableLexicalScopeNode } = data; + this.transformScopeThroughIdentifiers(reference, variableLexicalScopeNode); + }); + return programNode; + } + transformScopeThroughIdentifiers(reference, lexicalScopeNode) { + if (reference.resolved) { + return; + } + const identifier = reference.identifier; + this.storeIdentifierName(identifier, lexicalScopeNode); + this.replaceIdentifierName(identifier, lexicalScopeNode, reference); + } + storeIdentifierName(identifierNode, lexicalScopeNode) { + this.identifierReplacer.storeLocalName(identifierNode, lexicalScopeNode); + } + replaceIdentifierName(identifierNode, lexicalScopeNode, reference) { + const newIdentifier = this.identifierReplacer + .replace(identifierNode, lexicalScopeNode); + reference.identifier.name = newIdentifier.name; + } +}; +ScopeThroughIdentifiersTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object, typeof (_d = typeof IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser !== "undefined" && IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser) === "function" ? _d : Object]) +], ScopeThroughIdentifiersTransformer); +exports.ScopeThroughIdentifiersTransformer = ScopeThroughIdentifiersTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer.ts": +/*!**********************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer.ts ***! + \**********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IdentifierReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let IdentifierReplacer = class IdentifierReplacer { + constructor(identifierNamesGeneratorFactory, options) { + this.blockScopesMap = new Map(); + this.options = options; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + } + storeGlobalName(identifierNode, lexicalScopeNode) { + const identifierName = identifierNode.name; + if (this.isReservedName(identifierName)) { + return; + } + const newIdentifierName = this.identifierNamesGenerator.generateForGlobalScope(); + if (!this.blockScopesMap.has(lexicalScopeNode)) { + this.blockScopesMap.set(lexicalScopeNode, new Map()); + } + const namesMap = this.blockScopesMap.get(lexicalScopeNode); + namesMap.set(identifierName, newIdentifierName); + } + storeLocalName(identifierNode, lexicalScopeNode) { + const identifierName = identifierNode.name; + if (this.isReservedName(identifierName)) { + return; + } + const newIdentifierName = this.identifierNamesGenerator.generateForLexicalScope(lexicalScopeNode); + if (!this.blockScopesMap.has(lexicalScopeNode)) { + this.blockScopesMap.set(lexicalScopeNode, new Map()); + } + const namesMap = this.blockScopesMap.get(lexicalScopeNode); + namesMap.set(identifierName, newIdentifierName); + } + replace(identifierNode, lexicalScopeNode) { + let identifierName = identifierNode.name; + if (this.blockScopesMap.has(lexicalScopeNode)) { + const namesMap = this.blockScopesMap.get(lexicalScopeNode); + if (namesMap.has(identifierName)) { + identifierName = namesMap.get(identifierName); + } + } + return NodeFactory_1.NodeFactory.identifierNode(identifierName); + } + preserveName(identifierNode) { + this.identifierNamesGenerator.preserveName(identifierNode.name); + } + preserveNameForLexicalScope(identifierNode, lexicalScopeNode) { + this.identifierNamesGenerator.preserveNameForLexicalScope(identifierNode.name, lexicalScopeNode); + } + isReservedName(name) { + if (!this.options.reservedNames.length) { + return false; + } + return this.options.reservedNames + .some((reservedName) => { + return new RegExp(reservedName, 'g').exec(name) !== null; + }); + } +}; +IdentifierReplacer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], IdentifierReplacer); +exports.IdentifierReplacer = IdentifierReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-properties-transformers/RenamePropertiesTransformer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/node-transformers/rename-properties-transformers/RenamePropertiesTransformer.ts ***! + \*********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var RenamePropertiesTransformer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RenamePropertiesTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRenamePropertiesReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer */ "./src/interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let RenamePropertiesTransformer = RenamePropertiesTransformer_1 = class RenamePropertiesTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(renamePropertiesReplacer, randomGenerator, options) { + super(randomGenerator, options); + this.renamePropertiesReplacer = renamePropertiesReplacer; + } + static isValidPropertyNode(propertyNode, propertyKeyNode) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(propertyKeyNode) && propertyNode.computed) { + return false; + } + return NodeGuards_1.NodeGuards.isIdentifierNode(propertyKeyNode) || NodeGuards_1.NodeGuards.isLiteralNode(propertyKeyNode); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameProperties: + return { + enter: (node, parentNode) => { + if (parentNode) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + if (NodeGuards_1.NodeGuards.isPropertyNode(node)) { + return this.transformPropertyNode(node); + } + if (NodeGuards_1.NodeGuards.isMemberExpressionNode(node)) { + return this.transformMemberExpressionNode(node); + } + if (NodeGuards_1.NodeGuards.isMethodDefinitionNode(node)) { + return this.transformMethodDefinitionNode(node); + } + return node; + } + transformPropertyNode(propertyNode) { + const propertyKeyNode = propertyNode.key; + if (RenamePropertiesTransformer_1.isValidPropertyNode(propertyNode, propertyKeyNode)) { + propertyNode.key = this.renamePropertiesReplacer.replace(propertyKeyNode); + propertyNode.shorthand = false; + } + return propertyNode; + } + transformMemberExpressionNode(memberExpressionNode) { + const propertyKeyNode = memberExpressionNode.property; + if (RenamePropertiesTransformer_1.isValidPropertyNode(memberExpressionNode, propertyKeyNode)) { + memberExpressionNode.property = this.renamePropertiesReplacer.replace(propertyKeyNode); + } + return memberExpressionNode; + } + transformMethodDefinitionNode(methodDefinitionNode) { + const propertyKeyNode = methodDefinitionNode.key; + if (RenamePropertiesTransformer_1.isValidPropertyNode(methodDefinitionNode, propertyKeyNode)) { + methodDefinitionNode.key = this.renamePropertiesReplacer.replace(propertyKeyNode); + } + return methodDefinitionNode; + } +}; +RenamePropertiesTransformer = RenamePropertiesTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRenamePropertiesReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRenamePropertiesReplacer_1.IRenamePropertiesReplacer !== "undefined" && IRenamePropertiesReplacer_1.IRenamePropertiesReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], RenamePropertiesTransformer); +exports.RenamePropertiesTransformer = RenamePropertiesTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer.ts": +/*!***************************************************************************************************!*\ + !*** ./src/node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer.ts ***! + \***************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RenamePropertiesReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ReservedDomProperties_json_1 = __importDefault(__webpack_require__(/*! ./ReservedDomProperties.json */ "./src/node-transformers/rename-properties-transformers/replacer/ReservedDomProperties.json")); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let RenamePropertiesReplacer = class RenamePropertiesReplacer { + constructor(identifierNamesGeneratorFactory, options) { + this.propertyNamesMap = new Map(); + this.reservedDomPropertiesList = new Set(ReservedDomProperties_json_1.default); + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.options = options; + } + replace(node) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(node)) { + return NodeFactory_1.NodeFactory.identifierNode(this.replacePropertyName(node.name)); + } + if (NodeGuards_1.NodeGuards.isLiteralNode(node) && typeof node.value === 'string') { + return NodeFactory_1.NodeFactory.literalNode(this.replacePropertyName(node.value)); + } + return node; + } + replacePropertyName(propertyName) { + var _a; + if (this.isReservedName(propertyName)) { + return propertyName; + } + let renamedPropertyName = (_a = this.propertyNamesMap.get(propertyName)) !== null && _a !== void 0 ? _a : null; + if (renamedPropertyName !== null) { + return renamedPropertyName; + } + renamedPropertyName = this.identifierNamesGenerator.generateNext(); + this.propertyNamesMap.set(propertyName, renamedPropertyName); + return renamedPropertyName; + } + isReservedName(name) { + return this.isReservedOptionName(name) + || this.isReservedDomPropertyName(name); + } + isReservedOptionName(name) { + if (!this.options.reservedNames.length) { + return false; + } + return this.options.reservedNames + .some((reservedName) => { + return new RegExp(reservedName, 'g').exec(name) !== null; + }); + } + isReservedDomPropertyName(name) { + return this.reservedDomPropertiesList.has(name); + } +}; +RenamePropertiesReplacer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], RenamePropertiesReplacer); +exports.RenamePropertiesReplacer = RenamePropertiesReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractStatementSimplifyTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let AbstractStatementSimplifyTransformer = class AbstractStatementSimplifyTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ExpressionStatementsMergeTransformer, + NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer + ]; + } + getStatementSimplifyData(statementNode) { + if (!statementNode) { + return null; + } + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(statementNode)) { + return { + leadingStatements: [statementNode], + trailingStatement: null, + hasReturnStatement: false, + hasSingleExpression: false + }; + } + const { startIndex, unwrappedExpressions, hasReturnStatement } = this.collectIteratedStatementsSimplifyData(statementNode); + const leadingStatements = this.getLeadingStatements(statementNode, startIndex); + if (!unwrappedExpressions.length) { + return { + leadingStatements, + trailingStatement: null, + hasReturnStatement, + hasSingleExpression: false + }; + } + const hasSingleExpression = unwrappedExpressions.length === 1; + const expression = hasSingleExpression + ? unwrappedExpressions[0] + : NodeFactory_1.NodeFactory.sequenceExpressionNode(unwrappedExpressions); + const statement = hasReturnStatement + ? NodeFactory_1.NodeFactory.returnStatementNode(expression) + : NodeFactory_1.NodeFactory.expressionStatementNode(expression); + return { + leadingStatements, + trailingStatement: { + statement, + expression + }, + hasReturnStatement, + hasSingleExpression + }; + } + collectIteratedStatementsSimplifyData(statementNode) { + const statementNodeBodyLength = statementNode.body.length; + const unwrappedExpressions = []; + let hasReturnStatement = false; + let startIndex = null; + for (let i = statementNodeBodyLength - 1; i >= 0; i--) { + const statementBodyStatementNode = statementNode.body[i]; + if (NodeGuards_1.NodeGuards.isExpressionStatementNode(statementBodyStatementNode)) { + if (NodeGuards_1.NodeGuards.isSequenceExpressionNode(statementBodyStatementNode.expression)) { + unwrappedExpressions.unshift(...statementBodyStatementNode.expression.expressions); + } + else { + unwrappedExpressions.unshift(statementBodyStatementNode.expression); + } + startIndex = i; + continue; + } + if (NodeGuards_1.NodeGuards.isReturnStatementNode(statementBodyStatementNode) + && statementBodyStatementNode.argument) { + unwrappedExpressions.unshift(statementBodyStatementNode.argument); + hasReturnStatement = true; + startIndex = i; + continue; + } + break; + } + return { + startIndex, + unwrappedExpressions, + hasReturnStatement + }; + } + getLeadingStatements(statementNode, startIndex) { + if (startIndex === null) { + return statementNode.body; + } + return startIndex === 0 + ? [] + : statementNode.body.slice(0, startIndex); + } + getPartialStatement(statementSimplifyData) { + if (!statementSimplifyData.leadingStatements.length && statementSimplifyData.trailingStatement) { + return statementSimplifyData.trailingStatement.statement; + } + return NodeFactory_1.NodeFactory.blockStatementNode([ + ...statementSimplifyData.leadingStatements.length ? statementSimplifyData.leadingStatements : [], + ...statementSimplifyData.trailingStatement ? [statementSimplifyData.trailingStatement.statement] : [] + ]); + } +}; +AbstractStatementSimplifyTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractStatementSimplifyTransformer); +exports.AbstractStatementSimplifyTransformer = AbstractStatementSimplifyTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer.ts ***! + \*********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementSimplifyTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractStatementSimplifyTransformer_1 = __webpack_require__(/*! ./AbstractStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementSimplifyTransformer = class BlockStatementSimplifyTransformer extends AbstractStatementSimplifyTransformer_1.AbstractStatementSimplifyTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer + ]; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(statementNode, parentNode) { + const simplifyData = this.getStatementSimplifyData(statementNode); + if (!simplifyData) { + return statementNode; + } + const partialStatementNode = this.getPartialStatement(simplifyData); + const transformedNode = NodeGuards_1.NodeGuards.isBlockStatementNode(partialStatementNode) + ? partialStatementNode + : NodeFactory_1.NodeFactory.blockStatementNode([partialStatementNode]); + return NodeUtils_1.NodeUtils.parentizeNode(transformedNode, parentNode); + } +}; +BlockStatementSimplifyTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], BlockStatementSimplifyTransformer); +exports.BlockStatementSimplifyTransformer = BlockStatementSimplifyTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExpressionStatementsMergeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ExpressionStatementsMergeTransformer = class ExpressionStatementsMergeTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isExpressionStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(expressionStatementNode, parentNode) { + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return expressionStatementNode; + } + const prevStatement = NodeStatementUtils_1.NodeStatementUtils.getPreviousSiblingStatement(expressionStatementNode); + if (!prevStatement || !NodeGuards_1.NodeGuards.isExpressionStatementNode(prevStatement)) { + return expressionStatementNode; + } + if (NodeGuards_1.NodeGuards.isSequenceExpressionNode(prevStatement.expression)) { + prevStatement.expression.expressions.push(expressionStatementNode.expression); + NodeUtils_1.NodeUtils.parentizeNode(expressionStatementNode.expression, prevStatement.expression); + } + else { + prevStatement.expression = NodeFactory_1.NodeFactory.sequenceExpressionNode([ + prevStatement.expression, + expressionStatementNode.expression + ]); + NodeUtils_1.NodeUtils.parentizeAst(prevStatement.expression); + NodeUtils_1.NodeUtils.parentizeNode(prevStatement.expression, prevStatement); + } + return estraverse.VisitorOption.Remove; + } +}; +ExpressionStatementsMergeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ExpressionStatementsMergeTransformer); +exports.ExpressionStatementsMergeTransformer = ExpressionStatementsMergeTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/IfStatementSimplifyTransformer.ts": +/*!******************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/IfStatementSimplifyTransformer.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IfStatementSimplifyTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractStatementSimplifyTransformer_1 = __webpack_require__(/*! ./AbstractStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let IfStatementSimplifyTransformer = class IfStatementSimplifyTransformer extends AbstractStatementSimplifyTransformer_1.AbstractStatementSimplifyTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isIfStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(ifStatementNode, parentNode) { + const consequentSimplifyData = this.getStatementSimplifyData(ifStatementNode.consequent); + if (!consequentSimplifyData) { + return ifStatementNode; + } + let transformedNode; + if (!ifStatementNode.alternate) { + transformedNode = this.getConsequentNode(ifStatementNode, consequentSimplifyData); + } + else { + const alternateSimplifyData = this.getStatementSimplifyData(ifStatementNode.alternate); + if (!alternateSimplifyData) { + return ifStatementNode; + } + transformedNode = this.getConsequentAndAlternateNode(ifStatementNode, consequentSimplifyData, alternateSimplifyData); + } + return NodeUtils_1.NodeUtils.parentizeNode(transformedNode, parentNode); + } + getConsequentNode(ifStatementNode, consequentSimplifyData) { + if (consequentSimplifyData.leadingStatements.length + || !consequentSimplifyData.trailingStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, this.getPartialStatement(consequentSimplifyData)); + } + if (consequentSimplifyData.hasReturnStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.statement); + } + return NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.logicalExpressionNode('&&', ifStatementNode.test, consequentSimplifyData.trailingStatement.expression)); + } + getConsequentAndAlternateNode(ifStatementNode, consequentSimplifyData, alternateSimplifyData) { + if (consequentSimplifyData.leadingStatements.length + || alternateSimplifyData.leadingStatements.length + || !consequentSimplifyData.trailingStatement + || !alternateSimplifyData.trailingStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, this.getPartialStatement(consequentSimplifyData), this.getPartialStatement(alternateSimplifyData)); + } + if (consequentSimplifyData.hasReturnStatement && alternateSimplifyData.hasReturnStatement) { + return NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.conditionalExpressionNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.expression, alternateSimplifyData.trailingStatement.expression)); + } + if (consequentSimplifyData.hasReturnStatement || alternateSimplifyData.hasReturnStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.statement, alternateSimplifyData.trailingStatement.statement); + } + return NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.conditionalExpressionNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.expression, alternateSimplifyData.trailingStatement.expression)); + } + getPartialStatement(statementSimplifyData) { + const partialStatement = super.getPartialStatement(statementSimplifyData); + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(partialStatement)) { + return partialStatement; + } + return partialStatement.body.length === 1 + && !this.isProhibitedSingleStatementForIfStatementBranch(partialStatement.body[0]) + ? partialStatement.body[0] + : partialStatement; + } + isProhibitedSingleStatementForIfStatementBranch(statement) { + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(statement) + || NodeGuards_1.NodeGuards.isIfStatementNode(statement) + || (NodeGuards_1.NodeGuards.isVariableDeclarationNode(statement) && statement.kind !== 'var'); + } +}; +IfStatementSimplifyTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], IfStatementSimplifyTransformer); +exports.IfStatementSimplifyTransformer = IfStatementSimplifyTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VariableDeclarationsMergeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let VariableDeclarationsMergeTransformer = class VariableDeclarationsMergeTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isVariableDeclarationNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(variableDeclarationNode, parentNode) { + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return variableDeclarationNode; + } + const prevStatement = NodeStatementUtils_1.NodeStatementUtils.getPreviousSiblingStatement(variableDeclarationNode); + if (!prevStatement || !NodeGuards_1.NodeGuards.isVariableDeclarationNode(prevStatement)) { + return variableDeclarationNode; + } + if (variableDeclarationNode.kind !== prevStatement.kind) { + return variableDeclarationNode; + } + prevStatement.declarations.push(...variableDeclarationNode.declarations); + return estraverse.VisitorOption.Remove; + } +}; +VariableDeclarationsMergeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], VariableDeclarationsMergeTransformer); +exports.VariableDeclarationsMergeTransformer = VariableDeclarationsMergeTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts": +/*!****************************************************************************************************!*\ + !*** ./src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts ***! + \****************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TStringArrayCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TStringArrayCustomNodeFactory */ "./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts"); +const IStringArrayScopeCallsWrapperNamesDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const IVisitedLexicalScopeNodesStackStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage */ "./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const StringArrayCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/StringArrayCustomNode */ "./src/enums/custom-nodes/StringArrayCustomNode.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let StringArrayScopeCallsWrapperTransformer = class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options, visitedLexicalScopeNodesStackStorage, stringArrayStorage, stringArrayScopeCallsWrapperNamesDataStorage, stringArrayScopeCallsWrapperLexicalScopeDataStorage, stringArrayTransformerCustomNodeFactory) { + super(randomGenerator, options); + this.visitedLexicalScopeNodesStackStorage = visitedLexicalScopeNodesStackStorage; + this.stringArrayStorage = stringArrayStorage; + this.stringArrayScopeCallsWrapperNamesDataStorage = stringArrayScopeCallsWrapperNamesDataStorage; + this.stringArrayScopeCallsWrapperLexicalScopeDataStorage = stringArrayScopeCallsWrapperLexicalScopeDataStorage; + this.stringArrayTransformerCustomNodeFactory = stringArrayTransformerCustomNodeFactory; + } + getVisitor(nodeTransformationStage) { + if (!this.options.stringArrayWrappersCount) { + return null; + } + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.StringArray: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isNodeWithLexicalScopeStatements(node, parentNode)) { + this.onLexicalScopeNodeEnter(node); + } + }, + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isNodeWithLexicalScopeStatements(node, parentNode)) { + this.onLexicalScopeNodeLeave(); + return this.transformNode(node); + } + } + }; + default: + return null; + } + } + transformNode(lexicalScopeBodyNode) { + var _a, _b; + const stringArrayScopeCallsWrapperNamesDataByEncoding = (_a = this.stringArrayScopeCallsWrapperNamesDataStorage.get(lexicalScopeBodyNode)) !== null && _a !== void 0 ? _a : null; + const stringArrayScopeCallsWrapperLexicalScopeData = (_b = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(lexicalScopeBodyNode)) !== null && _b !== void 0 ? _b : null; + if (!stringArrayScopeCallsWrapperNamesDataByEncoding || !stringArrayScopeCallsWrapperLexicalScopeData) { + return lexicalScopeBodyNode; + } + const { callsWrappersParameterIndexesData: stringArrayScopeCallsWrapperParameterIndexes } = stringArrayScopeCallsWrapperLexicalScopeData; + const stringArrayScopeCallsWrapperNamesDataList = Object.values(stringArrayScopeCallsWrapperNamesDataByEncoding); + for (const stringArrayScopeCallsWrapperNamesData of stringArrayScopeCallsWrapperNamesDataList) { + if (!stringArrayScopeCallsWrapperNamesData) { + continue; + } + const { names } = stringArrayScopeCallsWrapperNamesData; + const namesLength = names.length; + for (let i = namesLength - 1; i >= 0; i--) { + const stringArrayScopeCallsWrapperName = names[i]; + const { name: upperStringArrayCallsWrapperName, index: upperStringArrayCallsWrapperShiftedIndex, parameterIndexesData: upperStringArrayCallsWrapperParameterIndexes } = this.getUpperStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData); + const stringArrayScopeCallsWrapperNode = this.getStringArrayScopeCallsWrapperNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, upperStringArrayCallsWrapperShiftedIndex); + NodeAppender_1.NodeAppender.prepend(lexicalScopeBodyNode, stringArrayScopeCallsWrapperNode); + } + } + return lexicalScopeBodyNode; + } + getRootStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData) { + const { encoding } = stringArrayScopeCallsWrapperNamesData; + const { resultShiftedIndex } = stringArrayScopeCallsWrapperLexicalScopeData; + return { + name: this.stringArrayStorage.getStorageCallsWrapperName(encoding), + index: resultShiftedIndex, + parameterIndexesData: null + }; + } + getUpperStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData) { + var _a, _b, _c, _d, _e, _f; + const { encoding } = stringArrayScopeCallsWrapperNamesData; + const { scopeShiftedIndex } = stringArrayScopeCallsWrapperLexicalScopeData; + const rootStringArrayCallsWrapperData = this.getRootStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData); + if (!this.options.stringArrayWrappersChainedCalls) { + return rootStringArrayCallsWrapperData; + } + const parentLexicalScopeBodyNode = (_a = this.visitedLexicalScopeNodesStackStorage.getLastElement()) !== null && _a !== void 0 ? _a : null; + if (!parentLexicalScopeBodyNode) { + return rootStringArrayCallsWrapperData; + } + const parentLexicalScopeNamesDataByEncoding = (_b = this.stringArrayScopeCallsWrapperNamesDataStorage + .get(parentLexicalScopeBodyNode)) !== null && _b !== void 0 ? _b : null; + const parentScopeCallsWrapperLexicalScopeData = (_c = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage + .get(parentLexicalScopeBodyNode)) !== null && _c !== void 0 ? _c : null; + const parentLexicalScopeNames = (_e = (_d = parentLexicalScopeNamesDataByEncoding === null || parentLexicalScopeNamesDataByEncoding === void 0 ? void 0 : parentLexicalScopeNamesDataByEncoding[encoding]) === null || _d === void 0 ? void 0 : _d.names) !== null && _e !== void 0 ? _e : null; + if (!(parentLexicalScopeNames === null || parentLexicalScopeNames === void 0 ? void 0 : parentLexicalScopeNames.length)) { + return rootStringArrayCallsWrapperData; + } + const upperStringArrayCallsWrapperName = this.randomGenerator + .getRandomGenerator() + .pickone(parentLexicalScopeNames); + const parameterIndexesData = (_f = parentScopeCallsWrapperLexicalScopeData === null || parentScopeCallsWrapperLexicalScopeData === void 0 ? void 0 : parentScopeCallsWrapperLexicalScopeData.callsWrappersParameterIndexesData) !== null && _f !== void 0 ? _f : null; + return { + name: upperStringArrayCallsWrapperName, + index: scopeShiftedIndex, + parameterIndexesData + }; + } + getStringArrayScopeCallsWrapperNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex) { + switch (this.options.stringArrayWrappersType) { + case StringArrayWrappersType_1.StringArrayWrappersType.Function: + return this.getStringArrayScopeCallsWrapperFunctionNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex); + case StringArrayWrappersType_1.StringArrayWrappersType.Variable: + default: + return this.getStringArrayScopeCallsWrapperVariableNode(stringArrayScopeCallsWrapperName, upperStringArrayCallsWrapperName); + } + } + getStringArrayScopeCallsWrapperVariableNode(stringArrayScopeCallsWrapperName, upperStringArrayCallsWrapperName) { + const stringArrayScopeCallsWrapperVariableNode = this.stringArrayTransformerCustomNodeFactory(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode); + stringArrayScopeCallsWrapperVariableNode.initialize(stringArrayScopeCallsWrapperName, upperStringArrayCallsWrapperName); + return stringArrayScopeCallsWrapperVariableNode.getNode(); + } + getStringArrayScopeCallsWrapperFunctionNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex) { + const stringArrayScopeCallsWrapperFunctionNode = this.stringArrayTransformerCustomNodeFactory(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode); + stringArrayScopeCallsWrapperFunctionNode.initialize(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex); + return stringArrayScopeCallsWrapperFunctionNode.getNode(); + } + onLexicalScopeNodeEnter(lexicalScopeBodyNode) { + this.visitedLexicalScopeNodesStackStorage.push(lexicalScopeBodyNode); + } + onLexicalScopeNodeLeave() { + this.visitedLexicalScopeNodesStackStorage.pop(); + } +}; +StringArrayScopeCallsWrapperTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayCustomNode)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage !== "undefined" && IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage) === "function" ? _c : Object, typeof (_d = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _d : Object, typeof (_e = typeof IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage !== "undefined" && IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage) === "function" ? _e : Object, typeof (_f = typeof IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage !== "undefined" && IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage) === "function" ? _f : Object, typeof (_g = typeof TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory !== "undefined" && TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory) === "function" ? _g : Object]) +], StringArrayScopeCallsWrapperTransformer); +exports.StringArrayScopeCallsWrapperTransformer = StringArrayScopeCallsWrapperTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/string-array-transformers/StringArrayTransformer.ts": +/*!***********************************************************************************!*\ + !*** ./src/node-transformers/string-array-transformers/StringArrayTransformer.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayTransformer_1, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TStringArrayCustomNodeFactory */ "./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts"); +const ILiteralNodesCacheStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage */ "./src/interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts"); +const IStringArrayScopeCallsWrapperNamesDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const IStringArrayStorageAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer */ "./src/interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer.ts"); +const IVisitedLexicalScopeNodesStackStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage */ "./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const StringArrayCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/StringArrayCustomNode */ "./src/enums/custom-nodes/StringArrayCustomNode.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const StringArrayScopeCallsWrapperParametersMaxCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayTransformer = StringArrayTransformer_1 = class StringArrayTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options, literalNodesCacheStorage, visitedLexicalScopeNodesStackStorage, stringArrayStorage, stringArrayScopeCallsWrapperNamesDataStorage, stringArrayScopeCallsWrapperLexicalScopeDataStorage, stringArrayStorageAnalyzer, identifierNamesGeneratorFactory, stringArrayTransformerCustomNodeFactory) { + super(randomGenerator, options); + this.literalNodesCacheStorage = literalNodesCacheStorage; + this.visitedLexicalScopeNodesStackStorage = visitedLexicalScopeNodesStackStorage; + this.stringArrayStorage = stringArrayStorage; + this.stringArrayScopeCallsWrapperNamesDataStorage = stringArrayScopeCallsWrapperNamesDataStorage; + this.stringArrayScopeCallsWrapperLexicalScopeDataStorage = stringArrayScopeCallsWrapperLexicalScopeDataStorage; + this.stringArrayStorageAnalyzer = stringArrayStorageAnalyzer; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.stringArrayTransformerCustomNodeFactory = stringArrayTransformerCustomNodeFactory; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.StringArray: + return { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.prepareNode(node); + } + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node) && !NodeMetadata_1.NodeMetadata.isReplacedLiteral(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + prepareNode(programNode) { + this.stringArrayStorageAnalyzer.analyze(programNode); + if (this.options.shuffleStringArray) { + this.stringArrayStorage.shuffleStorage(); + } + if (this.options.rotateStringArray) { + this.stringArrayStorage.rotateStorage(); + } + } + transformNode(literalNode, parentNode) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode) + || NodeLiteralUtils_1.NodeLiteralUtils.isProhibitedLiteralNode(literalNode, parentNode)) { + return literalNode; + } + const literalValue = literalNode.value; + const stringArrayStorageItemData = this.stringArrayStorageAnalyzer.getItemDataForLiteralNode(literalNode); + const cacheKey = this.literalNodesCacheStorage.buildKey(literalValue, stringArrayStorageItemData); + const useCachedValue = this.literalNodesCacheStorage.shouldUseCachedValue(cacheKey, stringArrayStorageItemData); + if (useCachedValue) { + return this.literalNodesCacheStorage.get(cacheKey); + } + const resultNode = stringArrayStorageItemData + ? this.getStringArrayCallNode(stringArrayStorageItemData) + : literalNode; + this.literalNodesCacheStorage.set(cacheKey, resultNode); + NodeUtils_1.NodeUtils.parentizeNode(resultNode, parentNode); + return resultNode; + } + getStringArrayCallNode(stringArrayStorageItemData) { + const { name: stringArrayCallsWrapperName, index, parameterIndexesData } = this.getStringArrayCallsWrapperData(stringArrayStorageItemData); + const { decodeKey } = stringArrayStorageItemData; + const stringArrayCallCustomNode = this.stringArrayTransformerCustomNodeFactory(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayCallNode); + stringArrayCallCustomNode.initialize(stringArrayCallsWrapperName, parameterIndexesData, index, this.stringArrayStorage.getIndexShiftAmount(), decodeKey); + const statementNode = stringArrayCallCustomNode.getNode()[0]; + if (!NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`stringArrayCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } + getStringArrayCallsWrapperData(stringArrayStorageItemData) { + return !this.options.stringArrayWrappersCount + ? this.getRootStringArrayCallsWrapperData(stringArrayStorageItemData) + : this.getUpperStringArrayCallsWrapperData(stringArrayStorageItemData); + } + getRootStringArrayCallsWrapperData(stringArrayStorageItemData) { + const { encoding, index } = stringArrayStorageItemData; + const rootStringArrayCallsWrapperName = this.stringArrayStorage.getStorageCallsWrapperName(encoding); + return { + name: rootStringArrayCallsWrapperName, + parameterIndexesData: null, + index + }; + } + getUpperStringArrayCallsWrapperData(stringArrayStorageItemData) { + var _a, _b, _c, _d; + const { encoding, index } = stringArrayStorageItemData; + const currentLexicalScopeBodyNode = (_a = this.visitedLexicalScopeNodesStackStorage.getLastElement()) !== null && _a !== void 0 ? _a : null; + const parentLexicalScopeBodyNode = (_b = this.visitedLexicalScopeNodesStackStorage.getPenultimateElement()) !== null && _b !== void 0 ? _b : null; + if (!currentLexicalScopeBodyNode) { + throw new Error('Cannot find current lexical scope body node'); + } + const stringArrayScopeCallsWrapperNamesDataByEncoding = this.getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(currentLexicalScopeBodyNode, stringArrayStorageItemData); + const stringArrayScopeCallsWrapperLexicalScopeData = this.getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(currentLexicalScopeBodyNode, parentLexicalScopeBodyNode); + const stringArrayScopeCallsWrapperNames = (_d = (_c = stringArrayScopeCallsWrapperNamesDataByEncoding[encoding]) === null || _c === void 0 ? void 0 : _c.names) !== null && _d !== void 0 ? _d : []; + const randomUpperStringArrayCallsWrapperName = this.randomGenerator + .getRandomGenerator() + .pickone(stringArrayScopeCallsWrapperNames); + const resultIndex = stringArrayScopeCallsWrapperLexicalScopeData + ? stringArrayScopeCallsWrapperLexicalScopeData.resultShiftedIndex + index + : index; + return { + name: randomUpperStringArrayCallsWrapperName, + index: resultIndex, + parameterIndexesData: stringArrayScopeCallsWrapperLexicalScopeData.callsWrappersParameterIndexesData + }; + } + getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(currentLexicalScopeBodyNode, stringArrayStorageItemData) { + var _a, _b, _c; + const { encoding } = stringArrayStorageItemData; + const stringArrayScopeCallsWrapperNamesDataByEncoding = (_a = this.stringArrayScopeCallsWrapperNamesDataStorage.get(currentLexicalScopeBodyNode)) !== null && _a !== void 0 ? _a : {}; + const stringArrayScopeCallsWrapperNames = (_c = (_b = stringArrayScopeCallsWrapperNamesDataByEncoding[encoding]) === null || _b === void 0 ? void 0 : _b.names) !== null && _c !== void 0 ? _c : []; + const isFilledScopeCallsWrapperNamesList = stringArrayScopeCallsWrapperNames.length === this.options.stringArrayWrappersCount; + if (isFilledScopeCallsWrapperNamesList) { + return stringArrayScopeCallsWrapperNamesDataByEncoding; + } + const nextScopeCallsWrapperName = this.identifierNamesGenerator.generateNext(); + stringArrayScopeCallsWrapperNamesDataByEncoding[encoding] = { + encoding, + names: [ + ...stringArrayScopeCallsWrapperNames, + nextScopeCallsWrapperName + ] + }; + this.stringArrayScopeCallsWrapperNamesDataStorage.set(currentLexicalScopeBodyNode, stringArrayScopeCallsWrapperNamesDataByEncoding); + return stringArrayScopeCallsWrapperNamesDataByEncoding; + } + getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(currentLexicalScopeBodyNode, parentLexicalScopeBodyNode) { + var _a, _b; + const storedLexicalScopeData = (_a = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(currentLexicalScopeBodyNode)) !== null && _a !== void 0 ? _a : null; + if (storedLexicalScopeData) { + return storedLexicalScopeData; + } + const parentLexicalScopeData = parentLexicalScopeBodyNode + ? (_b = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(parentLexicalScopeBodyNode)) !== null && _b !== void 0 ? _b : null : null; + const callsWrappersParameterIndexesData = this.options.stringArrayWrappersType === StringArrayWrappersType_1.StringArrayWrappersType.Function + ? this.getStringArrayCallsWrapperParameterIndexesData() + : null; + const scopeShiftedIndex = this.options.stringArrayWrappersType === StringArrayWrappersType_1.StringArrayWrappersType.Function + ? this.randomGenerator.getRandomInteger(StringArrayTransformer_1.minShiftedIndexValue, StringArrayTransformer_1.maxShiftedIndexValue) + : 0; + const resultShiftedIndex = parentLexicalScopeData + ? parentLexicalScopeData.resultShiftedIndex + scopeShiftedIndex + : scopeShiftedIndex; + const lexicalScopeData = { + callsWrappersParameterIndexesData, + parentLexicalScopeBodyNode, + resultShiftedIndex, + scopeShiftedIndex + }; + this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.set(currentLexicalScopeBodyNode, lexicalScopeData); + return lexicalScopeData; + } + getStringArrayCallsWrapperParameterIndexesData() { + const minIndexValue = 0; + const maxIndexValue = StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount - 1; + const index = this.randomGenerator.getRandomInteger(minIndexValue, maxIndexValue); + const decodeKey = this.randomGenerator.getRandomIntegerExcluding(minIndexValue, maxIndexValue, [index]); + return { + index, + decodeKey + }; + } +}; +StringArrayTransformer.minShiftedIndexValue = -1000; +StringArrayTransformer.maxShiftedIndexValue = 1000; +StringArrayTransformer = StringArrayTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ILiteralNodesCacheStorage)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)), + __param(7, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorageAnalyzer)), + __param(8, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(9, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayCustomNode)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof ILiteralNodesCacheStorage_1.ILiteralNodesCacheStorage !== "undefined" && ILiteralNodesCacheStorage_1.ILiteralNodesCacheStorage) === "function" ? _c : Object, typeof (_d = typeof IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage !== "undefined" && IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage) === "function" ? _d : Object, typeof (_e = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _e : Object, typeof (_f = typeof IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage !== "undefined" && IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage) === "function" ? _f : Object, typeof (_g = typeof IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage !== "undefined" && IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage) === "function" ? _g : Object, typeof (_h = typeof IStringArrayStorageAnalyzer_1.IStringArrayStorageAnalyzer !== "undefined" && IStringArrayStorageAnalyzer_1.IStringArrayStorageAnalyzer) === "function" ? _h : Object, typeof (_j = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _j : Object, typeof (_k = typeof TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory !== "undefined" && TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory) === "function" ? _k : Object]) +], StringArrayTransformer); +exports.StringArrayTransformer = StringArrayTransformer; + + +/***/ }), + +/***/ "./src/node/NodeAppender.ts": +/*!**********************************!*\ + !*** ./src/node/NodeAppender.ts ***! + \**********************************/ +/*! flagged exports */ +/*! export NodeAppender [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeAppender = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeAppender { + static append(nodeWithStatements, statements) { + statements = NodeAppender.parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements); + NodeAppender.setScopeStatements(nodeWithStatements, [ + ...NodeAppender.getScopeStatements(nodeWithStatements), + ...statements + ]); + } + static appendToOptimalBlockScope(callsGraphData, nodeWithStatements, bodyStatements, index = 0) { + const targetBlockScope = callsGraphData.length + ? NodeAppender.getOptimalBlockScope(callsGraphData, index) + : nodeWithStatements; + NodeAppender.prepend(targetBlockScope, bodyStatements); + } + static getOptimalBlockScope(callsGraphData, index, deep = Infinity) { + const firstCall = callsGraphData[index]; + if (deep <= 0) { + throw new Error('Invalid `deep` argument value. Value should be bigger then 0.'); + } + if (deep > 1 && firstCall.callsGraph.length) { + return NodeAppender.getOptimalBlockScope(firstCall.callsGraph, 0, --deep); + } + else { + return firstCall.callee; + } + } + static insertBefore(nodeWithStatements, statements, target) { + const indexInScopeStatement = NodeAppender + .getScopeStatements(nodeWithStatements) + .indexOf(target); + NodeAppender.insertAtIndex(nodeWithStatements, statements, indexInScopeStatement); + } + static insertAfter(nodeWithStatements, statements, target) { + const indexInScopeStatement = NodeAppender + .getScopeStatements(nodeWithStatements) + .indexOf(target); + NodeAppender.insertAtIndex(nodeWithStatements, statements, indexInScopeStatement + 1); + } + static insertAtIndex(nodeWithStatements, statements, index) { + statements = NodeAppender.parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements); + NodeAppender.setScopeStatements(nodeWithStatements, [ + ...NodeAppender.getScopeStatements(nodeWithStatements).slice(0, index), + ...statements, + ...NodeAppender.getScopeStatements(nodeWithStatements).slice(index) + ]); + } + static prepend(nodeWithStatements, statements) { + statements = NodeAppender.parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements); + NodeAppender.setScopeStatements(nodeWithStatements, [ + ...statements, + ...NodeAppender.getScopeStatements(nodeWithStatements), + ]); + } + static getScopeStatements(nodeWithStatements) { + if (NodeGuards_1.NodeGuards.isSwitchCaseNode(nodeWithStatements)) { + return nodeWithStatements.consequent; + } + return nodeWithStatements.body; + } + static parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements) { + statements.forEach((statement) => { + statement.parentNode = nodeWithStatements; + }); + return statements; + } + static setScopeStatements(nodeWithStatements, statements) { + if (NodeGuards_1.NodeGuards.isSwitchCaseNode(nodeWithStatements)) { + nodeWithStatements.consequent = statements; + return; + } + nodeWithStatements.body = statements; + } +} +exports.NodeAppender = NodeAppender; + + +/***/ }), + +/***/ "./src/node/NodeFactory.ts": +/*!*********************************!*\ + !*** ./src/node/NodeFactory.ts ***! + \*********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeFactory = void 0; +const escodegen = __importStar(__webpack_require__(/*! @javascript-obfuscator/escodegen */ "@javascript-obfuscator/escodegen")); +const NodeType_1 = __webpack_require__(/*! ../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +class NodeFactory { + static programNode(body = []) { + return { + type: NodeType_1.NodeType.Program, + body, + sourceType: 'script', + metadata: { ignoredNode: false } + }; + } + static arrayExpressionNode(elements = []) { + return { + type: NodeType_1.NodeType.ArrayExpression, + elements, + metadata: { ignoredNode: false } + }; + } + static arrowFunctionExpressionNode(params, expression, body) { + return { + type: NodeType_1.NodeType.ArrowFunctionExpression, + params, + expression, + body + }; + } + static assignmentExpressionNode(operator, left, right) { + return { + type: NodeType_1.NodeType.AssignmentExpression, + operator, + left, + right, + metadata: { ignoredNode: false } + }; + } + static binaryExpressionNode(operator, left, right) { + return { + type: NodeType_1.NodeType.BinaryExpression, + operator, + left, + right, + metadata: { ignoredNode: false } + }; + } + static blockStatementNode(body = []) { + return { + type: NodeType_1.NodeType.BlockStatement, + body, + metadata: { ignoredNode: false } + }; + } + static breakStatement(label) { + return { + type: NodeType_1.NodeType.BreakStatement, + label, + metadata: { ignoredNode: false } + }; + } + static callExpressionNode(callee, args = [], optional = false) { + return { + type: NodeType_1.NodeType.CallExpression, + callee, + optional, + arguments: args, + metadata: { ignoredNode: false } + }; + } + static conditionalExpressionNode(test, consequent, alternate) { + return { + type: NodeType_1.NodeType.ConditionalExpression, + test, + consequent, + alternate, + metadata: { ignoredNode: false } + }; + } + static continueStatement(label) { + return { + type: NodeType_1.NodeType.ContinueStatement, + label, + metadata: { ignoredNode: false } + }; + } + static directiveNode(expression, directive) { + return { + type: NodeType_1.NodeType.ExpressionStatement, + expression, + directive, + metadata: { ignoredNode: false } + }; + } + static exportAllDeclarationNode(source) { + return { + type: NodeType_1.NodeType.ExportAllDeclaration, + source, + metadata: { ignoredNode: false } + }; + } + static exportNamedDeclarationNode(specifiers, source) { + return { + type: NodeType_1.NodeType.ExportNamedDeclaration, + specifiers, + source, + metadata: { ignoredNode: false } + }; + } + static expressionStatementNode(expression) { + return { + type: NodeType_1.NodeType.ExpressionStatement, + expression, + metadata: { ignoredNode: false } + }; + } + static functionDeclarationNode(functionName, params, body) { + return { + type: NodeType_1.NodeType.FunctionDeclaration, + id: NodeFactory.identifierNode(functionName), + params, + body, + generator: false, + metadata: { ignoredNode: false } + }; + } + static functionExpressionNode(params, body) { + return { + type: NodeType_1.NodeType.FunctionExpression, + params, + body, + generator: false, + metadata: { ignoredNode: false } + }; + } + static ifStatementNode(test, consequent, alternate) { + return Object.assign(Object.assign({ type: NodeType_1.NodeType.IfStatement, test, + consequent }, alternate && { alternate }), { metadata: { ignoredNode: false } }); + } + static identifierNode(name) { + return { + type: NodeType_1.NodeType.Identifier, + name, + metadata: { ignoredNode: false } + }; + } + static importDeclarationNode(specifiers, source) { + return { + type: NodeType_1.NodeType.ImportDeclaration, + specifiers, + source, + metadata: { ignoredNode: false } + }; + } + static literalNode(value, raw) { + raw = raw !== undefined ? raw : `'${value}'`; + return { + type: NodeType_1.NodeType.Literal, + value, + raw, + 'x-verbatim-property': { + content: raw, + precedence: escodegen.Precedence.Primary + }, + metadata: { ignoredNode: false } + }; + } + static logicalExpressionNode(operator, left, right) { + return { + type: NodeType_1.NodeType.LogicalExpression, + operator, + left, + right, + metadata: { ignoredNode: false } + }; + } + static memberExpressionNode(object, property, computed = false, optional = false) { + return { + type: NodeType_1.NodeType.MemberExpression, + computed, + object, + optional, + property, + metadata: { ignoredNode: false } + }; + } + static objectExpressionNode(properties) { + return { + type: NodeType_1.NodeType.ObjectExpression, + properties, + metadata: { ignoredNode: false } + }; + } + static propertyNode(key, value, computed = false) { + return { + type: NodeType_1.NodeType.Property, + key, + value, + kind: 'init', + method: false, + shorthand: false, + computed, + metadata: { ignoredNode: false } + }; + } + static returnStatementNode(argument) { + return { + type: NodeType_1.NodeType.ReturnStatement, + argument, + metadata: { ignoredNode: false } + }; + } + static sequenceExpressionNode(expressions) { + return { + type: NodeType_1.NodeType.SequenceExpression, + expressions, + metadata: { ignoredNode: false } + }; + } + static switchStatementNode(discriminant, cases) { + return { + type: NodeType_1.NodeType.SwitchStatement, + discriminant, + cases, + metadata: { ignoredNode: false } + }; + } + static switchCaseNode(test, consequent) { + return { + type: NodeType_1.NodeType.SwitchCase, + test, + consequent, + metadata: { ignoredNode: false } + }; + } + static unaryExpressionNode(operator, argument, prefix = true) { + return { + type: NodeType_1.NodeType.UnaryExpression, + operator, + argument, + prefix, + metadata: { ignoredNode: false } + }; + } + static updateExpressionNode(operator, argumentExpr) { + return { + type: NodeType_1.NodeType.UpdateExpression, + operator, + argument: argumentExpr, + prefix: false, + metadata: { ignoredNode: false } + }; + } + static templateElement(value, tail) { + return { + type: NodeType_1.NodeType.TemplateElement, + value, + tail, + metadata: { ignoredNode: false } + }; + } + static templateLiteral(expressions, quasis) { + return { + type: NodeType_1.NodeType.TemplateLiteral, + expressions, + quasis, + metadata: { ignoredNode: false } + }; + } + static variableDeclarationNode(declarations = [], kind = 'var') { + return { + type: NodeType_1.NodeType.VariableDeclaration, + declarations, + kind, + metadata: { ignoredNode: false } + }; + } + static variableDeclaratorNode(id, init) { + return { + type: NodeType_1.NodeType.VariableDeclarator, + id, + init, + metadata: { ignoredNode: false } + }; + } + static whileStatementNode(test, body) { + return { + type: NodeType_1.NodeType.WhileStatement, + test, + body, + metadata: { ignoredNode: false } + }; + } +} +exports.NodeFactory = NodeFactory; + + +/***/ }), + +/***/ "./src/node/NodeGuards.ts": +/*!********************************!*\ + !*** ./src/node/NodeGuards.ts ***! + \********************************/ +/*! flagged exports */ +/*! export NodeGuards [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeGuards = void 0; +const NodeType_1 = __webpack_require__(/*! ../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +class NodeGuards { + static isArrayPatternNode(node) { + return node.type === NodeType_1.NodeType.ArrayPattern; + } + static isArrowFunctionExpressionNode(node) { + return node.type === NodeType_1.NodeType.ArrowFunctionExpression; + } + static isAssignmentExpressionNode(node) { + return node.type === NodeType_1.NodeType.AssignmentExpression; + } + static isAssignmentPatternNode(node) { + return node.type === NodeType_1.NodeType.AssignmentPattern; + } + static isAwaitExpressionNode(node) { + return node.type === NodeType_1.NodeType.AwaitExpression; + } + static isBigIntLiteralNode(node) { + return NodeGuards.isLiteralNode(node) && !!node.bigint; + } + static isBlockStatementNode(node) { + return node.type === NodeType_1.NodeType.BlockStatement; + } + static isBreakStatementNode(node) { + return node.type === NodeType_1.NodeType.BreakStatement; + } + static isCallExpressionNode(node) { + return node.type === NodeType_1.NodeType.CallExpression; + } + static isClassDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ClassDeclaration && node.id !== null; + } + static isContinueStatementNode(node) { + return node.type === NodeType_1.NodeType.ContinueStatement; + } + static isDirectiveNode(node) { + return node.type === NodeType_1.NodeType.ExpressionStatement + && 'directive' in node; + } + static isExportAllDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ExportAllDeclaration; + } + static isExportNamedDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ExportNamedDeclaration; + } + static isExportSpecifierNode(node) { + return node.type === NodeType_1.NodeType.ExportSpecifier; + } + static isExpressionStatementNode(node) { + return node.type === NodeType_1.NodeType.ExpressionStatement + && !('directive' in node); + } + static isForOfStatementNode(node) { + return node.type === NodeType_1.NodeType.ForOfStatement; + } + static isFunctionNode(node) { + return NodeGuards.isFunctionDeclarationNode(node) || + NodeGuards.isFunctionExpressionNode(node) || + NodeGuards.isArrowFunctionExpressionNode(node); + } + static isFunctionDeclarationNode(node) { + return node.type === NodeType_1.NodeType.FunctionDeclaration && node.id !== null; + } + static isFunctionExpressionNode(node) { + return node.type === NodeType_1.NodeType.FunctionExpression; + } + static isIdentifierNode(node) { + return node.type === NodeType_1.NodeType.Identifier; + } + static isIfStatementNode(node) { + return node.type === NodeType_1.NodeType.IfStatement; + } + static isImportDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ImportDeclaration; + } + static isImportSpecifierNode(node) { + return node.type === NodeType_1.NodeType.ImportSpecifier; + } + static isLabelIdentifierNode(node, parentNode) { + const parentNodeIsLabeledStatementNode = NodeGuards.isLabeledStatementNode(parentNode) && parentNode.label === node; + const parentNodeIsContinueStatementNode = NodeGuards.isContinueStatementNode(parentNode) && parentNode.label === node; + const parentNodeIsBreakStatementNode = NodeGuards.isBreakStatementNode(parentNode) && parentNode.label === node; + return parentNodeIsLabeledStatementNode || parentNodeIsContinueStatementNode || parentNodeIsBreakStatementNode; + } + static isLabeledStatementNode(node) { + return node.type === NodeType_1.NodeType.LabeledStatement; + } + static isLiteralNode(node) { + return node.type === NodeType_1.NodeType.Literal; + } + static isMemberExpressionNode(node) { + return node.type === NodeType_1.NodeType.MemberExpression; + } + static isMethodDefinitionNode(node) { + return node.type === NodeType_1.NodeType.MethodDefinition; + } + static isNode(object) { + return object && !object.type !== undefined; + } + static isNodeWithLexicalScope(node) { + return NodeGuards.isProgramNode(node) || NodeGuards.isFunctionNode(node); + } + static isNodeWithBlockLexicalScope(node) { + return NodeGuards.isNodeWithLexicalScope(node) || NodeGuards.isBlockStatementNode(node); + } + static isNodeWithLexicalScopeStatements(node, parentNode) { + return NodeGuards.isProgramNode(node) + || (NodeGuards.isBlockStatementNode(node) && NodeGuards.nodesWithLexicalStatements.includes(parentNode.type)); + } + static isNodeWithStatements(node) { + return NodeGuards.isProgramNode(node) + || NodeGuards.isBlockStatementNode(node) + || NodeGuards.isSwitchCaseNode(node); + } + static isNodeWithComments(node) { + return Boolean(node.leadingComments) || Boolean(node.trailingComments); + } + static isObjectPatternNode(node) { + return node.type === NodeType_1.NodeType.ObjectPattern; + } + static isObjectExpressionNode(node) { + return node.type === NodeType_1.NodeType.ObjectExpression; + } + static isProgramNode(node) { + return node.type === NodeType_1.NodeType.Program; + } + static isPropertyNode(node) { + return node.type === NodeType_1.NodeType.Property; + } + static isRestElementNode(node) { + return node.type === NodeType_1.NodeType.RestElement; + } + static isReturnStatementNode(node) { + return node.type === NodeType_1.NodeType.ReturnStatement; + } + static isSequenceExpressionNode(node) { + return node.type === NodeType_1.NodeType.SequenceExpression; + } + static isSpreadElementNode(node) { + return node.type === NodeType_1.NodeType.SpreadElement; + } + static isSuperNode(node) { + return node.type === NodeType_1.NodeType.Super; + } + static isSwitchCaseNode(node) { + return node.type === NodeType_1.NodeType.SwitchCase; + } + static isTaggedTemplateExpressionNode(node) { + return node.type === NodeType_1.NodeType.TaggedTemplateExpression; + } + static isTemplateLiteralNode(node) { + return node.type === NodeType_1.NodeType.TemplateLiteral; + } + static isUnaryExpressionNode(node) { + return node.type === NodeType_1.NodeType.UnaryExpression; + } + static isUseStrictOperator(node) { + return NodeGuards.isDirectiveNode(node) + && node.directive === 'use strict'; + } + static isVariableDeclarationNode(node) { + return node.type === NodeType_1.NodeType.VariableDeclaration; + } + static isVariableDeclaratorNode(node) { + return node.type === NodeType_1.NodeType.VariableDeclarator; + } + static isWhileStatementNode(node) { + return node.type === NodeType_1.NodeType.WhileStatement; + } + static isYieldExpressionNode(node) { + return node.type === NodeType_1.NodeType.YieldExpression; + } +} +exports.NodeGuards = NodeGuards; +NodeGuards.nodesWithLexicalStatements = [ + NodeType_1.NodeType.ArrowFunctionExpression, + NodeType_1.NodeType.FunctionDeclaration, + NodeType_1.NodeType.FunctionExpression, + NodeType_1.NodeType.MethodDefinition, +]; + + +/***/ }), + +/***/ "./src/node/NodeLexicalScopeUtils.ts": +/*!*******************************************!*\ + !*** ./src/node/NodeLexicalScopeUtils.ts ***! + \*******************************************/ +/*! flagged exports */ +/*! export NodeLexicalScopeUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeLexicalScopeUtils = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeLexicalScopeUtils { + static getLexicalScope(node) { + return NodeLexicalScopeUtils.getLexicalScopesRecursive(node, 1)[0]; + } + static getLexicalScopes(node) { + return NodeLexicalScopeUtils.getLexicalScopesRecursive(node); + } + static getLexicalScopesRecursive(node, maxSize = Infinity, nodesWithLexicalScope = [], depth = 0) { + if (nodesWithLexicalScope.length >= maxSize) { + return nodesWithLexicalScope; + } + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (NodeGuards_1.NodeGuards.isNodeWithLexicalScope(node)) { + nodesWithLexicalScope.push(node); + } + if (node !== parentNode) { + return NodeLexicalScopeUtils.getLexicalScopesRecursive(parentNode, maxSize, nodesWithLexicalScope, ++depth); + } + return nodesWithLexicalScope; + } +} +exports.NodeLexicalScopeUtils = NodeLexicalScopeUtils; + + +/***/ }), + +/***/ "./src/node/NodeLiteralUtils.ts": +/*!**************************************!*\ + !*** ./src/node/NodeLiteralUtils.ts ***! + \**************************************/ +/*! flagged exports */ +/*! export NodeLiteralUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeLiteralUtils = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeLiteralUtils { + static isStringLiteralNode(literalNode) { + return typeof literalNode.value === 'string'; + } + static isProhibitedLiteralNode(literalNode, parentNode) { + if (NodeGuards_1.NodeGuards.isPropertyNode(parentNode) && !parentNode.computed && parentNode.key === literalNode) { + return true; + } + if (NodeGuards_1.NodeGuards.isImportDeclarationNode(parentNode)) { + return true; + } + if (NodeGuards_1.NodeGuards.isExportAllDeclarationNode(parentNode) || NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode)) { + return true; + } + return false; + } +} +exports.NodeLiteralUtils = NodeLiteralUtils; + + +/***/ }), + +/***/ "./src/node/NodeMetadata.ts": +/*!**********************************!*\ + !*** ./src/node/NodeMetadata.ts ***! + \**********************************/ +/*! flagged exports */ +/*! export NodeMetadata [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeMetadata = void 0; +class NodeMetadata { + static set(node, metadata) { + var _a; + node.metadata = Object.assign((_a = node.metadata) !== null && _a !== void 0 ? _a : {}, metadata); + } + static get(node, metadataKey) { + return node.metadata !== undefined + ? node.metadata[metadataKey] + : undefined; + } + static isForceTransformNode(node) { + return NodeMetadata.get(node, 'forceTransformNode') === true; + } + static isIgnoredNode(node) { + return NodeMetadata.get(node, 'ignoredNode') === true; + } + static isReplacedLiteral(literalNode) { + return NodeMetadata.get(literalNode, 'replacedLiteral') === true; + } +} +exports.NodeMetadata = NodeMetadata; + + +/***/ }), + +/***/ "./src/node/NodeStatementUtils.ts": +/*!****************************************!*\ + !*** ./src/node/NodeStatementUtils.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export NodeStatementUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeStatementUtils = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeStatementUtils { + static getParentNodeWithStatements(node) { + return NodeStatementUtils.getParentNodesWithStatementsRecursive(node, 1)[0]; + } + static getParentNodesWithStatements(node) { + return NodeStatementUtils.getParentNodesWithStatementsRecursive(node); + } + static getNextSiblingStatement(statement) { + return NodeStatementUtils.getSiblingStatementByOffset(statement, 1); + } + static getPreviousSiblingStatement(statement) { + return NodeStatementUtils.getSiblingStatementByOffset(statement, -1); + } + static getRootStatementOfNode(node) { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + throw new Error('Unable to find root statement for `Program` node'); + } + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return NodeStatementUtils.getRootStatementOfNode(parentNode); + } + return node; + } + static getScopeOfNode(node) { + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return NodeStatementUtils.getScopeOfNode(parentNode); + } + return parentNode; + } + static getParentNodesWithStatementsRecursive(node, maxSize = Infinity, nodesWithStatements = [], depth = 0) { + if (nodesWithStatements.length >= maxSize) { + return nodesWithStatements; + } + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (NodeGuards_1.NodeGuards.isProgramNode(node) || + (NodeGuards_1.NodeGuards.isNodeWithLexicalScopeStatements(node, parentNode) && depth > 0)) { + nodesWithStatements.push(node); + } + if (node !== parentNode) { + return NodeStatementUtils.getParentNodesWithStatementsRecursive(parentNode, maxSize, nodesWithStatements, ++depth); + } + return nodesWithStatements; + } + static getSiblingStatementByOffset(statement, offset) { + const scopeNode = NodeStatementUtils.getScopeOfNode(statement); + const scopeBody = !NodeGuards_1.NodeGuards.isSwitchCaseNode(scopeNode) + ? scopeNode.body + : scopeNode.consequent; + const indexInScope = scopeBody.indexOf(statement); + return scopeBody[indexInScope + offset] || null; + } +} +exports.NodeStatementUtils = NodeStatementUtils; + + +/***/ }), + +/***/ "./src/node/NodeUtils.ts": +/*!*******************************!*\ + !*** ./src/node/NodeUtils.ts ***! + \*******************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeUtils = void 0; +const escodegen = __importStar(__webpack_require__(/*! @javascript-obfuscator/escodegen */ "@javascript-obfuscator/escodegen")); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const EcmaVersion_1 = __webpack_require__(/*! ../constants/EcmaVersion */ "./src/constants/EcmaVersion.ts"); +const ASTParserFacade_1 = __webpack_require__(/*! ../ASTParserFacade */ "./src/ASTParserFacade.ts"); +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ./NodeMetadata */ "./src/node/NodeMetadata.ts"); +class NodeUtils { + static addXVerbatimPropertyTo(literalNode) { + literalNode['x-verbatim-property'] = { + content: literalNode.raw, + precedence: escodegen.Precedence.Primary + }; + return literalNode; + } + static clone(astTree) { + return NodeUtils.parentizeAst(NodeUtils.cloneRecursive(astTree)); + } + static convertCodeToStructure(code) { + const structure = ASTParserFacade_1.ASTParserFacade.parse(code, { + ecmaVersion: EcmaVersion_1.ecmaVersion, + sourceType: 'script' + }); + estraverse.replace(structure, { + enter: (node, parentNode) => { + NodeUtils.parentizeNode(node, parentNode); + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + NodeUtils.addXVerbatimPropertyTo(node); + } + NodeMetadata_1.NodeMetadata.set(node, { ignoredNode: false }); + return node; + } + }); + return structure.body; + } + static convertStructureToCode(structure) { + return structure.reduce((code, node) => { + return code + escodegen.generate(node, { + sourceMapWithCode: true + }).code; + }, ''); + } + static getUnaryExpressionArgumentNode(unaryExpressionNode) { + if (NodeGuards_1.NodeGuards.isUnaryExpressionNode(unaryExpressionNode.argument)) { + return NodeUtils.getUnaryExpressionArgumentNode(unaryExpressionNode.argument); + } + return unaryExpressionNode.argument; + } + static parentizeAst(astTree) { + var _a; + const parentNode = (_a = astTree.parentNode) !== null && _a !== void 0 ? _a : null; + estraverse.replace(astTree, { + enter: NodeUtils.parentizeNode + }); + if (parentNode) { + astTree.parentNode = parentNode; + } + return astTree; + } + static parentizeNode(node, parentNode) { + node.parentNode = parentNode !== null && parentNode !== void 0 ? parentNode : node; + return node; + } + static cloneRecursive(node) { + if (node === null) { + return node; + } + const copy = {}; + const nodeKeys = Object.keys(node); + nodeKeys + .forEach((property) => { + var _a; + if (property === 'parentNode') { + return; + } + const value = (_a = node[property]) !== null && _a !== void 0 ? _a : null; + let clonedValue; + if (value === null || value instanceof RegExp) { + clonedValue = value; + } + else if (value instanceof Array) { + clonedValue = value.map(NodeUtils.cloneRecursive); + } + else if (typeof value === 'object') { + clonedValue = NodeUtils.cloneRecursive(value); + } + else { + clonedValue = value; + } + copy[property] = clonedValue; + }); + return copy; + } +} +exports.NodeUtils = NodeUtils; + + +/***/ }), + +/***/ "./src/node/ScopeIdentifiersTraverser.ts": +/*!***********************************************!*\ + !*** ./src/node/ScopeIdentifiersTraverser.ts ***! + \***********************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var ScopeIdentifiersTraverser_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeIdentifiersTraverser = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IScopeAnalyzer_1 = __webpack_require__(/*! ../interfaces/analyzers/scope-analyzer/IScopeAnalyzer */ "./src/interfaces/analyzers/scope-analyzer/IScopeAnalyzer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +let ScopeIdentifiersTraverser = ScopeIdentifiersTraverser_1 = class ScopeIdentifiersTraverser { + constructor(scopeAnalyzer) { + this.scopeAnalyzer = scopeAnalyzer; + } + traverseScopeIdentifiers(programNode, parentNode, callback) { + this.scopeAnalyzer.analyze(programNode); + const globalScope = this.scopeAnalyzer.acquireScope(programNode); + this.traverseScopeIdentifiersRecursive(globalScope, globalScope, callback); + } + traverseScopeThroughIdentifiers(programNode, parentNode, callback) { + this.scopeAnalyzer.analyze(programNode); + const globalScope = this.scopeAnalyzer.acquireScope(programNode); + this.traverseScopeThroughIdentifiersRecursive(globalScope, globalScope, callback); + } + traverseScopeIdentifiersRecursive(rootScope, currentScope, callback) { + const variableScope = currentScope.variableScope; + const variableLexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithBlockLexicalScope(variableScope.block) + ? variableScope.block + : null; + const isGlobalDeclaration = ScopeIdentifiersTraverser_1.globalScopeNames.includes(variableScope.type); + if (!variableLexicalScopeNode) { + return; + } + for (const variable of currentScope.variables) { + if (variable.name === ScopeIdentifiersTraverser_1.argumentsVariableName) { + continue; + } + const isBubblingDeclaration = variable + .identifiers + .some((identifier) => identifier.parentNode + && NodeGuards_1.NodeGuards.isPropertyNode(identifier.parentNode) + && identifier.parentNode.shorthand); + callback({ + isGlobalDeclaration, + isBubblingDeclaration, + rootScope, + variable, + variableScope, + variableLexicalScopeNode + }); + } + for (const childScope of currentScope.childScopes) { + this.traverseScopeIdentifiersRecursive(rootScope, childScope, callback); + } + } + traverseScopeThroughIdentifiersRecursive(rootScope, currentScope, callback) { + const variableScope = currentScope.variableScope; + const variableLexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithBlockLexicalScope(variableScope.block) + ? variableScope.block + : null; + if (!variableLexicalScopeNode) { + return; + } + for (const reference of currentScope.through) { + callback({ + reference, + variableLexicalScopeNode + }); + } + for (const childScope of currentScope.childScopes) { + this.traverseScopeThroughIdentifiersRecursive(rootScope, childScope, callback); + } + } +}; +ScopeIdentifiersTraverser.argumentsVariableName = 'arguments'; +ScopeIdentifiersTraverser.globalScopeNames = [ + 'global', + 'module' +]; +ScopeIdentifiersTraverser = ScopeIdentifiersTraverser_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeAnalyzer)), + __metadata("design:paramtypes", [typeof (_a = typeof IScopeAnalyzer_1.IScopeAnalyzer !== "undefined" && IScopeAnalyzer_1.IScopeAnalyzer) === "function" ? _a : Object]) +], ScopeIdentifiersTraverser); +exports.ScopeIdentifiersTraverser = ScopeIdentifiersTraverser; + + +/***/ }), + +/***/ "./src/options/Options.ts": +/*!********************************!*\ + !*** ./src/options/Options.ts ***! + \********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var Options_1, _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Options = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const class_validator_1 = __webpack_require__(/*! class-validator */ "class-validator"); +const TInputOptions_1 = __webpack_require__(/*! ../types/options/TInputOptions */ "./src/types/options/TInputOptions.ts"); +const TOptionsPreset_1 = __webpack_require__(/*! ../types/options/TOptionsPreset */ "./src/types/options/TOptionsPreset.ts"); +const TStringArrayWrappersType_1 = __webpack_require__(/*! ../types/options/TStringArrayWrappersType */ "./src/types/options/TStringArrayWrappersType.ts"); +const TTypeFromEnum_1 = __webpack_require__(/*! ../types/utils/TTypeFromEnum */ "./src/types/utils/TTypeFromEnum.ts"); +const IOptionsNormalizer_1 = __webpack_require__(/*! ../interfaces/options/IOptionsNormalizer */ "./src/interfaces/options/IOptionsNormalizer.ts"); +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const OptionsPreset_1 = __webpack_require__(/*! ../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const Default_1 = __webpack_require__(/*! ./presets/Default */ "./src/options/presets/Default.ts"); +const LowObfuscation_1 = __webpack_require__(/*! ./presets/LowObfuscation */ "./src/options/presets/LowObfuscation.ts"); +const MediumObfuscation_1 = __webpack_require__(/*! ./presets/MediumObfuscation */ "./src/options/presets/MediumObfuscation.ts"); +const HighObfuscation_1 = __webpack_require__(/*! ./presets/HighObfuscation */ "./src/options/presets/HighObfuscation.ts"); +const ValidationErrorsFormatter_1 = __webpack_require__(/*! ./ValidationErrorsFormatter */ "./src/options/ValidationErrorsFormatter.ts"); +const IsAllowedForObfuscationTargets_1 = __webpack_require__(/*! ./validators/IsAllowedForObfuscationTargets */ "./src/options/validators/IsAllowedForObfuscationTargets.ts"); +let Options = Options_1 = class Options { + constructor(inputOptions, optionsNormalizer) { + var _a; + const optionsPreset = Options_1.getOptionsByPreset((_a = inputOptions.optionsPreset) !== null && _a !== void 0 ? _a : OptionsPreset_1.OptionsPreset.Default); + Object.assign(this, optionsPreset, inputOptions); + const errors = class_validator_1.validateSync(this, Options_1.validatorOptions); + if (errors.length) { + throw new ReferenceError(`Validation failed. errors:\n${ValidationErrorsFormatter_1.ValidationErrorsFormatter.format(errors)}`); + } + Object.assign(this, optionsNormalizer.normalize(this)); + } + static getOptionsByPreset(optionsPreset) { + var _a; + const options = (_a = Options_1.optionPresetsMap.get(optionsPreset)) !== null && _a !== void 0 ? _a : null; + if (!options) { + throw new Error(`Options for preset name \`${optionsPreset}\` are not found`); + } + return options; + } +}; +Options.optionPresetsMap = new Map([ + [OptionsPreset_1.OptionsPreset.Default, Default_1.DEFAULT_PRESET], + [OptionsPreset_1.OptionsPreset.LowObfuscation, LowObfuscation_1.LOW_OBFUSCATION_PRESET], + [OptionsPreset_1.OptionsPreset.MediumObfuscation, MediumObfuscation_1.MEDIUM_OBFUSCATION_PRESET], + [OptionsPreset_1.OptionsPreset.HighObfuscation, HighObfuscation_1.HIGH_OBFUSCATION_PRESET] +]); +Options.validatorOptions = { + validationError: { + target: false + } +}; +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "compact", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "controlFlowFlattening", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.Min(0), + class_validator_1.Max(1), + __metadata("design:type", Number) +], Options.prototype, "controlFlowFlatteningThreshold", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "deadCodeInjection", void 0); +__decorate([ + class_validator_1.IsNumber(), + __metadata("design:type", Number) +], Options.prototype, "deadCodeInjectionThreshold", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "debugProtection", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "debugProtectionInterval", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "disableConsoleOutput", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + IsAllowedForObfuscationTargets_1.IsAllowedForObfuscationTargets([ + ObfuscationTarget_1.ObfuscationTarget.Browser, + ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval, + ]), + __metadata("design:type", Array) +], Options.prototype, "domainLock", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + __metadata("design:type", Array) +], Options.prototype, "forceTransformStrings", void 0); +__decorate([ + class_validator_1.IsIn([ + IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator, + IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator, + IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator, + IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator + ]), + __metadata("design:type", typeof (_a = typeof TTypeFromEnum_1.TTypeFromEnum !== "undefined" && TTypeFromEnum_1.TTypeFromEnum) === "function" ? _a : Object) +], Options.prototype, "identifierNamesGenerator", void 0); +__decorate([ + class_validator_1.IsString(), + __metadata("design:type", String) +], Options.prototype, "identifiersPrefix", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + class_validator_1.ValidateIf((options) => options.identifierNamesGenerator === IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator), + class_validator_1.ArrayNotEmpty(), + __metadata("design:type", Array) +], Options.prototype, "identifiersDictionary", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "ignoreRequireImports", void 0); +__decorate([ + class_validator_1.IsString(), + __metadata("design:type", String) +], Options.prototype, "inputFileName", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "log", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "numbersToExpressions", void 0); +__decorate([ + class_validator_1.IsIn([ + OptionsPreset_1.OptionsPreset.Default, + OptionsPreset_1.OptionsPreset.LowObfuscation, + OptionsPreset_1.OptionsPreset.MediumObfuscation, + OptionsPreset_1.OptionsPreset.HighObfuscation + ]), + __metadata("design:type", typeof (_b = typeof TOptionsPreset_1.TOptionsPreset !== "undefined" && TOptionsPreset_1.TOptionsPreset) === "function" ? _b : Object) +], Options.prototype, "optionsPreset", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "renameGlobals", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "renameProperties", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + __metadata("design:type", Array) +], Options.prototype, "reservedNames", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + __metadata("design:type", Array) +], Options.prototype, "reservedStrings", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "rotateStringArray", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "selfDefending", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "shuffleStringArray", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "simplify", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "sourceMap", void 0); +__decorate([ + class_validator_1.IsString(), + class_validator_1.ValidateIf((options) => Boolean(options.sourceMapBaseUrl)), + class_validator_1.IsUrl({ + require_protocol: true, + require_tld: false, + require_valid_protocol: true + }), + __metadata("design:type", String) +], Options.prototype, "sourceMapBaseUrl", void 0); +__decorate([ + class_validator_1.IsString(), + __metadata("design:type", String) +], Options.prototype, "sourceMapFileName", void 0); +__decorate([ + class_validator_1.IsIn([SourceMapMode_1.SourceMapMode.Inline, SourceMapMode_1.SourceMapMode.Separate]), + __metadata("design:type", typeof (_c = typeof TTypeFromEnum_1.TTypeFromEnum !== "undefined" && TTypeFromEnum_1.TTypeFromEnum) === "function" ? _c : Object) +], Options.prototype, "sourceMapMode", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "splitStrings", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.ValidateIf((options) => Boolean(options.splitStrings)), + class_validator_1.Min(1), + __metadata("design:type", Number) +], Options.prototype, "splitStringsChunkLength", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "stringArray", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsIn([StringArrayEncoding_1.StringArrayEncoding.None, StringArrayEncoding_1.StringArrayEncoding.Base64, StringArrayEncoding_1.StringArrayEncoding.Rc4], { each: true }), + __metadata("design:type", Array) +], Options.prototype, "stringArrayEncoding", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayNotEmpty(), + class_validator_1.ArrayUnique(), + class_validator_1.IsIn([StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber, StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumericString], { each: true }), + __metadata("design:type", Array) +], Options.prototype, "stringArrayIndexesType", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "stringArrayIndexShift", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "stringArrayWrappersChainedCalls", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.Min(0), + __metadata("design:type", Number) +], Options.prototype, "stringArrayWrappersCount", void 0); +__decorate([ + class_validator_1.IsIn([StringArrayWrappersType_1.StringArrayWrappersType.Variable, StringArrayWrappersType_1.StringArrayWrappersType.Function]), + __metadata("design:type", typeof (_d = typeof TStringArrayWrappersType_1.TStringArrayWrappersType !== "undefined" && TStringArrayWrappersType_1.TStringArrayWrappersType) === "function" ? _d : Object) +], Options.prototype, "stringArrayWrappersType", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.Min(0), + class_validator_1.Max(1), + __metadata("design:type", Number) +], Options.prototype, "stringArrayThreshold", void 0); +__decorate([ + class_validator_1.IsIn([ObfuscationTarget_1.ObfuscationTarget.Browser, ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval, ObfuscationTarget_1.ObfuscationTarget.Node]), + __metadata("design:type", typeof (_e = typeof TTypeFromEnum_1.TTypeFromEnum !== "undefined" && TTypeFromEnum_1.TTypeFromEnum) === "function" ? _e : Object) +], Options.prototype, "target", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "transformObjectKeys", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "unicodeEscapeSequence", void 0); +Options = Options_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.TInputOptions)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptionsNormalizer)), + __metadata("design:paramtypes", [typeof (_f = typeof TInputOptions_1.TInputOptions !== "undefined" && TInputOptions_1.TInputOptions) === "function" ? _f : Object, typeof (_g = typeof IOptionsNormalizer_1.IOptionsNormalizer !== "undefined" && IOptionsNormalizer_1.IOptionsNormalizer) === "function" ? _g : Object]) +], Options); +exports.Options = Options; + + +/***/ }), + +/***/ "./src/options/OptionsNormalizer.ts": +/*!******************************************!*\ + !*** ./src/options/OptionsNormalizer.ts ***! + \******************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var OptionsNormalizer_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OptionsNormalizer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ControlFlowFlatteningThresholdRule_1 = __webpack_require__(/*! ./normalizer-rules/ControlFlowFlatteningThresholdRule */ "./src/options/normalizer-rules/ControlFlowFlatteningThresholdRule.ts"); +const DeadCodeInjectionRule_1 = __webpack_require__(/*! ./normalizer-rules/DeadCodeInjectionRule */ "./src/options/normalizer-rules/DeadCodeInjectionRule.ts"); +const DeadCodeInjectionThresholdRule_1 = __webpack_require__(/*! ./normalizer-rules/DeadCodeInjectionThresholdRule */ "./src/options/normalizer-rules/DeadCodeInjectionThresholdRule.ts"); +const DomainLockRule_1 = __webpack_require__(/*! ./normalizer-rules/DomainLockRule */ "./src/options/normalizer-rules/DomainLockRule.ts"); +const InputFileNameRule_1 = __webpack_require__(/*! ./normalizer-rules/InputFileNameRule */ "./src/options/normalizer-rules/InputFileNameRule.ts"); +const SeedRule_1 = __webpack_require__(/*! ./normalizer-rules/SeedRule */ "./src/options/normalizer-rules/SeedRule.ts"); +const SelfDefendingRule_1 = __webpack_require__(/*! ./normalizer-rules/SelfDefendingRule */ "./src/options/normalizer-rules/SelfDefendingRule.ts"); +const SourceMapBaseUrlRule_1 = __webpack_require__(/*! ./normalizer-rules/SourceMapBaseUrlRule */ "./src/options/normalizer-rules/SourceMapBaseUrlRule.ts"); +const SourceMapFileNameRule_1 = __webpack_require__(/*! ./normalizer-rules/SourceMapFileNameRule */ "./src/options/normalizer-rules/SourceMapFileNameRule.ts"); +const SplitStringsChunkLengthRule_1 = __webpack_require__(/*! ./normalizer-rules/SplitStringsChunkLengthRule */ "./src/options/normalizer-rules/SplitStringsChunkLengthRule.ts"); +const StringArrayRule_1 = __webpack_require__(/*! ./normalizer-rules/StringArrayRule */ "./src/options/normalizer-rules/StringArrayRule.ts"); +const StringArrayEncodingRule_1 = __webpack_require__(/*! ./normalizer-rules/StringArrayEncodingRule */ "./src/options/normalizer-rules/StringArrayEncodingRule.ts"); +const StringArrayWappersChainedCalls_1 = __webpack_require__(/*! ./normalizer-rules/StringArrayWappersChainedCalls */ "./src/options/normalizer-rules/StringArrayWappersChainedCalls.ts"); +let OptionsNormalizer = OptionsNormalizer_1 = class OptionsNormalizer { + normalize(options) { + let normalizedOptions = Object.assign({}, options); + for (const normalizerRule of OptionsNormalizer_1.normalizerRules) { + normalizedOptions = normalizerRule(normalizedOptions); + } + return normalizedOptions; + } +}; +OptionsNormalizer.normalizerRules = [ + ControlFlowFlatteningThresholdRule_1.ControlFlowFlatteningThresholdRule, + DeadCodeInjectionRule_1.DeadCodeInjectionRule, + DeadCodeInjectionThresholdRule_1.DeadCodeInjectionThresholdRule, + DomainLockRule_1.DomainLockRule, + InputFileNameRule_1.InputFileNameRule, + SeedRule_1.SeedRule, + SelfDefendingRule_1.SelfDefendingRule, + SourceMapBaseUrlRule_1.SourceMapBaseUrlRule, + SourceMapFileNameRule_1.SourceMapFileNameRule, + SplitStringsChunkLengthRule_1.SplitStringsChunkLengthRule, + StringArrayRule_1.StringArrayRule, + StringArrayEncodingRule_1.StringArrayEncodingRule, + StringArrayWappersChainedCalls_1.StringArrayWrappersChainedCallsRule, +]; +OptionsNormalizer = OptionsNormalizer_1 = __decorate([ + inversify_1.injectable() +], OptionsNormalizer); +exports.OptionsNormalizer = OptionsNormalizer; + + +/***/ }), + +/***/ "./src/options/ValidationErrorsFormatter.ts": +/*!**************************************************!*\ + !*** ./src/options/ValidationErrorsFormatter.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export ValidationErrorsFormatter [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ValidationErrorsFormatter = void 0; +class ValidationErrorsFormatter { + static format(errors) { + return errors + .reduce((errorMessages, error) => [ + ...errorMessages, + ValidationErrorsFormatter.formatWithNestedConstraints(error) + ], []) + .join('\n'); + } + static formatWithNestedConstraints(error) { + const constraints = error.constraints; + if (!constraints) { + return `\`${error.property}\` error\n`; + } + const rootError = `\`${error.property}\` errors:\n`; + const nestedErrors = Object + .keys(constraints) + .map((constraint) => ` - ${constraints[constraint]}\n`) + .join(); + return `${rootError}${nestedErrors}`; + } +} +exports.ValidationErrorsFormatter = ValidationErrorsFormatter; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/ControlFlowFlatteningThresholdRule.ts": +/*!****************************************************************************!*\ + !*** ./src/options/normalizer-rules/ControlFlowFlatteningThresholdRule.ts ***! + \****************************************************************************/ +/*! flagged exports */ +/*! export ControlFlowFlatteningThresholdRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowFlatteningThresholdRule = void 0; +const ControlFlowFlatteningThresholdRule = (options) => { + if (options.controlFlowFlatteningThreshold === 0) { + options = Object.assign(Object.assign({}, options), { controlFlowFlattening: false, controlFlowFlatteningThreshold: 0 }); + } + return options; +}; +exports.ControlFlowFlatteningThresholdRule = ControlFlowFlatteningThresholdRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/DeadCodeInjectionRule.ts": +/*!***************************************************************!*\ + !*** ./src/options/normalizer-rules/DeadCodeInjectionRule.ts ***! + \***************************************************************/ +/*! flagged exports */ +/*! export DeadCodeInjectionRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionRule = void 0; +const Default_1 = __webpack_require__(/*! ../presets/Default */ "./src/options/presets/Default.ts"); +const DeadCodeInjectionRule = (options) => { + if (options.deadCodeInjection) { + options = Object.assign(Object.assign({}, options), { deadCodeInjection: true, stringArray: true }); + if (!options.stringArrayThreshold) { + options = Object.assign(Object.assign({}, options), { stringArray: true, stringArrayThreshold: Default_1.DEFAULT_PRESET.stringArrayThreshold }); + } + } + return options; +}; +exports.DeadCodeInjectionRule = DeadCodeInjectionRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/DeadCodeInjectionThresholdRule.ts": +/*!************************************************************************!*\ + !*** ./src/options/normalizer-rules/DeadCodeInjectionThresholdRule.ts ***! + \************************************************************************/ +/*! flagged exports */ +/*! export DeadCodeInjectionThresholdRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionThresholdRule = void 0; +const DeadCodeInjectionThresholdRule = (options) => { + if (options.deadCodeInjectionThreshold === 0) { + options = Object.assign(Object.assign({}, options), { deadCodeInjection: false, deadCodeInjectionThreshold: 0 }); + } + return options; +}; +exports.DeadCodeInjectionThresholdRule = DeadCodeInjectionThresholdRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/DomainLockRule.ts": +/*!********************************************************!*\ + !*** ./src/options/normalizer-rules/DomainLockRule.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export DomainLockRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockRule = void 0; +const Utils_1 = __webpack_require__(/*! ../../utils/Utils */ "./src/utils/Utils.ts"); +const DomainLockRule = (options) => { + if (options.domainLock.length) { + const normalizedDomains = []; + for (const domain of options.domainLock) { + normalizedDomains.push(Utils_1.Utils.extractDomainFrom(domain)); + } + options = Object.assign(Object.assign({}, options), { domainLock: normalizedDomains }); + } + return options; +}; +exports.DomainLockRule = DomainLockRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/InputFileNameRule.ts": +/*!***********************************************************!*\ + !*** ./src/options/normalizer-rules/InputFileNameRule.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export InputFileNameRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.InputFileNameRule = void 0; +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const InputFileNameRule = (options) => { + let { inputFileName } = options; + if (inputFileName) { + inputFileName = inputFileName + .replace(/^\/+/, '') + .split(StringSeparator_1.StringSeparator.Dot) + .slice(0, -1) + .join(StringSeparator_1.StringSeparator.Dot) || inputFileName; + options = Object.assign(Object.assign({}, options), { inputFileName: `${inputFileName}.js` }); + } + return options; +}; +exports.InputFileNameRule = InputFileNameRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SeedRule.ts": +/*!**************************************************!*\ + !*** ./src/options/normalizer-rules/SeedRule.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export SeedRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SeedRule = void 0; +const SeedRule = (options) => { + if (options.seed) { + return Object.assign(Object.assign({}, options), { seed: options.seed }); + } + const getRandomInteger = (min, max) => { + return Math.floor(Math.random() * (max - min + 1) + min); + }; + return Object.assign(Object.assign({}, options), { seed: getRandomInteger(0, 999999999) }); +}; +exports.SeedRule = SeedRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SelfDefendingRule.ts": +/*!***********************************************************!*\ + !*** ./src/options/normalizer-rules/SelfDefendingRule.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export SelfDefendingRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingRule = void 0; +const SelfDefendingRule = (options) => { + if (options.selfDefending) { + options = Object.assign(Object.assign({}, options), { compact: true, selfDefending: true }); + } + return options; +}; +exports.SelfDefendingRule = SelfDefendingRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SourceMapBaseUrlRule.ts": +/*!**************************************************************!*\ + !*** ./src/options/normalizer-rules/SourceMapBaseUrlRule.ts ***! + \**************************************************************/ +/*! flagged exports */ +/*! export SourceMapBaseUrlRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceMapBaseUrlRule = void 0; +const SourceMapBaseUrlRule = (options) => { + const { sourceMapBaseUrl } = options; + if (!options.sourceMapFileName) { + options = Object.assign(Object.assign({}, options), { sourceMapBaseUrl: '' }); + return options; + } + if (sourceMapBaseUrl && !sourceMapBaseUrl.endsWith('/')) { + options = Object.assign(Object.assign({}, options), { sourceMapBaseUrl: `${sourceMapBaseUrl}/` }); + } + return options; +}; +exports.SourceMapBaseUrlRule = SourceMapBaseUrlRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SourceMapFileNameRule.ts": +/*!***************************************************************!*\ + !*** ./src/options/normalizer-rules/SourceMapFileNameRule.ts ***! + \***************************************************************/ +/*! flagged exports */ +/*! export SourceMapFileNameRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceMapFileNameRule = void 0; +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const SourceMapFileNameRule = (options) => { + let { sourceMapFileName } = options; + if (sourceMapFileName) { + sourceMapFileName = sourceMapFileName + .replace(/^\/+/, '') + .replace(/(?:\.js)?(?:\.map)?$/, ''); + let sourceMapFileNameParts = sourceMapFileName.split(StringSeparator_1.StringSeparator.Dot); + const sourceMapFileNamePartsCount = sourceMapFileNameParts.length; + const lastPart = sourceMapFileNameParts[sourceMapFileNamePartsCount - 1]; + if (sourceMapFileNamePartsCount > 1 && lastPart.length <= 3) { + sourceMapFileNameParts = sourceMapFileNameParts.slice(0, -1); + } + sourceMapFileName = sourceMapFileNameParts.join(StringSeparator_1.StringSeparator.Dot); + options = Object.assign(Object.assign({}, options), { sourceMapFileName: `${sourceMapFileName}.js.map` }); + } + return options; +}; +exports.SourceMapFileNameRule = SourceMapFileNameRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SplitStringsChunkLengthRule.ts": +/*!*********************************************************************!*\ + !*** ./src/options/normalizer-rules/SplitStringsChunkLengthRule.ts ***! + \*********************************************************************/ +/*! flagged exports */ +/*! export SplitStringsChunkLengthRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SplitStringsChunkLengthRule = void 0; +const SplitStringsChunkLengthRule = (options) => { + if (options.splitStringsChunkLength === 0) { + options = Object.assign(Object.assign({}, options), { splitStrings: false, splitStringsChunkLength: 0 }); + } + else { + options = Object.assign(Object.assign({}, options), { splitStringsChunkLength: Math.floor(options.splitStringsChunkLength) }); + } + return options; +}; +exports.SplitStringsChunkLengthRule = SplitStringsChunkLengthRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/StringArrayEncodingRule.ts": +/*!*****************************************************************!*\ + !*** ./src/options/normalizer-rules/StringArrayEncodingRule.ts ***! + \*****************************************************************/ +/*! flagged exports */ +/*! export StringArrayEncodingRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayEncodingRule = void 0; +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayEncodingRule = (options) => { + if (!options.stringArrayEncoding.length) { + options = Object.assign(Object.assign({}, options), { stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ] }); + } + return options; +}; +exports.StringArrayEncodingRule = StringArrayEncodingRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/StringArrayRule.ts": +/*!*********************************************************!*\ + !*** ./src/options/normalizer-rules/StringArrayRule.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export StringArrayRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRule = void 0; +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayRule = (options) => { + if (!options.stringArray) { + options = Object.assign(Object.assign({}, options), { rotateStringArray: false, shuffleStringArray: false, stringArray: false, stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ], stringArrayIndexShift: false, stringArrayWrappersChainedCalls: false, stringArrayWrappersCount: 0, stringArrayThreshold: 0 }); + } + return options; +}; +exports.StringArrayRule = StringArrayRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/StringArrayWappersChainedCalls.ts": +/*!************************************************************************!*\ + !*** ./src/options/normalizer-rules/StringArrayWappersChainedCalls.ts ***! + \************************************************************************/ +/*! flagged exports */ +/*! export StringArrayWrappersChainedCallsRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayWrappersChainedCallsRule = void 0; +const StringArrayWrappersChainedCallsRule = (options) => { + if (options.stringArrayWrappersCount === 0) { + options = Object.assign(Object.assign({}, options), { stringArrayWrappersChainedCalls: false, stringArrayWrappersCount: 0 }); + } + return options; +}; +exports.StringArrayWrappersChainedCallsRule = StringArrayWrappersChainedCallsRule; + + +/***/ }), + +/***/ "./src/options/presets/Default.ts": +/*!****************************************!*\ + !*** ./src/options/presets/Default.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export DEFAULT_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DEFAULT_PRESET = void 0; +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +exports.DEFAULT_PRESET = Object.freeze({ + compact: true, + config: '', + controlFlowFlattening: false, + controlFlowFlatteningThreshold: 0.75, + deadCodeInjection: false, + deadCodeInjectionThreshold: 0.4, + debugProtection: false, + debugProtectionInterval: false, + disableConsoleOutput: false, + domainLock: [], + exclude: [], + forceTransformStrings: [], + identifierNamesGenerator: IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator, + identifiersPrefix: '', + identifiersDictionary: [], + ignoreRequireImports: false, + inputFileName: '', + log: false, + numbersToExpressions: false, + optionsPreset: OptionsPreset_1.OptionsPreset.Default, + renameGlobals: false, + renameProperties: false, + reservedNames: [], + reservedStrings: [], + rotateStringArray: true, + seed: 0, + selfDefending: false, + shuffleStringArray: true, + simplify: true, + sourceMap: false, + sourceMapBaseUrl: '', + sourceMapFileName: '', + sourceMapMode: SourceMapMode_1.SourceMapMode.Separate, + splitStrings: false, + splitStringsChunkLength: 10, + stringArray: true, + stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ], + stringArrayIndexesType: [ + StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber + ], + stringArrayIndexShift: true, + stringArrayWrappersChainedCalls: true, + stringArrayWrappersCount: 1, + stringArrayWrappersType: StringArrayWrappersType_1.StringArrayWrappersType.Variable, + stringArrayThreshold: 0.75, + target: ObfuscationTarget_1.ObfuscationTarget.Browser, + transformObjectKeys: false, + unicodeEscapeSequence: false +}); + + +/***/ }), + +/***/ "./src/options/presets/HighObfuscation.ts": +/*!************************************************!*\ + !*** ./src/options/presets/HighObfuscation.ts ***! + \************************************************/ +/*! flagged exports */ +/*! export HIGH_OBFUSCATION_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HIGH_OBFUSCATION_PRESET = void 0; +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const MediumObfuscation_1 = __webpack_require__(/*! ./MediumObfuscation */ "./src/options/presets/MediumObfuscation.ts"); +exports.HIGH_OBFUSCATION_PRESET = Object.freeze(Object.assign(Object.assign({}, MediumObfuscation_1.MEDIUM_OBFUSCATION_PRESET), { controlFlowFlatteningThreshold: 1, deadCodeInjectionThreshold: 1, debugProtection: true, debugProtectionInterval: true, optionsPreset: OptionsPreset_1.OptionsPreset.HighObfuscation, splitStringsChunkLength: 5, stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.Rc4 + ], stringArrayWrappersCount: 5, stringArrayWrappersType: StringArrayWrappersType_1.StringArrayWrappersType.Function, stringArrayThreshold: 1 })); + + +/***/ }), + +/***/ "./src/options/presets/LowObfuscation.ts": +/*!***********************************************!*\ + !*** ./src/options/presets/LowObfuscation.ts ***! + \***********************************************/ +/*! flagged exports */ +/*! export LOW_OBFUSCATION_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LOW_OBFUSCATION_PRESET = void 0; +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const Default_1 = __webpack_require__(/*! ./Default */ "./src/options/presets/Default.ts"); +exports.LOW_OBFUSCATION_PRESET = Object.freeze(Object.assign(Object.assign({}, Default_1.DEFAULT_PRESET), { disableConsoleOutput: true, optionsPreset: OptionsPreset_1.OptionsPreset.LowObfuscation, rotateStringArray: true, selfDefending: true, shuffleStringArray: true, simplify: true })); + + +/***/ }), + +/***/ "./src/options/presets/MediumObfuscation.ts": +/*!**************************************************!*\ + !*** ./src/options/presets/MediumObfuscation.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export MEDIUM_OBFUSCATION_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MEDIUM_OBFUSCATION_PRESET = void 0; +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const LowObfuscation_1 = __webpack_require__(/*! ./LowObfuscation */ "./src/options/presets/LowObfuscation.ts"); +exports.MEDIUM_OBFUSCATION_PRESET = Object.freeze(Object.assign(Object.assign({}, LowObfuscation_1.LOW_OBFUSCATION_PRESET), { controlFlowFlattening: true, deadCodeInjection: true, numbersToExpressions: true, optionsPreset: OptionsPreset_1.OptionsPreset.MediumObfuscation, splitStrings: true, splitStringsChunkLength: 10, stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.Base64 + ], stringArrayWrappersCount: 2, transformObjectKeys: true })); + + +/***/ }), + +/***/ "./src/options/presets/NoCustomNodes.ts": +/*!**********************************************!*\ + !*** ./src/options/presets/NoCustomNodes.ts ***! + \**********************************************/ +/*! flagged exports */ +/*! export NO_ADDITIONAL_NODES_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NO_ADDITIONAL_NODES_PRESET = void 0; +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +exports.NO_ADDITIONAL_NODES_PRESET = Object.freeze({ + compact: true, + controlFlowFlattening: false, + controlFlowFlatteningThreshold: 0, + deadCodeInjection: false, + deadCodeInjectionThreshold: 0, + debugProtection: false, + debugProtectionInterval: false, + disableConsoleOutput: false, + domainLock: [], + exclude: [], + forceTransformStrings: [], + identifierNamesGenerator: IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator, + identifiersPrefix: '', + identifiersDictionary: [], + ignoreRequireImports: false, + inputFileName: '', + log: false, + numbersToExpressions: false, + renameGlobals: false, + renameProperties: false, + reservedNames: [], + reservedStrings: [], + rotateStringArray: false, + seed: 0, + selfDefending: false, + shuffleStringArray: false, + simplify: false, + sourceMap: false, + sourceMapBaseUrl: '', + sourceMapFileName: '', + sourceMapMode: SourceMapMode_1.SourceMapMode.Separate, + splitStrings: false, + splitStringsChunkLength: 0, + stringArray: false, + stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ], + stringArrayIndexesType: [ + StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber + ], + stringArrayIndexShift: false, + stringArrayWrappersChainedCalls: false, + stringArrayWrappersCount: 0, + stringArrayWrappersType: StringArrayWrappersType_1.StringArrayWrappersType.Variable, + stringArrayThreshold: 0, + target: ObfuscationTarget_1.ObfuscationTarget.Browser, + transformObjectKeys: false, + unicodeEscapeSequence: false +}); + + +/***/ }), + +/***/ "./src/options/validators/IsAllowedForObfuscationTargets.ts": +/*!******************************************************************!*\ + !*** ./src/options/validators/IsAllowedForObfuscationTargets.ts ***! + \******************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IsAllowedForObfuscationTargets = void 0; +const class_validator_1 = __webpack_require__(/*! class-validator */ "class-validator"); +const fast_deep_equal_1 = __importDefault(__webpack_require__(/*! fast-deep-equal */ "fast-deep-equal")); +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const Default_1 = __webpack_require__(/*! ../presets/Default */ "./src/options/presets/Default.ts"); +function IsAllowedForObfuscationTargets(obfuscationTargets, validationOptions) { + return (optionsObject, propertyName) => { + class_validator_1.registerDecorator({ + propertyName, + constraints: [obfuscationTargets], + name: 'IsAllowedForObfuscationTargets', + options: validationOptions, + target: optionsObject.constructor, + validator: { + validate(value, validationArguments) { + const options = validationArguments.object; + const defaultValue = Default_1.DEFAULT_PRESET[propertyName]; + const isDefaultValue = fast_deep_equal_1.default(value, defaultValue); + return isDefaultValue || obfuscationTargets.includes(options.target); + }, + defaultMessage(validationArguments) { + const requiredObfuscationTargetsString = obfuscationTargets.join(`${StringSeparator_1.StringSeparator.Comma} `); + return `This option allowed only for obfuscation targets: ${requiredObfuscationTargetsString}`; + } + } + }); + }; +} +exports.IsAllowedForObfuscationTargets = IsAllowedForObfuscationTargets; + + +/***/ }), + +/***/ "./src/source-code/ObfuscatedCode.ts": +/*!*******************************************!*\ + !*** ./src/source-code/ObfuscatedCode.ts ***! + \*******************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatedCode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ICryptUtils_1 = __webpack_require__(/*! ../interfaces/utils/ICryptUtils */ "./src/interfaces/utils/ICryptUtils.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +let ObfuscatedCode = class ObfuscatedCode { + constructor(cryptUtils, options) { + this.cryptUtils = cryptUtils; + this.options = options; + } + initialize(obfuscatedCode, sourceMap) { + this.obfuscatedCode = obfuscatedCode; + this.sourceMap = sourceMap; + } + getObfuscatedCode() { + return this.correctObfuscatedCode(); + } + getSourceMap() { + return this.sourceMap; + } + toString() { + return this.obfuscatedCode; + } + correctObfuscatedCode() { + if (!this.sourceMap) { + return this.obfuscatedCode; + } + const sourceMapUrl = this.options.sourceMapBaseUrl + this.options.sourceMapFileName; + let sourceMappingUrl = '//# sourceMappingURL='; + switch (this.options.sourceMapMode) { + case SourceMapMode_1.SourceMapMode.Inline: + sourceMappingUrl += `data:application/json;base64,${this.cryptUtils.btoa(this.sourceMap)}`; + break; + case SourceMapMode_1.SourceMapMode.Separate: + default: + if (!sourceMapUrl) { + return this.obfuscatedCode; + } + sourceMappingUrl += sourceMapUrl; + } + return `${this.obfuscatedCode}\n${sourceMappingUrl}`; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ObfuscatedCode.prototype, "obfuscatedCode", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ObfuscatedCode.prototype, "sourceMap", void 0); +ObfuscatedCode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtils)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof ICryptUtils_1.ICryptUtils !== "undefined" && ICryptUtils_1.ICryptUtils) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ObfuscatedCode); +exports.ObfuscatedCode = ObfuscatedCode; + + +/***/ }), + +/***/ "./src/source-code/SourceCode.ts": +/*!***************************************!*\ + !*** ./src/source-code/SourceCode.ts ***! + \***************************************/ +/*! flagged exports */ +/*! export SourceCode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceCode = void 0; +class SourceCode { + constructor(sourceCode, sourceMap) { + this.sourceCode = sourceCode; + this.sourceMap = sourceMap; + } + getSourceCode() { + return this.sourceCode; + } + getSourceMap() { + return this.sourceMap; + } + toString() { + return this.sourceCode; + } +} +exports.SourceCode = SourceCode; + + +/***/ }), + +/***/ "./src/storages/ArrayStorage.ts": +/*!**************************************!*\ + !*** ./src/storages/ArrayStorage.ts ***! + \**************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ArrayStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +let ArrayStorage = class ArrayStorage { + constructor(randomGenerator, options) { + this.storageLength = 0; + this.randomGenerator = randomGenerator; + this.options = options; + } + initialize() { + this.storage = []; + this.storageId = this.randomGenerator.getRandomString(6); + } + delete(key) { + var _a; + const deletedElement = (_a = this.storage.splice(key, 1)[0]) !== null && _a !== void 0 ? _a : undefined; + if (deletedElement) { + this.storageLength--; + } + return deletedElement; + } + get(key) { + return this.storage[key]; + } + getOrThrow(key) { + const value = this.get(key); + if (!value) { + throw new Error(`No value found in array storage with key \`${key}\``); + } + return value; + } + getKeyOf(value) { + const key = this.storage.indexOf(value); + return key >= 0 ? key : null; + } + getLength() { + return this.storageLength; + } + getStorage() { + return this.storage; + } + getStorageId() { + return this.storageId; + } + mergeWith(storage, mergeId = false) { + this.storage = [...this.storage, ...storage.getStorage()]; + if (mergeId) { + this.storageId = storage.getStorageId(); + } + } + set(key, value) { + if (key === this.storageLength) { + this.storage.push(value); + } + else { + this.storage.splice(key, 0, value); + } + this.storageLength++; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], ArrayStorage.prototype, "storage", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ArrayStorage.prototype, "storageId", void 0); +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], ArrayStorage.prototype, "initialize", null); +ArrayStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ArrayStorage); +exports.ArrayStorage = ArrayStorage; + + +/***/ }), + +/***/ "./src/storages/MapStorage.ts": +/*!************************************!*\ + !*** ./src/storages/MapStorage.ts ***! + \************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MapStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +let MapStorage = class MapStorage { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } + initialize() { + this.storage = new Map(); + this.storageId = this.randomGenerator.getRandomString(6); + } + get(key) { + return this.storage.get(key); + } + getOrThrow(key) { + const value = this.get(key); + if (!value) { + throw new Error(`No value found in map storage with key \`${key}\``); + } + return value; + } + getKeyOf(value) { + for (const [key, storageValue] of this.storage) { + if (value === storageValue) { + return key; + } + } + return null; + } + getLength() { + return this.storage.size; + } + getStorage() { + return this.storage; + } + getStorageId() { + return this.storageId; + } + has(key) { + return this.storage.has(key); + } + mergeWith(storage, mergeId = false) { + this.storage = new Map([...this.storage, ...storage.getStorage()]); + if (mergeId) { + this.storageId = storage.getStorageId(); + } + } + set(key, value) { + this.storage.set(key, value); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], MapStorage.prototype, "storageId", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], MapStorage.prototype, "storage", void 0); +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], MapStorage.prototype, "initialize", null); +MapStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], MapStorage); +exports.MapStorage = MapStorage; + + +/***/ }), + +/***/ "./src/storages/custom-code-helpers/CustomCodeHelperGroupStorage.ts": +/*!**************************************************************************!*\ + !*** ./src/storages/custom-code-helpers/CustomCodeHelperGroupStorage.ts ***! + \**************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CustomCodeHelperGroupStorage_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperGroupStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperGroupFactory_1 = __webpack_require__(/*! ../../types/container/custom-code-helpers/TCustomCodeHelperGroupFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperGroupFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const CustomCodeHelperGroup_1 = __webpack_require__(/*! ../../enums/custom-code-helpers/CustomCodeHelperGroup */ "./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let CustomCodeHelperGroupStorage = CustomCodeHelperGroupStorage_1 = class CustomCodeHelperGroupStorage extends MapStorage_1.MapStorage { + constructor(customCodeHelperGroupFactory, randomGenerator, options) { + super(randomGenerator, options); + this.customCodeHelperGroupFactory = customCodeHelperGroupFactory; + } + initialize() { + super.initialize(); + CustomCodeHelperGroupStorage_1.customCodeHelperGroupsList.forEach((customCodeHelperGroupName) => { + const customCodeHelperGroup = this.customCodeHelperGroupFactory(customCodeHelperGroupName); + this.storage.set(customCodeHelperGroupName, customCodeHelperGroup); + }); + } +}; +CustomCodeHelperGroupStorage.customCodeHelperGroupsList = [ + CustomCodeHelperGroup_1.CustomCodeHelperGroup.ConsoleOutput, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.DebugProtection, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.DomainLock, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.SelfDefending, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.StringArray +]; +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], CustomCodeHelperGroupStorage.prototype, "initialize", null); +CustomCodeHelperGroupStorage = CustomCodeHelperGroupStorage_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelperGroup)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TCustomCodeHelperGroupFactory_1.TCustomCodeHelperGroupFactory !== "undefined" && TCustomCodeHelperGroupFactory_1.TCustomCodeHelperGroupFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], CustomCodeHelperGroupStorage); +exports.CustomCodeHelperGroupStorage = CustomCodeHelperGroupStorage; + + +/***/ }), + +/***/ "./src/storages/custom-nodes/ControlFlowStorage.ts": +/*!*********************************************************!*\ + !*** ./src/storages/custom-nodes/ControlFlowStorage.ts ***! + \*********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let ControlFlowStorage = class ControlFlowStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } +}; +ControlFlowStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ControlFlowStorage); +exports.ControlFlowStorage = ControlFlowStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/LiteralNodesCacheStorage.ts": +/*!****************************************************************************!*\ + !*** ./src/storages/string-array-transformers/LiteralNodesCacheStorage.ts ***! + \****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LiteralNodesCacheStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let LiteralNodesCacheStorage = class LiteralNodesCacheStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + buildKey(literalValue, stringArrayStorageItemData) { + return `${literalValue}-${Boolean(stringArrayStorageItemData)}`; + } + shouldUseCachedValue(key, stringArrayStorageItemData) { + return !this.options.stringArrayWrappersCount + && (stringArrayStorageItemData === null || stringArrayStorageItemData === void 0 ? void 0 : stringArrayStorageItemData.encoding) !== StringArrayEncoding_1.StringArrayEncoding.Rc4 + && this.storage.has(key); + } +}; +LiteralNodesCacheStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], LiteralNodesCacheStorage); +exports.LiteralNodesCacheStorage = LiteralNodesCacheStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage.ts": +/*!*******************************************************************************************************!*\ + !*** ./src/storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage.ts ***! + \*******************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperLexicalScopeDataStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let StringArrayScopeCallsWrapperLexicalScopeDataStorage = class StringArrayScopeCallsWrapperLexicalScopeDataStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } +}; +StringArrayScopeCallsWrapperLexicalScopeDataStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayScopeCallsWrapperLexicalScopeDataStorage); +exports.StringArrayScopeCallsWrapperLexicalScopeDataStorage = StringArrayScopeCallsWrapperLexicalScopeDataStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage.ts": +/*!************************************************************************************************!*\ + !*** ./src/storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperNamesDataStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let StringArrayScopeCallsWrapperNamesDataStorage = class StringArrayScopeCallsWrapperNamesDataStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } +}; +StringArrayScopeCallsWrapperNamesDataStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayScopeCallsWrapperNamesDataStorage); +exports.StringArrayScopeCallsWrapperNamesDataStorage = StringArrayScopeCallsWrapperNamesDataStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/StringArrayStorage.ts": +/*!**********************************************************************!*\ + !*** ./src/storages/string-array-transformers/StringArrayStorage.ts ***! + \**********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayStorage_1, _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICryptUtilsSwappedAlphabet_1 = __webpack_require__(/*! ../../interfaces/utils/ICryptUtilsSwappedAlphabet */ "./src/interfaces/utils/ICryptUtilsSwappedAlphabet.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let StringArrayStorage = StringArrayStorage_1 = class StringArrayStorage extends MapStorage_1.MapStorage { + constructor(identifierNamesGeneratorFactory, arrayUtils, randomGenerator, options, cryptUtilsSwappedAlphabet) { + super(randomGenerator, options); + this.rc4EncodedValuesSourcesCache = new Map(); + this.indexShiftAmount = 0; + this.rotationAmount = 0; + this.stringArrayStorageCallsWrapperNamesMap = new Map(); + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.arrayUtils = arrayUtils; + this.cryptUtilsSwappedAlphabet = cryptUtilsSwappedAlphabet; + this.rc4Keys = this.randomGenerator.getRandomGenerator() + .n(() => this.randomGenerator.getRandomGenerator().string({ + length: StringArrayStorage_1.rc4KeyLength + }), StringArrayStorage_1.rc4KeysCount); + } + initialize() { + super.initialize(); + this.indexShiftAmount = this.options.stringArrayIndexShift + ? this.randomGenerator.getRandomInteger(StringArrayStorage_1.minimumIndexShiftAmount, StringArrayStorage_1.maximumIndexShiftAmount) + : 0; + this.rotationAmount = this.options.rotateStringArray + ? this.randomGenerator.getRandomInteger(StringArrayStorage_1.minimumRotationAmount, StringArrayStorage_1.maximumRotationAmount) + : 0; + } + get(value) { + return this.getOrSetIfDoesNotExist(value); + } + getIndexShiftAmount() { + return this.indexShiftAmount; + } + getRotationAmount() { + return this.rotationAmount; + } + getStorageName() { + return this.getStorageId(); + } + getStorageId() { + if (!this.stringArrayStorageName) { + this.stringArrayStorageName = this.identifierNamesGenerator + .generateForGlobalScope(StringArrayStorage_1.stringArrayNameLength); + } + return this.stringArrayStorageName; + } + getStorageCallsWrapperName(stringArrayEncoding) { + var _a; + const storageCallsWrapperName = (_a = this.stringArrayStorageCallsWrapperNamesMap + .get(stringArrayEncoding)) !== null && _a !== void 0 ? _a : null; + if (storageCallsWrapperName) { + return storageCallsWrapperName; + } + const newStorageCallsWrapperName = this.identifierNamesGenerator + .generateForGlobalScope(StringArrayStorage_1.stringArrayNameLength); + this.stringArrayStorageCallsWrapperNamesMap.set(stringArrayEncoding, newStorageCallsWrapperName); + return newStorageCallsWrapperName; + } + rotateStorage() { + if (!this.getLength()) { + return; + } + this.storage = new Map(this.arrayUtils.rotate(Array.from(this.storage.entries()), this.rotationAmount)); + } + shuffleStorage() { + this.storage = new Map(this.arrayUtils + .shuffle(Array.from(this.storage.entries())) + .map(([value, stringArrayStorageItemData], index) => { + stringArrayStorageItemData.index = index; + return [value, stringArrayStorageItemData]; + }) + .sort(([, stringArrayStorageItemDataA], [, stringArrayStorageItemDataB]) => stringArrayStorageItemDataA.index - stringArrayStorageItemDataB.index)); + } + getOrSetIfDoesNotExist(value) { + const { encodedValue, encoding, decodeKey } = this.getEncodedValue(value); + const storedStringArrayStorageItemData = this.storage.get(encodedValue); + if (storedStringArrayStorageItemData) { + return storedStringArrayStorageItemData; + } + const stringArrayStorageItemData = { + encodedValue, + encoding, + decodeKey, + value, + index: this.getLength() + }; + this.storage.set(encodedValue, stringArrayStorageItemData); + return stringArrayStorageItemData; + } + getEncodedValue(value) { + var _a; + const encoding = this.options.stringArrayEncoding.length + ? this.randomGenerator + .getRandomGenerator() + .pickone(this.options.stringArrayEncoding) + : null; + if (!encoding) { + throw new Error('`stringArrayEncoding` option array is empty'); + } + switch (encoding) { + case StringArrayEncoding_1.StringArrayEncoding.Rc4: { + const decodeKey = this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys); + const encodedValue = this.cryptUtilsSwappedAlphabet.btoa(this.cryptUtilsSwappedAlphabet.rc4(value, decodeKey)); + const encodedValueSources = (_a = this.rc4EncodedValuesSourcesCache.get(encodedValue)) !== null && _a !== void 0 ? _a : []; + let encodedValueSourcesLength = encodedValueSources.length; + const shouldAddValueToSourcesCache = !encodedValueSourcesLength || !encodedValueSources.includes(value); + if (shouldAddValueToSourcesCache) { + encodedValueSources.push(value); + encodedValueSourcesLength++; + } + this.rc4EncodedValuesSourcesCache.set(encodedValue, encodedValueSources); + if (encodedValueSourcesLength > 1) { + return this.getEncodedValue(value); + } + return { encodedValue, encoding, decodeKey }; + } + case StringArrayEncoding_1.StringArrayEncoding.Base64: { + const decodeKey = null; + const encodedValue = this.cryptUtilsSwappedAlphabet.btoa(value); + return { encodedValue, encoding, decodeKey }; + } + default: { + const decodeKey = null; + const encodedValue = value; + return { encodedValue, encoding, decodeKey }; + } + } + } +}; +StringArrayStorage.minimumRotationAmount = 100; +StringArrayStorage.maximumRotationAmount = 500; +StringArrayStorage.minimumIndexShiftAmount = 100; +StringArrayStorage.maximumIndexShiftAmount = 500; +StringArrayStorage.rc4KeyLength = 4; +StringArrayStorage.rc4KeysCount = 50; +StringArrayStorage.stringArrayNameLength = 4; +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], StringArrayStorage.prototype, "initialize", null); +StringArrayStorage = StringArrayStorage_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtilsSwappedAlphabet)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object, typeof (_e = typeof ICryptUtilsSwappedAlphabet_1.ICryptUtilsSwappedAlphabet !== "undefined" && ICryptUtilsSwappedAlphabet_1.ICryptUtilsSwappedAlphabet) === "function" ? _e : Object]) +], StringArrayStorage); +exports.StringArrayStorage = StringArrayStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage.ts": +/*!****************************************************************************************!*\ + !*** ./src/storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage.ts ***! + \****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VisitedLexicalScopeNodesStackStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ArrayStorage_1 = __webpack_require__(/*! ../ArrayStorage */ "./src/storages/ArrayStorage.ts"); +let VisitedLexicalScopeNodesStackStorage = class VisitedLexicalScopeNodesStackStorage extends ArrayStorage_1.ArrayStorage { + constructor(randomGenerator, options, arrayUtils) { + super(randomGenerator, options); + this.arrayUtils = arrayUtils; + } + getLastElement() { + return this.arrayUtils.getLastElement(this.getStorage()); + } + getPenultimateElement() { + var _a; + const storageLength = this.getLength(); + return (_a = this.get(storageLength - 2)) !== null && _a !== void 0 ? _a : undefined; + } + push(nodeWithLexicalScopeStatements) { + const storageLength = this.getLength(); + this.set(storageLength, nodeWithLexicalScopeStatements); + } + pop() { + const storageLength = this.getLength(); + return this.delete(storageLength - 1); + } +}; +VisitedLexicalScopeNodesStackStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _c : Object]) +], VisitedLexicalScopeNodesStackStorage); +exports.VisitedLexicalScopeNodesStackStorage = VisitedLexicalScopeNodesStackStorage; + + +/***/ }), + +/***/ "./src/types/container/calls-graph-analyzer/TCalleeDataExtractorFactory.ts": +/*!*********************************************************************************!*\ + !*** ./src/types/container/calls-graph-analyzer/TCalleeDataExtractorFactory.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/code-transformers/TCodeTransformerFactory.ts": +/*!**************************************************************************!*\ + !*** ./src/types/container/code-transformers/TCodeTransformerFactory.ts ***! + \**************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts": +/*!*****************************************************************************!*\ + !*** ./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-code-helpers/TCustomCodeHelperGroupFactory.ts": +/*!**********************************************************************************!*\ + !*** ./src/types/container/custom-code-helpers/TCustomCodeHelperGroupFactory.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts": +/*!***************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory.ts": +/*!*********************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory.ts": +/*!***********************************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory.ts ***! + \***********************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts": +/*!***************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts": +/*!***************************************************************************************************!*\ + !*** ./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts ***! + \***************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts": +/*!****************************************************************************!*\ + !*** ./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts ***! + \****************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TControlFlowReplacerFactory.ts": +/*!******************************************************************************!*\ + !*** ./src/types/container/node-transformers/TControlFlowReplacerFactory.ts ***! + \******************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TControlFlowStorageFactory.ts": +/*!*****************************************************************************!*\ + !*** ./src/types/container/node-transformers/TControlFlowStorageFactory.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TNodeTransformerFactory.ts": +/*!**************************************************************************!*\ + !*** ./src/types/container/node-transformers/TNodeTransformerFactory.ts ***! + \**************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TObfuscatingGuardFactory.ts": +/*!***************************************************************************!*\ + !*** ./src/types/container/node-transformers/TObfuscatingGuardFactory.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TObjectExpressionExtractorFactory.ts": +/*!************************************************************************************!*\ + !*** ./src/types/container/node-transformers/TObjectExpressionExtractorFactory.ts ***! + \************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/source-code/TObfuscatedCodeFactory.ts": +/*!*******************************************************************!*\ + !*** ./src/types/container/source-code/TObfuscatedCodeFactory.ts ***! + \*******************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/options/TInputCLIOptions.ts": +/*!***********************************************!*\ + !*** ./src/types/options/TInputCLIOptions.ts ***! + \***********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/options/TInputOptions.ts": +/*!********************************************!*\ + !*** ./src/types/options/TInputOptions.ts ***! + \********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/options/TOptionsPreset.ts": +/*!*********************************************!*\ + !*** ./src/types/options/TOptionsPreset.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/options/TStringArrayWrappersType.ts": +/*!*******************************************************!*\ + !*** ./src/types/options/TStringArrayWrappersType.ts ***! + \*******************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/storages/TControlFlowStorage.ts": +/*!***************************************************!*\ + !*** ./src/types/storages/TControlFlowStorage.ts ***! + \***************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/storages/TCustomCodeHelperGroupStorage.ts": +/*!*************************************************************!*\ + !*** ./src/types/storages/TCustomCodeHelperGroupStorage.ts ***! + \*************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/utils/TTypeFromEnum.ts": +/*!******************************************!*\ + !*** ./src/types/utils/TTypeFromEnum.ts ***! + \******************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/utils/AbstractTransformerNamesGroupsBuilder.ts": +/*!************************************************************!*\ + !*** ./src/utils/AbstractTransformerNamesGroupsBuilder.ts ***! + \************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractTransformerNamesGroupsBuilder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ILevelledTopologicalSorter_1 = __webpack_require__(/*! ../interfaces/utils/ILevelledTopologicalSorter */ "./src/interfaces/utils/ILevelledTopologicalSorter.ts"); +let AbstractTransformerNamesGroupsBuilder = class AbstractTransformerNamesGroupsBuilder { + constructor(levelledTopologicalSorter) { + this.levelledTopologicalSorter = levelledTopologicalSorter; + } + build(normalizedTransformers) { + const transformerNames = Object.keys(normalizedTransformers); + const relationEdges = this.buildTransformersRelationEdges(transformerNames, normalizedTransformers); + for (const [precedent, consequent] of relationEdges) { + this.levelledTopologicalSorter.add(precedent, consequent); + } + return this.levelledTopologicalSorter.sortByGroups(); + } + buildTransformersRelationEdges(transformerNames, normalizedTransformers) { + const relationEdges = []; + for (const transformerName of transformerNames) { + const transformer = normalizedTransformers[transformerName]; + const runAfterRelations = transformer.runAfter; + if (!runAfterRelations || !runAfterRelations.length) { + relationEdges.push([transformerName, null]); + continue; + } + for (const runAfterRelation of runAfterRelations) { + const isUnknownRelation = normalizedTransformers[runAfterRelation] === undefined; + if (isUnknownRelation) { + relationEdges.push([transformerName, null]); + continue; + } + relationEdges.push([runAfterRelation, transformerName]); + } + } + return relationEdges; + } +}; +AbstractTransformerNamesGroupsBuilder = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ILevelledTopologicalSorter)), + __metadata("design:paramtypes", [typeof (_a = typeof ILevelledTopologicalSorter_1.ILevelledTopologicalSorter !== "undefined" && ILevelledTopologicalSorter_1.ILevelledTopologicalSorter) === "function" ? _a : Object]) +], AbstractTransformerNamesGroupsBuilder); +exports.AbstractTransformerNamesGroupsBuilder = AbstractTransformerNamesGroupsBuilder; + + +/***/ }), + +/***/ "./src/utils/ArrayUtils.ts": +/*!*********************************!*\ + !*** ./src/utils/ArrayUtils.ts ***! + \*********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ArrayUtils = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let ArrayUtils = class ArrayUtils { + constructor(randomGenerator) { + this.randomGenerator = randomGenerator; + } + createWithRange(length) { + const range = []; + for (let i = 0; i < length; i++) { + range.push(i); + } + return range; + } + fillWithRange(length, valueFunction) { + const range = []; + for (let i = 0; i < length; i++) { + range.push(valueFunction(i)); + } + return range; + } + findMostOccurringElement(array) { + var _a; + const arrayLength = array.length; + if (!arrayLength) { + return null; + } + const elementsMap = {}; + let mostOccurringElement = array[0]; + let mostOccurringElementCount = 1; + for (const element of array) { + const currentElementCount = (_a = elementsMap[element]) !== null && _a !== void 0 ? _a : 0; + const updatedElementCount = currentElementCount + 1; + if (updatedElementCount > mostOccurringElementCount) { + mostOccurringElement = element; + mostOccurringElementCount = updatedElementCount; + } + elementsMap[element] = updatedElementCount; + } + return mostOccurringElement; + } + getLastElement(array) { + var _a; + const arrayLength = array.length; + return (_a = array[arrayLength - 1]) !== null && _a !== void 0 ? _a : undefined; + } + rotate(array, times) { + if (!array.length) { + throw new ReferenceError('Cannot rotate empty array.'); + } + if (times <= 0) { + return array; + } + const newArray = array; + let temp; + while (times--) { + temp = newArray.pop(); + if (temp) { + newArray.unshift(temp); + } + } + return newArray; + } + shuffle(array) { + const shuffledArray = [...array]; + for (let i = shuffledArray.length; i; i--) { + const j = Math.floor(this.randomGenerator.getMathRandom() * i); + [shuffledArray[i - 1], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i - 1]]; + } + return shuffledArray; + } +}; +ArrayUtils = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], ArrayUtils); +exports.ArrayUtils = ArrayUtils; + + +/***/ }), + +/***/ "./src/utils/CryptUtils.ts": +/*!*********************************!*\ + !*** ./src/utils/CryptUtils.ts ***! + \*********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CryptUtils = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Base64Alphabet_1 = __webpack_require__(/*! ../constants/Base64Alphabet */ "./src/constants/Base64Alphabet.ts"); +const RandomGenerator_1 = __webpack_require__(/*! ./RandomGenerator */ "./src/utils/RandomGenerator.ts"); +const Utils_1 = __webpack_require__(/*! ./Utils */ "./src/utils/Utils.ts"); +let CryptUtils = class CryptUtils { + constructor(randomGenerator) { + this.base64Alphabet = Base64Alphabet_1.base64alphabet; + this.randomGenerator = randomGenerator; + } + btoa(string) { + const chars = this.base64Alphabet; + let output = ''; + string = encodeURIComponent(string).replace(/%([0-9A-F]{2})/g, (match, p1) => { + return String.fromCharCode(parseInt(`${Utils_1.Utils.hexadecimalPrefix}${p1}`, 16)); + }); + for (let block, charCode, idx = 0, map = chars; string.charAt(idx | 0) || (map = '=', idx % 1); output += map.charAt(63 & block >> 8 - idx % 1 * 8)) { + charCode = string.charCodeAt(idx += 3 / 4); + if (charCode > 0xFF) { + throw new Error('\'btoa\' failed: The string to be encoded contains characters outside of the Latin1 range.'); + } + block = block << 8 | charCode; + } + return output; + } + hideString(str, length) { + const escapeRegExp = (s) => s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + const randomMerge = (s1, s2) => { + let i1 = -1; + let i2 = -1; + let result = ''; + while (i1 < s1.length || i2 < s2.length) { + if (this.randomGenerator.getMathRandom() < 0.5 && i2 < s2.length) { + result += s2.charAt(++i2); + } + else { + result += s1.charAt(++i1); + } + } + return result; + }; + const randomString = this.randomGenerator.getRandomGenerator().string({ + length: length, + pool: RandomGenerator_1.RandomGenerator.randomGeneratorPool + }); + let randomStringDiff = randomString.replace(new RegExp(`[${escapeRegExp(str)}]`, 'g'), ''); + const randomStringDiffArray = randomStringDiff.split(''); + this.randomGenerator.getRandomGenerator().shuffle(randomStringDiffArray); + randomStringDiff = randomStringDiffArray.join(''); + return [randomMerge(str, randomStringDiff), randomStringDiff]; + } + rc4(string, key) { + const s = []; + let j = 0; + let x; + let result = ''; + for (var i = 0; i < 256; i++) { + s[i] = i; + } + for (i = 0; i < 256; i++) { + j = (j + s[i] + key.charCodeAt(i % key.length)) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + } + i = 0; + j = 0; + for (let y = 0; y < string.length; y++) { + i = (i + 1) % 256; + j = (j + s[i]) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + result += String.fromCharCode(string.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]); + } + return result; + } +}; +CryptUtils = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], CryptUtils); +exports.CryptUtils = CryptUtils; + + +/***/ }), + +/***/ "./src/utils/CryptUtilsSwappedAlphabet.ts": +/*!************************************************!*\ + !*** ./src/utils/CryptUtilsSwappedAlphabet.ts ***! + \************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CryptUtilsSwappedAlphabet = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Base64AlphabetSwapped_1 = __webpack_require__(/*! ../constants/Base64AlphabetSwapped */ "./src/constants/Base64AlphabetSwapped.ts"); +const CryptUtils_1 = __webpack_require__(/*! ./CryptUtils */ "./src/utils/CryptUtils.ts"); +let CryptUtilsSwappedAlphabet = class CryptUtilsSwappedAlphabet extends CryptUtils_1.CryptUtils { + constructor(randomGenerator) { + super(randomGenerator); + this.base64Alphabet = Base64AlphabetSwapped_1.base64alphabetSwapped; + } +}; +CryptUtilsSwappedAlphabet = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], CryptUtilsSwappedAlphabet); +exports.CryptUtilsSwappedAlphabet = CryptUtilsSwappedAlphabet; + + +/***/ }), + +/***/ "./src/utils/EscapeSequenceEncoder.ts": +/*!********************************************!*\ + !*** ./src/utils/EscapeSequenceEncoder.ts ***! + \********************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var EscapeSequenceEncoder_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.EscapeSequenceEncoder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +let EscapeSequenceEncoder = EscapeSequenceEncoder_1 = class EscapeSequenceEncoder { + constructor() { + this.stringsCache = new Map(); + } + encode(string, encodeAllSymbols) { + const cacheKey = `${string}-${String(encodeAllSymbols)}`; + if (this.stringsCache.has(cacheKey)) { + return this.stringsCache.get(cacheKey); + } + const radix = 16; + const replaceRegExp = new RegExp('[\\s\\S]', 'g'); + let prefix; + let template; + const result = string.replace(replaceRegExp, (character) => { + const shouldEncodeCharacter = encodeAllSymbols + || EscapeSequenceEncoder_1.forceEscapeCharactersRegExp.test(character); + if (!shouldEncodeCharacter) { + return character; + } + if (EscapeSequenceEncoder_1.ASCIICharactersRegExp.test(character)) { + prefix = '\\x'; + template = '00'; + } + else { + prefix = '\\u'; + template = '0000'; + } + return `${prefix}${(template + character.charCodeAt(0).toString(radix)).slice(-template.length)}`; + }); + this.stringsCache.set(cacheKey, result); + this.stringsCache.set(`${result}-${String(encodeAllSymbols)}`, result); + return result; + } +}; +EscapeSequenceEncoder.ASCIICharactersRegExp = /[\x00-\x7F]/; +EscapeSequenceEncoder.forceEscapeCharactersRegExp = /[\x00-\x1F\x7F-\x9F'"\\\s]/; +EscapeSequenceEncoder = EscapeSequenceEncoder_1 = __decorate([ + inversify_1.injectable() +], EscapeSequenceEncoder); +exports.EscapeSequenceEncoder = EscapeSequenceEncoder; + + +/***/ }), + +/***/ "./src/utils/LevelledTopologicalSorter.ts": +/*!************************************************!*\ + !*** ./src/utils/LevelledTopologicalSorter.ts ***! + \************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LevelledTopologicalSorter = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +let LevelledTopologicalSorter = class LevelledTopologicalSorter { + constructor() { + this.graph = new Map(); + } + add(precedent, consequent = null) { + if (consequent !== null) { + return this.link(precedent, consequent); + } + return this.register(precedent); + } + sort() { + const consequents = Array.from(this.graph.keys()); + const results = []; + const marks = {}; + for (const consequent of consequents) { + if (marks[consequent] !== undefined) { + continue; + } + this.visit(results, marks, consequent); + } + return results; + } + sortByGroups() { + this.sort(); + const resultItemsGroups = []; + while (this.hasNodes()) { + const rootNodes = this.findRootNodes(); + resultItemsGroups.push(rootNodes); + for (const rootNode of rootNodes) { + this.delete(rootNode); + } + } + return resultItemsGroups; + } + delete(consequent) { + const precedents = this.getPrecedents(consequent); + if (precedents.length) { + throw new Error(`Unable to remove non-root node: ${consequent}`); + } + this.graph.delete(consequent); + const precedentsGroups = Array.from(this.graph.values()); + for (const precedentsGroup of precedentsGroups) { + const precedentsCount = precedentsGroup.length - 1; + for (let index = precedentsCount; index >= 0; index = index - 1) { + if (precedentsGroup[index] !== consequent) { + continue; + } + precedentsGroup.splice(index, 1); + } + } + } + findRootNodes() { + const consequents = Array.from(this.graph.keys()); + const rootNodes = []; + for (const consequent of consequents) { + if (!this.hasPrecedents(consequent)) { + rootNodes.push(consequent); + } + } + return rootNodes; + } + getPrecedents(consequent) { + const precedents = this.graph.get(consequent); + if (!precedents) { + throw new Error(`Unknown node: ${consequent}`); + } + return precedents; + } + hasNodes() { + return this.graph.size > 0; + } + hasPrecedents(consequent) { + return this.getPrecedents(consequent).length > 0; + } + link(precedent, consequent) { + this.register(precedent); + this.register(consequent); + const target = this.graph.get(consequent); + if (target && !target.includes(precedent)) { + target.push(precedent); + } + return this; + } + register(name) { + if (!this.graph.has(name)) { + this.graph.set(name, []); + } + return this; + } + visit(results, marks, name) { + const mark = marks[name]; + if (mark === 'visiting') { + throw new Error(`Detected cycle involving node: ${name}`); + } + if (mark) { + return; + } + marks[name] = 'visiting'; + const precedents = this.getPrecedents(name); + for (const precedent of precedents) { + this.visit(results, marks, precedent); + } + marks[name] = 'ok'; + results.push(name); + return; + } +}; +LevelledTopologicalSorter = __decorate([ + inversify_1.injectable() +], LevelledTopologicalSorter); +exports.LevelledTopologicalSorter = LevelledTopologicalSorter; + + +/***/ }), + +/***/ "./src/utils/NumberUtils.ts": +/*!**********************************!*\ + !*** ./src/utils/NumberUtils.ts ***! + \**********************************/ +/*! flagged exports */ +/*! export NumberUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberUtils = void 0; +const Utils_1 = __webpack_require__(/*! ./Utils */ "./src/utils/Utils.ts"); +class NumberUtils { + static toHex(number) { + const radix = 16; + const basePart = typeof number === 'number' + ? number.toString(radix) + : `${number.toString(radix)}n`; + return `${Utils_1.Utils.hexadecimalPrefix}${basePart}`; + } + static isCeil(number) { + return typeof number === 'number' + ? number % 1 === 0 + : true; + } + static isPositive(number) { + if (isNaN(number)) { + throw new Error('Given value is NaN'); + } + if (number > 0) { + return true; + } + if (number < 0) { + return false; + } + if (1 / number === Number.POSITIVE_INFINITY) { + return true; + } + return false; + } + static isUnsafeNumber(number) { + if (isNaN(number)) { + throw new Error('Given value is NaN'); + } + return number < Number.MIN_SAFE_INTEGER || number > Number.MAX_SAFE_INTEGER; + } + static getFactors(number) { + if (number === 0) { + throw new Error('Invalid number. Allowed only non-zero number'); + } + number = Math.abs(number); + if (number === 1) { + return [-number, number]; + } + const factors = []; + const root = Math.sqrt(number); + const isEven = number % 2 === 0; + const incrementValue = isEven ? 1 : 2; + for (let currentFactor = 1; currentFactor <= root; currentFactor += incrementValue) { + if (number % currentFactor !== 0) { + continue; + } + factors.push(...[-currentFactor, currentFactor]); + const compliment = number / currentFactor; + if (compliment !== currentFactor) { + factors.push(...[-compliment, compliment]); + } + } + return factors.sort((a, b) => a - b); + } +} +exports.NumberUtils = NumberUtils; + + +/***/ }), + +/***/ "./src/utils/RandomGenerator.ts": +/*!**************************************!*\ + !*** ./src/utils/RandomGenerator.ts ***! + \**************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var RandomGenerator_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RandomGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const md5_1 = __importDefault(__webpack_require__(/*! md5 */ "md5")); +const chance_1 = __webpack_require__(/*! chance */ "chance"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ISourceCode_1 = __webpack_require__(/*! ../interfaces/source-code/ISourceCode */ "./src/interfaces/source-code/ISourceCode.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AlphabetString_1 = __webpack_require__(/*! ../constants/AlphabetString */ "./src/constants/AlphabetString.ts"); +const AlphabetStringUppercase_1 = __webpack_require__(/*! ../constants/AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +let RandomGenerator = RandomGenerator_1 = class RandomGenerator { + constructor(sourceCode, options) { + this.sourceCode = sourceCode; + this.options = options; + } + initialize() { + this.randomGenerator = new chance_1.Chance(this.getRawSeed()); + } + getMathRandom() { + return this.getRandomInteger(0, 99999) / 100000; + } + getRandomGenerator() { + return this.randomGenerator; + } + getRandomInteger(min, max) { + return this.getRandomGenerator().integer({ + min: min, + max: max + }); + } + getRandomIntegerExcluding(min, max, valuesToExclude) { + const valuesToPickArray = []; + for (let value = min; value <= max; value++) { + if (valuesToExclude.includes(value)) { + continue; + } + valuesToPickArray.push(value); + } + return this.randomGenerator.pickone(valuesToPickArray); + } + getRandomString(length, pool = RandomGenerator_1.randomGeneratorPool) { + return this.getRandomGenerator().string({ length, pool }); + } + getInputSeed() { + return this.options.seed.toString(); + } + getRawSeed() { + const inputSeed = this.getInputSeed(); + const inputSeedParts = `${inputSeed}`.split('|'); + if (inputSeedParts.length > 1) { + return inputSeed; + } + const sourceCodeMD5Hash = md5_1.default(this.sourceCode.getSourceCode()); + return `${inputSeed}|${sourceCodeMD5Hash}`; + } +}; +RandomGenerator.randomGeneratorPool = `${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}`; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof chance_1.Chance !== "undefined" && chance_1.Chance.Chance) === "function" ? _a : Object) +], RandomGenerator.prototype, "randomGenerator", void 0); +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], RandomGenerator.prototype, "initialize", null); +RandomGenerator = RandomGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ISourceCode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof ISourceCode_1.ISourceCode !== "undefined" && ISourceCode_1.ISourceCode) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], RandomGenerator); +exports.RandomGenerator = RandomGenerator; + + +/***/ }), + +/***/ "./src/utils/StringUtils.ts": +/*!**********************************!*\ + !*** ./src/utils/StringUtils.ts ***! + \**********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringUtils = void 0; +const js_string_escape_1 = __importDefault(__webpack_require__(/*! js-string-escape */ "js-string-escape")); +class StringUtils { + static escapeJsString(string) { + return js_string_escape_1.default(string); + } +} +exports.StringUtils = StringUtils; + + +/***/ }), + +/***/ "./src/utils/Utils.ts": +/*!****************************!*\ + !*** ./src/utils/Utils.ts ***! + \****************************/ +/*! flagged exports */ +/*! export Utils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Utils = void 0; +class Utils { + static buildVersionMessage(version, buildTimestamp) { + if (!version || !buildTimestamp) { + return 'unknown'; + } + const buildDate = new Date(parseInt(buildTimestamp, 10)).toISOString(); + return `${version}_${buildDate}`; + } + static extractDomainFrom(url) { + let domain; + if (url.includes('://') || url.indexOf('//') === 0) { + domain = url.split('/')[2]; + } + else { + domain = url.split('/')[0]; + } + domain = domain.split(':')[0]; + return domain; + } + static getIdentifiersPrefixForMultipleSources(identifiersPrefix, sourceCodeIndex) { + const baseIdentifiersPrefix = !!identifiersPrefix + ? identifiersPrefix + : Utils.baseMultipleSourcesIdentifiersPrefix; + return `${baseIdentifiersPrefix}${sourceCodeIndex}`; + } + static makeEnum(enumLikeObject) { + return Object.freeze(Object.assign({}, enumLikeObject)); + } +} +exports.Utils = Utils; +Utils.baseMultipleSourcesIdentifiersPrefix = 'a'; +Utils.hexadecimalPrefix = '0x'; + + +/***/ }), + +/***/ "./src/cli/utils sync recursive": +/*!*****************************!*\ + !*** ./src/cli/utils/ sync ***! + \*****************************/ +/*! default exports */ +/*! exports [not provided] [no usage info] */ +/*! runtime requirements: module, __webpack_require__.o */ +/***/ ((module) => { + +function webpackEmptyContext(req) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +webpackEmptyContext.keys = () => []; +webpackEmptyContext.resolve = webpackEmptyContext; +webpackEmptyContext.id = "./src/cli/utils sync recursive"; +module.exports = webpackEmptyContext; + +/***/ }), + +/***/ "./src/node-transformers/rename-properties-transformers/replacer/ReservedDomProperties.json": +/*!**************************************************************************************************!*\ + !*** ./src/node-transformers/rename-properties-transformers/replacer/ReservedDomProperties.json ***! + \**************************************************************************************************/ +/*! default exports */ +/*! export 0 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 10 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 11 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 12 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 13 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 14 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 15 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 16 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 17 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 18 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 19 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 20 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 21 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 22 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 23 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 24 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 25 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 26 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 27 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 28 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 29 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 30 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 31 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 32 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 33 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 34 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 35 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 36 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 37 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 38 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 39 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 40 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 41 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 42 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 43 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 44 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 45 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 46 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 47 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 48 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 49 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 50 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 51 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 52 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 53 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 54 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 55 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 56 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 57 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 58 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 59 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 6 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 60 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 61 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 62 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 63 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 64 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 65 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 66 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 67 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 68 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 69 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 7 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 70 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 71 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 72 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 73 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 74 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 75 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 76 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 77 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 78 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 79 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 8 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 80 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 81 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 82 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 83 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 84 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 85 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 86 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 87 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 88 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 89 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 9 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 90 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 91 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 92 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 93 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 94 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 95 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 96 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 97 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 98 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 99 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = JSON.parse("[\"$&\",\"$'\",\"$*\",\"$+\",\"$1\",\"$2\",\"$3\",\"$4\",\"$5\",\"$6\",\"$7\",\"$8\",\"$9\",\"$_\",\"$`\",\"$input\",\"@@iterator\",\"ABORT_ERR\",\"ACTIVE\",\"ACTIVE_ATTRIBUTES\",\"ACTIVE_TEXTURE\",\"ACTIVE_UNIFORMS\",\"ADDITION\",\"ALIASED_LINE_WIDTH_RANGE\",\"ALIASED_POINT_SIZE_RANGE\",\"ALLOW_KEYBOARD_INPUT\",\"ALLPASS\",\"ALPHA\",\"ALPHA_BITS\",\"ALT_MASK\",\"ALWAYS\",\"ANY_TYPE\",\"ANY_UNORDERED_NODE_TYPE\",\"ARRAY_BUFFER\",\"ARRAY_BUFFER_BINDING\",\"ATTACHED_SHADERS\",\"ATTRIBUTE_NODE\",\"AT_TARGET\",\"AddSearchProvider\",\"AnalyserNode\",\"AnimationEvent\",\"AnonXMLHttpRequest\",\"ApplicationCache\",\"ApplicationCacheErrorEvent\",\"Array\",\"ArrayBuffer\",\"Attr\",\"Audio\",\"AudioBuffer\",\"AudioBufferSourceNode\",\"AudioContext\",\"AudioDestinationNode\",\"AudioListener\",\"AudioNode\",\"AudioParam\",\"AudioProcessingEvent\",\"AudioStreamTrack\",\"AutocompleteErrorEvent\",\"BACK\",\"BAD_BOUNDARYPOINTS_ERR\",\"BANDPASS\",\"BLEND\",\"BLEND_COLOR\",\"BLEND_DST_ALPHA\",\"BLEND_DST_RGB\",\"BLEND_EQUATION\",\"BLEND_EQUATION_ALPHA\",\"BLEND_EQUATION_RGB\",\"BLEND_SRC_ALPHA\",\"BLEND_SRC_RGB\",\"BLUE_BITS\",\"BLUR\",\"BOOL\",\"BOOLEAN_TYPE\",\"BOOL_VEC2\",\"BOOL_VEC3\",\"BOOL_VEC4\",\"BOTH\",\"BROWSER_DEFAULT_WEBGL\",\"BUBBLING_PHASE\",\"BUFFER_SIZE\",\"BUFFER_USAGE\",\"BYTE\",\"BYTES_PER_ELEMENT\",\"BarProp\",\"BaseHref\",\"BatteryManager\",\"BeforeLoadEvent\",\"BeforeUnloadEvent\",\"BiquadFilterNode\",\"Blob\",\"BlobEvent\",\"Boolean\",\"CAPTURING_PHASE\",\"CCW\",\"CDATASection\",\"CDATA_SECTION_NODE\",\"CHANGE\",\"CHARSET_RULE\",\"CHECKING\",\"CLAMP_TO_EDGE\",\"CLICK\",\"CLOSED\",\"CLOSING\",\"COLOR_ATTACHMENT0\",\"COLOR_BUFFER_BIT\",\"COLOR_CLEAR_VALUE\",\"COLOR_WRITEMASK\",\"COMMENT_NODE\",\"COMPILE_STATUS\",\"COMPRESSED_RGBA_S3TC_DXT1_EXT\",\"COMPRESSED_RGBA_S3TC_DXT3_EXT\",\"COMPRESSED_RGBA_S3TC_DXT5_EXT\",\"COMPRESSED_RGB_S3TC_DXT1_EXT\",\"COMPRESSED_TEXTURE_FORMATS\",\"CONNECTING\",\"CONSTANT_ALPHA\",\"CONSTANT_COLOR\",\"CONSTRAINT_ERR\",\"CONTEXT_LOST_WEBGL\",\"CONTROL_MASK\",\"COUNTER_STYLE_RULE\",\"CSS\",\"CSS2Properties\",\"CSSCharsetRule\",\"CSSConditionRule\",\"CSSCounterStyleRule\",\"CSSFontFaceRule\",\"CSSFontFeatureValuesRule\",\"CSSGroupingRule\",\"CSSImportRule\",\"CSSKeyframeRule\",\"CSSKeyframesRule\",\"CSSMediaRule\",\"CSSMozDocumentRule\",\"CSSNameSpaceRule\",\"CSSPageRule\",\"CSSPrimitiveValue\",\"CSSRule\",\"CSSRuleList\",\"CSSStyleDeclaration\",\"CSSStyleRule\",\"CSSStyleSheet\",\"CSSSupportsRule\",\"CSSUnknownRule\",\"CSSValue\",\"CSSValueList\",\"CSSVariablesDeclaration\",\"CSSVariablesRule\",\"CSSViewportRule\",\"CSS_ATTR\",\"CSS_CM\",\"CSS_COUNTER\",\"CSS_CUSTOM\",\"CSS_DEG\",\"CSS_DIMENSION\",\"CSS_EMS\",\"CSS_EXS\",\"CSS_FILTER_BLUR\",\"CSS_FILTER_BRIGHTNESS\",\"CSS_FILTER_CONTRAST\",\"CSS_FILTER_CUSTOM\",\"CSS_FILTER_DROP_SHADOW\",\"CSS_FILTER_GRAYSCALE\",\"CSS_FILTER_HUE_ROTATE\",\"CSS_FILTER_INVERT\",\"CSS_FILTER_OPACITY\",\"CSS_FILTER_REFERENCE\",\"CSS_FILTER_SATURATE\",\"CSS_FILTER_SEPIA\",\"CSS_GRAD\",\"CSS_HZ\",\"CSS_IDENT\",\"CSS_IN\",\"CSS_INHERIT\",\"CSS_KHZ\",\"CSS_MATRIX\",\"CSS_MATRIX3D\",\"CSS_MM\",\"CSS_MS\",\"CSS_NUMBER\",\"CSS_PC\",\"CSS_PERCENTAGE\",\"CSS_PERSPECTIVE\",\"CSS_PRIMITIVE_VALUE\",\"CSS_PT\",\"CSS_PX\",\"CSS_RAD\",\"CSS_RECT\",\"CSS_RGBCOLOR\",\"CSS_ROTATE\",\"CSS_ROTATE3D\",\"CSS_ROTATEX\",\"CSS_ROTATEY\",\"CSS_ROTATEZ\",\"CSS_S\",\"CSS_SCALE\",\"CSS_SCALE3D\",\"CSS_SCALEX\",\"CSS_SCALEY\",\"CSS_SCALEZ\",\"CSS_SKEW\",\"CSS_SKEWX\",\"CSS_SKEWY\",\"CSS_STRING\",\"CSS_TRANSLATE\",\"CSS_TRANSLATE3D\",\"CSS_TRANSLATEX\",\"CSS_TRANSLATEY\",\"CSS_TRANSLATEZ\",\"CSS_UNKNOWN\",\"CSS_URI\",\"CSS_VALUE_LIST\",\"CSS_VH\",\"CSS_VMAX\",\"CSS_VMIN\",\"CSS_VW\",\"CULL_FACE\",\"CULL_FACE_MODE\",\"CURRENT_PROGRAM\",\"CURRENT_VERTEX_ATTRIB\",\"CUSTOM\",\"CW\",\"CanvasGradient\",\"CanvasPattern\",\"CanvasRenderingContext2D\",\"CaretPosition\",\"ChannelMergerNode\",\"ChannelSplitterNode\",\"CharacterData\",\"ClientRect\",\"ClientRectList\",\"Clipboard\",\"ClipboardEvent\",\"CloseEvent\",\"Collator\",\"CommandEvent\",\"Comment\",\"CompositionEvent\",\"Console\",\"Controllers\",\"ConvolverNode\",\"Counter\",\"Crypto\",\"CryptoKey\",\"CustomEvent\",\"DATABASE_ERR\",\"DATA_CLONE_ERR\",\"DATA_ERR\",\"DBLCLICK\",\"DECR\",\"DECR_WRAP\",\"DELETE_STATUS\",\"DEPTH_ATTACHMENT\",\"DEPTH_BITS\",\"DEPTH_BUFFER_BIT\",\"DEPTH_CLEAR_VALUE\",\"DEPTH_COMPONENT\",\"DEPTH_COMPONENT16\",\"DEPTH_FUNC\",\"DEPTH_RANGE\",\"DEPTH_STENCIL\",\"DEPTH_STENCIL_ATTACHMENT\",\"DEPTH_TEST\",\"DEPTH_WRITEMASK\",\"DIRECTION_DOWN\",\"DIRECTION_LEFT\",\"DIRECTION_RIGHT\",\"DIRECTION_UP\",\"DISABLED\",\"DISPATCH_REQUEST_ERR\",\"DITHER\",\"DOCUMENT_FRAGMENT_NODE\",\"DOCUMENT_NODE\",\"DOCUMENT_POSITION_CONTAINED_BY\",\"DOCUMENT_POSITION_CONTAINS\",\"DOCUMENT_POSITION_DISCONNECTED\",\"DOCUMENT_POSITION_FOLLOWING\",\"DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\",\"DOCUMENT_POSITION_PRECEDING\",\"DOCUMENT_TYPE_NODE\",\"DOMCursor\",\"DOMError\",\"DOMException\",\"DOMImplementation\",\"DOMImplementationLS\",\"DOMMatrix\",\"DOMMatrixReadOnly\",\"DOMParser\",\"DOMPoint\",\"DOMPointReadOnly\",\"DOMQuad\",\"DOMRect\",\"DOMRectList\",\"DOMRectReadOnly\",\"DOMRequest\",\"DOMSTRING_SIZE_ERR\",\"DOMSettableTokenList\",\"DOMStringList\",\"DOMStringMap\",\"DOMTokenList\",\"DOMTransactionEvent\",\"DOM_DELTA_LINE\",\"DOM_DELTA_PAGE\",\"DOM_DELTA_PIXEL\",\"DOM_INPUT_METHOD_DROP\",\"DOM_INPUT_METHOD_HANDWRITING\",\"DOM_INPUT_METHOD_IME\",\"DOM_INPUT_METHOD_KEYBOARD\",\"DOM_INPUT_METHOD_MULTIMODAL\",\"DOM_INPUT_METHOD_OPTION\",\"DOM_INPUT_METHOD_PASTE\",\"DOM_INPUT_METHOD_SCRIPT\",\"DOM_INPUT_METHOD_UNKNOWN\",\"DOM_INPUT_METHOD_VOICE\",\"DOM_KEY_LOCATION_JOYSTICK\",\"DOM_KEY_LOCATION_LEFT\",\"DOM_KEY_LOCATION_MOBILE\",\"DOM_KEY_LOCATION_NUMPAD\",\"DOM_KEY_LOCATION_RIGHT\",\"DOM_KEY_LOCATION_STANDARD\",\"DOM_VK_0\",\"DOM_VK_1\",\"DOM_VK_2\",\"DOM_VK_3\",\"DOM_VK_4\",\"DOM_VK_5\",\"DOM_VK_6\",\"DOM_VK_7\",\"DOM_VK_8\",\"DOM_VK_9\",\"DOM_VK_A\",\"DOM_VK_ACCEPT\",\"DOM_VK_ADD\",\"DOM_VK_ALT\",\"DOM_VK_ALTGR\",\"DOM_VK_AMPERSAND\",\"DOM_VK_ASTERISK\",\"DOM_VK_AT\",\"DOM_VK_ATTN\",\"DOM_VK_B\",\"DOM_VK_BACKSPACE\",\"DOM_VK_BACK_QUOTE\",\"DOM_VK_BACK_SLASH\",\"DOM_VK_BACK_SPACE\",\"DOM_VK_C\",\"DOM_VK_CANCEL\",\"DOM_VK_CAPS_LOCK\",\"DOM_VK_CIRCUMFLEX\",\"DOM_VK_CLEAR\",\"DOM_VK_CLOSE_BRACKET\",\"DOM_VK_CLOSE_CURLY_BRACKET\",\"DOM_VK_CLOSE_PAREN\",\"DOM_VK_COLON\",\"DOM_VK_COMMA\",\"DOM_VK_CONTEXT_MENU\",\"DOM_VK_CONTROL\",\"DOM_VK_CONVERT\",\"DOM_VK_CRSEL\",\"DOM_VK_CTRL\",\"DOM_VK_D\",\"DOM_VK_DECIMAL\",\"DOM_VK_DELETE\",\"DOM_VK_DIVIDE\",\"DOM_VK_DOLLAR\",\"DOM_VK_DOUBLE_QUOTE\",\"DOM_VK_DOWN\",\"DOM_VK_E\",\"DOM_VK_EISU\",\"DOM_VK_END\",\"DOM_VK_ENTER\",\"DOM_VK_EQUALS\",\"DOM_VK_EREOF\",\"DOM_VK_ESCAPE\",\"DOM_VK_EXCLAMATION\",\"DOM_VK_EXECUTE\",\"DOM_VK_EXSEL\",\"DOM_VK_F\",\"DOM_VK_F1\",\"DOM_VK_F10\",\"DOM_VK_F11\",\"DOM_VK_F12\",\"DOM_VK_F13\",\"DOM_VK_F14\",\"DOM_VK_F15\",\"DOM_VK_F16\",\"DOM_VK_F17\",\"DOM_VK_F18\",\"DOM_VK_F19\",\"DOM_VK_F2\",\"DOM_VK_F20\",\"DOM_VK_F21\",\"DOM_VK_F22\",\"DOM_VK_F23\",\"DOM_VK_F24\",\"DOM_VK_F25\",\"DOM_VK_F26\",\"DOM_VK_F27\",\"DOM_VK_F28\",\"DOM_VK_F29\",\"DOM_VK_F3\",\"DOM_VK_F30\",\"DOM_VK_F31\",\"DOM_VK_F32\",\"DOM_VK_F33\",\"DOM_VK_F34\",\"DOM_VK_F35\",\"DOM_VK_F36\",\"DOM_VK_F4\",\"DOM_VK_F5\",\"DOM_VK_F6\",\"DOM_VK_F7\",\"DOM_VK_F8\",\"DOM_VK_F9\",\"DOM_VK_FINAL\",\"DOM_VK_FRONT\",\"DOM_VK_G\",\"DOM_VK_GREATER_THAN\",\"DOM_VK_H\",\"DOM_VK_HANGUL\",\"DOM_VK_HANJA\",\"DOM_VK_HASH\",\"DOM_VK_HELP\",\"DOM_VK_HK_TOGGLE\",\"DOM_VK_HOME\",\"DOM_VK_HYPHEN_MINUS\",\"DOM_VK_I\",\"DOM_VK_INSERT\",\"DOM_VK_J\",\"DOM_VK_JUNJA\",\"DOM_VK_K\",\"DOM_VK_KANA\",\"DOM_VK_KANJI\",\"DOM_VK_L\",\"DOM_VK_LEFT\",\"DOM_VK_LEFT_TAB\",\"DOM_VK_LESS_THAN\",\"DOM_VK_M\",\"DOM_VK_META\",\"DOM_VK_MODECHANGE\",\"DOM_VK_MULTIPLY\",\"DOM_VK_N\",\"DOM_VK_NONCONVERT\",\"DOM_VK_NUMPAD0\",\"DOM_VK_NUMPAD1\",\"DOM_VK_NUMPAD2\",\"DOM_VK_NUMPAD3\",\"DOM_VK_NUMPAD4\",\"DOM_VK_NUMPAD5\",\"DOM_VK_NUMPAD6\",\"DOM_VK_NUMPAD7\",\"DOM_VK_NUMPAD8\",\"DOM_VK_NUMPAD9\",\"DOM_VK_NUM_LOCK\",\"DOM_VK_O\",\"DOM_VK_OEM_1\",\"DOM_VK_OEM_102\",\"DOM_VK_OEM_2\",\"DOM_VK_OEM_3\",\"DOM_VK_OEM_4\",\"DOM_VK_OEM_5\",\"DOM_VK_OEM_6\",\"DOM_VK_OEM_7\",\"DOM_VK_OEM_8\",\"DOM_VK_OEM_COMMA\",\"DOM_VK_OEM_MINUS\",\"DOM_VK_OEM_PERIOD\",\"DOM_VK_OEM_PLUS\",\"DOM_VK_OPEN_BRACKET\",\"DOM_VK_OPEN_CURLY_BRACKET\",\"DOM_VK_OPEN_PAREN\",\"DOM_VK_P\",\"DOM_VK_PA1\",\"DOM_VK_PAGEDOWN\",\"DOM_VK_PAGEUP\",\"DOM_VK_PAGE_DOWN\",\"DOM_VK_PAGE_UP\",\"DOM_VK_PAUSE\",\"DOM_VK_PERCENT\",\"DOM_VK_PERIOD\",\"DOM_VK_PIPE\",\"DOM_VK_PLAY\",\"DOM_VK_PLUS\",\"DOM_VK_PRINT\",\"DOM_VK_PRINTSCREEN\",\"DOM_VK_PROCESSKEY\",\"DOM_VK_PROPERITES\",\"DOM_VK_Q\",\"DOM_VK_QUESTION_MARK\",\"DOM_VK_QUOTE\",\"DOM_VK_R\",\"DOM_VK_REDO\",\"DOM_VK_RETURN\",\"DOM_VK_RIGHT\",\"DOM_VK_S\",\"DOM_VK_SCROLL_LOCK\",\"DOM_VK_SELECT\",\"DOM_VK_SEMICOLON\",\"DOM_VK_SEPARATOR\",\"DOM_VK_SHIFT\",\"DOM_VK_SLASH\",\"DOM_VK_SLEEP\",\"DOM_VK_SPACE\",\"DOM_VK_SUBTRACT\",\"DOM_VK_T\",\"DOM_VK_TAB\",\"DOM_VK_TILDE\",\"DOM_VK_U\",\"DOM_VK_UNDERSCORE\",\"DOM_VK_UNDO\",\"DOM_VK_UNICODE\",\"DOM_VK_UP\",\"DOM_VK_V\",\"DOM_VK_VOLUME_DOWN\",\"DOM_VK_VOLUME_MUTE\",\"DOM_VK_VOLUME_UP\",\"DOM_VK_W\",\"DOM_VK_WIN\",\"DOM_VK_WINDOW\",\"DOM_VK_WIN_ICO_00\",\"DOM_VK_WIN_ICO_CLEAR\",\"DOM_VK_WIN_ICO_HELP\",\"DOM_VK_WIN_OEM_ATTN\",\"DOM_VK_WIN_OEM_AUTO\",\"DOM_VK_WIN_OEM_BACKTAB\",\"DOM_VK_WIN_OEM_CLEAR\",\"DOM_VK_WIN_OEM_COPY\",\"DOM_VK_WIN_OEM_CUSEL\",\"DOM_VK_WIN_OEM_ENLW\",\"DOM_VK_WIN_OEM_FINISH\",\"DOM_VK_WIN_OEM_FJ_JISHO\",\"DOM_VK_WIN_OEM_FJ_LOYA\",\"DOM_VK_WIN_OEM_FJ_MASSHOU\",\"DOM_VK_WIN_OEM_FJ_ROYA\",\"DOM_VK_WIN_OEM_FJ_TOUROKU\",\"DOM_VK_WIN_OEM_JUMP\",\"DOM_VK_WIN_OEM_PA1\",\"DOM_VK_WIN_OEM_PA2\",\"DOM_VK_WIN_OEM_PA3\",\"DOM_VK_WIN_OEM_RESET\",\"DOM_VK_WIN_OEM_WSCTRL\",\"DOM_VK_X\",\"DOM_VK_XF86XK_ADD_FAVORITE\",\"DOM_VK_XF86XK_APPLICATION_LEFT\",\"DOM_VK_XF86XK_APPLICATION_RIGHT\",\"DOM_VK_XF86XK_AUDIO_CYCLE_TRACK\",\"DOM_VK_XF86XK_AUDIO_FORWARD\",\"DOM_VK_XF86XK_AUDIO_LOWER_VOLUME\",\"DOM_VK_XF86XK_AUDIO_MEDIA\",\"DOM_VK_XF86XK_AUDIO_MUTE\",\"DOM_VK_XF86XK_AUDIO_NEXT\",\"DOM_VK_XF86XK_AUDIO_PAUSE\",\"DOM_VK_XF86XK_AUDIO_PLAY\",\"DOM_VK_XF86XK_AUDIO_PREV\",\"DOM_VK_XF86XK_AUDIO_RAISE_VOLUME\",\"DOM_VK_XF86XK_AUDIO_RANDOM_PLAY\",\"DOM_VK_XF86XK_AUDIO_RECORD\",\"DOM_VK_XF86XK_AUDIO_REPEAT\",\"DOM_VK_XF86XK_AUDIO_REWIND\",\"DOM_VK_XF86XK_AUDIO_STOP\",\"DOM_VK_XF86XK_AWAY\",\"DOM_VK_XF86XK_BACK\",\"DOM_VK_XF86XK_BACK_FORWARD\",\"DOM_VK_XF86XK_BATTERY\",\"DOM_VK_XF86XK_BLUE\",\"DOM_VK_XF86XK_BLUETOOTH\",\"DOM_VK_XF86XK_BOOK\",\"DOM_VK_XF86XK_BRIGHTNESS_ADJUST\",\"DOM_VK_XF86XK_CALCULATOR\",\"DOM_VK_XF86XK_CALENDAR\",\"DOM_VK_XF86XK_CD\",\"DOM_VK_XF86XK_CLOSE\",\"DOM_VK_XF86XK_COMMUNITY\",\"DOM_VK_XF86XK_CONTRAST_ADJUST\",\"DOM_VK_XF86XK_COPY\",\"DOM_VK_XF86XK_CUT\",\"DOM_VK_XF86XK_CYCLE_ANGLE\",\"DOM_VK_XF86XK_DISPLAY\",\"DOM_VK_XF86XK_DOCUMENTS\",\"DOM_VK_XF86XK_DOS\",\"DOM_VK_XF86XK_EJECT\",\"DOM_VK_XF86XK_EXCEL\",\"DOM_VK_XF86XK_EXPLORER\",\"DOM_VK_XF86XK_FAVORITES\",\"DOM_VK_XF86XK_FINANCE\",\"DOM_VK_XF86XK_FORWARD\",\"DOM_VK_XF86XK_FRAME_BACK\",\"DOM_VK_XF86XK_FRAME_FORWARD\",\"DOM_VK_XF86XK_GAME\",\"DOM_VK_XF86XK_GO\",\"DOM_VK_XF86XK_GREEN\",\"DOM_VK_XF86XK_HIBERNATE\",\"DOM_VK_XF86XK_HISTORY\",\"DOM_VK_XF86XK_HOME_PAGE\",\"DOM_VK_XF86XK_HOT_LINKS\",\"DOM_VK_XF86XK_I_TOUCH\",\"DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN\",\"DOM_VK_XF86XK_KBD_BRIGHTNESS_UP\",\"DOM_VK_XF86XK_KBD_LIGHT_ON_OFF\",\"DOM_VK_XF86XK_LAUNCH0\",\"DOM_VK_XF86XK_LAUNCH1\",\"DOM_VK_XF86XK_LAUNCH2\",\"DOM_VK_XF86XK_LAUNCH3\",\"DOM_VK_XF86XK_LAUNCH4\",\"DOM_VK_XF86XK_LAUNCH5\",\"DOM_VK_XF86XK_LAUNCH6\",\"DOM_VK_XF86XK_LAUNCH7\",\"DOM_VK_XF86XK_LAUNCH8\",\"DOM_VK_XF86XK_LAUNCH9\",\"DOM_VK_XF86XK_LAUNCH_A\",\"DOM_VK_XF86XK_LAUNCH_B\",\"DOM_VK_XF86XK_LAUNCH_C\",\"DOM_VK_XF86XK_LAUNCH_D\",\"DOM_VK_XF86XK_LAUNCH_E\",\"DOM_VK_XF86XK_LAUNCH_F\",\"DOM_VK_XF86XK_LIGHT_BULB\",\"DOM_VK_XF86XK_LOG_OFF\",\"DOM_VK_XF86XK_MAIL\",\"DOM_VK_XF86XK_MAIL_FORWARD\",\"DOM_VK_XF86XK_MARKET\",\"DOM_VK_XF86XK_MEETING\",\"DOM_VK_XF86XK_MEMO\",\"DOM_VK_XF86XK_MENU_KB\",\"DOM_VK_XF86XK_MENU_PB\",\"DOM_VK_XF86XK_MESSENGER\",\"DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN\",\"DOM_VK_XF86XK_MON_BRIGHTNESS_UP\",\"DOM_VK_XF86XK_MUSIC\",\"DOM_VK_XF86XK_MY_COMPUTER\",\"DOM_VK_XF86XK_MY_SITES\",\"DOM_VK_XF86XK_NEW\",\"DOM_VK_XF86XK_NEWS\",\"DOM_VK_XF86XK_OFFICE_HOME\",\"DOM_VK_XF86XK_OPEN\",\"DOM_VK_XF86XK_OPEN_URL\",\"DOM_VK_XF86XK_OPTION\",\"DOM_VK_XF86XK_PASTE\",\"DOM_VK_XF86XK_PHONE\",\"DOM_VK_XF86XK_PICTURES\",\"DOM_VK_XF86XK_POWER_DOWN\",\"DOM_VK_XF86XK_POWER_OFF\",\"DOM_VK_XF86XK_RED\",\"DOM_VK_XF86XK_REFRESH\",\"DOM_VK_XF86XK_RELOAD\",\"DOM_VK_XF86XK_REPLY\",\"DOM_VK_XF86XK_ROCKER_DOWN\",\"DOM_VK_XF86XK_ROCKER_ENTER\",\"DOM_VK_XF86XK_ROCKER_UP\",\"DOM_VK_XF86XK_ROTATE_WINDOWS\",\"DOM_VK_XF86XK_ROTATION_KB\",\"DOM_VK_XF86XK_ROTATION_PB\",\"DOM_VK_XF86XK_SAVE\",\"DOM_VK_XF86XK_SCREEN_SAVER\",\"DOM_VK_XF86XK_SCROLL_CLICK\",\"DOM_VK_XF86XK_SCROLL_DOWN\",\"DOM_VK_XF86XK_SCROLL_UP\",\"DOM_VK_XF86XK_SEARCH\",\"DOM_VK_XF86XK_SEND\",\"DOM_VK_XF86XK_SHOP\",\"DOM_VK_XF86XK_SPELL\",\"DOM_VK_XF86XK_SPLIT_SCREEN\",\"DOM_VK_XF86XK_STANDBY\",\"DOM_VK_XF86XK_START\",\"DOM_VK_XF86XK_STOP\",\"DOM_VK_XF86XK_SUBTITLE\",\"DOM_VK_XF86XK_SUPPORT\",\"DOM_VK_XF86XK_SUSPEND\",\"DOM_VK_XF86XK_TASK_PANE\",\"DOM_VK_XF86XK_TERMINAL\",\"DOM_VK_XF86XK_TIME\",\"DOM_VK_XF86XK_TOOLS\",\"DOM_VK_XF86XK_TOP_MENU\",\"DOM_VK_XF86XK_TO_DO_LIST\",\"DOM_VK_XF86XK_TRAVEL\",\"DOM_VK_XF86XK_USER1KB\",\"DOM_VK_XF86XK_USER2KB\",\"DOM_VK_XF86XK_USER_PB\",\"DOM_VK_XF86XK_UWB\",\"DOM_VK_XF86XK_VENDOR_HOME\",\"DOM_VK_XF86XK_VIDEO\",\"DOM_VK_XF86XK_VIEW\",\"DOM_VK_XF86XK_WAKE_UP\",\"DOM_VK_XF86XK_WEB_CAM\",\"DOM_VK_XF86XK_WHEEL_BUTTON\",\"DOM_VK_XF86XK_WLAN\",\"DOM_VK_XF86XK_WORD\",\"DOM_VK_XF86XK_WWW\",\"DOM_VK_XF86XK_XFER\",\"DOM_VK_XF86XK_YELLOW\",\"DOM_VK_XF86XK_ZOOM_IN\",\"DOM_VK_XF86XK_ZOOM_OUT\",\"DOM_VK_Y\",\"DOM_VK_Z\",\"DOM_VK_ZOOM\",\"DONE\",\"DONT_CARE\",\"DOWNLOADING\",\"DRAGDROP\",\"DST_ALPHA\",\"DST_COLOR\",\"DYNAMIC_DRAW\",\"DataChannel\",\"DataTransfer\",\"DataTransferItem\",\"DataTransferItemList\",\"DataView\",\"Date\",\"DateTimeFormat\",\"DelayNode\",\"DesktopNotification\",\"DesktopNotificationCenter\",\"DeviceLightEvent\",\"DeviceMotionEvent\",\"DeviceOrientationEvent\",\"DeviceProximityEvent\",\"DeviceStorage\",\"DeviceStorageChangeEvent\",\"Document\",\"DocumentFragment\",\"DocumentType\",\"DragEvent\",\"DynamicsCompressorNode\",\"E\",\"ELEMENT_ARRAY_BUFFER\",\"ELEMENT_ARRAY_BUFFER_BINDING\",\"ELEMENT_NODE\",\"EMPTY\",\"ENCODING_ERR\",\"ENDED\",\"END_TO_END\",\"END_TO_START\",\"ENTITY_NODE\",\"ENTITY_REFERENCE_NODE\",\"EPSILON\",\"EQUAL\",\"EQUALPOWER\",\"ERROR\",\"EXPONENTIAL_DISTANCE\",\"Element\",\"ElementQuery\",\"Entity\",\"EntityReference\",\"Error\",\"ErrorEvent\",\"EvalError\",\"Event\",\"EventException\",\"EventSource\",\"EventTarget\",\"External\",\"FASTEST\",\"FIDOSDK\",\"FILTER_ACCEPT\",\"FILTER_INTERRUPT\",\"FILTER_REJECT\",\"FILTER_SKIP\",\"FINISHED_STATE\",\"FIRST_ORDERED_NODE_TYPE\",\"FLOAT\",\"FLOAT_MAT2\",\"FLOAT_MAT3\",\"FLOAT_MAT4\",\"FLOAT_VEC2\",\"FLOAT_VEC3\",\"FLOAT_VEC4\",\"FOCUS\",\"FONT_FACE_RULE\",\"FONT_FEATURE_VALUES_RULE\",\"FRAGMENT_SHADER\",\"FRAGMENT_SHADER_DERIVATIVE_HINT_OES\",\"FRAMEBUFFER\",\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",\"FRAMEBUFFER_BINDING\",\"FRAMEBUFFER_COMPLETE\",\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",\"FRAMEBUFFER_UNSUPPORTED\",\"FRONT\",\"FRONT_AND_BACK\",\"FRONT_FACE\",\"FUNC_ADD\",\"FUNC_REVERSE_SUBTRACT\",\"FUNC_SUBTRACT\",\"Feed\",\"FeedEntry\",\"File\",\"FileError\",\"FileList\",\"FileReader\",\"FindInPage\",\"Float32Array\",\"Float64Array\",\"FocusEvent\",\"FontFace\",\"FormData\",\"Function\",\"GENERATE_MIPMAP_HINT\",\"GEQUAL\",\"GREATER\",\"GREEN_BITS\",\"GainNode\",\"Gamepad\",\"GamepadButton\",\"GamepadEvent\",\"GestureEvent\",\"HAVE_CURRENT_DATA\",\"HAVE_ENOUGH_DATA\",\"HAVE_FUTURE_DATA\",\"HAVE_METADATA\",\"HAVE_NOTHING\",\"HEADERS_RECEIVED\",\"HIDDEN\",\"HIERARCHY_REQUEST_ERR\",\"HIGHPASS\",\"HIGHSHELF\",\"HIGH_FLOAT\",\"HIGH_INT\",\"HORIZONTAL\",\"HORIZONTAL_AXIS\",\"HRTF\",\"HTMLAllCollection\",\"HTMLAnchorElement\",\"HTMLAppletElement\",\"HTMLAreaElement\",\"HTMLAudioElement\",\"HTMLBRElement\",\"HTMLBaseElement\",\"HTMLBaseFontElement\",\"HTMLBlockquoteElement\",\"HTMLBodyElement\",\"HTMLButtonElement\",\"HTMLCanvasElement\",\"HTMLCollection\",\"HTMLCommandElement\",\"HTMLContentElement\",\"HTMLDListElement\",\"HTMLDataElement\",\"HTMLDataListElement\",\"HTMLDetailsElement\",\"HTMLDialogElement\",\"HTMLDirectoryElement\",\"HTMLDivElement\",\"HTMLDocument\",\"HTMLElement\",\"HTMLEmbedElement\",\"HTMLFieldSetElement\",\"HTMLFontElement\",\"HTMLFormControlsCollection\",\"HTMLFormElement\",\"HTMLFrameElement\",\"HTMLFrameSetElement\",\"HTMLHRElement\",\"HTMLHeadElement\",\"HTMLHeadingElement\",\"HTMLHtmlElement\",\"HTMLIFrameElement\",\"HTMLImageElement\",\"HTMLInputElement\",\"HTMLIsIndexElement\",\"HTMLKeygenElement\",\"HTMLLIElement\",\"HTMLLabelElement\",\"HTMLLegendElement\",\"HTMLLinkElement\",\"HTMLMapElement\",\"HTMLMarqueeElement\",\"HTMLMediaElement\",\"HTMLMenuElement\",\"HTMLMenuItemElement\",\"HTMLMetaElement\",\"HTMLMeterElement\",\"HTMLModElement\",\"HTMLOListElement\",\"HTMLObjectElement\",\"HTMLOptGroupElement\",\"HTMLOptionElement\",\"HTMLOptionsCollection\",\"HTMLOutputElement\",\"HTMLParagraphElement\",\"HTMLParamElement\",\"HTMLPictureElement\",\"HTMLPreElement\",\"HTMLProgressElement\",\"HTMLPropertiesCollection\",\"HTMLQuoteElement\",\"HTMLScriptElement\",\"HTMLSelectElement\",\"HTMLShadowElement\",\"HTMLSourceElement\",\"HTMLSpanElement\",\"HTMLStyleElement\",\"HTMLTableCaptionElement\",\"HTMLTableCellElement\",\"HTMLTableColElement\",\"HTMLTableElement\",\"HTMLTableRowElement\",\"HTMLTableSectionElement\",\"HTMLTemplateElement\",\"HTMLTextAreaElement\",\"HTMLTimeElement\",\"HTMLTitleElement\",\"HTMLTrackElement\",\"HTMLUListElement\",\"HTMLUnknownElement\",\"HTMLVideoElement\",\"HashChangeEvent\",\"Headers\",\"History\",\"ICE_CHECKING\",\"ICE_CLOSED\",\"ICE_COMPLETED\",\"ICE_CONNECTED\",\"ICE_FAILED\",\"ICE_GATHERING\",\"ICE_WAITING\",\"IDBCursor\",\"IDBCursorWithValue\",\"IDBDatabase\",\"IDBDatabaseException\",\"IDBFactory\",\"IDBFileHandle\",\"IDBFileRequest\",\"IDBIndex\",\"IDBKeyRange\",\"IDBMutableFile\",\"IDBObjectStore\",\"IDBOpenDBRequest\",\"IDBRequest\",\"IDBTransaction\",\"IDBVersionChangeEvent\",\"IDLE\",\"IMPLEMENTATION_COLOR_READ_FORMAT\",\"IMPLEMENTATION_COLOR_READ_TYPE\",\"IMPORT_RULE\",\"INCR\",\"INCR_WRAP\",\"INDEX_SIZE_ERR\",\"INT\",\"INT_VEC2\",\"INT_VEC3\",\"INT_VEC4\",\"INUSE_ATTRIBUTE_ERR\",\"INVALID_ACCESS_ERR\",\"INVALID_CHARACTER_ERR\",\"INVALID_ENUM\",\"INVALID_EXPRESSION_ERR\",\"INVALID_FRAMEBUFFER_OPERATION\",\"INVALID_MODIFICATION_ERR\",\"INVALID_NODE_TYPE_ERR\",\"INVALID_OPERATION\",\"INVALID_STATE_ERR\",\"INVALID_VALUE\",\"INVERSE_DISTANCE\",\"INVERT\",\"IceCandidate\",\"Image\",\"ImageBitmap\",\"ImageData\",\"Infinity\",\"InputEvent\",\"InputMethodContext\",\"InstallTrigger\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Intent\",\"InternalError\",\"Intl\",\"IsSearchProviderInstalled\",\"Iterator\",\"JSON\",\"KEEP\",\"KEYDOWN\",\"KEYFRAMES_RULE\",\"KEYFRAME_RULE\",\"KEYPRESS\",\"KEYUP\",\"KeyEvent\",\"KeyboardEvent\",\"LENGTHADJUST_SPACING\",\"LENGTHADJUST_SPACINGANDGLYPHS\",\"LENGTHADJUST_UNKNOWN\",\"LEQUAL\",\"LESS\",\"LINEAR\",\"LINEAR_DISTANCE\",\"LINEAR_MIPMAP_LINEAR\",\"LINEAR_MIPMAP_NEAREST\",\"LINES\",\"LINE_LOOP\",\"LINE_STRIP\",\"LINE_WIDTH\",\"LINK_STATUS\",\"LIVE\",\"LN10\",\"LN2\",\"LOADED\",\"LOADING\",\"LOG10E\",\"LOG2E\",\"LOWPASS\",\"LOWSHELF\",\"LOW_FLOAT\",\"LOW_INT\",\"LSException\",\"LSParserFilter\",\"LUMINANCE\",\"LUMINANCE_ALPHA\",\"LocalMediaStream\",\"Location\",\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",\"MAX_CUBE_MAP_TEXTURE_SIZE\",\"MAX_FRAGMENT_UNIFORM_VECTORS\",\"MAX_RENDERBUFFER_SIZE\",\"MAX_SAFE_INTEGER\",\"MAX_TEXTURE_IMAGE_UNITS\",\"MAX_TEXTURE_MAX_ANISOTROPY_EXT\",\"MAX_TEXTURE_SIZE\",\"MAX_VALUE\",\"MAX_VARYING_VECTORS\",\"MAX_VERTEX_ATTRIBS\",\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",\"MAX_VERTEX_UNIFORM_VECTORS\",\"MAX_VIEWPORT_DIMS\",\"MEDIA_ERR_ABORTED\",\"MEDIA_ERR_DECODE\",\"MEDIA_ERR_ENCRYPTED\",\"MEDIA_ERR_NETWORK\",\"MEDIA_ERR_SRC_NOT_SUPPORTED\",\"MEDIA_KEYERR_CLIENT\",\"MEDIA_KEYERR_DOMAIN\",\"MEDIA_KEYERR_HARDWARECHANGE\",\"MEDIA_KEYERR_OUTPUT\",\"MEDIA_KEYERR_SERVICE\",\"MEDIA_KEYERR_UNKNOWN\",\"MEDIA_RULE\",\"MEDIUM_FLOAT\",\"MEDIUM_INT\",\"META_MASK\",\"MIN_SAFE_INTEGER\",\"MIN_VALUE\",\"MIRRORED_REPEAT\",\"MODE_ASYNCHRONOUS\",\"MODE_SYNCHRONOUS\",\"MODIFICATION\",\"MOUSEDOWN\",\"MOUSEDRAG\",\"MOUSEMOVE\",\"MOUSEOUT\",\"MOUSEOVER\",\"MOUSEUP\",\"MOZ_KEYFRAMES_RULE\",\"MOZ_KEYFRAME_RULE\",\"MOZ_SOURCE_CURSOR\",\"MOZ_SOURCE_ERASER\",\"MOZ_SOURCE_KEYBOARD\",\"MOZ_SOURCE_MOUSE\",\"MOZ_SOURCE_PEN\",\"MOZ_SOURCE_TOUCH\",\"MOZ_SOURCE_UNKNOWN\",\"MSGESTURE_FLAG_BEGIN\",\"MSGESTURE_FLAG_CANCEL\",\"MSGESTURE_FLAG_END\",\"MSGESTURE_FLAG_INERTIA\",\"MSGESTURE_FLAG_NONE\",\"MSPOINTER_TYPE_MOUSE\",\"MSPOINTER_TYPE_PEN\",\"MSPOINTER_TYPE_TOUCH\",\"MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE\",\"MS_ASYNC_CALLBACK_STATUS_CANCEL\",\"MS_ASYNC_CALLBACK_STATUS_CHOOSEANY\",\"MS_ASYNC_CALLBACK_STATUS_ERROR\",\"MS_ASYNC_CALLBACK_STATUS_JOIN\",\"MS_ASYNC_OP_STATUS_CANCELED\",\"MS_ASYNC_OP_STATUS_ERROR\",\"MS_ASYNC_OP_STATUS_SUCCESS\",\"MS_MANIPULATION_STATE_ACTIVE\",\"MS_MANIPULATION_STATE_CANCELLED\",\"MS_MANIPULATION_STATE_COMMITTED\",\"MS_MANIPULATION_STATE_DRAGGING\",\"MS_MANIPULATION_STATE_INERTIA\",\"MS_MANIPULATION_STATE_PRESELECT\",\"MS_MANIPULATION_STATE_SELECTING\",\"MS_MANIPULATION_STATE_STOPPED\",\"MS_MEDIA_ERR_ENCRYPTED\",\"MS_MEDIA_KEYERR_CLIENT\",\"MS_MEDIA_KEYERR_DOMAIN\",\"MS_MEDIA_KEYERR_HARDWARECHANGE\",\"MS_MEDIA_KEYERR_OUTPUT\",\"MS_MEDIA_KEYERR_SERVICE\",\"MS_MEDIA_KEYERR_UNKNOWN\",\"Map\",\"Math\",\"MediaController\",\"MediaDevices\",\"MediaElementAudioSourceNode\",\"MediaEncryptedEvent\",\"MediaError\",\"MediaKeyError\",\"MediaKeyEvent\",\"MediaKeyMessageEvent\",\"MediaKeyNeededEvent\",\"MediaKeySession\",\"MediaKeyStatusMap\",\"MediaKeySystemAccess\",\"MediaKeys\",\"MediaList\",\"MediaQueryList\",\"MediaQueryListEvent\",\"MediaRecorder\",\"MediaSource\",\"MediaStream\",\"MediaStreamAudioDestinationNode\",\"MediaStreamAudioSourceNode\",\"MediaStreamEvent\",\"MediaStreamTrack\",\"MediaStreamTrackEvent\",\"MessageChannel\",\"MessageEvent\",\"MessagePort\",\"Methods\",\"MimeType\",\"MimeTypeArray\",\"MouseEvent\",\"MouseScrollEvent\",\"MozAnimation\",\"MozAnimationDelay\",\"MozAnimationDirection\",\"MozAnimationDuration\",\"MozAnimationFillMode\",\"MozAnimationIterationCount\",\"MozAnimationName\",\"MozAnimationPlayState\",\"MozAnimationTimingFunction\",\"MozAppearance\",\"MozBackfaceVisibility\",\"MozBinding\",\"MozBorderBottomColors\",\"MozBorderEnd\",\"MozBorderEndColor\",\"MozBorderEndStyle\",\"MozBorderEndWidth\",\"MozBorderImage\",\"MozBorderLeftColors\",\"MozBorderRightColors\",\"MozBorderStart\",\"MozBorderStartColor\",\"MozBorderStartStyle\",\"MozBorderStartWidth\",\"MozBorderTopColors\",\"MozBoxAlign\",\"MozBoxDirection\",\"MozBoxFlex\",\"MozBoxOrdinalGroup\",\"MozBoxOrient\",\"MozBoxPack\",\"MozBoxSizing\",\"MozCSSKeyframeRule\",\"MozCSSKeyframesRule\",\"MozColumnCount\",\"MozColumnFill\",\"MozColumnGap\",\"MozColumnRule\",\"MozColumnRuleColor\",\"MozColumnRuleStyle\",\"MozColumnRuleWidth\",\"MozColumnWidth\",\"MozColumns\",\"MozContactChangeEvent\",\"MozFloatEdge\",\"MozFontFeatureSettings\",\"MozFontLanguageOverride\",\"MozForceBrokenImageIcon\",\"MozHyphens\",\"MozImageRegion\",\"MozMarginEnd\",\"MozMarginStart\",\"MozMmsEvent\",\"MozMmsMessage\",\"MozMobileMessageThread\",\"MozOSXFontSmoothing\",\"MozOrient\",\"MozOutlineRadius\",\"MozOutlineRadiusBottomleft\",\"MozOutlineRadiusBottomright\",\"MozOutlineRadiusTopleft\",\"MozOutlineRadiusTopright\",\"MozPaddingEnd\",\"MozPaddingStart\",\"MozPerspective\",\"MozPerspectiveOrigin\",\"MozPowerManager\",\"MozSettingsEvent\",\"MozSmsEvent\",\"MozSmsMessage\",\"MozStackSizing\",\"MozTabSize\",\"MozTextAlignLast\",\"MozTextDecorationColor\",\"MozTextDecorationLine\",\"MozTextDecorationStyle\",\"MozTextSizeAdjust\",\"MozTransform\",\"MozTransformOrigin\",\"MozTransformStyle\",\"MozTransition\",\"MozTransitionDelay\",\"MozTransitionDuration\",\"MozTransitionProperty\",\"MozTransitionTimingFunction\",\"MozUserFocus\",\"MozUserInput\",\"MozUserModify\",\"MozUserSelect\",\"MozWindowDragging\",\"MozWindowShadow\",\"MutationEvent\",\"MutationObserver\",\"MutationRecord\",\"NAMESPACE_ERR\",\"NAMESPACE_RULE\",\"NEAREST\",\"NEAREST_MIPMAP_LINEAR\",\"NEAREST_MIPMAP_NEAREST\",\"NEGATIVE_INFINITY\",\"NETWORK_EMPTY\",\"NETWORK_ERR\",\"NETWORK_IDLE\",\"NETWORK_LOADED\",\"NETWORK_LOADING\",\"NETWORK_NO_SOURCE\",\"NEVER\",\"NEW\",\"NEXT\",\"NEXT_NO_DUPLICATE\",\"NICEST\",\"NODE_AFTER\",\"NODE_BEFORE\",\"NODE_BEFORE_AND_AFTER\",\"NODE_INSIDE\",\"NONE\",\"NON_TRANSIENT_ERR\",\"NOTATION_NODE\",\"NOTCH\",\"NOTEQUAL\",\"NOT_ALLOWED_ERR\",\"NOT_FOUND_ERR\",\"NOT_READABLE_ERR\",\"NOT_SUPPORTED_ERR\",\"NO_DATA_ALLOWED_ERR\",\"NO_ERR\",\"NO_ERROR\",\"NO_MODIFICATION_ALLOWED_ERR\",\"NUMBER_TYPE\",\"NUM_COMPRESSED_TEXTURE_FORMATS\",\"NaN\",\"NamedNodeMap\",\"Navigator\",\"NearbyLinks\",\"NetworkInformation\",\"Node\",\"NodeFilter\",\"NodeIterator\",\"NodeList\",\"Notation\",\"Notification\",\"NotifyPaintEvent\",\"Number\",\"NumberFormat\",\"OBSOLETE\",\"ONE\",\"ONE_MINUS_CONSTANT_ALPHA\",\"ONE_MINUS_CONSTANT_COLOR\",\"ONE_MINUS_DST_ALPHA\",\"ONE_MINUS_DST_COLOR\",\"ONE_MINUS_SRC_ALPHA\",\"ONE_MINUS_SRC_COLOR\",\"OPEN\",\"OPENED\",\"OPENING\",\"ORDERED_NODE_ITERATOR_TYPE\",\"ORDERED_NODE_SNAPSHOT_TYPE\",\"OUT_OF_MEMORY\",\"Object\",\"OfflineAudioCompletionEvent\",\"OfflineAudioContext\",\"OfflineResourceList\",\"Option\",\"OscillatorNode\",\"OverflowEvent\",\"PACK_ALIGNMENT\",\"PAGE_RULE\",\"PARSE_ERR\",\"PATHSEG_ARC_ABS\",\"PATHSEG_ARC_REL\",\"PATHSEG_CLOSEPATH\",\"PATHSEG_CURVETO_CUBIC_ABS\",\"PATHSEG_CURVETO_CUBIC_REL\",\"PATHSEG_CURVETO_CUBIC_SMOOTH_ABS\",\"PATHSEG_CURVETO_CUBIC_SMOOTH_REL\",\"PATHSEG_CURVETO_QUADRATIC_ABS\",\"PATHSEG_CURVETO_QUADRATIC_REL\",\"PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS\",\"PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL\",\"PATHSEG_LINETO_ABS\",\"PATHSEG_LINETO_HORIZONTAL_ABS\",\"PATHSEG_LINETO_HORIZONTAL_REL\",\"PATHSEG_LINETO_REL\",\"PATHSEG_LINETO_VERTICAL_ABS\",\"PATHSEG_LINETO_VERTICAL_REL\",\"PATHSEG_MOVETO_ABS\",\"PATHSEG_MOVETO_REL\",\"PATHSEG_UNKNOWN\",\"PATH_EXISTS_ERR\",\"PEAKING\",\"PERMISSION_DENIED\",\"PERSISTENT\",\"PI\",\"PLAYING_STATE\",\"POINTS\",\"POLYGON_OFFSET_FACTOR\",\"POLYGON_OFFSET_FILL\",\"POLYGON_OFFSET_UNITS\",\"POSITION_UNAVAILABLE\",\"POSITIVE_INFINITY\",\"PREV\",\"PREV_NO_DUPLICATE\",\"PROCESSING_INSTRUCTION_NODE\",\"PageChangeEvent\",\"PageTransitionEvent\",\"PaintRequest\",\"PaintRequestList\",\"PannerNode\",\"Path2D\",\"Performance\",\"PerformanceEntry\",\"PerformanceMark\",\"PerformanceMeasure\",\"PerformanceNavigation\",\"PerformanceResourceTiming\",\"PerformanceTiming\",\"PeriodicWave\",\"Plugin\",\"PluginArray\",\"PopStateEvent\",\"PopupBlockedEvent\",\"ProcessingInstruction\",\"ProgressEvent\",\"Promise\",\"PropertyNodeList\",\"Proxy\",\"PushManager\",\"PushSubscription\",\"Q\",\"QUOTA_ERR\",\"QUOTA_EXCEEDED_ERR\",\"QueryInterface\",\"READ_ONLY\",\"READ_ONLY_ERR\",\"READ_WRITE\",\"RED_BITS\",\"REMOVAL\",\"RENDERBUFFER\",\"RENDERBUFFER_ALPHA_SIZE\",\"RENDERBUFFER_BINDING\",\"RENDERBUFFER_BLUE_SIZE\",\"RENDERBUFFER_DEPTH_SIZE\",\"RENDERBUFFER_GREEN_SIZE\",\"RENDERBUFFER_HEIGHT\",\"RENDERBUFFER_INTERNAL_FORMAT\",\"RENDERBUFFER_RED_SIZE\",\"RENDERBUFFER_STENCIL_SIZE\",\"RENDERBUFFER_WIDTH\",\"RENDERER\",\"RENDERING_INTENT_ABSOLUTE_COLORIMETRIC\",\"RENDERING_INTENT_AUTO\",\"RENDERING_INTENT_PERCEPTUAL\",\"RENDERING_INTENT_RELATIVE_COLORIMETRIC\",\"RENDERING_INTENT_SATURATION\",\"RENDERING_INTENT_UNKNOWN\",\"REPEAT\",\"REPLACE\",\"RGB\",\"RGB565\",\"RGB5_A1\",\"RGBA\",\"RGBA4\",\"RGBColor\",\"ROTATION_CLOCKWISE\",\"ROTATION_COUNTERCLOCKWISE\",\"RTCDataChannelEvent\",\"RTCIceCandidate\",\"RTCPeerConnectionIceEvent\",\"RTCRtpReceiver\",\"RTCRtpSender\",\"RTCSessionDescription\",\"RTCStatsReport\",\"RadioNodeList\",\"Range\",\"RangeError\",\"RangeException\",\"RecordErrorEvent\",\"Rect\",\"ReferenceError\",\"RegExp\",\"Request\",\"Response\",\"SAMPLER_2D\",\"SAMPLER_CUBE\",\"SAMPLES\",\"SAMPLE_ALPHA_TO_COVERAGE\",\"SAMPLE_BUFFERS\",\"SAMPLE_COVERAGE\",\"SAMPLE_COVERAGE_INVERT\",\"SAMPLE_COVERAGE_VALUE\",\"SAWTOOTH\",\"SCHEDULED_STATE\",\"SCISSOR_BOX\",\"SCISSOR_TEST\",\"SCROLL_PAGE_DOWN\",\"SCROLL_PAGE_UP\",\"SDP_ANSWER\",\"SDP_OFFER\",\"SDP_PRANSWER\",\"SECURITY_ERR\",\"SELECT\",\"SERIALIZE_ERR\",\"SEVERITY_ERROR\",\"SEVERITY_FATAL_ERROR\",\"SEVERITY_WARNING\",\"SHADER_COMPILER\",\"SHADER_TYPE\",\"SHADING_LANGUAGE_VERSION\",\"SHIFT_MASK\",\"SHORT\",\"SHOWING\",\"SHOW_ALL\",\"SHOW_ATTRIBUTE\",\"SHOW_CDATA_SECTION\",\"SHOW_COMMENT\",\"SHOW_DOCUMENT\",\"SHOW_DOCUMENT_FRAGMENT\",\"SHOW_DOCUMENT_TYPE\",\"SHOW_ELEMENT\",\"SHOW_ENTITY\",\"SHOW_ENTITY_REFERENCE\",\"SHOW_NOTATION\",\"SHOW_PROCESSING_INSTRUCTION\",\"SHOW_TEXT\",\"SINE\",\"SOUNDFIELD\",\"SQLException\",\"SQRT1_2\",\"SQRT2\",\"SQUARE\",\"SRC_ALPHA\",\"SRC_ALPHA_SATURATE\",\"SRC_COLOR\",\"START_TO_END\",\"START_TO_START\",\"STATIC_DRAW\",\"STENCIL_ATTACHMENT\",\"STENCIL_BACK_FAIL\",\"STENCIL_BACK_FUNC\",\"STENCIL_BACK_PASS_DEPTH_FAIL\",\"STENCIL_BACK_PASS_DEPTH_PASS\",\"STENCIL_BACK_REF\",\"STENCIL_BACK_VALUE_MASK\",\"STENCIL_BACK_WRITEMASK\",\"STENCIL_BITS\",\"STENCIL_BUFFER_BIT\",\"STENCIL_CLEAR_VALUE\",\"STENCIL_FAIL\",\"STENCIL_FUNC\",\"STENCIL_INDEX\",\"STENCIL_INDEX8\",\"STENCIL_PASS_DEPTH_FAIL\",\"STENCIL_PASS_DEPTH_PASS\",\"STENCIL_REF\",\"STENCIL_TEST\",\"STENCIL_VALUE_MASK\",\"STENCIL_WRITEMASK\",\"STREAM_DRAW\",\"STRING_TYPE\",\"STYLE_RULE\",\"SUBPIXEL_BITS\",\"SUPPORTS_RULE\",\"SVGAElement\",\"SVGAltGlyphDefElement\",\"SVGAltGlyphElement\",\"SVGAltGlyphItemElement\",\"SVGAngle\",\"SVGAnimateColorElement\",\"SVGAnimateElement\",\"SVGAnimateMotionElement\",\"SVGAnimateTransformElement\",\"SVGAnimatedAngle\",\"SVGAnimatedBoolean\",\"SVGAnimatedEnumeration\",\"SVGAnimatedInteger\",\"SVGAnimatedLength\",\"SVGAnimatedLengthList\",\"SVGAnimatedNumber\",\"SVGAnimatedNumberList\",\"SVGAnimatedPreserveAspectRatio\",\"SVGAnimatedRect\",\"SVGAnimatedString\",\"SVGAnimatedTransformList\",\"SVGAnimationElement\",\"SVGCircleElement\",\"SVGClipPathElement\",\"SVGColor\",\"SVGComponentTransferFunctionElement\",\"SVGCursorElement\",\"SVGDefsElement\",\"SVGDescElement\",\"SVGDiscardElement\",\"SVGDocument\",\"SVGElement\",\"SVGElementInstance\",\"SVGElementInstanceList\",\"SVGEllipseElement\",\"SVGException\",\"SVGFEBlendElement\",\"SVGFEColorMatrixElement\",\"SVGFEComponentTransferElement\",\"SVGFECompositeElement\",\"SVGFEConvolveMatrixElement\",\"SVGFEDiffuseLightingElement\",\"SVGFEDisplacementMapElement\",\"SVGFEDistantLightElement\",\"SVGFEDropShadowElement\",\"SVGFEFloodElement\",\"SVGFEFuncAElement\",\"SVGFEFuncBElement\",\"SVGFEFuncGElement\",\"SVGFEFuncRElement\",\"SVGFEGaussianBlurElement\",\"SVGFEImageElement\",\"SVGFEMergeElement\",\"SVGFEMergeNodeElement\",\"SVGFEMorphologyElement\",\"SVGFEOffsetElement\",\"SVGFEPointLightElement\",\"SVGFESpecularLightingElement\",\"SVGFESpotLightElement\",\"SVGFETileElement\",\"SVGFETurbulenceElement\",\"SVGFilterElement\",\"SVGFontElement\",\"SVGFontFaceElement\",\"SVGFontFaceFormatElement\",\"SVGFontFaceNameElement\",\"SVGFontFaceSrcElement\",\"SVGFontFaceUriElement\",\"SVGForeignObjectElement\",\"SVGGElement\",\"SVGGeometryElement\",\"SVGGlyphElement\",\"SVGGlyphRefElement\",\"SVGGradientElement\",\"SVGGraphicsElement\",\"SVGHKernElement\",\"SVGImageElement\",\"SVGLength\",\"SVGLengthList\",\"SVGLineElement\",\"SVGLinearGradientElement\",\"SVGMPathElement\",\"SVGMarkerElement\",\"SVGMaskElement\",\"SVGMatrix\",\"SVGMetadataElement\",\"SVGMissingGlyphElement\",\"SVGNumber\",\"SVGNumberList\",\"SVGPaint\",\"SVGPathElement\",\"SVGPathSeg\",\"SVGPathSegArcAbs\",\"SVGPathSegArcRel\",\"SVGPathSegClosePath\",\"SVGPathSegCurvetoCubicAbs\",\"SVGPathSegCurvetoCubicRel\",\"SVGPathSegCurvetoCubicSmoothAbs\",\"SVGPathSegCurvetoCubicSmoothRel\",\"SVGPathSegCurvetoQuadraticAbs\",\"SVGPathSegCurvetoQuadraticRel\",\"SVGPathSegCurvetoQuadraticSmoothAbs\",\"SVGPathSegCurvetoQuadraticSmoothRel\",\"SVGPathSegLinetoAbs\",\"SVGPathSegLinetoHorizontalAbs\",\"SVGPathSegLinetoHorizontalRel\",\"SVGPathSegLinetoRel\",\"SVGPathSegLinetoVerticalAbs\",\"SVGPathSegLinetoVerticalRel\",\"SVGPathSegList\",\"SVGPathSegMovetoAbs\",\"SVGPathSegMovetoRel\",\"SVGPatternElement\",\"SVGPoint\",\"SVGPointList\",\"SVGPolygonElement\",\"SVGPolylineElement\",\"SVGPreserveAspectRatio\",\"SVGRadialGradientElement\",\"SVGRect\",\"SVGRectElement\",\"SVGRenderingIntent\",\"SVGSVGElement\",\"SVGScriptElement\",\"SVGSetElement\",\"SVGStopElement\",\"SVGStringList\",\"SVGStyleElement\",\"SVGSwitchElement\",\"SVGSymbolElement\",\"SVGTRefElement\",\"SVGTSpanElement\",\"SVGTextContentElement\",\"SVGTextElement\",\"SVGTextPathElement\",\"SVGTextPositioningElement\",\"SVGTitleElement\",\"SVGTransform\",\"SVGTransformList\",\"SVGUnitTypes\",\"SVGUseElement\",\"SVGVKernElement\",\"SVGViewElement\",\"SVGViewSpec\",\"SVGZoomAndPan\",\"SVGZoomEvent\",\"SVG_ANGLETYPE_DEG\",\"SVG_ANGLETYPE_GRAD\",\"SVG_ANGLETYPE_RAD\",\"SVG_ANGLETYPE_UNKNOWN\",\"SVG_ANGLETYPE_UNSPECIFIED\",\"SVG_CHANNEL_A\",\"SVG_CHANNEL_B\",\"SVG_CHANNEL_G\",\"SVG_CHANNEL_R\",\"SVG_CHANNEL_UNKNOWN\",\"SVG_COLORTYPE_CURRENTCOLOR\",\"SVG_COLORTYPE_RGBCOLOR\",\"SVG_COLORTYPE_RGBCOLOR_ICCCOLOR\",\"SVG_COLORTYPE_UNKNOWN\",\"SVG_EDGEMODE_DUPLICATE\",\"SVG_EDGEMODE_NONE\",\"SVG_EDGEMODE_UNKNOWN\",\"SVG_EDGEMODE_WRAP\",\"SVG_FEBLEND_MODE_COLOR\",\"SVG_FEBLEND_MODE_COLOR_BURN\",\"SVG_FEBLEND_MODE_COLOR_DODGE\",\"SVG_FEBLEND_MODE_DARKEN\",\"SVG_FEBLEND_MODE_DIFFERENCE\",\"SVG_FEBLEND_MODE_EXCLUSION\",\"SVG_FEBLEND_MODE_HARD_LIGHT\",\"SVG_FEBLEND_MODE_HUE\",\"SVG_FEBLEND_MODE_LIGHTEN\",\"SVG_FEBLEND_MODE_LUMINOSITY\",\"SVG_FEBLEND_MODE_MULTIPLY\",\"SVG_FEBLEND_MODE_NORMAL\",\"SVG_FEBLEND_MODE_OVERLAY\",\"SVG_FEBLEND_MODE_SATURATION\",\"SVG_FEBLEND_MODE_SCREEN\",\"SVG_FEBLEND_MODE_SOFT_LIGHT\",\"SVG_FEBLEND_MODE_UNKNOWN\",\"SVG_FECOLORMATRIX_TYPE_HUEROTATE\",\"SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA\",\"SVG_FECOLORMATRIX_TYPE_MATRIX\",\"SVG_FECOLORMATRIX_TYPE_SATURATE\",\"SVG_FECOLORMATRIX_TYPE_UNKNOWN\",\"SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE\",\"SVG_FECOMPONENTTRANSFER_TYPE_GAMMA\",\"SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY\",\"SVG_FECOMPONENTTRANSFER_TYPE_LINEAR\",\"SVG_FECOMPONENTTRANSFER_TYPE_TABLE\",\"SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN\",\"SVG_FECOMPOSITE_OPERATOR_ARITHMETIC\",\"SVG_FECOMPOSITE_OPERATOR_ATOP\",\"SVG_FECOMPOSITE_OPERATOR_IN\",\"SVG_FECOMPOSITE_OPERATOR_OUT\",\"SVG_FECOMPOSITE_OPERATOR_OVER\",\"SVG_FECOMPOSITE_OPERATOR_UNKNOWN\",\"SVG_FECOMPOSITE_OPERATOR_XOR\",\"SVG_INVALID_VALUE_ERR\",\"SVG_LENGTHTYPE_CM\",\"SVG_LENGTHTYPE_EMS\",\"SVG_LENGTHTYPE_EXS\",\"SVG_LENGTHTYPE_IN\",\"SVG_LENGTHTYPE_MM\",\"SVG_LENGTHTYPE_NUMBER\",\"SVG_LENGTHTYPE_PC\",\"SVG_LENGTHTYPE_PERCENTAGE\",\"SVG_LENGTHTYPE_PT\",\"SVG_LENGTHTYPE_PX\",\"SVG_LENGTHTYPE_UNKNOWN\",\"SVG_MARKERUNITS_STROKEWIDTH\",\"SVG_MARKERUNITS_UNKNOWN\",\"SVG_MARKERUNITS_USERSPACEONUSE\",\"SVG_MARKER_ORIENT_ANGLE\",\"SVG_MARKER_ORIENT_AUTO\",\"SVG_MARKER_ORIENT_UNKNOWN\",\"SVG_MASKTYPE_ALPHA\",\"SVG_MASKTYPE_LUMINANCE\",\"SVG_MATRIX_NOT_INVERTABLE\",\"SVG_MEETORSLICE_MEET\",\"SVG_MEETORSLICE_SLICE\",\"SVG_MEETORSLICE_UNKNOWN\",\"SVG_MORPHOLOGY_OPERATOR_DILATE\",\"SVG_MORPHOLOGY_OPERATOR_ERODE\",\"SVG_MORPHOLOGY_OPERATOR_UNKNOWN\",\"SVG_PAINTTYPE_CURRENTCOLOR\",\"SVG_PAINTTYPE_NONE\",\"SVG_PAINTTYPE_RGBCOLOR\",\"SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR\",\"SVG_PAINTTYPE_UNKNOWN\",\"SVG_PAINTTYPE_URI\",\"SVG_PAINTTYPE_URI_CURRENTCOLOR\",\"SVG_PAINTTYPE_URI_NONE\",\"SVG_PAINTTYPE_URI_RGBCOLOR\",\"SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR\",\"SVG_PRESERVEASPECTRATIO_NONE\",\"SVG_PRESERVEASPECTRATIO_UNKNOWN\",\"SVG_PRESERVEASPECTRATIO_XMAXYMAX\",\"SVG_PRESERVEASPECTRATIO_XMAXYMID\",\"SVG_PRESERVEASPECTRATIO_XMAXYMIN\",\"SVG_PRESERVEASPECTRATIO_XMIDYMAX\",\"SVG_PRESERVEASPECTRATIO_XMIDYMID\",\"SVG_PRESERVEASPECTRATIO_XMIDYMIN\",\"SVG_PRESERVEASPECTRATIO_XMINYMAX\",\"SVG_PRESERVEASPECTRATIO_XMINYMID\",\"SVG_PRESERVEASPECTRATIO_XMINYMIN\",\"SVG_SPREADMETHOD_PAD\",\"SVG_SPREADMETHOD_REFLECT\",\"SVG_SPREADMETHOD_REPEAT\",\"SVG_SPREADMETHOD_UNKNOWN\",\"SVG_STITCHTYPE_NOSTITCH\",\"SVG_STITCHTYPE_STITCH\",\"SVG_STITCHTYPE_UNKNOWN\",\"SVG_TRANSFORM_MATRIX\",\"SVG_TRANSFORM_ROTATE\",\"SVG_TRANSFORM_SCALE\",\"SVG_TRANSFORM_SKEWX\",\"SVG_TRANSFORM_SKEWY\",\"SVG_TRANSFORM_TRANSLATE\",\"SVG_TRANSFORM_UNKNOWN\",\"SVG_TURBULENCE_TYPE_FRACTALNOISE\",\"SVG_TURBULENCE_TYPE_TURBULENCE\",\"SVG_TURBULENCE_TYPE_UNKNOWN\",\"SVG_UNIT_TYPE_OBJECTBOUNDINGBOX\",\"SVG_UNIT_TYPE_UNKNOWN\",\"SVG_UNIT_TYPE_USERSPACEONUSE\",\"SVG_WRONG_TYPE_ERR\",\"SVG_ZOOMANDPAN_DISABLE\",\"SVG_ZOOMANDPAN_MAGNIFY\",\"SVG_ZOOMANDPAN_UNKNOWN\",\"SYNTAX_ERR\",\"SavedPages\",\"Screen\",\"ScreenOrientation\",\"Script\",\"ScriptProcessorNode\",\"ScrollAreaEvent\",\"SecurityPolicyViolationEvent\",\"Selection\",\"ServiceWorker\",\"ServiceWorkerContainer\",\"ServiceWorkerRegistration\",\"SessionDescription\",\"Set\",\"ShadowRoot\",\"SharedWorker\",\"SimpleGestureEvent\",\"SpeechSynthesisEvent\",\"SpeechSynthesisUtterance\",\"StopIteration\",\"Storage\",\"StorageEvent\",\"String\",\"StyleSheet\",\"StyleSheetList\",\"SubtleCrypto\",\"Symbol\",\"SyntaxError\",\"TEMPORARY\",\"TEXTPATH_METHODTYPE_ALIGN\",\"TEXTPATH_METHODTYPE_STRETCH\",\"TEXTPATH_METHODTYPE_UNKNOWN\",\"TEXTPATH_SPACINGTYPE_AUTO\",\"TEXTPATH_SPACINGTYPE_EXACT\",\"TEXTPATH_SPACINGTYPE_UNKNOWN\",\"TEXTURE\",\"TEXTURE0\",\"TEXTURE1\",\"TEXTURE10\",\"TEXTURE11\",\"TEXTURE12\",\"TEXTURE13\",\"TEXTURE14\",\"TEXTURE15\",\"TEXTURE16\",\"TEXTURE17\",\"TEXTURE18\",\"TEXTURE19\",\"TEXTURE2\",\"TEXTURE20\",\"TEXTURE21\",\"TEXTURE22\",\"TEXTURE23\",\"TEXTURE24\",\"TEXTURE25\",\"TEXTURE26\",\"TEXTURE27\",\"TEXTURE28\",\"TEXTURE29\",\"TEXTURE3\",\"TEXTURE30\",\"TEXTURE31\",\"TEXTURE4\",\"TEXTURE5\",\"TEXTURE6\",\"TEXTURE7\",\"TEXTURE8\",\"TEXTURE9\",\"TEXTURE_2D\",\"TEXTURE_BINDING_2D\",\"TEXTURE_BINDING_CUBE_MAP\",\"TEXTURE_CUBE_MAP\",\"TEXTURE_CUBE_MAP_NEGATIVE_X\",\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",\"TEXTURE_CUBE_MAP_POSITIVE_X\",\"TEXTURE_CUBE_MAP_POSITIVE_Y\",\"TEXTURE_CUBE_MAP_POSITIVE_Z\",\"TEXTURE_MAG_FILTER\",\"TEXTURE_MAX_ANISOTROPY_EXT\",\"TEXTURE_MIN_FILTER\",\"TEXTURE_WRAP_S\",\"TEXTURE_WRAP_T\",\"TEXT_NODE\",\"TIMEOUT\",\"TIMEOUT_ERR\",\"TOO_LARGE_ERR\",\"TRANSACTION_INACTIVE_ERR\",\"TRIANGLE\",\"TRIANGLES\",\"TRIANGLE_FAN\",\"TRIANGLE_STRIP\",\"TYPE_BACK_FORWARD\",\"TYPE_ERR\",\"TYPE_MISMATCH_ERR\",\"TYPE_NAVIGATE\",\"TYPE_RELOAD\",\"TYPE_RESERVED\",\"Text\",\"TextDecoder\",\"TextEncoder\",\"TextEvent\",\"TextMetrics\",\"TextTrack\",\"TextTrackCue\",\"TextTrackCueList\",\"TextTrackList\",\"TimeEvent\",\"TimeRanges\",\"Touch\",\"TouchEvent\",\"TouchList\",\"TrackEvent\",\"TransitionEvent\",\"TreeWalker\",\"TypeError\",\"UIEvent\",\"UNCACHED\",\"UNKNOWN_ERR\",\"UNKNOWN_RULE\",\"UNMASKED_RENDERER_WEBGL\",\"UNMASKED_VENDOR_WEBGL\",\"UNORDERED_NODE_ITERATOR_TYPE\",\"UNORDERED_NODE_SNAPSHOT_TYPE\",\"UNPACK_ALIGNMENT\",\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",\"UNPACK_FLIP_Y_WEBGL\",\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",\"UNSCHEDULED_STATE\",\"UNSENT\",\"UNSIGNED_BYTE\",\"UNSIGNED_INT\",\"UNSIGNED_SHORT\",\"UNSIGNED_SHORT_4_4_4_4\",\"UNSIGNED_SHORT_5_5_5_1\",\"UNSIGNED_SHORT_5_6_5\",\"UNSPECIFIED_EVENT_TYPE_ERR\",\"UPDATEREADY\",\"URIError\",\"URL\",\"URLSearchParams\",\"URLUnencoded\",\"URL_MISMATCH_ERR\",\"UTC\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"UserMessageHandler\",\"UserMessageHandlersNamespace\",\"UserProximityEvent\",\"VALIDATE_STATUS\",\"VALIDATION_ERR\",\"VARIABLES_RULE\",\"VENDOR\",\"VERSION\",\"VERSION_CHANGE\",\"VERSION_ERR\",\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",\"VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE\",\"VERTEX_ATTRIB_ARRAY_ENABLED\",\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",\"VERTEX_ATTRIB_ARRAY_POINTER\",\"VERTEX_ATTRIB_ARRAY_SIZE\",\"VERTEX_ATTRIB_ARRAY_STRIDE\",\"VERTEX_ATTRIB_ARRAY_TYPE\",\"VERTEX_SHADER\",\"VERTICAL\",\"VERTICAL_AXIS\",\"VER_ERR\",\"VIEWPORT\",\"VIEWPORT_RULE\",\"VTTCue\",\"VTTRegion\",\"ValidityState\",\"VideoStreamTrack\",\"WEBKIT_FILTER_RULE\",\"WEBKIT_KEYFRAMES_RULE\",\"WEBKIT_KEYFRAME_RULE\",\"WEBKIT_REGION_RULE\",\"WRONG_DOCUMENT_ERR\",\"WaveShaperNode\",\"WeakMap\",\"WeakSet\",\"WebGLActiveInfo\",\"WebGLBuffer\",\"WebGLContextEvent\",\"WebGLFramebuffer\",\"WebGLProgram\",\"WebGLRenderbuffer\",\"WebGLRenderingContext\",\"WebGLShader\",\"WebGLShaderPrecisionFormat\",\"WebGLTexture\",\"WebGLUniformLocation\",\"WebGLVertexArray\",\"WebKitAnimationEvent\",\"WebKitBlobBuilder\",\"WebKitCSSFilterRule\",\"WebKitCSSFilterValue\",\"WebKitCSSKeyframeRule\",\"WebKitCSSKeyframesRule\",\"WebKitCSSMatrix\",\"WebKitCSSRegionRule\",\"WebKitCSSTransformValue\",\"WebKitDataCue\",\"WebKitGamepad\",\"WebKitMediaKeyError\",\"WebKitMediaKeyMessageEvent\",\"WebKitMediaKeySession\",\"WebKitMediaKeys\",\"WebKitMediaSource\",\"WebKitMutationObserver\",\"WebKitNamespace\",\"WebKitPlaybackTargetAvailabilityEvent\",\"WebKitPoint\",\"WebKitShadowRoot\",\"WebKitSourceBuffer\",\"WebKitSourceBufferList\",\"WebKitTransitionEvent\",\"WebSocket\",\"WheelEvent\",\"Window\",\"Worker\",\"XMLDocument\",\"XMLHttpRequest\",\"XMLHttpRequestEventTarget\",\"XMLHttpRequestException\",\"XMLHttpRequestProgressEvent\",\"XMLHttpRequestUpload\",\"XMLSerializer\",\"XMLStylesheetProcessingInstruction\",\"XPathEvaluator\",\"XPathException\",\"XPathExpression\",\"XPathNSResolver\",\"XPathResult\",\"XSLTProcessor\",\"ZERO\",\"_XD0M_\",\"_YD0M_\",\"__defineGetter__\",\"__defineSetter__\",\"__lookupGetter__\",\"__lookupSetter__\",\"__opera\",\"__proto__\",\"_browserjsran\",\"a\",\"aLink\",\"abbr\",\"abort\",\"abs\",\"absolute\",\"acceleration\",\"accelerationIncludingGravity\",\"accelerator\",\"accept\",\"acceptCharset\",\"acceptNode\",\"accessKey\",\"accessKeyLabel\",\"accuracy\",\"acos\",\"acosh\",\"action\",\"actionURL\",\"active\",\"activeCues\",\"activeElement\",\"activeSourceBuffers\",\"activeSourceCount\",\"activeTexture\",\"add\",\"addBehavior\",\"addCandidate\",\"addColorStop\",\"addCue\",\"addElement\",\"addEventListener\",\"addFilter\",\"addFromString\",\"addFromUri\",\"addIceCandidate\",\"addImport\",\"addListener\",\"addNamed\",\"addPageRule\",\"addPath\",\"addPointer\",\"addRange\",\"addRegion\",\"addRule\",\"addSearchEngine\",\"addSourceBuffer\",\"addStream\",\"addTextTrack\",\"addTrack\",\"addWakeLockListener\",\"addedNodes\",\"additionalName\",\"additiveSymbols\",\"addons\",\"adoptNode\",\"adr\",\"advance\",\"alert\",\"algorithm\",\"align\",\"align-content\",\"align-items\",\"align-self\",\"alignContent\",\"alignItems\",\"alignSelf\",\"alignmentBaseline\",\"alinkColor\",\"all\",\"allSettled\",\"allowFullscreen\",\"allowedDirections\",\"alpha\",\"alt\",\"altGraphKey\",\"altHtml\",\"altKey\",\"altLeft\",\"altitude\",\"altitudeAccuracy\",\"amplitude\",\"ancestorOrigins\",\"anchor\",\"anchorNode\",\"anchorOffset\",\"anchors\",\"angle\",\"animVal\",\"animate\",\"animatedInstanceRoot\",\"animatedNormalizedPathSegList\",\"animatedPathSegList\",\"animatedPoints\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"animationDelay\",\"animationDirection\",\"animationDuration\",\"animationFillMode\",\"animationIterationCount\",\"animationName\",\"animationPlayState\",\"animationStartTime\",\"animationTimingFunction\",\"animationsPaused\",\"anniversary\",\"any\",\"app\",\"appCodeName\",\"appMinorVersion\",\"appName\",\"appNotifications\",\"appVersion\",\"append\",\"appendBuffer\",\"appendChild\",\"appendData\",\"appendItem\",\"appendMedium\",\"appendNamed\",\"appendRule\",\"appendStream\",\"appendWindowEnd\",\"appendWindowStart\",\"applets\",\"applicationCache\",\"apply\",\"applyElement\",\"arc\",\"arcTo\",\"archive\",\"areas\",\"arguments\",\"arrayBuffer\",\"asin\",\"asinh\",\"assert\",\"assign\",\"async\",\"atEnd\",\"atan\",\"atan2\",\"atanh\",\"atob\",\"attachEvent\",\"attachShader\",\"attachShadow\",\"attachments\",\"attack\",\"attrChange\",\"attrName\",\"attributeFilter\",\"attributeName\",\"attributeNamespace\",\"attributeOldValue\",\"attributes\",\"audioTracks\",\"autoIncrement\",\"autobuffer\",\"autocapitalize\",\"autocomplete\",\"autocorrect\",\"autofocus\",\"autoplay\",\"availHeight\",\"availLeft\",\"availTop\",\"availWidth\",\"availability\",\"available\",\"aversion\",\"axes\",\"axis\",\"azimuth\",\"b\",\"back\",\"backface-visibility\",\"backfaceVisibility\",\"background\",\"background-attachment\",\"background-blend-mode\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-repeat\",\"background-size\",\"backgroundAttachment\",\"backgroundBlendMode\",\"backgroundClip\",\"backgroundColor\",\"backgroundImage\",\"backgroundOrigin\",\"backgroundPosition\",\"backgroundPositionX\",\"backgroundPositionY\",\"backgroundRepeat\",\"backgroundSize\",\"badInput\",\"balance\",\"baseFrequencyX\",\"baseFrequencyY\",\"baseNode\",\"baseOffset\",\"baseURI\",\"baseVal\",\"baselineShift\",\"battery\",\"bday\",\"beginElement\",\"beginElementAt\",\"beginPath\",\"behavior\",\"behaviorCookie\",\"behaviorPart\",\"behaviorUrns\",\"beta\",\"bezierCurveTo\",\"bgColor\",\"bgProperties\",\"bias\",\"big\",\"binaryType\",\"bind\",\"bindAttribLocation\",\"bindBuffer\",\"bindFramebuffer\",\"bindRenderbuffer\",\"bindTexture\",\"blendColor\",\"blendEquation\",\"blendEquationSeparate\",\"blendFunc\",\"blendFuncSeparate\",\"blink\",\"blob\",\"blockDirection\",\"blue\",\"blur\",\"body\",\"bodyUsed\",\"bold\",\"bookmarks\",\"booleanValue\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"borderBottom\",\"borderBottomColor\",\"borderBottomLeftRadius\",\"borderBottomRightRadius\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderCollapse\",\"borderColor\",\"borderColorDark\",\"borderColorLight\",\"borderImage\",\"borderImageOutset\",\"borderImageRepeat\",\"borderImageSlice\",\"borderImageSource\",\"borderImageWidth\",\"borderLeft\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\",\"borderRadius\",\"borderRight\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderSpacing\",\"borderStyle\",\"borderTop\",\"borderTopColor\",\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderTopStyle\",\"borderTopWidth\",\"borderWidth\",\"bottom\",\"bottomMargin\",\"bound\",\"boundElements\",\"boundingClientRect\",\"boundingHeight\",\"boundingLeft\",\"boundingTop\",\"boundingWidth\",\"bounds\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"boxDecorationBreak\",\"boxShadow\",\"boxSizing\",\"breakAfter\",\"breakBefore\",\"breakInside\",\"browserLanguage\",\"btoa\",\"bubbles\",\"buffer\",\"bufferData\",\"bufferDepth\",\"bufferSize\",\"bufferSubData\",\"buffered\",\"bufferedAmount\",\"buildID\",\"buildNumber\",\"button\",\"buttonID\",\"buttons\",\"byteLength\",\"byteOffset\",\"c\",\"call\",\"caller\",\"canBeFormatted\",\"canBeMounted\",\"canBeShared\",\"canHaveChildren\",\"canHaveHTML\",\"canPlayType\",\"cancel\",\"cancelAnimationFrame\",\"cancelBubble\",\"cancelScheduledValues\",\"cancelable\",\"candidate\",\"canvas\",\"caption\",\"caption-side\",\"captionSide\",\"capture\",\"captureEvents\",\"captureStackTrace\",\"caretPositionFromPoint\",\"caretRangeFromPoint\",\"cast\",\"catch\",\"category\",\"cbrt\",\"cd\",\"ceil\",\"cellIndex\",\"cellPadding\",\"cellSpacing\",\"cells\",\"ch\",\"chOff\",\"chain\",\"challenge\",\"changedTouches\",\"channel\",\"channelCount\",\"channelCountMode\",\"channelInterpretation\",\"char\",\"charAt\",\"charCode\",\"charCodeAt\",\"charIndex\",\"characterData\",\"characterDataOldValue\",\"characterSet\",\"charging\",\"chargingTime\",\"charset\",\"checkEnclosure\",\"checkFramebufferStatus\",\"checkIntersection\",\"checkValidity\",\"checked\",\"childElementCount\",\"childList\",\"childNodes\",\"children\",\"chrome\",\"ciphertext\",\"cite\",\"classList\",\"className\",\"classid\",\"clear\",\"clearAttributes\",\"clearColor\",\"clearData\",\"clearDepth\",\"clearImmediate\",\"clearInterval\",\"clearMarks\",\"clearMeasures\",\"clearParameters\",\"clearRect\",\"clearResourceTimings\",\"clearShadow\",\"clearStencil\",\"clearTimeout\",\"clearWatch\",\"click\",\"clickCount\",\"clientHeight\",\"clientInformation\",\"clientLeft\",\"clientRect\",\"clientRects\",\"clientTop\",\"clientWidth\",\"clientX\",\"clientY\",\"clip\",\"clip-path\",\"clip-rule\",\"clipBottom\",\"clipLeft\",\"clipPath\",\"clipPathUnits\",\"clipRight\",\"clipRule\",\"clipTop\",\"clipboardData\",\"clone\",\"cloneContents\",\"cloneNode\",\"cloneRange\",\"close\",\"closePath\",\"closed\",\"closest\",\"clz\",\"clz32\",\"cmp\",\"code\",\"codeBase\",\"codePointAt\",\"codeType\",\"colSpan\",\"collapse\",\"collapseToEnd\",\"collapseToStart\",\"collapsed\",\"collect\",\"colno\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"colorDepth\",\"colorInterpolation\",\"colorInterpolationFilters\",\"colorMask\",\"colorType\",\"cols\",\"columnCount\",\"columnFill\",\"columnGap\",\"columnNumber\",\"columnRule\",\"columnRuleColor\",\"columnRuleStyle\",\"columnRuleWidth\",\"columnSpan\",\"columnWidth\",\"columns\",\"command\",\"commitPreferences\",\"commonAncestorContainer\",\"compact\",\"compareBoundaryPoints\",\"compareDocumentPosition\",\"compareEndPoints\",\"compareNode\",\"comparePoint\",\"compatMode\",\"compatible\",\"compile\",\"compileShader\",\"complete\",\"componentFromPoint\",\"compositionEndOffset\",\"compositionStartOffset\",\"compressedTexImage2D\",\"compressedTexSubImage2D\",\"concat\",\"conditionText\",\"coneInnerAngle\",\"coneOuterAngle\",\"coneOuterGain\",\"confirm\",\"confirmComposition\",\"confirmSiteSpecificTrackingException\",\"confirmWebWideTrackingException\",\"connect\",\"connectEnd\",\"connectStart\",\"connected\",\"connection\",\"connectionSpeed\",\"console\",\"consolidate\",\"constrictionActive\",\"constructor\",\"contactID\",\"contains\",\"containsNode\",\"content\",\"contentDocument\",\"contentEditable\",\"contentOverflow\",\"contentScriptType\",\"contentStyleType\",\"contentType\",\"contentWindow\",\"context\",\"contextMenu\",\"contextmenu\",\"continue\",\"continuous\",\"control\",\"controller\",\"controls\",\"convertToSpecifiedUnits\",\"cookie\",\"cookieEnabled\",\"coords\",\"copyFromChannel\",\"copyTexImage2D\",\"copyTexSubImage2D\",\"copyToChannel\",\"copyWithin\",\"correspondingElement\",\"correspondingUseElement\",\"cos\",\"cosh\",\"count\",\"counter-increment\",\"counter-reset\",\"counterIncrement\",\"counterReset\",\"cpuClass\",\"cpuSleepAllowed\",\"create\",\"createAnalyser\",\"createAnswer\",\"createAttribute\",\"createAttributeNS\",\"createBiquadFilter\",\"createBuffer\",\"createBufferSource\",\"createCDATASection\",\"createCSSStyleSheet\",\"createCaption\",\"createChannelMerger\",\"createChannelSplitter\",\"createComment\",\"createContextualFragment\",\"createControlRange\",\"createConvolver\",\"createDTMFSender\",\"createDataChannel\",\"createDelay\",\"createDelayNode\",\"createDocument\",\"createDocumentFragment\",\"createDocumentType\",\"createDynamicsCompressor\",\"createElement\",\"createElementNS\",\"createEntityReference\",\"createEvent\",\"createEventObject\",\"createExpression\",\"createFramebuffer\",\"createFunction\",\"createGain\",\"createGainNode\",\"createHTMLDocument\",\"createImageBitmap\",\"createImageData\",\"createIndex\",\"createJavaScriptNode\",\"createLinearGradient\",\"createMediaElementSource\",\"createMediaKeys\",\"createMediaStreamDestination\",\"createMediaStreamSource\",\"createMutableFile\",\"createNSResolver\",\"createNodeIterator\",\"createNotification\",\"createObjectStore\",\"createObjectURL\",\"createOffer\",\"createOscillator\",\"createPanner\",\"createPattern\",\"createPeriodicWave\",\"createPopup\",\"createProcessingInstruction\",\"createProgram\",\"createRadialGradient\",\"createRange\",\"createRangeCollection\",\"createRenderbuffer\",\"createSVGAngle\",\"createSVGLength\",\"createSVGMatrix\",\"createSVGNumber\",\"createSVGPathSegArcAbs\",\"createSVGPathSegArcRel\",\"createSVGPathSegClosePath\",\"createSVGPathSegCurvetoCubicAbs\",\"createSVGPathSegCurvetoCubicRel\",\"createSVGPathSegCurvetoCubicSmoothAbs\",\"createSVGPathSegCurvetoCubicSmoothRel\",\"createSVGPathSegCurvetoQuadraticAbs\",\"createSVGPathSegCurvetoQuadraticRel\",\"createSVGPathSegCurvetoQuadraticSmoothAbs\",\"createSVGPathSegCurvetoQuadraticSmoothRel\",\"createSVGPathSegLinetoAbs\",\"createSVGPathSegLinetoHorizontalAbs\",\"createSVGPathSegLinetoHorizontalRel\",\"createSVGPathSegLinetoRel\",\"createSVGPathSegLinetoVerticalAbs\",\"createSVGPathSegLinetoVerticalRel\",\"createSVGPathSegMovetoAbs\",\"createSVGPathSegMovetoRel\",\"createSVGPoint\",\"createSVGRect\",\"createSVGTransform\",\"createSVGTransformFromMatrix\",\"createScriptProcessor\",\"createSession\",\"createShader\",\"createShadowRoot\",\"createStereoPanner\",\"createStyleSheet\",\"createTBody\",\"createTFoot\",\"createTHead\",\"createTextNode\",\"createTextRange\",\"createTexture\",\"createTouch\",\"createTouchList\",\"createTreeWalker\",\"createWaveShaper\",\"creationTime\",\"crossOrigin\",\"crypto\",\"csi\",\"cssFloat\",\"cssRules\",\"cssText\",\"cssValueType\",\"ctrlKey\",\"ctrlLeft\",\"cues\",\"cullFace\",\"currentNode\",\"currentPage\",\"currentScale\",\"currentScript\",\"currentSrc\",\"currentState\",\"currentStyle\",\"currentTarget\",\"currentTime\",\"currentTranslate\",\"currentView\",\"cursor\",\"curve\",\"customError\",\"cx\",\"cy\",\"d\",\"data\",\"dataFld\",\"dataFormatAs\",\"dataPageSize\",\"dataSrc\",\"dataTransfer\",\"database\",\"dataset\",\"dateTime\",\"db\",\"debug\",\"debuggerEnabled\",\"declare\",\"decode\",\"decodeAudioData\",\"decodeURI\",\"decodeURIComponent\",\"decodingInfo\",\"decrypt\",\"default\",\"defaultCharset\",\"defaultChecked\",\"defaultMuted\",\"defaultPlaybackRate\",\"defaultPrevented\",\"defaultSelected\",\"defaultStatus\",\"defaultURL\",\"defaultValue\",\"defaultView\",\"defaultstatus\",\"defer\",\"defineMagicFunction\",\"defineMagicVariable\",\"defineProperties\",\"defineProperty\",\"delayTime\",\"delete\",\"deleteBuffer\",\"deleteCaption\",\"deleteCell\",\"deleteContents\",\"deleteData\",\"deleteDatabase\",\"deleteFramebuffer\",\"deleteFromDocument\",\"deleteIndex\",\"deleteMedium\",\"deleteObjectStore\",\"deleteProgram\",\"deleteRenderbuffer\",\"deleteRow\",\"deleteRule\",\"deleteShader\",\"deleteTFoot\",\"deleteTHead\",\"deleteTexture\",\"deliverChangeRecords\",\"delivery\",\"deliveryInfo\",\"deliveryStatus\",\"deliveryTimestamp\",\"delta\",\"deltaMode\",\"deltaX\",\"deltaY\",\"deltaZ\",\"depthFunc\",\"depthMask\",\"depthRange\",\"deriveBits\",\"deriveKey\",\"description\",\"deselectAll\",\"designMode\",\"destination\",\"destinationURL\",\"detach\",\"detachEvent\",\"detachShader\",\"detail\",\"detune\",\"devicePixelRatio\",\"deviceXDPI\",\"deviceYDPI\",\"diffuseConstant\",\"digest\",\"dimensions\",\"dir\",\"dirName\",\"direction\",\"dirxml\",\"disable\",\"disableVertexAttribArray\",\"disabled\",\"dischargingTime\",\"disconnect\",\"dispatchEvent\",\"display\",\"distanceModel\",\"divisor\",\"djsapi\",\"djsproxy\",\"doImport\",\"doNotTrack\",\"doScroll\",\"doctype\",\"document\",\"documentElement\",\"documentMode\",\"documentURI\",\"dolphin\",\"dolphinGameCenter\",\"dolphininfo\",\"dolphinmeta\",\"domComplete\",\"domContentLoadedEventEnd\",\"domContentLoadedEventStart\",\"domInteractive\",\"domLoading\",\"domain\",\"domainLookupEnd\",\"domainLookupStart\",\"dominant-baseline\",\"dominantBaseline\",\"done\",\"dopplerFactor\",\"download\",\"dragDrop\",\"draggable\",\"drawArrays\",\"drawArraysInstancedANGLE\",\"drawCustomFocusRing\",\"drawElements\",\"drawElementsInstancedANGLE\",\"drawFocusIfNeeded\",\"drawImage\",\"drawImageFromRect\",\"drawSystemFocusRing\",\"drawingBufferHeight\",\"drawingBufferWidth\",\"dropEffect\",\"droppedVideoFrames\",\"dropzone\",\"dump\",\"duplicate\",\"duration\",\"dvname\",\"dvnum\",\"dx\",\"dy\",\"dynsrc\",\"e\",\"edgeMode\",\"effectAllowed\",\"elapsedTime\",\"elementFromPoint\",\"elements\",\"elevation\",\"ellipse\",\"email\",\"embeds\",\"empty\",\"empty-cells\",\"emptyCells\",\"enable\",\"enableBackground\",\"enableStyleSheetsForSet\",\"enableVertexAttribArray\",\"enabled\",\"enabledPlugin\",\"encode\",\"encodeURI\",\"encodeURIComponent\",\"encoding\",\"encrypt\",\"enctype\",\"end\",\"endContainer\",\"endElement\",\"endElementAt\",\"endOfStream\",\"endOffset\",\"endTime\",\"ended\",\"endsWith\",\"entities\",\"entries\",\"entryType\",\"enumerate\",\"enumerateEditable\",\"error\",\"errorCode\",\"escape\",\"eval\",\"evaluate\",\"event\",\"eventPhase\",\"every\",\"exception\",\"exec\",\"execCommand\",\"execCommandShowHelp\",\"execScript\",\"exitFullscreen\",\"exitPointerLock\",\"exp\",\"expand\",\"expandEntityReferences\",\"expando\",\"expansion\",\"expiryDate\",\"explicitOriginalTarget\",\"expm1\",\"exponent\",\"exponentialRampToValueAtTime\",\"exportKey\",\"extend\",\"extensions\",\"extentNode\",\"extentOffset\",\"external\",\"externalResourcesRequired\",\"extractContents\",\"extractable\",\"f\",\"face\",\"factoryReset\",\"fallback\",\"familyName\",\"farthestViewportElement\",\"fastSeek\",\"fatal\",\"fetch\",\"fetchStart\",\"fftSize\",\"fgColor\",\"fileCreatedDate\",\"fileHandle\",\"fileModifiedDate\",\"fileName\",\"fileSize\",\"fileUpdatedDate\",\"filename\",\"files\",\"fill\",\"fill-opacity\",\"fill-rule\",\"fillOpacity\",\"fillRect\",\"fillRule\",\"fillStyle\",\"fillText\",\"filter\",\"filterResX\",\"filterResY\",\"filterUnits\",\"filters\",\"finally\",\"find\",\"findIndex\",\"findRule\",\"findText\",\"finish\",\"fireEvent\",\"firstChild\",\"firstElementChild\",\"firstPage\",\"fixed\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"flexBasis\",\"flexDirection\",\"flexFlow\",\"flexGrow\",\"flexShrink\",\"flexWrap\",\"flipX\",\"flipY\",\"float\",\"flood-color\",\"flood-opacity\",\"floodColor\",\"floodOpacity\",\"floor\",\"flush\",\"focus\",\"focusNode\",\"focusOffset\",\"font\",\"font-family\",\"font-feature-settings\",\"font-kerning\",\"font-language-override\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-synthesis\",\"font-variant\",\"font-variant-alternates\",\"font-variant-caps\",\"font-variant-east-asian\",\"font-variant-ligatures\",\"font-variant-numeric\",\"font-variant-position\",\"font-weight\",\"fontFamily\",\"fontFeatureSettings\",\"fontKerning\",\"fontLanguageOverride\",\"fontSize\",\"fontSizeAdjust\",\"fontSmoothingEnabled\",\"fontStretch\",\"fontStyle\",\"fontSynthesis\",\"fontVariant\",\"fontVariantAlternates\",\"fontVariantCaps\",\"fontVariantEastAsian\",\"fontVariantLigatures\",\"fontVariantNumeric\",\"fontVariantPosition\",\"fontWeight\",\"fontcolor\",\"fonts\",\"fontsize\",\"for\",\"forEach\",\"forceRedraw\",\"form\",\"formAction\",\"formEnctype\",\"formMethod\",\"formNoValidate\",\"formTarget\",\"format\",\"formatToParts\",\"forms\",\"forward\",\"fr\",\"frame\",\"frameBorder\",\"frameElement\",\"frameSpacing\",\"framebufferRenderbuffer\",\"framebufferTexture2D\",\"frames\",\"freeSpace\",\"freeze\",\"frequency\",\"frequencyBinCount\",\"from\",\"fromCharCode\",\"fromCodePoint\",\"fromElement\",\"frontFace\",\"fround\",\"fullScreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fx\",\"fy\",\"gain\",\"gamepad\",\"gamma\",\"genderIdentity\",\"generateKey\",\"generateMipmap\",\"generateRequest\",\"geolocation\",\"gestureObject\",\"get\",\"getActiveAttrib\",\"getActiveUniform\",\"getAdjacentText\",\"getAll\",\"getAllResponseHeaders\",\"getAsFile\",\"getAsString\",\"getAttachedShaders\",\"getAttribLocation\",\"getAttribute\",\"getAttributeNS\",\"getAttributeNode\",\"getAttributeNodeNS\",\"getAudioTracks\",\"getBBox\",\"getBattery\",\"getBlob\",\"getBookmark\",\"getBoundingClientRect\",\"getBufferParameter\",\"getByteFrequencyData\",\"getByteTimeDomainData\",\"getCSSCanvasContext\",\"getCTM\",\"getCandidateWindowClientRect\",\"getChannelData\",\"getCharNumAtPosition\",\"getClientRect\",\"getClientRects\",\"getCompositionAlternatives\",\"getComputedStyle\",\"getComputedTextLength\",\"getConfiguration\",\"getContext\",\"getContextAttributes\",\"getCounterValue\",\"getCueAsHTML\",\"getCueById\",\"getCurrentPosition\",\"getCurrentTime\",\"getData\",\"getDatabaseNames\",\"getDate\",\"getDay\",\"getDefaultComputedStyle\",\"getDestinationInsertionPoints\",\"getDistributedNodes\",\"getEditable\",\"getElementById\",\"getElementsByClassName\",\"getElementsByName\",\"getElementsByTagName\",\"getElementsByTagNameNS\",\"getEnclosureList\",\"getEndPositionOfChar\",\"getEntries\",\"getEntriesByName\",\"getEntriesByType\",\"getError\",\"getExtension\",\"getExtentOfChar\",\"getFeature\",\"getFile\",\"getFloat32\",\"getFloat64\",\"getFloatFrequencyData\",\"getFloatTimeDomainData\",\"getFloatValue\",\"getFramebufferAttachmentParameter\",\"getFrequencyResponse\",\"getFullYear\",\"getGamepads\",\"getHours\",\"getImageData\",\"getInt16\",\"getInt32\",\"getInt8\",\"getIntersectionList\",\"getItem\",\"getItems\",\"getKey\",\"getLineDash\",\"getLocalStreams\",\"getMarks\",\"getMatchedCSSRules\",\"getMeasures\",\"getMetadata\",\"getMilliseconds\",\"getMinutes\",\"getModifierState\",\"getMonth\",\"getNamedItem\",\"getNamedItemNS\",\"getNotifier\",\"getNumberOfChars\",\"getOverrideHistoryNavigationMode\",\"getOverrideStyle\",\"getOwnPropertyDescriptor\",\"getOwnPropertyNames\",\"getOwnPropertySymbols\",\"getParameter\",\"getPathSegAtLength\",\"getPointAtLength\",\"getPreference\",\"getPreferenceDefault\",\"getPresentationAttribute\",\"getPreventDefault\",\"getProgramInfoLog\",\"getProgramParameter\",\"getPropertyCSSValue\",\"getPropertyPriority\",\"getPropertyShorthand\",\"getPropertyValue\",\"getPrototypeOf\",\"getRGBColorValue\",\"getRandomValues\",\"getRangeAt\",\"getReceivers\",\"getRectValue\",\"getRegistration\",\"getRemoteStreams\",\"getRenderbufferParameter\",\"getResponseHeader\",\"getRoot\",\"getRotationOfChar\",\"getSVGDocument\",\"getScreenCTM\",\"getSeconds\",\"getSelection\",\"getSenders\",\"getShaderInfoLog\",\"getShaderParameter\",\"getShaderPrecisionFormat\",\"getShaderSource\",\"getSimpleDuration\",\"getSiteIcons\",\"getSources\",\"getSpeculativeParserUrls\",\"getStartPositionOfChar\",\"getStartTime\",\"getStats\",\"getStorageUpdates\",\"getStreamById\",\"getStringValue\",\"getSubStringLength\",\"getSubscription\",\"getSupportedExtensions\",\"getTexParameter\",\"getTime\",\"getTimezoneOffset\",\"getTotalLength\",\"getTrackById\",\"getTracks\",\"getTransformToElement\",\"getUTCDate\",\"getUTCDay\",\"getUTCFullYear\",\"getUTCHours\",\"getUTCMilliseconds\",\"getUTCMinutes\",\"getUTCMonth\",\"getUTCSeconds\",\"getUint16\",\"getUint32\",\"getUint8\",\"getUniform\",\"getUniformLocation\",\"getUserMedia\",\"getValues\",\"getVarDate\",\"getVariableValue\",\"getVertexAttrib\",\"getVertexAttribOffset\",\"getVideoPlaybackQuality\",\"getVideoTracks\",\"getWakeLockState\",\"getYear\",\"givenName\",\"global\",\"globalAlpha\",\"globalCompositeOperation\",\"glyphOrientationHorizontal\",\"glyphOrientationVertical\",\"glyphRef\",\"go\",\"gradientTransform\",\"gradientUnits\",\"grammars\",\"green\",\"group\",\"groupCollapsed\",\"groupEnd\",\"hardwareConcurrency\",\"has\",\"hasAttribute\",\"hasAttributeNS\",\"hasAttributes\",\"hasChildNodes\",\"hasComposition\",\"hasExtension\",\"hasFeature\",\"hasFocus\",\"hasLayout\",\"hasOwnProperty\",\"hash\",\"head\",\"headers\",\"heading\",\"height\",\"hidden\",\"hide\",\"hideFocus\",\"high\",\"hint\",\"history\",\"honorificPrefix\",\"honorificSuffix\",\"horizontalOverflow\",\"host\",\"hostname\",\"href\",\"hreflang\",\"hspace\",\"html5TagCheckInerface\",\"htmlFor\",\"htmlText\",\"httpEquiv\",\"hwTimestamp\",\"hypot\",\"iccId\",\"iceConnectionState\",\"iceGatheringState\",\"icon\",\"id\",\"identifier\",\"identity\",\"ignoreBOM\",\"ignoreCase\",\"image-orientation\",\"image-rendering\",\"imageOrientation\",\"imageRendering\",\"images\",\"ime-mode\",\"imeMode\",\"implementation\",\"importKey\",\"importNode\",\"importStylesheet\",\"imports\",\"impp\",\"imul\",\"in1\",\"in2\",\"inBandMetadataTrackDispatchType\",\"inRange\",\"includes\",\"incremental\",\"indeterminate\",\"index\",\"indexNames\",\"indexOf\",\"indexedDB\",\"inertiaDestinationX\",\"inertiaDestinationY\",\"info\",\"init\",\"initAnimationEvent\",\"initBeforeLoadEvent\",\"initClipboardEvent\",\"initCloseEvent\",\"initCommandEvent\",\"initCompositionEvent\",\"initCustomEvent\",\"initData\",\"initDeviceMotionEvent\",\"initDeviceOrientationEvent\",\"initDragEvent\",\"initErrorEvent\",\"initEvent\",\"initFocusEvent\",\"initGestureEvent\",\"initHashChangeEvent\",\"initKeyEvent\",\"initKeyboardEvent\",\"initMSManipulationEvent\",\"initMessageEvent\",\"initMouseEvent\",\"initMouseScrollEvent\",\"initMouseWheelEvent\",\"initMutationEvent\",\"initNSMouseEvent\",\"initOverflowEvent\",\"initPageEvent\",\"initPageTransitionEvent\",\"initPointerEvent\",\"initPopStateEvent\",\"initProgressEvent\",\"initScrollAreaEvent\",\"initSimpleGestureEvent\",\"initStorageEvent\",\"initTextEvent\",\"initTimeEvent\",\"initTouchEvent\",\"initTransitionEvent\",\"initUIEvent\",\"initWebKitAnimationEvent\",\"initWebKitTransitionEvent\",\"initWebKitWheelEvent\",\"initWheelEvent\",\"initialTime\",\"initialize\",\"initiatorType\",\"inner\",\"innerHTML\",\"innerHeight\",\"innerText\",\"innerWidth\",\"input\",\"inputBuffer\",\"inputEncoding\",\"inputMethod\",\"insertAdjacentElement\",\"insertAdjacentHTML\",\"insertAdjacentText\",\"insertBefore\",\"insertCell\",\"insertData\",\"insertItemBefore\",\"insertNode\",\"insertRow\",\"insertRule\",\"instanceRoot\",\"intercept\",\"interimResults\",\"internalSubset\",\"intersectsNode\",\"interval\",\"invalidIteratorState\",\"inverse\",\"invertSelf\",\"is\",\"is2D\",\"isAlternate\",\"isArray\",\"isBingCurrentSearchDefault\",\"isBuffer\",\"isCandidateWindowVisible\",\"isChar\",\"isCollapsed\",\"isComposing\",\"isContentEditable\",\"isContentHandlerRegistered\",\"isContextLost\",\"isDefaultNamespace\",\"isDisabled\",\"isEnabled\",\"isEqual\",\"isEqualNode\",\"isExtensible\",\"isFinite\",\"isFramebuffer\",\"isFrozen\",\"isGenerator\",\"isId\",\"isInjected\",\"isInteger\",\"isMap\",\"isMultiLine\",\"isNaN\",\"isOpen\",\"isPointInFill\",\"isPointInPath\",\"isPointInRange\",\"isPointInStroke\",\"isPrefAlternate\",\"isPrimary\",\"isProgram\",\"isPropertyImplicit\",\"isProtocolHandlerRegistered\",\"isPrototypeOf\",\"isRenderbuffer\",\"isSafeInteger\",\"isSameNode\",\"isSealed\",\"isShader\",\"isSupported\",\"isTextEdit\",\"isTexture\",\"isTrusted\",\"isTypeSupported\",\"isView\",\"isolation\",\"italics\",\"item\",\"itemId\",\"itemProp\",\"itemRef\",\"itemScope\",\"itemType\",\"itemValue\",\"iterateNext\",\"iterator\",\"javaEnabled\",\"jobTitle\",\"join\",\"json\",\"justify-content\",\"justifyContent\",\"k1\",\"k2\",\"k3\",\"k4\",\"kernelMatrix\",\"kernelUnitLengthX\",\"kernelUnitLengthY\",\"kerning\",\"key\",\"keyCode\",\"keyFor\",\"keyIdentifier\",\"keyLightEnabled\",\"keyLocation\",\"keyPath\",\"keySystem\",\"keyText\",\"keyUsage\",\"keys\",\"keytype\",\"kind\",\"knee\",\"label\",\"labels\",\"lang\",\"language\",\"languages\",\"largeArcFlag\",\"lastChild\",\"lastElementChild\",\"lastEventId\",\"lastIndex\",\"lastIndexOf\",\"lastMatch\",\"lastMessageSubject\",\"lastMessageType\",\"lastModified\",\"lastModifiedDate\",\"lastPage\",\"lastParen\",\"lastState\",\"lastStyleSheetSet\",\"latitude\",\"layerX\",\"layerY\",\"layoutFlow\",\"layoutGrid\",\"layoutGridChar\",\"layoutGridLine\",\"layoutGridMode\",\"layoutGridType\",\"lbound\",\"left\",\"leftContext\",\"leftMargin\",\"length\",\"lengthAdjust\",\"lengthComputable\",\"letter-spacing\",\"letterSpacing\",\"level\",\"lighting-color\",\"lightingColor\",\"limitingConeAngle\",\"line\",\"line-height\",\"lineAlign\",\"lineBreak\",\"lineCap\",\"lineDashOffset\",\"lineHeight\",\"lineJoin\",\"lineNumber\",\"lineTo\",\"lineWidth\",\"linearRampToValueAtTime\",\"lineno\",\"link\",\"linkColor\",\"linkProgram\",\"links\",\"list\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"listStyle\",\"listStyleImage\",\"listStylePosition\",\"listStyleType\",\"listener\",\"load\",\"loadEventEnd\",\"loadEventStart\",\"loadTimes\",\"loaded\",\"localDescription\",\"localName\",\"localStorage\",\"locale\",\"localeCompare\",\"location\",\"locationbar\",\"lock\",\"lockedFile\",\"log\",\"log10\",\"log1p\",\"log2\",\"logicalXDPI\",\"logicalYDPI\",\"longDesc\",\"longitude\",\"lookupNamespaceURI\",\"lookupPrefix\",\"loop\",\"loopEnd\",\"loopStart\",\"looping\",\"low\",\"lower\",\"lowerBound\",\"lowerOpen\",\"lowsrc\",\"m11\",\"m12\",\"m13\",\"m14\",\"m21\",\"m22\",\"m23\",\"m24\",\"m31\",\"m32\",\"m33\",\"m34\",\"m41\",\"m42\",\"m43\",\"m44\",\"manifest\",\"map\",\"mapping\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marginBottom\",\"marginHeight\",\"marginLeft\",\"marginRight\",\"marginTop\",\"marginWidth\",\"mark\",\"marker\",\"marker-end\",\"marker-mid\",\"marker-offset\",\"marker-start\",\"markerEnd\",\"markerHeight\",\"markerMid\",\"markerOffset\",\"markerStart\",\"markerUnits\",\"markerWidth\",\"marks\",\"mask\",\"mask-type\",\"maskContentUnits\",\"maskType\",\"maskUnits\",\"match\",\"matchMedia\",\"matchMedium\",\"matches\",\"matrix\",\"matrixTransform\",\"max\",\"max-height\",\"max-width\",\"maxAlternatives\",\"maxChannelCount\",\"maxConnectionsPerServer\",\"maxDecibels\",\"maxDistance\",\"maxHeight\",\"maxLength\",\"maxTouchPoints\",\"maxValue\",\"maxWidth\",\"measure\",\"measureText\",\"media\",\"mediaCapabilities\",\"mediaDevices\",\"mediaElement\",\"mediaGroup\",\"mediaKeys\",\"mediaText\",\"meetOrSlice\",\"memory\",\"menubar\",\"mergeAttributes\",\"message\",\"messageClass\",\"messageHandlers\",\"metaKey\",\"method\",\"mimeType\",\"mimeTypes\",\"min\",\"min-height\",\"min-width\",\"minDecibels\",\"minHeight\",\"minValue\",\"minWidth\",\"miterLimit\",\"mix-blend-mode\",\"mixBlendMode\",\"mode\",\"modify\",\"mount\",\"move\",\"moveBy\",\"moveEnd\",\"moveFirst\",\"moveFocusDown\",\"moveFocusLeft\",\"moveFocusRight\",\"moveFocusUp\",\"moveNext\",\"moveRow\",\"moveStart\",\"moveTo\",\"moveToBookmark\",\"moveToElementText\",\"moveToPoint\",\"mozAdd\",\"mozAnimationStartTime\",\"mozAnon\",\"mozApps\",\"mozAudioCaptured\",\"mozAudioChannelType\",\"mozAutoplayEnabled\",\"mozCancelAnimationFrame\",\"mozCancelFullScreen\",\"mozCancelRequestAnimationFrame\",\"mozCaptureStream\",\"mozCaptureStreamUntilEnded\",\"mozClearDataAt\",\"mozContact\",\"mozContacts\",\"mozCreateFileHandle\",\"mozCurrentTransform\",\"mozCurrentTransformInverse\",\"mozCursor\",\"mozDash\",\"mozDashOffset\",\"mozDecodedFrames\",\"mozExitPointerLock\",\"mozFillRule\",\"mozFragmentEnd\",\"mozFrameDelay\",\"mozFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozGetAll\",\"mozGetAllKeys\",\"mozGetAsFile\",\"mozGetDataAt\",\"mozGetMetadata\",\"mozGetUserMedia\",\"mozHasAudio\",\"mozHasItem\",\"mozHidden\",\"mozImageSmoothingEnabled\",\"mozIndexedDB\",\"mozInnerScreenX\",\"mozInnerScreenY\",\"mozInputSource\",\"mozIsTextField\",\"mozItem\",\"mozItemCount\",\"mozItems\",\"mozLength\",\"mozLockOrientation\",\"mozMatchesSelector\",\"mozMovementX\",\"mozMovementY\",\"mozOpaque\",\"mozOrientation\",\"mozPaintCount\",\"mozPaintedFrames\",\"mozParsedFrames\",\"mozPay\",\"mozPointerLockElement\",\"mozPresentedFrames\",\"mozPreservesPitch\",\"mozPressure\",\"mozPrintCallback\",\"mozRTCIceCandidate\",\"mozRTCPeerConnection\",\"mozRTCSessionDescription\",\"mozRemove\",\"mozRequestAnimationFrame\",\"mozRequestFullScreen\",\"mozRequestPointerLock\",\"mozSetDataAt\",\"mozSetImageElement\",\"mozSourceNode\",\"mozSrcObject\",\"mozSystem\",\"mozTCPSocket\",\"mozTextStyle\",\"mozTypesAt\",\"mozUnlockOrientation\",\"mozUserCancelled\",\"mozVisibilityState\",\"msAnimation\",\"msAnimationDelay\",\"msAnimationDirection\",\"msAnimationDuration\",\"msAnimationFillMode\",\"msAnimationIterationCount\",\"msAnimationName\",\"msAnimationPlayState\",\"msAnimationStartTime\",\"msAnimationTimingFunction\",\"msBackfaceVisibility\",\"msBlockProgression\",\"msCSSOMElementFloatMetrics\",\"msCaching\",\"msCachingEnabled\",\"msCancelRequestAnimationFrame\",\"msCapsLockWarningOff\",\"msClearImmediate\",\"msClose\",\"msContentZoomChaining\",\"msContentZoomFactor\",\"msContentZoomLimit\",\"msContentZoomLimitMax\",\"msContentZoomLimitMin\",\"msContentZoomSnap\",\"msContentZoomSnapPoints\",\"msContentZoomSnapType\",\"msContentZooming\",\"msConvertURL\",\"msCrypto\",\"msDoNotTrack\",\"msElementsFromPoint\",\"msElementsFromRect\",\"msExitFullscreen\",\"msExtendedCode\",\"msFillRule\",\"msFirstPaint\",\"msFlex\",\"msFlexAlign\",\"msFlexDirection\",\"msFlexFlow\",\"msFlexItemAlign\",\"msFlexLinePack\",\"msFlexNegative\",\"msFlexOrder\",\"msFlexPack\",\"msFlexPositive\",\"msFlexPreferredSize\",\"msFlexWrap\",\"msFlowFrom\",\"msFlowInto\",\"msFontFeatureSettings\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"msGetInputContext\",\"msGetRegionContent\",\"msGetUntransformedBounds\",\"msGraphicsTrustStatus\",\"msGridColumn\",\"msGridColumnAlign\",\"msGridColumnSpan\",\"msGridColumns\",\"msGridRow\",\"msGridRowAlign\",\"msGridRowSpan\",\"msGridRows\",\"msHidden\",\"msHighContrastAdjust\",\"msHyphenateLimitChars\",\"msHyphenateLimitLines\",\"msHyphenateLimitZone\",\"msHyphens\",\"msImageSmoothingEnabled\",\"msImeAlign\",\"msIndexedDB\",\"msInterpolationMode\",\"msIsStaticHTML\",\"msKeySystem\",\"msKeys\",\"msLaunchUri\",\"msLockOrientation\",\"msManipulationViewsEnabled\",\"msMatchMedia\",\"msMatchesSelector\",\"msMaxTouchPoints\",\"msOrientation\",\"msOverflowStyle\",\"msPerspective\",\"msPerspectiveOrigin\",\"msPlayToDisabled\",\"msPlayToPreferredSourceUri\",\"msPlayToPrimary\",\"msPointerEnabled\",\"msRegionOverflow\",\"msReleasePointerCapture\",\"msRequestAnimationFrame\",\"msRequestFullscreen\",\"msSaveBlob\",\"msSaveOrOpenBlob\",\"msScrollChaining\",\"msScrollLimit\",\"msScrollLimitXMax\",\"msScrollLimitXMin\",\"msScrollLimitYMax\",\"msScrollLimitYMin\",\"msScrollRails\",\"msScrollSnapPointsX\",\"msScrollSnapPointsY\",\"msScrollSnapType\",\"msScrollSnapX\",\"msScrollSnapY\",\"msScrollTranslation\",\"msSetImmediate\",\"msSetMediaKeys\",\"msSetPointerCapture\",\"msTextCombineHorizontal\",\"msTextSizeAdjust\",\"msToBlob\",\"msTouchAction\",\"msTouchSelect\",\"msTraceAsyncCallbackCompleted\",\"msTraceAsyncCallbackStarting\",\"msTraceAsyncOperationCompleted\",\"msTraceAsyncOperationStarting\",\"msTransform\",\"msTransformOrigin\",\"msTransformStyle\",\"msTransition\",\"msTransitionDelay\",\"msTransitionDuration\",\"msTransitionProperty\",\"msTransitionTimingFunction\",\"msUnlockOrientation\",\"msUpdateAsyncCallbackRelation\",\"msUserSelect\",\"msVisibilityState\",\"msWrapFlow\",\"msWrapMargin\",\"msWrapThrough\",\"msWriteProfilerMark\",\"msZoom\",\"msZoomTo\",\"mt\",\"multiEntry\",\"multiSelectionObj\",\"multiline\",\"multiple\",\"multiply\",\"multiplySelf\",\"mutableFile\",\"muted\",\"n\",\"name\",\"nameProp\",\"namedItem\",\"namedRecordset\",\"names\",\"namespaceURI\",\"namespaces\",\"naturalHeight\",\"naturalWidth\",\"navigate\",\"navigation\",\"navigationMode\",\"navigationStart\",\"navigator\",\"near\",\"nearestViewportElement\",\"negative\",\"netscape\",\"networkState\",\"newScale\",\"newTranslate\",\"newURL\",\"newValue\",\"newValueSpecifiedUnits\",\"newVersion\",\"newhome\",\"next\",\"nextElementSibling\",\"nextNode\",\"nextPage\",\"nextSibling\",\"nickname\",\"noHref\",\"noResize\",\"noShade\",\"noValidate\",\"noWrap\",\"nodeName\",\"nodeType\",\"nodeValue\",\"normalize\",\"normalizedPathSegList\",\"notationName\",\"notations\",\"note\",\"noteGrainOn\",\"noteOff\",\"noteOn\",\"now\",\"numOctaves\",\"number\",\"numberOfChannels\",\"numberOfInputs\",\"numberOfItems\",\"numberOfOutputs\",\"numberValue\",\"oMatchesSelector\",\"object\",\"object-fit\",\"object-position\",\"objectFit\",\"objectPosition\",\"objectStore\",\"objectStoreNames\",\"observe\",\"of\",\"offscreenBuffering\",\"offset\",\"offsetHeight\",\"offsetLeft\",\"offsetNode\",\"offsetParent\",\"offsetTop\",\"offsetWidth\",\"offsetX\",\"offsetY\",\"ok\",\"oldURL\",\"oldValue\",\"oldVersion\",\"olderShadowRoot\",\"onLine\",\"onabort\",\"onactivate\",\"onactive\",\"onaddstream\",\"onaddtrack\",\"onafterprint\",\"onafterscriptexecute\",\"onafterupdate\",\"onaudioend\",\"onaudioprocess\",\"onaudiostart\",\"onautocomplete\",\"onautocompleteerror\",\"onbeforeactivate\",\"onbeforecopy\",\"onbeforecut\",\"onbeforedeactivate\",\"onbeforeeditfocus\",\"onbeforepaste\",\"onbeforeprint\",\"onbeforescriptexecute\",\"onbeforeunload\",\"onbeforeupdate\",\"onblocked\",\"onblur\",\"onbounce\",\"onboundary\",\"oncached\",\"oncancel\",\"oncandidatewindowhide\",\"oncandidatewindowshow\",\"oncandidatewindowupdate\",\"oncanplay\",\"oncanplaythrough\",\"once\",\"oncellchange\",\"onchange\",\"onchargingchange\",\"onchargingtimechange\",\"onchecking\",\"onclick\",\"onclose\",\"oncompassneedscalibration\",\"oncomplete\",\"oncontextmenu\",\"oncontrolselect\",\"oncopy\",\"oncuechange\",\"oncut\",\"ondataavailable\",\"ondatachannel\",\"ondatasetchanged\",\"ondatasetcomplete\",\"ondblclick\",\"ondeactivate\",\"ondevicelight\",\"ondevicemotion\",\"ondeviceorientation\",\"ondeviceproximity\",\"ondischargingtimechange\",\"ondisplay\",\"ondownloading\",\"ondrag\",\"ondragend\",\"ondragenter\",\"ondragleave\",\"ondragover\",\"ondragstart\",\"ondrop\",\"ondurationchange\",\"onemptied\",\"onencrypted\",\"onend\",\"onended\",\"onenter\",\"onerror\",\"onerrorupdate\",\"onexit\",\"onfilterchange\",\"onfinish\",\"onfocus\",\"onfocusin\",\"onfocusout\",\"onfullscreenchange\",\"onfullscreenerror\",\"ongesturechange\",\"ongestureend\",\"ongesturestart\",\"ongotpointercapture\",\"onhashchange\",\"onhelp\",\"onicecandidate\",\"oniceconnectionstatechange\",\"oninactive\",\"oninput\",\"oninvalid\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onlanguagechange\",\"onlayoutcomplete\",\"onlevelchange\",\"onload\",\"onloadeddata\",\"onloadedmetadata\",\"onloadend\",\"onloadstart\",\"onlosecapture\",\"onlostpointercapture\",\"only\",\"onmark\",\"onmessage\",\"onmousedown\",\"onmouseenter\",\"onmouseleave\",\"onmousemove\",\"onmouseout\",\"onmouseover\",\"onmouseup\",\"onmousewheel\",\"onmove\",\"onmoveend\",\"onmovestart\",\"onmozfullscreenchange\",\"onmozfullscreenerror\",\"onmozorientationchange\",\"onmozpointerlockchange\",\"onmozpointerlockerror\",\"onmscontentzoom\",\"onmsfullscreenchange\",\"onmsfullscreenerror\",\"onmsgesturechange\",\"onmsgesturedoubletap\",\"onmsgestureend\",\"onmsgesturehold\",\"onmsgesturestart\",\"onmsgesturetap\",\"onmsgotpointercapture\",\"onmsinertiastart\",\"onmslostpointercapture\",\"onmsmanipulationstatechanged\",\"onmsneedkey\",\"onmsorientationchange\",\"onmspointercancel\",\"onmspointerdown\",\"onmspointerenter\",\"onmspointerhover\",\"onmspointerleave\",\"onmspointermove\",\"onmspointerout\",\"onmspointerover\",\"onmspointerup\",\"onmssitemodejumplistitemremoved\",\"onmsthumbnailclick\",\"onnegotiationneeded\",\"onnomatch\",\"onnoupdate\",\"onobsolete\",\"onoffline\",\"ononline\",\"onopen\",\"onorientationchange\",\"onpagechange\",\"onpagehide\",\"onpageshow\",\"onpaste\",\"onpause\",\"onplay\",\"onplaying\",\"onpluginstreamstart\",\"onpointercancel\",\"onpointerdown\",\"onpointerenter\",\"onpointerleave\",\"onpointerlockchange\",\"onpointerlockerror\",\"onpointermove\",\"onpointerout\",\"onpointerover\",\"onpointerup\",\"onpopstate\",\"onprogress\",\"onpropertychange\",\"onratechange\",\"onreadystatechange\",\"onremovestream\",\"onremovetrack\",\"onreset\",\"onresize\",\"onresizeend\",\"onresizestart\",\"onresourcetimingbufferfull\",\"onresult\",\"onresume\",\"onrowenter\",\"onrowexit\",\"onrowsdelete\",\"onrowsinserted\",\"onscroll\",\"onsearch\",\"onseeked\",\"onseeking\",\"onselect\",\"onselectionchange\",\"onselectstart\",\"onshow\",\"onsignalingstatechange\",\"onsoundend\",\"onsoundstart\",\"onspeechend\",\"onspeechstart\",\"onstalled\",\"onstart\",\"onstatechange\",\"onstop\",\"onstorage\",\"onstoragecommit\",\"onsubmit\",\"onsuccess\",\"onsuspend\",\"ontextinput\",\"ontimeout\",\"ontimeupdate\",\"ontoggle\",\"ontouchcancel\",\"ontouchend\",\"ontouchmove\",\"ontouchstart\",\"ontransitionend\",\"onunload\",\"onupdateready\",\"onupgradeneeded\",\"onuserproximity\",\"onversionchange\",\"onvoiceschanged\",\"onvolumechange\",\"onwaiting\",\"onwarning\",\"onwebkitanimationend\",\"onwebkitanimationiteration\",\"onwebkitanimationstart\",\"onwebkitcurrentplaybacktargetiswirelesschanged\",\"onwebkitfullscreenchange\",\"onwebkitfullscreenerror\",\"onwebkitkeyadded\",\"onwebkitkeyerror\",\"onwebkitkeymessage\",\"onwebkitneedkey\",\"onwebkitorientationchange\",\"onwebkitplaybacktargetavailabilitychanged\",\"onwebkitpointerlockchange\",\"onwebkitpointerlockerror\",\"onwebkitresourcetimingbufferfull\",\"onwebkittransitionend\",\"onwheel\",\"onzoom\",\"opacity\",\"open\",\"openCursor\",\"openDatabase\",\"openKeyCursor\",\"opener\",\"opera\",\"operationType\",\"operator\",\"opr\",\"optimum\",\"options\",\"order\",\"orderX\",\"orderY\",\"ordered\",\"org\",\"orient\",\"orientAngle\",\"orientType\",\"orientation\",\"origin\",\"originalTarget\",\"orphans\",\"oscpu\",\"outerHTML\",\"outerHeight\",\"outerText\",\"outerWidth\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"outlineColor\",\"outlineOffset\",\"outlineStyle\",\"outlineWidth\",\"outputBuffer\",\"overflow\",\"overflow-x\",\"overflow-y\",\"overflowX\",\"overflowY\",\"overrideMimeType\",\"oversample\",\"ownerDocument\",\"ownerElement\",\"ownerNode\",\"ownerRule\",\"ownerSVGElement\",\"owningElement\",\"p1\",\"p2\",\"p3\",\"p4\",\"pad\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"paddingBottom\",\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"page\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"pageBreakAfter\",\"pageBreakBefore\",\"pageBreakInside\",\"pageCount\",\"pageX\",\"pageXOffset\",\"pageY\",\"pageYOffset\",\"pages\",\"paint-order\",\"paintOrder\",\"paintRequests\",\"paintType\",\"palette\",\"panningModel\",\"parent\",\"parentElement\",\"parentNode\",\"parentRule\",\"parentStyleSheet\",\"parentTextEdit\",\"parentWindow\",\"parse\",\"parseFloat\",\"parseFromString\",\"parseInt\",\"participants\",\"passive\",\"password\",\"pasteHTML\",\"path\",\"pathLength\",\"pathSegList\",\"pathSegType\",\"pathSegTypeAsLetter\",\"pathname\",\"pattern\",\"patternContentUnits\",\"patternMismatch\",\"patternTransform\",\"patternUnits\",\"pause\",\"pauseAnimations\",\"pauseOnExit\",\"paused\",\"pending\",\"performance\",\"permission\",\"persisted\",\"personalbar\",\"perspective\",\"perspective-origin\",\"perspectiveOrigin\",\"phoneticFamilyName\",\"phoneticGivenName\",\"photo\",\"ping\",\"pitch\",\"pixelBottom\",\"pixelDepth\",\"pixelHeight\",\"pixelLeft\",\"pixelRight\",\"pixelStorei\",\"pixelTop\",\"pixelUnitToMillimeterX\",\"pixelUnitToMillimeterY\",\"pixelWidth\",\"placeholder\",\"platform\",\"play\",\"playbackRate\",\"playbackState\",\"playbackTime\",\"played\",\"plugins\",\"pluginspage\",\"pname\",\"pointer-events\",\"pointerBeforeReferenceNode\",\"pointerEnabled\",\"pointerEvents\",\"pointerId\",\"pointerLockElement\",\"pointerType\",\"points\",\"pointsAtX\",\"pointsAtY\",\"pointsAtZ\",\"polygonOffset\",\"pop\",\"popupWindowFeatures\",\"popupWindowName\",\"popupWindowURI\",\"port\",\"port1\",\"port2\",\"ports\",\"posBottom\",\"posHeight\",\"posLeft\",\"posRight\",\"posTop\",\"posWidth\",\"position\",\"positionAlign\",\"postError\",\"postMessage\",\"poster\",\"pow\",\"powerOff\",\"preMultiplySelf\",\"precision\",\"preferredStyleSheetSet\",\"preferredStylesheetSet\",\"prefix\",\"preload\",\"prepend\",\"preserveAlpha\",\"preserveAspectRatio\",\"preserveAspectRatioString\",\"pressed\",\"pressure\",\"prevValue\",\"preventDefault\",\"preventExtensions\",\"previousElementSibling\",\"previousNode\",\"previousPage\",\"previousScale\",\"previousSibling\",\"previousTranslate\",\"primaryKey\",\"primitiveType\",\"primitiveUnits\",\"principals\",\"print\",\"privateKey\",\"probablySupportsContext\",\"process\",\"processIceMessage\",\"product\",\"productSub\",\"profile\",\"profileEnd\",\"profiles\",\"prompt\",\"properties\",\"propertyIsEnumerable\",\"propertyName\",\"protocol\",\"protocolLong\",\"prototype\",\"pseudoClass\",\"pseudoElement\",\"publicId\",\"publicKey\",\"published\",\"push\",\"pushNotification\",\"pushState\",\"put\",\"putImageData\",\"quadraticCurveTo\",\"qualifier\",\"queryCommandEnabled\",\"queryCommandIndeterm\",\"queryCommandState\",\"queryCommandSupported\",\"queryCommandText\",\"queryCommandValue\",\"querySelector\",\"querySelectorAll\",\"quote\",\"quotes\",\"r\",\"r1\",\"r2\",\"race\",\"radiogroup\",\"radiusX\",\"radiusY\",\"random\",\"range\",\"rangeCount\",\"rangeMax\",\"rangeMin\",\"rangeOffset\",\"rangeOverflow\",\"rangeParent\",\"rangeUnderflow\",\"rate\",\"ratio\",\"raw\",\"read\",\"readAsArrayBuffer\",\"readAsBinaryString\",\"readAsBlob\",\"readAsDataURL\",\"readAsText\",\"readOnly\",\"readPixels\",\"readReportRequested\",\"readyState\",\"reason\",\"reboot\",\"receiver\",\"receivers\",\"recordNumber\",\"recordset\",\"rect\",\"red\",\"redirectCount\",\"redirectEnd\",\"redirectStart\",\"reduce\",\"reduceRight\",\"reduction\",\"refDistance\",\"refX\",\"refY\",\"referenceNode\",\"referrer\",\"refresh\",\"region\",\"regionAnchorX\",\"regionAnchorY\",\"regionId\",\"regions\",\"register\",\"registerContentHandler\",\"registerElement\",\"registerProtocolHandler\",\"reject\",\"rel\",\"relList\",\"relatedNode\",\"relatedTarget\",\"release\",\"releaseCapture\",\"releaseEvents\",\"releasePointerCapture\",\"releaseShaderCompiler\",\"reliable\",\"reload\",\"remainingSpace\",\"remoteDescription\",\"remove\",\"removeAllRanges\",\"removeAttribute\",\"removeAttributeNS\",\"removeAttributeNode\",\"removeBehavior\",\"removeChild\",\"removeCue\",\"removeEventListener\",\"removeFilter\",\"removeImport\",\"removeItem\",\"removeListener\",\"removeNamedItem\",\"removeNamedItemNS\",\"removeNode\",\"removeParameter\",\"removeProperty\",\"removeRange\",\"removeRegion\",\"removeRule\",\"removeSiteSpecificTrackingException\",\"removeSourceBuffer\",\"removeStream\",\"removeTrack\",\"removeVariable\",\"removeWakeLockListener\",\"removeWebWideTrackingException\",\"removedNodes\",\"renderbufferStorage\",\"renderedBuffer\",\"renderingMode\",\"repeat\",\"replace\",\"replaceAdjacentText\",\"replaceChild\",\"replaceData\",\"replaceId\",\"replaceItem\",\"replaceNode\",\"replaceState\",\"replaceTrack\",\"replaceWholeText\",\"reportValidity\",\"requestAnimationFrame\",\"requestAutocomplete\",\"requestData\",\"requestFullscreen\",\"requestMediaKeySystemAccess\",\"requestPermission\",\"requestPointerLock\",\"requestStart\",\"requestingWindow\",\"required\",\"requiredExtensions\",\"requiredFeatures\",\"reset\",\"resetTransform\",\"resize\",\"resizeBy\",\"resizeTo\",\"resolve\",\"response\",\"responseBody\",\"responseEnd\",\"responseStart\",\"responseText\",\"responseType\",\"responseURL\",\"responseXML\",\"restore\",\"result\",\"resultType\",\"resume\",\"returnValue\",\"rev\",\"reverse\",\"reversed\",\"revocable\",\"revokeObjectURL\",\"rgbColor\",\"right\",\"rightContext\",\"rightMargin\",\"rolloffFactor\",\"root\",\"rootElement\",\"rotate\",\"rotateAxisAngle\",\"rotateAxisAngleSelf\",\"rotateFromVector\",\"rotateFromVectorSelf\",\"rotateSelf\",\"rotation\",\"rotationRate\",\"round\",\"rowIndex\",\"rowSpan\",\"rows\",\"rubyAlign\",\"rubyOverhang\",\"rubyPosition\",\"rules\",\"runtime\",\"runtimeStyle\",\"rx\",\"ry\",\"safari\",\"sampleCoverage\",\"sampleRate\",\"sandbox\",\"save\",\"scale\",\"scale3d\",\"scale3dSelf\",\"scaleNonUniform\",\"scaleNonUniformSelf\",\"scaleSelf\",\"scheme\",\"scissor\",\"scope\",\"scopeName\",\"scoped\",\"screen\",\"screenBrightness\",\"screenEnabled\",\"screenLeft\",\"screenPixelToMillimeterX\",\"screenPixelToMillimeterY\",\"screenTop\",\"screenX\",\"screenY\",\"scripts\",\"scroll\",\"scroll-behavior\",\"scrollAmount\",\"scrollBehavior\",\"scrollBy\",\"scrollByLines\",\"scrollByPages\",\"scrollDelay\",\"scrollHeight\",\"scrollIntoView\",\"scrollIntoViewIfNeeded\",\"scrollLeft\",\"scrollLeftMax\",\"scrollMaxX\",\"scrollMaxY\",\"scrollTo\",\"scrollTop\",\"scrollTopMax\",\"scrollWidth\",\"scrollX\",\"scrollY\",\"scrollbar3dLightColor\",\"scrollbarArrowColor\",\"scrollbarBaseColor\",\"scrollbarDarkShadowColor\",\"scrollbarFaceColor\",\"scrollbarHighlightColor\",\"scrollbarShadowColor\",\"scrollbarTrackColor\",\"scrollbars\",\"scrolling\",\"sdp\",\"sdpMLineIndex\",\"sdpMid\",\"seal\",\"search\",\"searchBox\",\"searchBoxJavaBridge_\",\"searchParams\",\"sectionRowIndex\",\"secureConnectionStart\",\"security\",\"seed\",\"seekable\",\"seeking\",\"select\",\"selectAllChildren\",\"selectNode\",\"selectNodeContents\",\"selectNodes\",\"selectSingleNode\",\"selectSubString\",\"selected\",\"selectedIndex\",\"selectedOptions\",\"selectedStyleSheetSet\",\"selectedStylesheetSet\",\"selection\",\"selectionDirection\",\"selectionEnd\",\"selectionStart\",\"selector\",\"selectorText\",\"self\",\"send\",\"sendAsBinary\",\"sendBeacon\",\"sender\",\"sentTimestamp\",\"separator\",\"serializeToString\",\"serviceWorker\",\"sessionId\",\"sessionStorage\",\"set\",\"setActive\",\"setAlpha\",\"setAttribute\",\"setAttributeNS\",\"setAttributeNode\",\"setAttributeNodeNS\",\"setBaseAndExtent\",\"setBingCurrentSearchDefault\",\"setCapture\",\"setColor\",\"setCompositeOperation\",\"setCurrentTime\",\"setCustomValidity\",\"setData\",\"setDate\",\"setDragImage\",\"setEnd\",\"setEndAfter\",\"setEndBefore\",\"setEndPoint\",\"setFillColor\",\"setFilterRes\",\"setFloat32\",\"setFloat64\",\"setFloatValue\",\"setFullYear\",\"setHours\",\"setImmediate\",\"setInt16\",\"setInt32\",\"setInt8\",\"setInterval\",\"setItem\",\"setLineCap\",\"setLineDash\",\"setLineJoin\",\"setLineWidth\",\"setLocalDescription\",\"setMatrix\",\"setMatrixValue\",\"setMediaKeys\",\"setMilliseconds\",\"setMinutes\",\"setMiterLimit\",\"setMonth\",\"setNamedItem\",\"setNamedItemNS\",\"setNonUserCodeExceptions\",\"setOrientToAngle\",\"setOrientToAuto\",\"setOrientation\",\"setOverrideHistoryNavigationMode\",\"setPaint\",\"setParameter\",\"setPeriodicWave\",\"setPointerCapture\",\"setPosition\",\"setPreference\",\"setProperty\",\"setPrototypeOf\",\"setRGBColor\",\"setRGBColorICCColor\",\"setRadius\",\"setRangeText\",\"setRemoteDescription\",\"setRequestHeader\",\"setResizable\",\"setResourceTimingBufferSize\",\"setRotate\",\"setScale\",\"setSeconds\",\"setSelectionRange\",\"setServerCertificate\",\"setShadow\",\"setSkewX\",\"setSkewY\",\"setStart\",\"setStartAfter\",\"setStartBefore\",\"setStdDeviation\",\"setStringValue\",\"setStrokeColor\",\"setSuggestResult\",\"setTargetAtTime\",\"setTargetValueAtTime\",\"setTime\",\"setTimeout\",\"setTransform\",\"setTranslate\",\"setUTCDate\",\"setUTCFullYear\",\"setUTCHours\",\"setUTCMilliseconds\",\"setUTCMinutes\",\"setUTCMonth\",\"setUTCSeconds\",\"setUint16\",\"setUint32\",\"setUint8\",\"setUri\",\"setValueAtTime\",\"setValueCurveAtTime\",\"setVariable\",\"setVelocity\",\"setVersion\",\"setYear\",\"settingName\",\"settingValue\",\"sex\",\"shaderSource\",\"shadowBlur\",\"shadowColor\",\"shadowOffsetX\",\"shadowOffsetY\",\"shadowRoot\",\"shape\",\"shape-rendering\",\"shapeRendering\",\"sheet\",\"shift\",\"shiftKey\",\"shiftLeft\",\"show\",\"showHelp\",\"showModal\",\"showModalDialog\",\"showModelessDialog\",\"showNotification\",\"sidebar\",\"sign\",\"signalingState\",\"sin\",\"singleNodeValue\",\"sinh\",\"size\",\"sizeToContent\",\"sizes\",\"skewX\",\"skewXSelf\",\"skewY\",\"skewYSelf\",\"slice\",\"slope\",\"small\",\"smil\",\"smooth\",\"smoothingTimeConstant\",\"snapToLines\",\"snapshotItem\",\"snapshotLength\",\"some\",\"sort\",\"source\",\"sourceBuffer\",\"sourceBuffers\",\"sourceIndex\",\"spacing\",\"span\",\"speakAs\",\"speaking\",\"specified\",\"specularConstant\",\"specularExponent\",\"speechSynthesis\",\"speed\",\"speedOfSound\",\"spellcheck\",\"splice\",\"split\",\"splitText\",\"spreadMethod\",\"sqrt\",\"src\",\"srcElement\",\"srcFilter\",\"srcUrn\",\"srcdoc\",\"srclang\",\"srcset\",\"stack\",\"stackTraceLimit\",\"stacktrace\",\"standalone\",\"standby\",\"start\",\"startContainer\",\"startIce\",\"startOffset\",\"startRendering\",\"startTime\",\"startsWith\",\"state\",\"status\",\"statusMessage\",\"statusText\",\"statusbar\",\"stdDeviationX\",\"stdDeviationY\",\"stencilFunc\",\"stencilFuncSeparate\",\"stencilMask\",\"stencilMaskSeparate\",\"stencilOp\",\"stencilOpSeparate\",\"step\",\"stepDown\",\"stepMismatch\",\"stepUp\",\"sticky\",\"stitchTiles\",\"stop\",\"stop-color\",\"stop-opacity\",\"stopColor\",\"stopImmediatePropagation\",\"stopOpacity\",\"stopPropagation\",\"storageArea\",\"storageName\",\"storageStatus\",\"storeSiteSpecificTrackingException\",\"storeWebWideTrackingException\",\"stpVersion\",\"stream\",\"strike\",\"stringValue\",\"stringify\",\"stroke\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"strokeDasharray\",\"strokeDashoffset\",\"strokeLinecap\",\"strokeLinejoin\",\"strokeMiterlimit\",\"strokeOpacity\",\"strokeRect\",\"strokeStyle\",\"strokeText\",\"strokeWidth\",\"style\",\"styleFloat\",\"styleMedia\",\"styleSheet\",\"styleSheetSets\",\"styleSheets\",\"sub\",\"subarray\",\"subject\",\"submit\",\"subscribe\",\"substr\",\"substring\",\"substringData\",\"subtle\",\"subtree\",\"suffix\",\"suffixes\",\"summary\",\"sup\",\"supports\",\"surfaceScale\",\"surroundContents\",\"suspend\",\"suspendRedraw\",\"swapCache\",\"swapNode\",\"sweepFlag\",\"symbols\",\"system\",\"systemCode\",\"systemId\",\"systemLanguage\",\"systemXDPI\",\"systemYDPI\",\"tBodies\",\"tFoot\",\"tHead\",\"tabIndex\",\"table\",\"table-layout\",\"tableLayout\",\"tableValues\",\"tag\",\"tagName\",\"tagUrn\",\"tags\",\"taintEnabled\",\"takeRecords\",\"tan\",\"tanh\",\"target\",\"targetElement\",\"targetTouches\",\"targetX\",\"targetY\",\"tel\",\"terminate\",\"test\",\"texImage2D\",\"texParameterf\",\"texParameteri\",\"texSubImage2D\",\"text\",\"text-align\",\"text-anchor\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-style\",\"text-indent\",\"text-overflow\",\"text-rendering\",\"text-shadow\",\"text-transform\",\"textAlign\",\"textAlignLast\",\"textAnchor\",\"textAutospace\",\"textBaseline\",\"textContent\",\"textDecoration\",\"textDecorationBlink\",\"textDecorationColor\",\"textDecorationLine\",\"textDecorationLineThrough\",\"textDecorationNone\",\"textDecorationOverline\",\"textDecorationStyle\",\"textDecorationUnderline\",\"textIndent\",\"textJustify\",\"textJustifyTrim\",\"textKashida\",\"textKashidaSpace\",\"textLength\",\"textOverflow\",\"textRendering\",\"textShadow\",\"textTracks\",\"textTransform\",\"textUnderlinePosition\",\"then\",\"threadId\",\"threshold\",\"tiltX\",\"tiltY\",\"time\",\"timeEnd\",\"timeStamp\",\"timeout\",\"timestamp\",\"timestampOffset\",\"timing\",\"title\",\"toArray\",\"toBlob\",\"toDataURL\",\"toDateString\",\"toElement\",\"toExponential\",\"toFixed\",\"toFloat32Array\",\"toFloat64Array\",\"toGMTString\",\"toISOString\",\"toJSON\",\"toLocaleDateString\",\"toLocaleFormat\",\"toLocaleLowerCase\",\"toLocaleString\",\"toLocaleTimeString\",\"toLocaleUpperCase\",\"toLowerCase\",\"toMethod\",\"toPrecision\",\"toSdp\",\"toSource\",\"toStaticHTML\",\"toString\",\"toStringTag\",\"toTimeString\",\"toUTCString\",\"toUpperCase\",\"toggle\",\"toggleLongPressEnabled\",\"tooLong\",\"toolbar\",\"top\",\"topMargin\",\"total\",\"totalFrameDelay\",\"totalVideoFrames\",\"touchAction\",\"touches\",\"trace\",\"track\",\"transaction\",\"transactions\",\"transform\",\"transform-origin\",\"transform-style\",\"transformOrigin\",\"transformPoint\",\"transformString\",\"transformStyle\",\"transformToDocument\",\"transformToFragment\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"transitionDelay\",\"transitionDuration\",\"transitionProperty\",\"transitionTimingFunction\",\"translate\",\"translateSelf\",\"translationX\",\"translationY\",\"trim\",\"trimLeft\",\"trimRight\",\"trueSpeed\",\"trunc\",\"truncate\",\"type\",\"typeDetail\",\"typeMismatch\",\"typeMustMatch\",\"types\",\"ubound\",\"undefined\",\"unescape\",\"uneval\",\"unicode-bidi\",\"unicodeBidi\",\"uniform1f\",\"uniform1fv\",\"uniform1i\",\"uniform1iv\",\"uniform2f\",\"uniform2fv\",\"uniform2i\",\"uniform2iv\",\"uniform3f\",\"uniform3fv\",\"uniform3i\",\"uniform3iv\",\"uniform4f\",\"uniform4fv\",\"uniform4i\",\"uniform4iv\",\"uniformMatrix2fv\",\"uniformMatrix3fv\",\"uniformMatrix4fv\",\"unique\",\"uniqueID\",\"uniqueNumber\",\"unitType\",\"units\",\"unloadEventEnd\",\"unloadEventStart\",\"unlock\",\"unmount\",\"unobserve\",\"unpause\",\"unpauseAnimations\",\"unreadCount\",\"unregister\",\"unregisterContentHandler\",\"unregisterProtocolHandler\",\"unscopables\",\"unselectable\",\"unshift\",\"unsubscribe\",\"unsuspendRedraw\",\"unsuspendRedrawAll\",\"unwatch\",\"unwrapKey\",\"update\",\"updateCommands\",\"updateIce\",\"updateInterval\",\"updateSettings\",\"updated\",\"updating\",\"upload\",\"upper\",\"upperBound\",\"upperOpen\",\"uri\",\"url\",\"urn\",\"urns\",\"usages\",\"useCurrentView\",\"useMap\",\"useProgram\",\"usedSpace\",\"userAgent\",\"userLanguage\",\"username\",\"v8BreakIterator\",\"vAlign\",\"vLink\",\"valid\",\"validateProgram\",\"validationMessage\",\"validity\",\"value\",\"valueAsDate\",\"valueAsNumber\",\"valueAsString\",\"valueInSpecifiedUnits\",\"valueMissing\",\"valueOf\",\"valueText\",\"valueType\",\"values\",\"vector-effect\",\"vectorEffect\",\"velocityAngular\",\"velocityExpansion\",\"velocityX\",\"velocityY\",\"vendor\",\"vendorSub\",\"verify\",\"version\",\"vertexAttrib1f\",\"vertexAttrib1fv\",\"vertexAttrib2f\",\"vertexAttrib2fv\",\"vertexAttrib3f\",\"vertexAttrib3fv\",\"vertexAttrib4f\",\"vertexAttrib4fv\",\"vertexAttribDivisorANGLE\",\"vertexAttribPointer\",\"vertical\",\"vertical-align\",\"verticalAlign\",\"verticalOverflow\",\"vibrate\",\"videoHeight\",\"videoTracks\",\"videoWidth\",\"view\",\"viewBox\",\"viewBoxString\",\"viewTarget\",\"viewTargetString\",\"viewport\",\"viewportAnchorX\",\"viewportAnchorY\",\"viewportElement\",\"visibility\",\"visibilityState\",\"visible\",\"vlinkColor\",\"voice\",\"volume\",\"vrml\",\"vspace\",\"w\",\"wand\",\"warn\",\"wasClean\",\"watch\",\"watchPosition\",\"webdriver\",\"webkitAddKey\",\"webkitAnimation\",\"webkitAnimationDelay\",\"webkitAnimationDirection\",\"webkitAnimationDuration\",\"webkitAnimationFillMode\",\"webkitAnimationIterationCount\",\"webkitAnimationName\",\"webkitAnimationPlayState\",\"webkitAnimationTimingFunction\",\"webkitAppearance\",\"webkitAudioContext\",\"webkitAudioDecodedByteCount\",\"webkitAudioPannerNode\",\"webkitBackfaceVisibility\",\"webkitBackground\",\"webkitBackgroundAttachment\",\"webkitBackgroundClip\",\"webkitBackgroundColor\",\"webkitBackgroundImage\",\"webkitBackgroundOrigin\",\"webkitBackgroundPosition\",\"webkitBackgroundPositionX\",\"webkitBackgroundPositionY\",\"webkitBackgroundRepeat\",\"webkitBackgroundSize\",\"webkitBackingStorePixelRatio\",\"webkitBorderImage\",\"webkitBorderImageOutset\",\"webkitBorderImageRepeat\",\"webkitBorderImageSlice\",\"webkitBorderImageSource\",\"webkitBorderImageWidth\",\"webkitBoxAlign\",\"webkitBoxDirection\",\"webkitBoxFlex\",\"webkitBoxOrdinalGroup\",\"webkitBoxOrient\",\"webkitBoxPack\",\"webkitBoxSizing\",\"webkitCancelAnimationFrame\",\"webkitCancelFullScreen\",\"webkitCancelKeyRequest\",\"webkitCancelRequestAnimationFrame\",\"webkitClearResourceTimings\",\"webkitClosedCaptionsVisible\",\"webkitConvertPointFromNodeToPage\",\"webkitConvertPointFromPageToNode\",\"webkitCreateShadowRoot\",\"webkitCurrentFullScreenElement\",\"webkitCurrentPlaybackTargetIsWireless\",\"webkitDirectionInvertedFromDevice\",\"webkitDisplayingFullscreen\",\"webkitEnterFullScreen\",\"webkitEnterFullscreen\",\"webkitExitFullScreen\",\"webkitExitFullscreen\",\"webkitExitPointerLock\",\"webkitFullScreenKeyboardInputAllowed\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitGenerateKeyRequest\",\"webkitGetAsEntry\",\"webkitGetDatabaseNames\",\"webkitGetEntries\",\"webkitGetEntriesByName\",\"webkitGetEntriesByType\",\"webkitGetFlowByName\",\"webkitGetGamepads\",\"webkitGetImageDataHD\",\"webkitGetNamedFlows\",\"webkitGetRegionFlowRanges\",\"webkitGetUserMedia\",\"webkitHasClosedCaptions\",\"webkitHidden\",\"webkitIDBCursor\",\"webkitIDBDatabase\",\"webkitIDBDatabaseError\",\"webkitIDBDatabaseException\",\"webkitIDBFactory\",\"webkitIDBIndex\",\"webkitIDBKeyRange\",\"webkitIDBObjectStore\",\"webkitIDBRequest\",\"webkitIDBTransaction\",\"webkitImageSmoothingEnabled\",\"webkitIndexedDB\",\"webkitInitMessageEvent\",\"webkitIsFullScreen\",\"webkitKeys\",\"webkitLineDashOffset\",\"webkitLockOrientation\",\"webkitMatchesSelector\",\"webkitMediaStream\",\"webkitNotifications\",\"webkitOfflineAudioContext\",\"webkitOrientation\",\"webkitPeerConnection00\",\"webkitPersistentStorage\",\"webkitPointerLockElement\",\"webkitPostMessage\",\"webkitPreservesPitch\",\"webkitPutImageDataHD\",\"webkitRTCPeerConnection\",\"webkitRegionOverset\",\"webkitRequestAnimationFrame\",\"webkitRequestFileSystem\",\"webkitRequestFullScreen\",\"webkitRequestFullscreen\",\"webkitRequestPointerLock\",\"webkitResolveLocalFileSystemURL\",\"webkitSetMediaKeys\",\"webkitSetResourceTimingBufferSize\",\"webkitShadowRoot\",\"webkitShowPlaybackTargetPicker\",\"webkitSlice\",\"webkitSpeechGrammar\",\"webkitSpeechGrammarList\",\"webkitSpeechRecognition\",\"webkitSpeechRecognitionError\",\"webkitSpeechRecognitionEvent\",\"webkitStorageInfo\",\"webkitSupportsFullscreen\",\"webkitTemporaryStorage\",\"webkitTextSizeAdjust\",\"webkitTransform\",\"webkitTransformOrigin\",\"webkitTransition\",\"webkitTransitionDelay\",\"webkitTransitionDuration\",\"webkitTransitionProperty\",\"webkitTransitionTimingFunction\",\"webkitURL\",\"webkitUnlockOrientation\",\"webkitUserSelect\",\"webkitVideoDecodedByteCount\",\"webkitVisibilityState\",\"webkitWirelessVideoPlaybackDisabled\",\"webkitdropzone\",\"webstore\",\"weight\",\"whatToShow\",\"wheelDelta\",\"wheelDeltaX\",\"wheelDeltaY\",\"which\",\"white-space\",\"whiteSpace\",\"wholeText\",\"widows\",\"width\",\"will-change\",\"willChange\",\"willValidate\",\"window\",\"withCredentials\",\"word-break\",\"word-spacing\",\"word-wrap\",\"wordBreak\",\"wordSpacing\",\"wordWrap\",\"wrap\",\"wrapKey\",\"write\",\"writeln\",\"writingMode\",\"x\",\"x1\",\"x2\",\"xChannelSelector\",\"xmlEncoding\",\"xmlStandalone\",\"xmlVersion\",\"xmlbase\",\"xmllang\",\"xmlspace\",\"y\",\"y1\",\"y2\",\"yChannelSelector\",\"yandex\",\"z\",\"z-index\",\"zIndex\",\"zoom\",\"zoomAndPan\",\"zoomRectScreen\"]"); + +/***/ }), + +/***/ "@javascript-obfuscator/escodegen": +/*!***************************************************!*\ + !*** external "@javascript-obfuscator/escodegen" ***! + \***************************************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("@javascript-obfuscator/escodegen");; + +/***/ }), + +/***/ "acorn": +/*!************************!*\ + !*** external "acorn" ***! + \************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("acorn");; + +/***/ }), + +/***/ "chalk": +/*!************************!*\ + !*** external "chalk" ***! + \************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("chalk");; + +/***/ }), + +/***/ "chance": +/*!*************************!*\ + !*** external "chance" ***! + \*************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("chance");; + +/***/ }), + +/***/ "class-validator": +/*!**********************************!*\ + !*** external "class-validator" ***! + \**********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("class-validator");; + +/***/ }), + +/***/ "commander": +/*!****************************!*\ + !*** external "commander" ***! + \****************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("commander");; + +/***/ }), + +/***/ "eslint-scope": +/*!*******************************!*\ + !*** external "eslint-scope" ***! + \*******************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("eslint-scope");; + +/***/ }), + +/***/ "estraverse": +/*!*****************************!*\ + !*** external "estraverse" ***! + \*****************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("estraverse");; + +/***/ }), + +/***/ "eventemitter3": +/*!********************************!*\ + !*** external "eventemitter3" ***! + \********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("eventemitter3");; + +/***/ }), + +/***/ "fast-deep-equal": +/*!**********************************!*\ + !*** external "fast-deep-equal" ***! + \**********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("fast-deep-equal");; + +/***/ }), + +/***/ "fs": +/*!*********************!*\ + !*** external "fs" ***! + \*********************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("fs");; + +/***/ }), + +/***/ "inversify": +/*!****************************!*\ + !*** external "inversify" ***! + \****************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("inversify");; + +/***/ }), + +/***/ "js-string-escape": +/*!***********************************!*\ + !*** external "js-string-escape" ***! + \***********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("js-string-escape");; + +/***/ }), + +/***/ "md5": +/*!**********************!*\ + !*** external "md5" ***! + \**********************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("md5");; + +/***/ }), + +/***/ "mkdirp": +/*!*************************!*\ + !*** external "mkdirp" ***! + \*************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("mkdirp");; + +/***/ }), + +/***/ "multimatch": +/*!*****************************!*\ + !*** external "multimatch" ***! + \*****************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("multimatch");; + +/***/ }), + +/***/ "path": +/*!***********************!*\ + !*** external "path" ***! + \***********************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("path");; + +/***/ }), + +/***/ "reflect-metadata": +/*!***********************************!*\ + !*** external "reflect-metadata" ***! + \***********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("reflect-metadata");; + +/***/ }), + +/***/ "string-template": +/*!**********************************!*\ + !*** external "string-template" ***! + \**********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("string-template");; + +/***/ }), + +/***/ "stringz": +/*!**************************!*\ + !*** external "stringz" ***! + \**************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +"use strict"; +module.exports = require("stringz");; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop) +/******/ })(); +/******/ +/************************************************************************/ +/******/ // module exports must be returned from runtime so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ return __webpack_require__("./index.cli.ts"); +/******/ })() +; //# sourceMappingURL=index.cli.js.map \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 3fad1da6..76c8a40f 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,3 +1,24317 @@ -/*! For license information please see index.js.LICENSE.txt */ -require("source-map-support").install(),module.exports=(()=>{"use strict";var e={3254:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});const o=r(2895);e.exports=o.JavaScriptObfuscator},425:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ASTParserFacade=void 0;const s=i(r(6054)),c=a(r(2242));class d{static parse(e,t){const r=d.sourceTypes.length;for(let o=0;o"),s=`...${o.slice(n,i).replace(/^\s+/,"")}...`;throw new Error(`ERROR at line ${r.line}: ${t}\n${a} ${s}`)}}t.ASTParserFacade=d,d.colorError=c.default.red,d.nearestSymbolsCount=15,d.sourceTypes=["script","module"]},7086:function(e,t,r){var o,n,i,a,s,c,d,l=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),f=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},p=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&l(t,e,r);return u(t,e),t},m=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},g=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptObfuscator=void 0;const S=r(2991),y=r(5350),N=p(r(9385)),_=r(2596),h=r(7673),b=r(5082),O=r(4482),I=r(1403),E=r(698),v=r(7082),C=r(5670),T=r(6221),R=r(4212),A=r(8932),M=r(4941),j=r(425),F=r(4134),P=r(4741);let D=o=class{constructor(e,t,r,o,n,i){this.codeTransformersRunner=e,this.nodeTransformersRunner=t,this.randomGenerator=r,this.obfuscatedCodeFactory=o,this.logger=n,this.options=i}obfuscate(e){"string"!=typeof e&&(e="");const t=Date.now();this.logger.info(T.LoggingMessage.Version,P.Utils.buildVersionMessage("2.9.0",1605389448285)),this.logger.info(T.LoggingMessage.ObfuscationStarted),this.logger.info(T.LoggingMessage.RandomGeneratorSeed,this.randomGenerator.getInputSeed()),e=this.runCodeTransformationStage(e,C.CodeTransformationStage.PreparingTransformers);const r=this.parseCode(e),o=this.transformAstTree(r),n=this.generateCode(e,o);n.code=this.runCodeTransformationStage(n.code,C.CodeTransformationStage.FinalizingTransformers);const i=(Date.now()-t)/1e3;return this.logger.success(T.LoggingMessage.ObfuscationCompleted,i),this.getObfuscatedCode(n)}parseCode(e){return j.ASTParserFacade.parse(e,o.parseOptions)}transformAstTree(e){return e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Initializing),!F.NodeGuards.isProgramNode(e)||e.body.length||e.leadingComments||e.trailingComments?(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Preparing),this.options.deadCodeInjection&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.DeadCodeInjection)),this.options.controlFlowFlattening&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.ControlFlowFlattening)),this.options.renameProperties&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.RenameProperties)),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Converting),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.RenameIdentifiers),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.StringArray),this.options.simplify&&(e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Simplifying)),e=this.runNodeTransformationStage(e,A.NodeTransformationStage.Finalizing)):(this.logger.warn(T.LoggingMessage.EmptySourceCode),e)}generateCode(e,t){const r=Object.assign({},o.escodegenParams);this.options.sourceMap&&(r.sourceMap=this.options.inputFileName||"sourceMap",r.sourceContent=e);const n=N.generate(t,Object.assign(Object.assign({},r),{format:{compact:this.options.compact}}));return n.map=n.map?n.map.toString():"",n}getObfuscatedCode(e){return this.obfuscatedCodeFactory(e.code,e.map)}runCodeTransformationStage(e,t){return this.logger.info(T.LoggingMessage.CodeTransformationStage,t),this.codeTransformersRunner.transform(e,o.codeTransformersList,t)}runNodeTransformationStage(e,t){return this.logger.info(T.LoggingMessage.NodeTransformationStage,t),this.nodeTransformersRunner.transform(e,o.nodeTransformersList,t)}};D.parseOptions={ecmaVersion:M.ecmaVersion,allowHashBang:!0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,locations:!0,ranges:!0},D.escodegenParams={comment:!0,verbatim:"x-verbatim-property",sourceMapWithCode:!0},D.codeTransformersList=[v.CodeTransformer.HashbangOperatorTransformer],D.nodeTransformersList=[R.NodeTransformer.BooleanLiteralTransformer,R.NodeTransformer.BlockStatementControlFlowTransformer,R.NodeTransformer.BlockStatementSimplifyTransformer,R.NodeTransformer.CommentsTransformer,R.NodeTransformer.CustomCodeHelpersTransformer,R.NodeTransformer.DeadCodeInjectionTransformer,R.NodeTransformer.EscapeSequenceTransformer,R.NodeTransformer.EvalCallExpressionTransformer,R.NodeTransformer.ExportSpecifierTransformer,R.NodeTransformer.ExpressionStatementsMergeTransformer,R.NodeTransformer.FunctionControlFlowTransformer,R.NodeTransformer.IfStatementSimplifyTransformer,R.NodeTransformer.LabeledStatementTransformer,R.NodeTransformer.RenamePropertiesTransformer,R.NodeTransformer.MemberExpressionTransformer,R.NodeTransformer.MetadataTransformer,R.NodeTransformer.MethodDefinitionTransformer,R.NodeTransformer.NumberLiteralTransformer,R.NodeTransformer.NumberToNumericalExpressionTransformer,R.NodeTransformer.ObfuscatingGuardsTransformer,R.NodeTransformer.ObjectExpressionKeysTransformer,R.NodeTransformer.ObjectExpressionTransformer,R.NodeTransformer.ObjectPatternPropertiesTransformer,R.NodeTransformer.ParentificationTransformer,R.NodeTransformer.ScopeIdentifiersTransformer,R.NodeTransformer.SplitStringTransformer,R.NodeTransformer.StringArrayScopeCallsWrapperTransformer,R.NodeTransformer.StringArrayTransformer,R.NodeTransformer.TemplateLiteralTransformer,R.NodeTransformer.VariableDeclarationsMergeTransformer,R.NodeTransformer.VariablePreserveTransformer],D=o=f([S.injectable(),g(0,S.inject(y.ServiceIdentifiers.ICodeTransformersRunner)),g(1,S.inject(y.ServiceIdentifiers.INodeTransformersRunner)),g(2,S.inject(y.ServiceIdentifiers.IRandomGenerator)),g(3,S.inject(y.ServiceIdentifiers.Factory__IObfuscatedCode)),g(4,S.inject(y.ServiceIdentifiers.ILogger)),g(5,S.inject(y.ServiceIdentifiers.IOptions)),m("design:paramtypes",["function"==typeof(n=void 0!==h.ICodeTransformersRunner&&h.ICodeTransformersRunner)?n:Object,"function"==typeof(i=void 0!==E.INodeTransformersRunner&&E.INodeTransformersRunner)?i:Object,"function"==typeof(a=void 0!==I.IRandomGenerator&&I.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==_.TObfuscatedCodeFactory&&_.TObfuscatedCodeFactory)?s:Object,"function"==typeof(c=void 0!==b.ILogger&&b.ILogger)?c:Object,"function"==typeof(d=void 0!==O.IOptions&&O.IOptions)?d:Object])],D),t.JavaScriptObfuscator=D},2895:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptObfuscator=void 0,r(9906);const o=r(5350),n=r(1636),i=r(8516),a=r(4741);class s{static obfuscate(e,t={}){const r=new n.InversifyContainerFacade;r.load(e,"",t);const i=r.get(o.ServiceIdentifiers.IJavaScriptObfuscator).obfuscate(e);return r.unload(),i}static obfuscateMultiple(e,t={}){if("object"!=typeof e)throw new Error("Source codes object should be a plain object");return Object.keys(e).reduce(((r,o,n)=>{const i=a.Utils.getIdentifiersPrefixForMultipleSources(t.identifiersPrefix,n),c=e[o],d=Object.assign(Object.assign({},t),{identifiersPrefix:i});return Object.assign(Object.assign({},r),{[o]:s.obfuscate(c,d)})}),{})}static getOptionsByPreset(e){return i.Options.getOptionsByPreset(e)}}t.JavaScriptObfuscator=s,s.version=null!=="2.9.0"?"2.9.0":"unknown"},3900:function(e,t,r){var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallsGraphAnalyzer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(8904),g=r(8657),S=r(4134),y=r(8134);let N=o=class{constructor(e){this.calleeDataExtractorFactory=e}static getLimitIndex(e){const t=e-1,r=o.limitThresholdActivationLength-1;let n=t;return t>r&&(n=Math.round(r+t*o.limitThreshold),n>t&&(n=t)),n}analyze(e){return this.analyzeRecursive(e.body)}analyzeRecursive(e){const t=o.getLimitIndex(e.length),r=[],n=e.length;for(let o=0;ot);o++){const t=e[o];p.traverse(t,{enter:o=>{if(S.NodeGuards.isCallExpressionNode(o))return t.parentNode!==y.NodeStatementUtils.getParentNodeWithStatements(o)?p.VisitorOption.Skip:void this.analyzeCallExpressionNode(r,e,o)}})}return r}analyzeCallExpressionNode(e,t,r){o.calleeDataExtractorsList.forEach((o=>{const n=this.calleeDataExtractorFactory(o).extract(t,r.callee);n&&e.push(Object.assign(Object.assign({},n),{callsGraph:this.analyzeRecursive(n.callee.body)}))}))}};N.calleeDataExtractorsList=[g.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor,g.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor,g.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor],N.limitThresholdActivationLength=25,N.limitThreshold=.002,N=o=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICalleeDataExtractor)),d("design:paramtypes",["function"==typeof(n=void 0!==m.TCalleeDataExtractorFactory&&m.TCalleeDataExtractorFactory)?n:Object])],N),t.CallsGraphAnalyzer=N},3159:function(e,t,r){var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCalleeDataExtractor=void 0;const n=r(2991);let i=class{};i=o([n.injectable()],i),t.AbstractCalleeDataExtractor=i},5341:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionDeclarationCalleeDataExtractor=void 0;const s=r(2991),c=a(r(4523)),d=r(3159),l=r(4134),u=r(8134);let f=class extends d.AbstractCalleeDataExtractor{extract(e,t){if(!l.NodeGuards.isIdentifierNode(t))return null;const r=this.getCalleeBlockStatement(u.NodeStatementUtils.getParentNodeWithStatements(e[0]),t.name);return r?{callee:r,name:t.name}:null}getCalleeBlockStatement(e,t){let r=null;return c.traverse(e,{enter:e=>{if(l.NodeGuards.isFunctionDeclarationNode(e)&&e.id.name===t)return r=e.body,c.VisitorOption.Break}}),r}};f=i([s.injectable()],f),t.FunctionDeclarationCalleeDataExtractor=f},1853:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionExpressionCalleeDataExtractor=void 0;const s=r(2991),c=a(r(4523)),d=r(3159),l=r(4134),u=r(8134);let f=class extends d.AbstractCalleeDataExtractor{extract(e,t){let r=null,o=null;return l.NodeGuards.isIdentifierNode(t)?(r=t.name,o=this.getCalleeBlockStatement(u.NodeStatementUtils.getParentNodeWithStatements(e[0]),t.name)):l.NodeGuards.isFunctionExpressionNode(t)&&(r=null,o=t.body),o?{callee:o,name:r}:null}getCalleeBlockStatement(e,t){let r=null;return c.traverse(e,{enter:(e,o)=>{if(l.NodeGuards.isFunctionExpressionNode(e)&&o&&l.NodeGuards.isVariableDeclaratorNode(o)&&l.NodeGuards.isIdentifierNode(o.id)&&o.id.name===t)return r=e.body,c.VisitorOption.Break}}),r}};f=i([s.injectable()],f),t.FunctionExpressionCalleeDataExtractor=f},5773:function(e,t,r){var o,n=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionCalleeDataExtractor=void 0;const c=r(2991),d=s(r(4523)),l=r(3159),u=r(4134),f=r(8134);let p=o=class extends l.AbstractCalleeDataExtractor{static isValidTargetPropertyNode(e,t){if(!e.key)return!1;const r=u.NodeGuards.isIdentifierNode(e.key)&&e.key.name===t,o=u.NodeGuards.isLiteralNode(e.key)&&Boolean(e.key.value)&&e.key.value===t;return r||o}extract(e,t){if(!u.NodeGuards.isMemberExpressionNode(t))return null;const r=this.createObjectMembersCallsChain([],t);if(!r.length)return null;const o=r[r.length-1],n=this.getCalleeBlockStatement(f.NodeStatementUtils.getParentNodeWithStatements(e[0]),r);return n?{callee:n,name:o}:null}createObjectMembersCallsChain(e,t){if(u.NodeGuards.isIdentifierNode(t.property)&&!t.computed)e.unshift(t.property.name);else{if(!u.NodeGuards.isLiteralNode(t.property)||"string"!=typeof t.property.value&&"number"!=typeof t.property.value)return e;e.unshift(t.property.value)}return u.NodeGuards.isMemberExpressionNode(t.object)?this.createObjectMembersCallsChain(e,t.object):(u.NodeGuards.isIdentifierNode(t.object)&&e.unshift(t.object.name),e)}getCalleeBlockStatement(e,t){const r=t.shift();if(!r)return null;let o=null;return d.traverse(e,{enter:e=>{if(u.NodeGuards.isVariableDeclaratorNode(e)&&u.NodeGuards.isIdentifierNode(e.id)&&e.init&&u.NodeGuards.isObjectExpressionNode(e.init)&&e.id.name===r)return o=this.findCalleeBlockStatement(e.init.properties,t),d.VisitorOption.Break}}),o}findCalleeBlockStatement(e,t){const r=t.shift();if(!r)return null;for(const n of e)if(u.NodeGuards.isPropertyNode(n)&&o.isValidTargetPropertyNode(n,r)){if(u.NodeGuards.isObjectExpressionNode(n.value))return this.findCalleeBlockStatement(n.value.properties,t);if(u.NodeGuards.isFunctionExpressionNode(n.value))return n.value.body}return null}};p=o=a([c.injectable()],p),t.ObjectExpressionCalleeDataExtractor=p},472:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NumberNumericalExpressionAnalyzer=void 0;const c=r(2991),d=r(1403),l=r(5350),u=r(6543);let f=o=class{constructor(e){this.numberFactorsMap=new Map,this.randomGenerator=e}analyze(e){if(isNaN(e))throw new Error("Given value is NaN");return u.NumberUtils.isUnsafeNumber(e)?[e]:this.generateAdditionParts(e).map((e=>this.mixWithMultiplyParts(e)))}generateAdditionParts(e){const t=[],r=Math.min(Math.abs(2*e),Number.MAX_SAFE_INTEGER),n=Math.min(-1e4,-r),i=Math.max(1e4,r);let a=0;for(let r=0;r.5)||0===e)return e;let r=null!==(t=this.numberFactorsMap.get(e))&&void 0!==t?t:null;if(r||(r=u.NumberUtils.getFactors(e),this.numberFactorsMap.set(e,r)),!r.length)return e;const o=r[this.randomGenerator.getRandomInteger(0,r.length-1)];return[o,e/o]}};f.additionalParts=3,f=o=i([c.injectable(),s(0,c.inject(l.ServiceIdentifiers.IRandomGenerator)),a("design:paramtypes",["function"==typeof(n=void 0!==d.IRandomGenerator&&d.IRandomGenerator)?n:Object])],f),t.NumberNumericalExpressionAnalyzer=f},3e3:function(e,t,r){var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.PrevailingKindOfVariablesAnalyzer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(5768),g=r(4134);let S=o=class{constructor(e){this.prevailingKindOfVariables=o.defaultKindOfVariables,this.arrayUtils=e}analyze(e){var t;const r=[];p.traverse(e,{enter:e=>{g.NodeGuards.isVariableDeclarationNode(e)&&r.push(e.kind)}}),this.prevailingKindOfVariables=null!==(t=this.arrayUtils.findMostOccurringElement(r))&&void 0!==t?t:o.defaultKindOfVariables}getPrevailingKind(){return this.prevailingKindOfVariables}};S.defaultKindOfVariables="var",S=o=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.IArrayUtils)),d("design:paramtypes",["function"==typeof(n=void 0!==m.IArrayUtils&&m.IArrayUtils)?n:Object])],S),t.PrevailingKindOfVariablesAnalyzer=S},9458:function(e,t,r){var o,n=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeAnalyzer=void 0;const c=r(2991),d=s(r(8)),l=s(r(4523)),u=r(4941),f=r(4134);let p=o=class{constructor(){this.scopeManager=null}static attachMissingRanges(e){l.replace(e,{enter:(e,t)=>{var r,n,i,a;return e.range||(e.range=[null!==(n=null===(r=null==t?void 0:t.range)||void 0===r?void 0:r[0])&&void 0!==n?n:o.emptyRangeValue,null!==(a=null===(i=null==t?void 0:t.range)||void 0===i?void 0:i[1])&&void 0!==a?a:o.emptyRangeValue]),e}})}static isRootNode(e){return f.NodeGuards.isProgramNode(e)||e.parentNode===e}analyze(e){const t=o.sourceTypes.length;o.attachMissingRanges(e);for(let r=0;r{if("class"===e.type&&e.upper){if(!e.variables.length)return;const t=e.variables[0],r=e.upper.variables.find((e=>t.defs.some((e=>"ClassName"===e.type))&&e.name===t.name));null==r||r.references.push(...e.variables[0].references)}}));for(const t of e.childScopes)this.sanitizeScopes(t)}};p.eslintScopeOptions={ecmaVersion:u.ecmaVersion,optimistic:!0},p.sourceTypes=["script","module"],p.emptyRangeValue=0,p=o=a([c.injectable()],p),t.ScopeAnalyzer=p},1190:function(e,t,r){var o,n,i,a,s=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),c=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return c(t,e),t},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayStorageAnalyzer=void 0;const p=r(2991),m=r(5350),g=l(r(4523)),S=r(4482),y=r(1403),N=r(5683),_=r(4134),h=r(8241),b=r(739);let O=o=class{constructor(e,t,r){this.stringArrayStorageData=new Map,this.stringArrayStorage=e,this.randomGenerator=t,this.options=r}analyze(e){this.options.stringArray&&g.traverse(e,{enter:(e,t)=>{if(t)return b.NodeMetadata.isIgnoredNode(e)?g.VisitorOption.Skip:void(_.NodeGuards.isLiteralNode(e)&&this.analyzeLiteralNode(e,t))}})}getItemDataForLiteralNode(e){return this.stringArrayStorageData.get(e)}analyzeLiteralNode(e,t){h.NodeLiteralUtils.isStringLiteralNode(e)&&(h.NodeLiteralUtils.isProhibitedLiteralNode(e,t)||this.shouldAddValueToStringArray(e)&&this.stringArrayStorageData.set(e,this.stringArrayStorage.getOrThrow(e.value)))}shouldAddValueToStringArray(e){return!!b.NodeMetadata.isForceTransformNode(e)||e.value.length>=o.minimumLengthForStringArray&&this.randomGenerator.getMathRandom()<=this.options.stringArrayThreshold}};O.minimumLengthForStringArray=3,O=o=d([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.IStringArrayStorage)),f(1,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(2,p.inject(m.ServiceIdentifiers.IOptions)),u("design:paramtypes",["function"==typeof(n=void 0!==N.IStringArrayStorage&&N.IStringArrayStorage)?n:Object,"function"==typeof(i=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==S.IOptions&&S.IOptions)?a:Object])],O),t.StringArrayStorageAnalyzer=O},8541:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCodeTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403);let f=class{constructor(e,t){this.randomGenerator=e,this.options=t}};f=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],f),t.AbstractCodeTransformer=f},4132:function(e,t,r){var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformerNamesGroupsBuilder=void 0;const n=r(2991),i=r(7207);let a=class extends i.AbstractTransformerNamesGroupsBuilder{};a=o([n.injectable()],a),t.CodeTransformerNamesGroupsBuilder=a},8282:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformersRunner=void 0;const c=r(2991),d=r(5350),l=r(5127),u=r(9658);let f=class{constructor(e,t){this.codeTransformerFactory=e,this.codeTransformerNamesGroupsBuilder=t}transform(e,t,r){if(!t.length)return e;const o=this.buildNormalizedCodeTransformers(t,r),n=this.codeTransformerNamesGroupsBuilder.build(o);for(const t of n)for(const n of t)e=o[n].transformCode(e,r);return e}buildNormalizedCodeTransformers(e,t){return e.reduce(((e,t)=>{const r=this.codeTransformerFactory(t);return Object.assign(Object.assign({},e),{[t]:r})}),{})}};f=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.Factory__ICodeTransformer)),s(1,c.inject(d.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder)),a("design:paramtypes",["function"==typeof(o=void 0!==l.TCodeTransformerFactory&&l.TCodeTransformerFactory)?o:Object,"function"==typeof(n=void 0!==u.ITransformerNamesGroupsBuilder&&u.ITransformerNamesGroupsBuilder)?n:Object])],f),t.CodeTransformersRunner=f},71:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.HashbangOperatorTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(5670),p=r(8541);let m=class extends p.AbstractCodeTransformer{constructor(e,t){super(e,t),this.hashbangOperatorLine=null}transformCode(e,t){switch(t){case f.CodeTransformationStage.PreparingTransformers:return this.removeAndSaveHashbangOperatorLine(e);case f.CodeTransformationStage.FinalizingTransformers:return this.appendSavedHashbangOperatorLine(e);default:return e}}removeAndSaveHashbangOperatorLine(e){return e.replace(/^#!.*$(\r?\n)*/m,(e=>(e&&(this.hashbangOperatorLine=e),""))).trim()}appendSavedHashbangOperatorLine(e){var t;return`${null!==(t=this.hashbangOperatorLine)&&void 0!==t?t:""}${e}`}};m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],m),t.HashbangOperatorTransformer=m},6366:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.alphabetString=void 0,t.alphabetString="abcdefghijklmnopqrstuvwxyz"},2691:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.alphabetStringUppercase=void 0;const o=r(6366);t.alphabetStringUppercase=o.alphabetString.toUpperCase()},6934:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.base64alphabet=void 0;const o=r(2691),n=r(6366),i=r(2023);t.base64alphabet=`${o.alphabetStringUppercase}${n.alphabetString}${i.numbersString}+/=`},4497:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.base64alphabetSwapped=void 0;const o=r(2691),n=r(6366),i=r(2023);t.base64alphabetSwapped=`${n.alphabetString}${o.alphabetStringUppercase}${i.numbersString}+/=`},4941:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ecmaVersion=void 0,t.ecmaVersion=12},2023:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.numbersString=void 0,t.numbersString="0123456789"},1636:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InversifyContainerFacade=void 0;const o=r(2991),n=r(5350),i=r(5821),a=r(7867),s=r(9654),c=r(5602),d=r(3693),l=r(7626),u=r(8974),f=r(645),p=r(4080),m=r(4028),g=r(5424),S=r(1719),y=r(4682),N=r(1469),_=r(7817),h=r(725),b=r(1426),O=r(1466),I=r(9542),E=r(1937),v=r(8282),C=r(7086),T=r(7149),R=r(6827),A=r(9196),M=r(8072),j=r(8589);t.InversifyContainerFacade=class{constructor(){this.container=new o.Container}static getFactory(e){return t=>r=>t.container.getNamed(e,r)}static getCacheFactory(e){return t=>{const r=new Map;return o=>{if(r.has(o))return r.get(o);const n=t.container.getNamed(e,o);return r.set(o,n),n}}}static getConstructorFactory(e,...t){return r=>{const o=new Map,n=[];return i=>{if(t.forEach(((e,t)=>{n[t]||(n[t]=r.container.get(e))})),o.has(i))return new(o.get(i))(...n);const a=r.container.getNamed(e,i);return o.set(i,a),new a(...n)}}}get(e){return this.container.get(e)}getNamed(e,t){return this.container.getNamed(e,t)}load(e,t,r){this.container.bind(n.ServiceIdentifiers.ISourceCode).toDynamicValue((()=>new j.SourceCode(e,t))).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.TInputOptions).toDynamicValue((()=>r)).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.ILogger).to(T.Logger).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.IJavaScriptObfuscator).to(C.JavaScriptObfuscator).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.ICodeTransformersRunner).to(v.CodeTransformersRunner).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.INodeTransformersRunner).to(R.NodeTransformersRunner).inSingletonScope(),this.container.bind(n.ServiceIdentifiers.IObfuscatedCode).to(M.ObfuscatedCode),this.container.bind(n.ServiceIdentifiers.Factory__IObfuscatedCode).toFactory((e=>(t,r)=>{const o=e.container.get(n.ServiceIdentifiers.IObfuscatedCode);return o.initialize(t,r),o})),this.container.bind(n.ServiceIdentifiers.IObfuscationEventEmitter).to(A.ObfuscationEventEmitter).inSingletonScope(),this.container.load(i.analyzersModule),this.container.load(a.codeTransformersModule),this.container.load(s.controlFlowTransformersModule),this.container.load(c.convertingTransformersModule),this.container.load(d.customCodeHelpersModule),this.container.load(l.customNodesModule),this.container.load(u.deadCodeInjectionTransformersModule),this.container.load(f.finalizingTransformersModule),this.container.load(p.generatorsModule),this.container.load(m.initializingTransformersModule),this.container.load(g.nodeModule),this.container.load(S.nodeTransformersModule),this.container.load(y.optionsModule),this.container.load(N.preparingTransformersModule),this.container.load(_.renameIdentifiersTransformersModule),this.container.load(h.renamePropertiesTransformersModule),this.container.load(b.simplifyingTransformersModule),this.container.load(O.storagesModule),this.container.load(I.stringArrayTransformersModule),this.container.load(E.utilsModule)}unload(){this.container.unbindAll()}}},5350:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ServiceIdentifiers=void 0,(r=t.ServiceIdentifiers||(t.ServiceIdentifiers={})).Factory__ICalleeDataExtractor="Factory",r.Factory__ICodeTransformer="Factory",r.Factory__IControlFlowCustomNode="Factory",r.Factory__IControlFlowReplacer="Factory",r.Factory__ICustomCodeHelper="Factory",r.Factory__ICustomCodeHelperGroup="Factory",r.Factory__IDeadCodeInjectionCustomNode="Factory",r.Factory__IIdentifierNamesGenerator="Factory",r.Factory__INodeGuard="Factory",r.Factory__INodeTransformer="Factory",r.Factory__IObfuscatedCode="Factory",r.Factory__IObjectExpressionKeysTransformerCustomNode="Factory",r.Factory__IObjectExpressionExtractor="Factory",r.Factory__IStringArrayCustomNode="Factory",r.Factory__IStringArrayIndexNode="Factory",r.Factory__TControlFlowStorage="Factory",r.IArrayUtils="IArrayUtils",r.ICalleeDataExtractor="ICalleeDataExtractor",r.ICallsGraphAnalyzer="ICallsGraphAnalyzer",r.ICodeTransformer="ICodeTransformer",r.ICodeTransformerNamesGroupsBuilder="ICodeTransformerNamesGroupsBuilder",r.ICodeTransformersRunner="ICodeTransformersRunner",r.ICryptUtils="ICryptUtils",r.ICryptUtilsSwappedAlphabet="ICryptUtilsSwappedAlphabet",r.ICustomCodeHelper="ICustomCodeHelper",r.ICustomCodeHelperGroup="ICustomCodeHelperGroup",r.IControlFlowReplacer="IControlFlowReplacer",r.ICustomCodeHelperFormatter="ICustomCodeHelperFormatter",r.ICustomCodeHelperObfuscator="ICustomCodeHelperObfuscator",r.IEscapeSequenceEncoder="IEscapeSequenceEncoder",r.IIdentifierNamesGenerator="IIdentifierNamesGenerator",r.IIdentifierReplacer="IIdentifierReplacer",r.IJavaScriptObfuscator="IJavaScriptObfuscator",r.ILevelledTopologicalSorter="ILevelledTopologicalSorter",r.ILiteralNodesCacheStorage="ILiteralNodesCacheStorage",r.ILogger="ILogger",r.INodeGuard="INodeGuard",r.INodeTransformer="INodeTransformer",r.INodeTransformerNamesGroupsBuilder="INodeTransformerNamesGroupsBuilder",r.INodeTransformersRunner="INodeTransformersRunner",r.INumberNumericalExpressionAnalyzer="INumberNumericalExpressionAnalyzer",r.IObfuscationEventEmitter="IObfuscationEventEmitter",r.IObfuscatedCode="IObfuscatedCode",r.IOptions="IOptions",r.IOptionsNormalizer="IOptionsNormalizer",r.IPrevailingKindOfVariablesAnalyzer="IPrevailingKindOfVariablesAnalyzer",r.IObjectExpressionExtractor="IObjectExpressionExtractor",r.IRandomGenerator="IRandomGenerator",r.IRenamePropertiesReplacer="IRenamePropertiesReplacer",r.IScopeIdentifiersTraverser="IScopeIdentifiersTraverser",r.ISourceCode="ISourceCode",r.IScopeAnalyzer="IScopeAnalyzer",r.IStringArrayIndexNode="IStringArrayIndexNode",r.IStringArrayScopeCallsWrapperLexicalScopeDataStorage="IStringArrayScopeCallsWrapperLexicalScopeDataStorage",r.IStringArrayScopeCallsWrapperNamesDataStorage="IStringArrayScopeCallsWrapperNamesDataStorage",r.IStringArrayStorage="IStringArrayStorage",r.IStringArrayStorageAnalyzer="IStringArrayStorageAnalyzer",r.IVisitedLexicalScopeNodesStackStorage="IVisitedLexicalScopeNodesStackStorage",r.Newable__ICustomNode="Newable",r.Newable__TControlFlowStorage="Newable",r.TCustomNodeGroupStorage="TCustomNodeGroupStorage",r.TInputOptions="TInputOptions"},5821:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.analyzersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(8657),s=r(3900),c=r(5341),d=r(1853),l=r(472),u=r(5773),f=r(3e3),p=r(9458),m=r(1190);t.analyzersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.ICallsGraphAnalyzer).to(s.CallsGraphAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.INumberNumericalExpressionAnalyzer).to(l.NumberNumericalExpressionAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer).to(f.PrevailingKindOfVariablesAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.IScopeAnalyzer).to(p.ScopeAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.IStringArrayStorageAnalyzer).to(m.StringArrayStorageAnalyzer).inSingletonScope(),e(i.ServiceIdentifiers.ICalleeDataExtractor).to(c.FunctionDeclarationCalleeDataExtractor).whenTargetNamed(a.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor),e(i.ServiceIdentifiers.ICalleeDataExtractor).to(d.FunctionExpressionCalleeDataExtractor).whenTargetNamed(a.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor),e(i.ServiceIdentifiers.ICalleeDataExtractor).to(u.ObjectExpressionCalleeDataExtractor).whenTargetNamed(a.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor),e(i.ServiceIdentifiers.Factory__ICalleeDataExtractor).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.ICalleeDataExtractor))}))},7867:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.codeTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(7082),s=r(4132),c=r(71);t.codeTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.Factory__ICodeTransformer).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.ICodeTransformer)),e(i.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder).to(s.CodeTransformerNamesGroupsBuilder).inSingletonScope(),e(i.ServiceIdentifiers.ICodeTransformer).to(c.HashbangOperatorTransformer).whenTargetNamed(a.CodeTransformer.HashbangOperatorTransformer)}))},3693:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.customCodeHelpersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(7295),s=r(1806),c=r(4860),d=r(1723),l=r(9673),u=r(4582),f=r(5769),p=r(5655),m=r(259),g=r(299),S=r(2628),y=r(5600),N=r(9915),_=r(5227),h=r(4400),b=r(7675),O=r(7689),I=r(9681),E=r(8352),v=r(5007),C=r(256);t.customCodeHelpersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.ICustomCodeHelper).to(p.ConsoleOutputDisableCodeHelper).whenTargetNamed(a.CustomCodeHelper.ConsoleOutputDisable),e(i.ServiceIdentifiers.ICustomCodeHelper).to(S.DebugProtectionFunctionCallCodeHelper).whenTargetNamed(a.CustomCodeHelper.DebugProtectionFunctionCall),e(i.ServiceIdentifiers.ICustomCodeHelper).to(y.DebugProtectionFunctionIntervalCodeHelper).whenTargetNamed(a.CustomCodeHelper.DebugProtectionFunctionInterval),e(i.ServiceIdentifiers.ICustomCodeHelper).to(N.DebugProtectionFunctionCodeHelper).whenTargetNamed(a.CustomCodeHelper.DebugProtectionFunction),e(i.ServiceIdentifiers.ICustomCodeHelper).to(_.DomainLockCodeHelper).whenTargetNamed(a.CustomCodeHelper.DomainLock),e(i.ServiceIdentifiers.ICustomCodeHelper).to(h.CallsControllerFunctionCodeHelper).whenTargetNamed(a.CustomCodeHelper.CallsControllerFunction),e(i.ServiceIdentifiers.ICustomCodeHelper).to(b.SelfDefendingUnicodeCodeHelper).whenTargetNamed(a.CustomCodeHelper.SelfDefendingUnicode),e(i.ServiceIdentifiers.ICustomCodeHelper).to(O.StringArrayCallsWrapperCodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayCallsWrapper),e(i.ServiceIdentifiers.ICustomCodeHelper).to(I.StringArrayCallsWrapperBase64CodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayCallsWrapperBase64),e(i.ServiceIdentifiers.ICustomCodeHelper).to(E.StringArrayCallsWrapperRc4CodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayCallsWrapperRc4),e(i.ServiceIdentifiers.ICustomCodeHelper).to(v.StringArrayCodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArray),e(i.ServiceIdentifiers.ICustomCodeHelper).to(C.StringArrayRotateFunctionCodeHelper).whenTargetNamed(a.CustomCodeHelper.StringArrayRotateFunction),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(c.ConsoleOutputCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.ConsoleOutput),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(d.DebugProtectionCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.DebugProtection),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(l.DomainLockCustomCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.DomainLock),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(u.SelfDefendingCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.SelfDefending),e(i.ServiceIdentifiers.ICustomCodeHelperGroup).to(f.StringArrayCodeHelperGroup).whenTargetNamed(s.CustomCodeHelperGroup.StringArray),e(i.ServiceIdentifiers.Factory__ICustomCodeHelper).toFactory(o.InversifyContainerFacade.getFactory(i.ServiceIdentifiers.ICustomCodeHelper)),e(i.ServiceIdentifiers.Factory__ICustomCodeHelperGroup).toFactory(o.InversifyContainerFacade.getFactory(i.ServiceIdentifiers.ICustomCodeHelperGroup)),e(i.ServiceIdentifiers.ICustomCodeHelperFormatter).to(m.CustomCodeHelperFormatter).inSingletonScope(),e(i.ServiceIdentifiers.ICustomCodeHelperObfuscator).to(g.CustomCodeHelperObfuscator).inSingletonScope()}))},7626:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.customNodesModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(1280),s=r(2620),c=r(9809),d=r(294),l=r(1597),u=r(5540),f=r(9193),p=r(8105),m=r(1984),g=r(9372),S=r(8807),y=r(2088),N=r(8866),_=r(9826),h=r(398),b=r(6379),O=r(8064),I=r(573),E=r(9867),v=r(6512),C=r(7388);t.customNodesModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(l.BinaryExpressionFunctionNode).whenTargetNamed(a.ControlFlowCustomNode.BinaryExpressionFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(u.BlockStatementControlFlowFlatteningNode).whenTargetNamed(a.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(p.CallExpressionControlFlowStorageCallNode).whenTargetNamed(a.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(m.CallExpressionFunctionNode).whenTargetNamed(a.ControlFlowCustomNode.CallExpressionFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(g.ControlFlowStorageNode).whenTargetNamed(a.ControlFlowCustomNode.ControlFlowStorageNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(S.ExpressionWithOperatorControlFlowStorageCallNode).whenTargetNamed(a.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(y.LogicalExpressionFunctionNode).whenTargetNamed(a.ControlFlowCustomNode.LogicalExpressionFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(C.StringLiteralNode).whenTargetNamed(a.ControlFlowCustomNode.StringLiteralNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(v.StringLiteralControlFlowStorageCallNode).whenTargetNamed(a.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(f.BlockStatementDeadCodeInjectionNode).whenTargetNamed(s.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(N.ObjectExpressionVariableDeclarationHostNode).whenTargetNamed(c.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(_.StringArrayCallNode).whenTargetNamed(d.StringArrayCustomNode.StringArrayCallNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(I.StringArrayScopeCallsWrapperFunctionNode).whenTargetNamed(d.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode),e(i.ServiceIdentifiers.Newable__ICustomNode).toConstructor(E.StringArrayScopeCallsWrapperVariableNode).whenTargetNamed(d.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode),e(i.ServiceIdentifiers.IStringArrayIndexNode).to(h.StringArrayHexadecimalNumberIndexNode).inSingletonScope().whenTargetNamed(O.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode),e(i.ServiceIdentifiers.IStringArrayIndexNode).to(b.StringArrayHexadecimalNumericStringIndexNode).inSingletonScope().whenTargetNamed(O.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode),e(i.ServiceIdentifiers.Factory__IControlFlowCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IStringArrayCustomNode).toFactory(o.InversifyContainerFacade.getConstructorFactory(i.ServiceIdentifiers.Newable__ICustomNode,i.ServiceIdentifiers.Factory__IIdentifierNamesGenerator,i.ServiceIdentifiers.Factory__IStringArrayIndexNode,i.ServiceIdentifiers.ICustomCodeHelperFormatter,i.ServiceIdentifiers.IRandomGenerator,i.ServiceIdentifiers.IOptions)),e(i.ServiceIdentifiers.Factory__IStringArrayIndexNode).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.IStringArrayIndexNode))}))},4080:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generatorsModule=void 0;const o=r(2991),n=r(5350),i=r(3177),a=r(8370),s=r(5932),c=r(3119),d=r(2677);t.generatorsModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(a.DictionaryIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator),e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(s.HexadecimalIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator),e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(c.MangledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.MangledIdentifierNamesGenerator),e(n.ServiceIdentifiers.IIdentifierNamesGenerator).to(d.MangledShuffledIdentifierNamesGenerator).inSingletonScope().whenTargetNamed(i.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator),e(n.ServiceIdentifiers.Factory__IIdentifierNamesGenerator).toFactory(function(){let e=null;return t=>r=>{if(e)return e;let o;switch(r.identifierNamesGenerator){case i.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator);break;case i.IdentifierNamesGenerator.MangledIdentifierNamesGenerator:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.MangledIdentifierNamesGenerator);break;case i.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator);break;case i.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator:default:o=t.container.getNamed(n.ServiceIdentifiers.IIdentifierNamesGenerator,i.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator)}return e=o,o}}())}))},9654:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.controlFlowTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(4015),s=r(4212),c=r(3358),d=r(5912),l=r(5760),u=r(9749),f=r(6522),p=r(270);t.controlFlowTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.INodeTransformer).to(d.BlockStatementControlFlowTransformer).whenTargetNamed(s.NodeTransformer.BlockStatementControlFlowTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(u.FunctionControlFlowTransformer).whenTargetNamed(s.NodeTransformer.FunctionControlFlowTransformer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(c.BinaryExpressionControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.BinaryExpressionControlFlowReplacer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(l.CallExpressionControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.CallExpressionControlFlowReplacer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(f.LogicalExpressionControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.LogicalExpressionControlFlowReplacer),e(i.ServiceIdentifiers.IControlFlowReplacer).to(p.StringLiteralControlFlowReplacer).whenTargetNamed(a.ControlFlowReplacer.StringLiteralControlFlowReplacer),e(i.ServiceIdentifiers.Factory__IControlFlowReplacer).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.IControlFlowReplacer))}))},5602:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.convertingTransformersModule=void 0;const o=r(2991),n=r(1636),i=r(5350),a=r(4212),s=r(9946),c=r(8539),d=r(2337),l=r(9912),u=r(9139),f=r(6037),p=r(9467),m=r(3393),g=r(122),S=r(7834),y=r(626),N=r(6312),_=r(5869),h=r(810);t.convertingTransformersModule=new o.ContainerModule((e=>{e(i.ServiceIdentifiers.INodeTransformer).to(d.BooleanLiteralTransformer).whenTargetNamed(a.NodeTransformer.BooleanLiteralTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(l.ExportSpecifierTransformer).whenTargetNamed(a.NodeTransformer.ExportSpecifierTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(u.MemberExpressionTransformer).whenTargetNamed(a.NodeTransformer.MemberExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(f.MethodDefinitionTransformer).whenTargetNamed(a.NodeTransformer.MethodDefinitionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(p.NumberLiteralTransformer).whenTargetNamed(a.NodeTransformer.NumberLiteralTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(m.NumberToNumericalExpressionTransformer).whenTargetNamed(a.NodeTransformer.NumberToNumericalExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(g.ObjectExpressionKeysTransformer).whenTargetNamed(a.NodeTransformer.ObjectExpressionKeysTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(y.ObjectExpressionTransformer).whenTargetNamed(a.NodeTransformer.ObjectExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(N.ObjectPatternPropertiesTransformer).whenTargetNamed(a.NodeTransformer.ObjectPatternPropertiesTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(_.SplitStringTransformer).whenTargetNamed(a.NodeTransformer.SplitStringTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(h.TemplateLiteralTransformer).whenTargetNamed(a.NodeTransformer.TemplateLiteralTransformer),e(i.ServiceIdentifiers.IObjectExpressionExtractor).to(S.ObjectExpressionToVariableDeclarationExtractor).whenTargetNamed(s.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor),e(i.ServiceIdentifiers.IObjectExpressionExtractor).to(c.BasePropertiesExtractor).whenTargetNamed(s.ObjectExpressionExtractor.BasePropertiesExtractor),e(i.ServiceIdentifiers.Factory__IObjectExpressionExtractor).toFactory(n.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.IObjectExpressionExtractor))}))},8974:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.deadCodeInjectionTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(8043);t.deadCodeInjectionTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.DeadCodeInjectionTransformer).whenTargetNamed(i.NodeTransformer.DeadCodeInjectionTransformer)}))},645:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.finalizingTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(4837);t.finalizingTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.EscapeSequenceTransformer).whenTargetNamed(i.NodeTransformer.EscapeSequenceTransformer)}))},4028:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initializingTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(5289);t.initializingTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.CommentsTransformer).whenTargetNamed(i.NodeTransformer.CommentsTransformer)}))},1719:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nodeTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(5419);t.nodeTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.Factory__INodeTransformer).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.INodeTransformer)),e(i.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder).to(a.NodeTransformerNamesGroupsBuilder).inSingletonScope()}))},1469:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.preparingTransformersModule=void 0;const o=r(1636),n=r(2991),i=r(5350),a=r(4212),s=r(4361),c=r(5878),d=r(6955),l=r(4996),u=r(3449),f=r(4935),p=r(147),m=r(8049),g=r(1581),S=r(774),y=r(7985),N=r(2616);t.preparingTransformersModule=new n.ContainerModule((e=>{e(i.ServiceIdentifiers.INodeTransformer).to(l.CustomCodeHelpersTransformer).whenTargetNamed(a.NodeTransformer.CustomCodeHelpersTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(u.EvalCallExpressionTransformer).whenTargetNamed(a.NodeTransformer.EvalCallExpressionTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(m.MetadataTransformer).whenTargetNamed(a.NodeTransformer.MetadataTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(g.ObfuscatingGuardsTransformer).whenTargetNamed(a.NodeTransformer.ObfuscatingGuardsTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(S.ParentificationTransformer).whenTargetNamed(a.NodeTransformer.ParentificationTransformer),e(i.ServiceIdentifiers.INodeTransformer).to(N.VariablePreserveTransformer).whenTargetNamed(a.NodeTransformer.VariablePreserveTransformer),e(i.ServiceIdentifiers.INodeGuard).to(c.BlackListObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.BlackListObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(d.ConditionalCommentObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.ConditionalCommentObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(f.ForceTransformStringObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.ForceTransformStringObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(p.IgnoredRequireImportObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard),e(i.ServiceIdentifiers.INodeGuard).to(y.ReservedStringObfuscatingGuard).inSingletonScope().whenTargetNamed(s.ObfuscatingGuard.ReservedStringObfuscatingGuard),e(i.ServiceIdentifiers.Factory__INodeGuard).toFactory(o.InversifyContainerFacade.getCacheFactory(i.ServiceIdentifiers.INodeGuard))}))},7817:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.renameIdentifiersTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(6181),s=r(8869),c=r(5806),d=r(7247);t.renameIdentifiersTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(s.LabeledStatementTransformer).whenTargetNamed(i.NodeTransformer.LabeledStatementTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(c.ScopeIdentifiersTransformer).whenTargetNamed(i.NodeTransformer.ScopeIdentifiersTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(d.ScopeThroughIdentifiersTransformer).whenTargetNamed(i.NodeTransformer.ScopeThroughIdentifiersTransformer),e(n.ServiceIdentifiers.IIdentifierReplacer).to(a.IdentifierReplacer).inSingletonScope()}))},725:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.renamePropertiesTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(7889),s=r(2143);t.renamePropertiesTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(s.RenamePropertiesTransformer).whenTargetNamed(i.NodeTransformer.RenamePropertiesTransformer),e(n.ServiceIdentifiers.IRenamePropertiesReplacer).to(a.RenamePropertiesReplacer)}))},1426:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.simplifyingTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(2838),s=r(1226),c=r(8821),d=r(3115);t.simplifyingTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.BlockStatementSimplifyTransformer).whenTargetNamed(i.NodeTransformer.BlockStatementSimplifyTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(s.ExpressionStatementsMergeTransformer).whenTargetNamed(i.NodeTransformer.ExpressionStatementsMergeTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(c.IfStatementSimplifyTransformer).whenTargetNamed(i.NodeTransformer.IfStatementSimplifyTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(d.VariableDeclarationsMergeTransformer).whenTargetNamed(i.NodeTransformer.VariableDeclarationsMergeTransformer)}))},9542:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.stringArrayTransformersModule=void 0;const o=r(2991),n=r(5350),i=r(4212),a=r(4123),s=r(4940);t.stringArrayTransformersModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.INodeTransformer).to(a.StringArrayScopeCallsWrapperTransformer).whenTargetNamed(i.NodeTransformer.StringArrayScopeCallsWrapperTransformer),e(n.ServiceIdentifiers.INodeTransformer).to(s.StringArrayTransformer).whenTargetNamed(i.NodeTransformer.StringArrayTransformer)}))},5424:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.nodeModule=void 0;const o=r(2991),n=r(5350),i=r(2551);t.nodeModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IScopeIdentifiersTraverser).to(i.ScopeIdentifiersTraverser).inSingletonScope()}))},4682:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.optionsModule=void 0;const o=r(2991),n=r(5350),i=r(8516),a=r(6248);t.optionsModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IOptions).to(i.Options).inSingletonScope(),e(n.ServiceIdentifiers.IOptionsNormalizer).to(a.OptionsNormalizer).inSingletonScope()}))},1466:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.storagesModule=void 0;const o=r(2991),n=r(5350),i=r(646),a=r(1951),s=r(3464),c=r(1453),d=r(995),l=r(1860),u=r(1891);t.storagesModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.TCustomNodeGroupStorage).to(a.CustomCodeHelperGroupStorage).inSingletonScope(),e(n.ServiceIdentifiers.ILiteralNodesCacheStorage).to(s.LiteralNodesCacheStorage).inSingletonScope(),e(n.ServiceIdentifiers.IStringArrayStorage).to(l.StringArrayStorage).inSingletonScope(),e(n.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage).to(c.StringArrayScopeCallsWrapperLexicalScopeDataStorage).inSingletonScope(),e(n.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage).to(d.StringArrayScopeCallsWrapperNamesDataStorage).inSingletonScope(),e(n.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage).to(u.VisitedLexicalScopeNodesStackStorage).inSingletonScope(),e(n.ServiceIdentifiers.Newable__TControlFlowStorage).toConstructor(i.ControlFlowStorage),e(n.ServiceIdentifiers.Factory__TControlFlowStorage).toFactory((e=>()=>{const t=new(e.container.get(n.ServiceIdentifiers.Newable__TControlFlowStorage))(e.container.get(n.ServiceIdentifiers.IRandomGenerator),e.container.get(n.ServiceIdentifiers.IOptions));return t.initialize(),t}))}))},1937:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.utilsModule=void 0;const o=r(2991),n=r(5350),i=r(3087),a=r(5579),s=r(6913),c=r(1622),d=r(7248),l=r(3697);t.utilsModule=new o.ContainerModule((e=>{e(n.ServiceIdentifiers.IArrayUtils).to(i.ArrayUtils).inSingletonScope(),e(n.ServiceIdentifiers.IRandomGenerator).to(l.RandomGenerator).inSingletonScope(),e(n.ServiceIdentifiers.ICryptUtils).to(a.CryptUtils).inSingletonScope(),e(n.ServiceIdentifiers.ICryptUtilsSwappedAlphabet).to(s.CryptUtilsSwappedAlphabet).inSingletonScope(),e(n.ServiceIdentifiers.IEscapeSequenceEncoder).to(c.EscapeSequenceEncoder).inSingletonScope(),e(n.ServiceIdentifiers.ILevelledTopologicalSorter).to(d.LevelledTopologicalSorter)}))},8920:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCustomCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(4482),N=r(1403),_=r(8837),h=r(699);let b=o=class{constructor(e,t,r,o,n){this.cachedNode=null,this.identifierNamesGenerator=e(n),this.customCodeHelperFormatter=t,this.customCodeHelperObfuscator=r,this.randomGenerator=o,this.options=n}getNode(){if(!this.cachedNode){const e=this.getCodeHelperTemplate();this.cachedNode=this.customCodeHelperFormatter.formatStructure(this.getNodeStructure(e))}return this.cachedNode}getGlobalVariableTemplate(){return this.randomGenerator.getRandomGenerator().pickone(o.globalVariableTemplateFunctions)}getCodeHelperTemplate(){return""}};b.globalVariableTemplateFunctions=[_.GlobalVariableTemplate1(),h.GlobalVariableTemplate2()],b=o=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?a:Object,"function"==typeof(s=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],b),t.AbstractCustomCodeHelper=b},9834:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCustomCodeHelperGroup=void 0;const d=r(2991),l=r(5350),u=r(9416),f=r(4482),p=r(1403);let m=class{constructor(e,t,r){this.identifierNamesGenerator=e(r),this.randomGenerator=t,this.options=r}getAppendEvent(){return this.appendEvent}getCustomCodeHelpers(){return this.customCodeHelpers}appendCustomNodeIfExist(e,t){const r=this.customCodeHelpers.get(e);r&&t(r)}getRandomCallsGraphIndex(e){return this.randomGenerator.getRandomInteger(0,Math.max(0,Math.round(e-1)))}};m=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),c(1,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(2,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(o=void 0!==u.TIdentifierNamesGeneratorFactory&&u.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object])],m),t.AbstractCustomCodeHelperGroup=m},259:function(e,t,r){var o,n=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperFormatter=void 0;const u=r(2991),f=r(5350),p=s(r(4523)),m=l(r(8655)),g=r(3499),S=r(4134);let y=class{constructor(e){this.prevailingKindOfVariables=e.getPrevailingKind()}formatTemplate(e,t){return m.default(e,t)}formatStructure(e){for(const t of e)p.replace(t,{enter:e=>{if(S.NodeGuards.isVariableDeclarationNode(e))return"var"===this.prevailingKindOfVariables&&(e.kind="var"),e}});return e}};y=a([u.injectable(),d(0,u.inject(f.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)),c("design:paramtypes",["function"==typeof(o=void 0!==g.IPrevailingKindOfVariablesAnalyzer&&g.IPrevailingKindOfVariablesAnalyzer)?o:Object])],y),t.CustomCodeHelperFormatter=y},299:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperObfuscator=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(3685),p=r(2895);let m=class{constructor(e,t){this.randomGenerator=e,this.options=t}obfuscateTemplate(e,t={}){return p.JavaScriptObfuscator.obfuscate(e,Object.assign(Object.assign(Object.assign({},f.NO_ADDITIONAL_NODES_PRESET),{identifierNamesGenerator:this.options.identifierNamesGenerator,identifiersDictionary:this.options.identifiersDictionary,numbersToExpressions:this.options.numbersToExpressions,simplify:this.options.simplify,seed:this.randomGenerator.getRawSeed()}),t)).getObfuscatedCode()}};m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],m),t.CustomCodeHelperObfuscator=m},4400:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallsControllerFunctionCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6871),S=r(6949),y=r(4482),N=r(1403),_=r(1093),h=r(5233),b=r(5423),O=r(8920),I=r(2361);let E=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.appendEvent=e,this.callsControllerFunctionName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.appendEvent===_.ObfuscationEvent.AfterObfuscation?this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(b.SingleCallControllerTemplate(),{callControllerFunctionName:this.callsControllerFunctionName})):this.customCodeHelperFormatter.formatTemplate(b.SingleCallControllerTemplate(),{callControllerFunctionName:this.callsControllerFunctionName})}};d([h.initializable(),l("design:type",String)],E.prototype,"callsControllerFunctionName",void 0),d([h.initializable(),l("design:type","function"==typeof(o=void 0!==_.ObfuscationEvent&&_.ObfuscationEvent)?o:Object)],E.prototype,"appendEvent",void 0),E=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperFormatter&&S.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?a:Object,"function"==typeof(s=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],E),t.CallsControllerFunctionCodeHelper=E},484:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableNoEvalTemplate=void 0,t.GlobalVariableNoEvalTemplate=function(){return"\n const that = (typeof window !== 'undefined'\n ? window\n : (typeof process === 'object' &&\n typeof require === 'function' &&\n typeof global === 'object')\n ? global\n : this);\n "}},8837:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate1=void 0,t.GlobalVariableTemplate1=function(){return"\n let that;\n \n try {\n const getGlobal = Function('return (function() ' + '{}.constructor(\"return this\")( )' + ');');\n \n that = getGlobal();\n } catch (e) {\n that = window;\n }\n "}},699:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalVariableTemplate2=void 0,t.GlobalVariableTemplate2=function(){return"\n const getGlobal = function () {\n let 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 const that = getGlobal();\n "}},5423:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SingleCallControllerTemplate=void 0,t.SingleCallControllerTemplate=function(){return"\n const {callControllerFunctionName} = (function(){\n let firstCall = true;\n \n return function (context, fn){\n const rfn = firstCall ? function(){\n if(fn){\n const 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 "}},5655:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),N=r(7370),_=r(1848),h=r(484),b=r(5233),O=r(8920),I=r(2361);let E=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.callsControllerFunctionName=e,this.consoleOutputDisableFunctionName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.target!==N.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():h.GlobalVariableNoEvalTemplate();return this.customCodeHelperFormatter.formatTemplate(_.ConsoleOutputDisableTemplate(),{callControllerFunctionName:this.callsControllerFunctionName,consoleLogDisableFunctionName:this.consoleOutputDisableFunctionName,globalVariableTemplate:e})}};c([b.initializable(),d("design:type",String)],E.prototype,"callsControllerFunctionName",void 0),c([b.initializable(),d("design:type",String)],E.prototype,"consoleOutputDisableFunctionName",void 0),E=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],E),t.ConsoleOutputDisableCodeHelper=E},4860:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),N=r(7295),_=r(1093),h=r(9834),b=r(7678),O=r(1534);let I=class extends h.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=_.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.disableConsoleOutput)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=O.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(N.CustomCodeHelper.ConsoleOutputDisable,(e=>{e.initialize(c,s),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(N.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.disableConsoleOutput)return;const e=this.customCodeHelperFactory(N.CustomCodeHelper.ConsoleOutputDisable),t=this.customCodeHelperFactory(N.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(N.CustomCodeHelper.ConsoleOutputDisable,e),this.customCodeHelpers.set(N.CustomCodeHelper.CallsControllerFunction,t)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],I.prototype,"customCodeHelpers",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],I),t.ConsoleOutputCodeHelperGroup=I},1848:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleOutputDisableTemplate=void 0,t.ConsoleOutputDisableTemplate=function(){return"\n const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () {\n {globalVariableTemplate}\n\n const consoleObject = (that.console = that.console || {});\n const methods = ['log', 'warn', 'info', 'error', 'exception', 'table', 'trace'];\n\n for (let index = 0; index < methods.length; index++){\n const func = {callControllerFunctionName}.constructor.prototype.bind({callControllerFunctionName});\n const methodName = methods[index];\n const originalFunction = consoleObject[methodName] || func;\n\n func.__proto__ = {callControllerFunctionName}.bind({callControllerFunctionName});\n func.toString = originalFunction.toString.bind(originalFunction);\n \n consoleObject[methodName] = func;\n }\n });\n\n {consoleLogDisableFunctionName}();\n "}},2628:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),N=r(5233),_=r(8125),h=r(8920),b=r(2361);let O=class extends h.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.debugProtectionFunctionName=e,this.callsControllerFunctionName=t}getNodeStructure(e){return b.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.customCodeHelperFormatter.formatTemplate(_.DebugProtectionFunctionCallTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName,callControllerFunctionName:this.callsControllerFunctionName})}};c([N.initializable(),d("design:type",String)],O.prototype,"callsControllerFunctionName",void 0),c([N.initializable(),d("design:type",String)],O.prototype,"debugProtectionFunctionName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.DebugProtectionFunctionCallCodeHelper=O},9915:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),N=r(7370),_=r(5233),h=r(2415),b=r(176),O=r(6927),I=r(8920),E=r(2361);let v=class extends I.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e){this.debugProtectionFunctionName=e}getNodeStructure(e){return E.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.target!==N.ObfuscationTarget.BrowserNoEval?h.DebuggerTemplate():b.DebuggerTemplateNoEval();return this.customCodeHelperFormatter.formatTemplate(O.DebugProtectionFunctionTemplate(),{debuggerTemplate:e,debugProtectionFunctionName:this.debugProtectionFunctionName})}};c([_.initializable(),d("design:type",String)],v.prototype,"debugProtectionFunctionName",void 0),v=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],v),t.DebugProtectionFunctionCodeHelper=v},5600:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),N=r(5233),_=r(5987),h=r(8920),b=r(2361);let O=class extends h.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e){this.debugProtectionFunctionName=e}getNodeStructure(e){return b.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.customCodeHelperFormatter.formatTemplate(_.DebugProtectionFunctionIntervalTemplate(),{debugProtectionFunctionName:this.debugProtectionFunctionName})}};c([N.initializable(),d("design:type",String)],O.prototype,"debugProtectionFunctionName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.DebugProtectionFunctionIntervalCodeHelper=O},1723:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),N=r(7295),_=r(1093),h=r(9834),b=r(7678),O=r(4134),I=r(1534);let E=class extends h.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=_.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.debugProtection)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=I.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(N.CustomCodeHelper.DebugProtectionFunctionCall,(e=>{e.initialize(s,c),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(N.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())})),this.appendCustomNodeIfExist(N.CustomCodeHelper.DebugProtectionFunction,(t=>{t.initialize(s),b.NodeAppender.append(e,t.getNode())})),this.appendCustomNodeIfExist(N.CustomCodeHelper.DebugProtectionFunctionInterval,(t=>{const r=O.NodeGuards.isSwitchCaseNode(e)?e.consequent.length:e.body.length,o=this.randomGenerator.getRandomInteger(0,r);t.initialize(s),b.NodeAppender.insertAtIndex(e,t.getNode(),o)}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.debugProtection)return;const e=this.customCodeHelperFactory(N.CustomCodeHelper.DebugProtectionFunction),t=this.customCodeHelperFactory(N.CustomCodeHelper.DebugProtectionFunctionCall),r=this.customCodeHelperFactory(N.CustomCodeHelper.DebugProtectionFunctionInterval),o=this.customCodeHelperFactory(N.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(N.CustomCodeHelper.DebugProtectionFunction,e),this.customCodeHelpers.set(N.CustomCodeHelper.DebugProtectionFunctionCall,t),this.options.debugProtectionInterval&&this.customCodeHelpers.set(N.CustomCodeHelper.DebugProtectionFunctionInterval,r),this.customCodeHelpers.set(N.CustomCodeHelper.CallsControllerFunction,o)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],E.prototype,"customCodeHelpers",void 0),E=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],E),t.DebugProtectionCodeHelperGroup=E},8125:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionCallTemplate=void 0,t.DebugProtectionFunctionCallTemplate=function(){return"\n (function () {\n {callControllerFunctionName}(\n this,\n function () {\n const regExp1 = new RegExp('function *\\\\( *\\\\)');\n const regExp2 = new RegExp('\\\\+\\\\+ *\\(?:[a-zA-Z_$][0-9a-zA-Z_$]*\\)', 'i');\n \n const 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 })();\n "}},5987:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionIntervalTemplate=void 0,t.DebugProtectionFunctionIntervalTemplate=function(){return"\n setInterval(function () {\n {debugProtectionFunctionName}();\n }, 4000);\n "}},6927:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DebugProtectionFunctionTemplate=void 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 "}},2415:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplate=void 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 "}},176:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerTemplateNoEval=void 0,t.DebuggerTemplateNoEval=function(){return"\n if (typeof counter === 'string') {\n const 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 "}},5227:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(5591),N=r(4482),_=r(1403),h=r(7370),b=r(5233),O=r(3762),I=r(484),E=r(8920),v=r(2361);let C=class extends E.AbstractCustomCodeHelper{constructor(e,t,r,o,n,i){super(e,t,r,o,n),this.cryptUtils=i}initialize(e,t){this.callsControllerFunctionName=e,this.domainLockFunctionName=t}getNodeStructure(e){return v.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.domainLock.join(";"),[t,r]=this.cryptUtils.hideString(e,3*e.length),o=this.options.target!==h.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():I.GlobalVariableNoEvalTemplate();return this.customCodeHelperFormatter.formatTemplate(O.DomainLockTemplate(),{callControllerFunctionName:this.callsControllerFunctionName,domainLockFunctionName:this.domainLockFunctionName,diff:r,domains:t,globalVariableTemplate:o})}};d([b.initializable(),l("design:type",String)],C.prototype,"callsControllerFunctionName",void 0),d([b.initializable(),l("design:type",String)],C.prototype,"domainLockFunctionName",void 0),C=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),u(5,f.inject(p.ServiceIdentifiers.ICryptUtils)),l("design:paramtypes",["function"==typeof(o=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==_.IRandomGenerator&&_.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==N.IOptions&&N.IOptions)?s:Object,"function"==typeof(c=void 0!==y.ICryptUtils&&y.ICryptUtils)?c:Object])],C),t.DomainLockCodeHelper=C},9673:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockCustomCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),N=r(7295),_=r(1093),h=r(9834),b=r(7678),O=r(1534);let I=class extends h.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=_.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.domainLock.length)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=O.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(N.CustomCodeHelper.DomainLock,(e=>{e.initialize(c,s),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(N.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.domainLock.length)return;const e=this.customCodeHelperFactory(N.CustomCodeHelper.DomainLock),t=this.customCodeHelperFactory(N.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(N.CustomCodeHelper.DomainLock,e),this.customCodeHelpers.set(N.CustomCodeHelper.CallsControllerFunction,t)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],I.prototype,"customCodeHelpers",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],I),t.DomainLockCustomCodeHelperGroup=I},3762:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockTemplate=void 0,t.DomainLockTemplate=function(){return'\n const {domainLockFunctionName} = {callControllerFunctionName}(this, function () {\n \n {globalVariableTemplate}\n \n const func = function () {\n return {\n key: \'item\',\n value: \'attribute\',\n getAttribute: function () {\n for (let i = 0; i < 1000; i--) {\n const 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 const regExp = new RegExp("[{diff}]", "g");\n const domains = "{domains}".replace(regExp, "").split(";");\n let document;\n let domain;\n let location;\n let hostname;\n\n for (let 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 (let 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 (!("~" > domain)) {\n for (let d2 in that[document]) {\n if (d2.length == 8 && d2.charCodeAt(7) == 110 && d2.charCodeAt(0) == 108) {\n location = d2;\n \n break;\n }\n }\n\n for (let d3 in that[document][location]) {\n if (d3.length == 8 && d3.charCodeAt(7) == 101 && d3.charCodeAt(0) == 104) {\n hostname = d3;\n \n break;\n }\n }\n }\n \n if (!document || !that[document]) {\n return;\n }\n \n const documentDomain = that[document][domain];\n const documentLocationHostName = !!that[document][location] && that[document][location][hostname];\n const currentDomain = documentDomain || documentLocationHostName;\n \n if (!currentDomain) {\n return;\n }\n \n let ok = false;\n \n for (let i = 0; i < domains.length; i++) {\n const domain = domains[i];\n const domainNormalized = domain[0] === String.fromCharCode(46)\n ? domain.slice(1)\n : domain;\n const position = currentDomain.length - domainNormalized.length;\n const lastIndex = currentDomain.indexOf(domainNormalized, position);\n const endsWith = lastIndex !== -1 && lastIndex === position;\n \n if (endsWith) {\n if (currentDomain.length == domain.length || domain.indexOf(".") === 0) {\n ok = true;\n }\n }\n }\n \n if (!ok) {\n data;\n } else {\n return;\n }\n \n func();\n });\n\n {domainLockFunctionName}();\n '}},7675:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingUnicodeCodeHelper=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(6871),S=r(4482),y=r(1403),N=r(7370),_=r(5233),h=r(6739),b=r(3957),O=r(8920),I=r(2361),E=r(484);let v=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.callsControllerFunctionName=e,this.selfDefendingFunctionName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.options.target!==N.ObfuscationTarget.BrowserNoEval?this.getGlobalVariableTemplate():E.GlobalVariableNoEvalTemplate(),t=this.options.target!==N.ObfuscationTarget.BrowserNoEval?h.SelfDefendingTemplate():b.SelfDefendingNoEvalTemplate();return this.customCodeHelperFormatter.formatTemplate(t,{callControllerFunctionName:this.callsControllerFunctionName,selfDefendingFunctionName:this.selfDefendingFunctionName,globalVariableTemplate:e})}};c([_.initializable(),d("design:type",String)],v.prototype,"callsControllerFunctionName",void 0),c([_.initializable(),d("design:type",String)],v.prototype,"selfDefendingFunctionName",void 0),v=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperObfuscator)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperObfuscator&&g.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],v),t.SelfDefendingUnicodeCodeHelper=v},4582:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingCodeHelperGroup=void 0;const u=r(2991),f=r(5350),p=r(8820),m=r(9416),g=r(4482),S=r(1403),y=r(5233),N=r(7295),_=r(1093),h=r(9834),b=r(7678),O=r(1534);let I=class extends h.AbstractCustomCodeHelperGroup{constructor(e,t,r,o){super(t,r,o),this.appendEvent=_.ObfuscationEvent.BeforeObfuscation,this.customCodeHelperFactory=e}appendNodes(e,t){var r;if(!this.options.selfDefending)return;const o=this.getRandomCallsGraphIndex(t.length),n=t.length?b.NodeAppender.getOptimalBlockScope(t,o):e,i=t.length?b.NodeAppender.getOptimalBlockScope(t,o,1):e,a=null!==(r=O.NodeLexicalScopeUtils.getLexicalScope(n))&&void 0!==r?r:null,s=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext(),c=a?this.identifierNamesGenerator.generate(a):this.identifierNamesGenerator.generateNext();this.appendCustomNodeIfExist(N.CustomCodeHelper.SelfDefendingUnicode,(e=>{e.initialize(c,s),b.NodeAppender.prepend(n,e.getNode())})),this.appendCustomNodeIfExist(N.CustomCodeHelper.CallsControllerFunction,(e=>{e.initialize(this.appendEvent,c),b.NodeAppender.prepend(i,e.getNode())}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.selfDefending)return;const e=this.customCodeHelperFactory(N.CustomCodeHelper.SelfDefendingUnicode),t=this.customCodeHelperFactory(N.CustomCodeHelper.CallsControllerFunction);this.customCodeHelpers.set(N.CustomCodeHelper.SelfDefendingUnicode,e),this.customCodeHelpers.set(N.CustomCodeHelper.CallsControllerFunction,t)}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],I.prototype,"customCodeHelpers",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__ICustomCodeHelper)),l(1,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TCustomCodeHelperFactory&&p.TCustomCodeHelperFactory)?n:Object,"function"==typeof(i=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],I),t.SelfDefendingCodeHelperGroup=I},3957:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingNoEvalTemplate=void 0,t.SelfDefendingNoEvalTemplate=function(){return"\n const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () {\n {globalVariableTemplate}\n \n const test = function () {\n const regExp = new that.RegExp('^([^ ]+( +[^ ]+)+)+[^ ]}');\n \n return !regExp.test({selfDefendingFunctionName});\n };\n \n return test();\n });\n \n {selfDefendingFunctionName}();\n "}},6739:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=void 0,t.SelfDefendingTemplate=function(){return"\n const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () {\n const test = function () {\n const regExp = test\n .constructor('return /\" + this + \"/')()\n .constructor('^([^ ]+( +[^ ]+)+)+[^ ]}');\n \n return !regExp.test({selfDefendingFunctionName});\n };\n \n return test();\n });\n \n {selfDefendingFunctionName}();\n "}},9681:function(e,t,r){var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperBase64CodeHelper=void 0;const n=r(2991),i=r(893),a=r(2267),s=r(7689);let c=class extends s.StringArrayCallsWrapperCodeHelper{getDecodeStringArrayTemplate(){const e=this.randomGenerator.getRandomString(6),t=this.customCodeHelperFormatter.formatTemplate(i.AtobTemplate(),{atobFunctionName:e}),r=this.getSelfDefendingTemplate();return this.customCodeHelperFormatter.formatTemplate(a.StringArrayBase64DecodeTemplate(this.randomGenerator),{atobPolyfill:t,atobFunctionName:e,selfDefendingCode:r,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}};c=o([n.injectable()],c),t.StringArrayCallsWrapperBase64CodeHelper=c},7689:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(2747),N=r(4482),_=r(1403),h=r(5233),b=r(5534),O=r(7927),I=r(8920),E=r(2361);let v=class extends I.AbstractCustomCodeHelper{constructor(e,t,r,o,n,i){super(e,t,r,o,n),this.escapeSequenceEncoder=i}initialize(e,t,r){this.stringArrayName=e,this.stringArrayCallsWrapperName=t,this.indexShiftAmount=r}getNodeStructure(e){return E.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.getDecodeStringArrayTemplate(),t=[`^${this.stringArrayName}$`];return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(O.StringArrayCallsWrapperTemplate(),{decodeCodeHelperTemplate:e,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName,indexShiftAmount:this.indexShiftAmount}),{reservedNames:t})}getDecodeStringArrayTemplate(){return""}getSelfDefendingTemplate(){return this.options.selfDefending?this.customCodeHelperFormatter.formatTemplate(b.SelfDefendingTemplate(this.randomGenerator,this.escapeSequenceEncoder),{stringArrayCallsWrapperName:this.stringArrayCallsWrapperName,stringArrayName:this.stringArrayName}):""}};d([h.initializable(),l("design:type",Number)],v.prototype,"indexShiftAmount",void 0),d([h.initializable(),l("design:type",String)],v.prototype,"stringArrayName",void 0),d([h.initializable(),l("design:type",String)],v.prototype,"stringArrayCallsWrapperName",void 0),v=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),u(5,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l("design:paramtypes",["function"==typeof(o=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==_.IRandomGenerator&&_.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==N.IOptions&&N.IOptions)?s:Object,"function"==typeof(c=void 0!==y.IEscapeSequenceEncoder&&y.IEscapeSequenceEncoder)?c:Object])],v),t.StringArrayCallsWrapperCodeHelper=v},8352:function(e,t,r){var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperRc4CodeHelper=void 0;const n=r(2991),i=r(893),a=r(2099),s=r(9913),c=r(7689);let d=class extends c.StringArrayCallsWrapperCodeHelper{getDecodeStringArrayTemplate(){const e=this.randomGenerator.getRandomString(6),t=this.customCodeHelperFormatter.formatTemplate(i.AtobTemplate(),{atobFunctionName:e}),r=this.customCodeHelperFormatter.formatTemplate(a.Rc4Template(),{atobFunctionName:e}),o=this.getSelfDefendingTemplate();return this.customCodeHelperFormatter.formatTemplate(s.StringArrayRC4DecodeTemplate(this.randomGenerator),{atobPolyfill:t,rc4Polyfill:r,selfDefendingCode:o,stringArrayCallsWrapperName:this.stringArrayCallsWrapperName})}};d=o([n.injectable()],d),t.StringArrayCallsWrapperRc4CodeHelper=d},5007:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(4482),N=r(1403),_=r(5683),h=r(5233),b=r(5819),O=r(8920),I=r(2361),E=r(2161);let v=class extends O.AbstractCustomCodeHelper{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.stringArrayStorage=e,this.stringArrayName=t}getNodeStructure(e){return I.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){return this.customCodeHelperFormatter.formatTemplate(b.StringArrayTemplate(),{stringArrayName:this.stringArrayName,stringArrayStorageItems:this.getEncodedStringArrayStorageItems()})}getEncodedStringArrayStorageItems(){return Array.from(this.stringArrayStorage.getStorage().values()).map((e=>`'${E.StringUtils.escapeJsString(e.encodedValue)}'`)).toString()}};d([h.initializable(),l("design:type","function"==typeof(o=void 0!==_.IStringArrayStorage&&_.IStringArrayStorage)?o:Object)],v.prototype,"stringArrayStorage",void 0),d([h.initializable(),l("design:type",String)],v.prototype,"stringArrayName",void 0),v=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?a:Object,"function"==typeof(s=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],v),t.StringArrayCodeHelper=v},256:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionCodeHelper=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(6949),S=r(6871),y=r(2747),N=r(4482),_=r(1403),h=r(5233),b=r(3099),O=r(4016),I=r(8920),E=r(2361),v=r(6543);let C=class extends I.AbstractCustomCodeHelper{constructor(e,t,r,o,n,i){super(e,t,r,o,n),this.escapeSequenceEncoder=i}initialize(e,t){this.stringArrayName=e,this.stringArrayRotationAmount=t}getNodeStructure(e){return E.NodeUtils.convertCodeToStructure(e)}getCodeHelperTemplate(){const e=this.identifierNamesGenerator.generateNext(),t=this.identifierNamesGenerator.generateNext(),r=[`^${this.stringArrayName}$`];let o="";return o=this.options.selfDefending?this.customCodeHelperFormatter.formatTemplate(b.SelfDefendingTemplate(this.escapeSequenceEncoder),{timesName:e,whileFunctionName:t}):`${t}(++${e})`,this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(O.StringArrayRotateFunctionTemplate(),{code:o,timesName:e,whileFunctionName:t,stringArrayName:this.stringArrayName,stringArrayRotationAmount:v.NumberUtils.toHex(this.stringArrayRotationAmount)}),{reservedNames:r})}};d([h.initializable(),l("design:type",String)],C.prototype,"stringArrayName",void 0),d([h.initializable(),l("design:type",Number)],C.prototype,"stringArrayRotationAmount",void 0),C=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperObfuscator)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),u(5,f.inject(p.ServiceIdentifiers.IEscapeSequenceEncoder)),l("design:paramtypes",["function"==typeof(o=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.ICustomCodeHelperObfuscator&&S.ICustomCodeHelperObfuscator)?i:Object,"function"==typeof(a=void 0!==_.IRandomGenerator&&_.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==N.IOptions&&N.IOptions)?s:Object,"function"==typeof(c=void 0!==y.IEscapeSequenceEncoder&&y.IEscapeSequenceEncoder)?c:Object])],C),t.StringArrayRotateFunctionCodeHelper=C},5769:function(e,t,r){var o,n,i,a,s,c,d,l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCodeHelperGroup=void 0;const p=r(2991),m=r(5350),g=r(8820),S=r(9416),y=r(4482),N=r(1403),_=r(5683),h=r(5233),b=r(7295),O=r(1093),I=r(1137),E=r(9834),v=r(7678);let C=o=class extends E.AbstractCustomCodeHelperGroup{constructor(e,t,r,o,n){super(r,o,n),this.appendEvent=O.ObfuscationEvent.AfterObfuscation,this.customCodeHelperFactory=e,this.stringArrayStorage=t}appendNodes(e,t){if(!this.stringArrayStorage.getLength())return;this.appendCustomNodeIfExist(b.CustomCodeHelper.StringArray,(t=>{v.NodeAppender.prepend(e,t.getNode())}));const r=this.options.stringArrayEncoding.length;for(let t=0;t{v.NodeAppender.insertAtIndex(e,r.getNode(),t+1)}))}this.appendCustomNodeIfExist(b.CustomCodeHelper.StringArrayRotateFunction,(t=>{v.NodeAppender.insertAtIndex(e,t.getNode(),1)}))}initialize(){if(this.customCodeHelpers=new Map,!this.options.stringArray)return;const e=this.customCodeHelperFactory(b.CustomCodeHelper.StringArray),t=this.stringArrayStorage.getStorageName();e.initialize(this.stringArrayStorage,t),this.customCodeHelpers.set(b.CustomCodeHelper.StringArray,e);for(const e of this.options.stringArrayEncoding){const r=this.getStringArrayCallsWrapperCodeHelperName(e),o=this.customCodeHelperFactory(r),n=this.stringArrayStorage.getStorageCallsWrapperName(e);o.initialize(t,n,this.stringArrayStorage.getIndexShiftAmount()),this.customCodeHelpers.set(r,o)}const r=this.customCodeHelperFactory(b.CustomCodeHelper.StringArrayRotateFunction);r.initialize(t,this.stringArrayStorage.getRotationAmount()),this.options.rotateStringArray&&this.customCodeHelpers.set(b.CustomCodeHelper.StringArrayRotateFunction,r)}getStringArrayCallsWrapperCodeHelperName(e){var t;return null!==(t=o.stringArrayCallsWrapperCodeHelperMap.get(e))&&void 0!==t?t:b.CustomCodeHelper.StringArrayCallsWrapper}};C.stringArrayCallsWrapperCodeHelperMap=new Map([[I.StringArrayEncoding.None,b.CustomCodeHelper.StringArrayCallsWrapper],[I.StringArrayEncoding.Base64,b.CustomCodeHelper.StringArrayCallsWrapperBase64],[I.StringArrayEncoding.Rc4,b.CustomCodeHelper.StringArrayCallsWrapperRc4]]),l([h.initializable(),u("design:type","function"==typeof(n="undefined"!=typeof Map&&Map)?n:Object)],C.prototype,"customCodeHelpers",void 0),C=o=l([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.Factory__ICustomCodeHelper)),f(1,p.inject(m.ServiceIdentifiers.IStringArrayStorage)),f(2,p.inject(m.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),f(3,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(4,p.inject(m.ServiceIdentifiers.IOptions)),u("design:paramtypes",["function"==typeof(i=void 0!==g.TCustomCodeHelperFactory&&g.TCustomCodeHelperFactory)?i:Object,"function"==typeof(a=void 0!==_.IStringArrayStorage&&_.IStringArrayStorage)?a:Object,"function"==typeof(s=void 0!==S.TIdentifierNamesGeneratorFactory&&S.TIdentifierNamesGeneratorFactory)?s:Object,"function"==typeof(c=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?c:Object,"function"==typeof(d=void 0!==y.IOptions&&y.IOptions)?d:Object])],C),t.StringArrayCodeHelperGroup=C},893:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AtobTemplate=void 0;const o=r(4497);t.AtobTemplate=function(){return`\n var {atobFunctionName} = function (input) {\n const chars = '${o.base64alphabetSwapped}';\n\n const str = String(input).replace(/=+$/, '');\n let output = '';\n for (\n let bc = 0, bs, buffer, idx = 0;\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 `}},2099:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Rc4Template=void 0,t.Rc4Template=function(){return"\n const rc4 = function (str, key) {\n let s = [], j = 0, x, res = '', newStr = '';\n \n str = {atobFunctionName}(str);\n \n for (let 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 let i;\n \t \n for (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 (let 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 "}},5534:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=void 0,t.SelfDefendingTemplate=function(e,t){const r=e.getRandomString(6),o=e.getRandomString(6),n=e.getRandomString(6),i=e.getRandomString(6),a=e.getRandomString(6),s=e.getRandomString(6),c=e.getRandomString(6),d=e.getRandomString(6),l=e.getRandomString(6);return`\n const StatesClass = function (${r}) {\n this.${r} = ${r};\n this.${o} = [1, 0, 0];\n this.${n} = function(){return 'newState';};\n this.${i} = '${t.encode("\\w+ *\\(\\) *{\\w+ *",!0)}';\n this.${a} = '${t.encode("['|\"].+['|\"];? *}",!0)}';\n };\n \n StatesClass.prototype.${s} = function () {\n const regExp = new RegExp(this.${i} + this.${a});\n const expression = regExp.test(this.${n}.toString())\n ? --this.${o}[1]\n : --this.${o}[0];\n \n return this.${c}(expression);\n };\n \n StatesClass.prototype.${c} = function (${l}) {\n if (!Boolean(~${l})) {\n return ${l};\n }\n \n return this.${d}(this.${r});\n };\n\n StatesClass.prototype.${d} = function (${r}) {\n for (let i = 0, len = this.${o}.length; i < len; i++) {\n this.${o}.push(Math.round(Math.random()));\n len = this.${o}.length;\n }\n \n return ${r}(this.${o}[0]);\n };\n\n new StatesClass({stringArrayCallsWrapperName}).${s}();\n `}},2267:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayBase64DecodeTemplate=void 0,t.StringArrayBase64DecodeTemplate=function(e){const t=e.getRandomString(6),r=e.getRandomString(6),o=e.getRandomString(6);return`\n if ({stringArrayCallsWrapperName}.${t} === undefined) {\n {atobPolyfill}\n \n {stringArrayCallsWrapperName}.${r} = function (str) {\n const string = {atobFunctionName}(str);\n let newStringChars = [];\n \n for (let 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}.${o} = {};\n \n {stringArrayCallsWrapperName}.${t} = true;\n }\n \n const cachedValue = {stringArrayCallsWrapperName}.${o}[index];\n \n if (cachedValue === undefined) {\n {selfDefendingCode}\n \n value = {stringArrayCallsWrapperName}.${r}(value);\n {stringArrayCallsWrapperName}.${o}[index] = value;\n } else {\n value = cachedValue;\n }\n `}},7927:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallsWrapperTemplate=void 0,t.StringArrayCallsWrapperTemplate=function(){return"\n const {stringArrayCallsWrapperName} = function (index, key) {\n index = index - {indexShiftAmount};\n \n let value = {stringArrayName}[index];\n \n {decodeCodeHelperTemplate}\n \n return value;\n };\n "}},9913:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRC4DecodeTemplate=void 0,t.StringArrayRC4DecodeTemplate=function(e){const t=e.getRandomString(6),r=e.getRandomString(6),o=e.getRandomString(6),n=e.getRandomString(6);return`\n if ({stringArrayCallsWrapperName}.${t} === undefined) {\n {atobPolyfill}\n \n {rc4Polyfill}\n {stringArrayCallsWrapperName}.${r} = rc4;\n \n {stringArrayCallsWrapperName}.${o} = {};\n \n {stringArrayCallsWrapperName}.${t} = true;\n }\n \n const cachedValue = {stringArrayCallsWrapperName}.${o}[index];\n\n if (cachedValue === undefined) {\n if ({stringArrayCallsWrapperName}.${n} === undefined) {\n {selfDefendingCode}\n \n {stringArrayCallsWrapperName}.${n} = true;\n }\n \n value = {stringArrayCallsWrapperName}.${r}(value, key);\n {stringArrayCallsWrapperName}.${o}[index] = value;\n } else {\n value = cachedValue;\n }\n `}},3099:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingTemplate=void 0,t.SelfDefendingTemplate=function(e){return`\n const selfDefendingFunc = function () {\n const object = {\n data: {\n key: 'cookie',\n value: 'timeout'\n },\n setCookie: function (options, name, value, document) {\n document = document || {};\n \n let updatedCookie = name + "=" + value;\n let i = 0;\n \n for (let i = 0, len = options.length; i < len; i++) {\n const propName = options[i];\n \n updatedCookie += "; " + propName;\n \n const 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 const matches = document(new RegExp(\n "(?:^|; )" + name.replace(/([.$?*|{}()[]\\/+^])/g, '\\$1') + "=([^;]*)"\n ));\n \n const 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 const test1 = function () {\n const regExp = new RegExp('${e.encode("\\w+ *\\(\\) *{\\w+ *['|\"].+['|\"];? *}",!0)}');\n \n return regExp.test(object.removeCookie.toString());\n };\n \n object['updateCookie'] = test1;\n \n let cookie = '';\n const 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 `}},4016:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRotateFunctionTemplate=void 0,t.StringArrayRotateFunctionTemplate=function(){return"\n (function (array, {timesName}) {\n const {whileFunctionName} = function (times) {\n while (--times) {\n array['push'](array['shift']());\n }\n };\n \n {code}\n })({stringArrayName}, {stringArrayRotationAmount});\n "}},5819:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTemplate=void 0,t.StringArrayTemplate=function(){return"\n const {stringArrayName} = [{stringArrayStorageItems}];\n "}},3088:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractCustomNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403);let S=class{constructor(e,t,r,o){this.cachedNode=null,this.identifierNamesGenerator=e(o),this.customCodeHelperFormatter=t,this.randomGenerator=r,this.options=o}getNode(){return this.cachedNode||(this.cachedNode=this.customCodeHelperFormatter.formatStructure(this.getNodeStructure())),this.cachedNode}};S=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],S),t.AbstractCustomNode=S},1597:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BinaryExpressionFunctionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),N=r(2361);let _=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.operator=e}getNodeStructure(){const e=y.NodeFactory.expressionStatementNode(y.NodeFactory.functionExpressionNode([y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")],y.NodeFactory.blockStatementNode([y.NodeFactory.returnStatementNode(y.NodeFactory.binaryExpressionNode(this.operator,y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")))])));return N.NodeUtils.parentizeAst(e),[e]}};_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],_),t.BinaryExpressionFunctionNode=_},5540:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementControlFlowFlatteningNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(9965),m=r(6949),g=r(4482),S=r(1403),y=r(5233),N=r(3088),_=r(9376),h=r(4134),b=r(2361);let O=class extends N.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t,r){this.blockStatementBody=e,this.shuffledKeys=t,this.originalKeysIndexesInShuffledArray=r}getNodeStructure(){const e=this.randomGenerator.getRandomString(6),t=this.randomGenerator.getRandomString(6),r=_.NodeFactory.blockStatementNode([_.NodeFactory.variableDeclarationNode([_.NodeFactory.variableDeclaratorNode(_.NodeFactory.identifierNode(e),_.NodeFactory.callExpressionNode(_.NodeFactory.memberExpressionNode(_.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join(p.StringSeparator.VerticalLine)),_.NodeFactory.identifierNode("split")),[_.NodeFactory.literalNode(p.StringSeparator.VerticalLine)]))],"const"),_.NodeFactory.variableDeclarationNode([_.NodeFactory.variableDeclaratorNode(_.NodeFactory.identifierNode(t),_.NodeFactory.literalNode(0))],"let"),_.NodeFactory.whileStatementNode(_.NodeFactory.literalNode(!0),_.NodeFactory.blockStatementNode([_.NodeFactory.switchStatementNode(_.NodeFactory.memberExpressionNode(_.NodeFactory.identifierNode(e),_.NodeFactory.updateExpressionNode("++",_.NodeFactory.identifierNode(t)),!0),this.shuffledKeys.map(((e,t)=>{const r=this.blockStatementBody[e],o=[r];return h.NodeGuards.isReturnStatementNode(r)||o.push(_.NodeFactory.continueStatement()),_.NodeFactory.switchCaseNode(_.NodeFactory.literalNode(String(t)),o)}))),_.NodeFactory.breakStatement()]))]);return b.NodeUtils.parentizeAst(r),[r]}};s([y.initializable(),c("design:type",Array)],O.prototype,"blockStatementBody",void 0),s([y.initializable(),c("design:type",Array)],O.prototype,"originalKeysIndexesInShuffledArray",void 0),s([y.initializable(),c("design:type",Array)],O.prototype,"shuffledKeys",void 0),O=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==g.IOptions&&g.IOptions)?a:Object])],O),t.BlockStatementControlFlowFlatteningNode=O},1984:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallExpressionFunctionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),N=r(9376),_=r(2361);let h=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.expressionArguments=e}getNodeStructure(){const e=N.NodeFactory.identifierNode("callee"),t=[],r=this.expressionArguments.length;for(let e=0;e=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogicalExpressionFunctionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),N=r(2361);let _=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.operator=e}getNodeStructure(){const e=y.NodeFactory.expressionStatementNode(y.NodeFactory.functionExpressionNode([y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")],y.NodeFactory.blockStatementNode([y.NodeFactory.returnStatementNode(y.NodeFactory.logicalExpressionNode(this.operator,y.NodeFactory.identifierNode("x"),y.NodeFactory.identifierNode("y")))])));return N.NodeUtils.parentizeAst(e),[e]}};_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],_),t.LogicalExpressionFunctionNode=_},7388:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringLiteralNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),N=r(9376);let _=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.literalValue=e}getNodeStructure(){return[N.NodeFactory.expressionStatementNode(N.NodeFactory.literalNode(this.literalValue))]}};s([S.initializable(),c("design:type",String)],_.prototype,"literalValue",void 0),_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],_),t.StringLiteralNode=_},8105:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallExpressionControlFlowStorageCallNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(6949),g=r(4482),S=r(1403),y=r(5233),N=r(3088),_=r(9376),h=r(2361);let b=class extends N.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t,r,o){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.callee=r,this.expressionArguments=o}getNodeStructure(){const e=_.NodeFactory.expressionStatementNode(_.NodeFactory.callExpressionNode(_.NodeFactory.memberExpressionNode(_.NodeFactory.identifierNode(this.controlFlowStorageName),_.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.callee,...this.expressionArguments]));return h.NodeUtils.parentizeAst(e),[e]}};c([y.initializable(),d("design:type","function"==typeof(o="undefined"!=typeof ESTree&&ESTree.Expression)?o:Object)],b.prototype,"callee",void 0),c([y.initializable(),d("design:type",String)],b.prototype,"controlFlowStorageKey",void 0),c([y.initializable(),d("design:type",String)],b.prototype,"controlFlowStorageName",void 0),c([y.initializable(),d("design:type",Array)],b.prototype,"expressionArguments",void 0),b=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==m.ICustomCodeHelperFormatter&&m.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==g.IOptions&&g.IOptions)?s:Object])],b),t.CallExpressionControlFlowStorageCallNode=b},9372:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowStorageNode=void 0;const u=r(2991),f=r(5350),p=r(138),m=r(9416),g=r(6949),S=r(4482),y=r(1403),N=r(5233),_=r(3088),h=r(9376),b=r(4134),O=r(2361);let I=class extends _.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e){this.controlFlowStorage=e}getNodeStructure(){const e=Array.from(this.controlFlowStorage.getStorage()).map((([e,t])=>{const r=t.getNode()[0];if(!b.NodeGuards.isExpressionStatementNode(r))throw new Error("Function node for control flow storage object should be passed inside the `ExpressionStatement` node!");return h.NodeFactory.propertyNode(h.NodeFactory.identifierNode(e),r.expression)}));let t=h.NodeFactory.variableDeclarationNode([h.NodeFactory.variableDeclaratorNode(h.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()),h.NodeFactory.objectExpressionNode(e))],"const");return t=O.NodeUtils.parentizeAst(t),[t]}};c([N.initializable(),d("design:type","function"==typeof(o=void 0!==p.TControlFlowStorage&&p.TControlFlowStorage)?o:Object)],I.prototype,"controlFlowStorage",void 0),I=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(2,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(3,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],I),t.ControlFlowStorageNode=I},8807:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionWithOperatorControlFlowStorageCallNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),N=r(9376),_=r(2361);let h=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t,r,o){this.controlFlowStorageName=e,this.controlFlowStorageKey=t,this.leftValue=r,this.rightValue=o}getNodeStructure(){const e=N.NodeFactory.expressionStatementNode(N.NodeFactory.callExpressionNode(N.NodeFactory.memberExpressionNode(N.NodeFactory.identifierNode(this.controlFlowStorageName),N.NodeFactory.identifierNode(this.controlFlowStorageKey)),[this.leftValue,this.rightValue]));return _.NodeUtils.parentizeAst(e),[e]}};s([S.initializable(),c("design:type",String)],h.prototype,"controlFlowStorageKey",void 0),s([S.initializable(),c("design:type",String)],h.prototype,"controlFlowStorageName",void 0),h=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],h),t.ExpressionWithOperatorControlFlowStorageCallNode=h},6512:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringLiteralControlFlowStorageCallNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(5233),y=r(3088),N=r(9376),_=r(2361);let h=class extends y.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t){this.controlFlowStorageName=e,this.controlFlowStorageKey=t}getNodeStructure(){const e=N.NodeFactory.expressionStatementNode(N.NodeFactory.memberExpressionNode(N.NodeFactory.identifierNode(this.controlFlowStorageName),N.NodeFactory.identifierNode(this.controlFlowStorageKey)));return _.NodeUtils.parentizeAst(e),[e]}};s([S.initializable(),c("design:type",String)],h.prototype,"controlFlowStorageKey",void 0),s([S.initializable(),c("design:type",String)],h.prototype,"controlFlowStorageName",void 0),h=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],h),t.StringLiteralControlFlowStorageCallNode=h},9193:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementDeadCodeInjectionNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),N=r(2361);let _=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t){this.blockStatementNode=e,this.deadCodeInjectionRootAstHostNode=t}getNode(){return this.getNodeStructure()}getNodeStructure(){const e=this.randomGenerator.getMathRandom()>.5,t=this.randomGenerator.getMathRandom()>.5,r=e?"===":"!==",o=this.randomGenerator.getRandomString(5),n=t?o:this.randomGenerator.getRandomString(5),[i,a]=e===t?[this.blockStatementNode,this.deadCodeInjectionRootAstHostNode]:[this.deadCodeInjectionRootAstHostNode,this.blockStatementNode],s=y.NodeFactory.blockStatementNode([y.NodeFactory.ifStatementNode(y.NodeFactory.binaryExpressionNode(r,y.NodeFactory.literalNode(o),y.NodeFactory.literalNode(n)),i,a)]);return N.NodeUtils.parentizeAst(s),[s]}};_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],_),t.BlockStatementDeadCodeInjectionNode=_},8866:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionVariableDeclarationHostNode=void 0;const l=r(2991),u=r(5350),f=r(9416),p=r(6949),m=r(4482),g=r(1403),S=r(3088),y=r(9376),N=r(4134);let _=class extends S.AbstractCustomNode{constructor(e,t,r,o){super(e,t,r,o)}initialize(e,t){this.lexicalScopeNode=e,this.properties=t}getNodeStructure(){const e=N.NodeGuards.isProgramNode(this.lexicalScopeNode)?this.identifierNamesGenerator.generateForGlobalScope():this.identifierNamesGenerator.generateForLexicalScope(this.lexicalScopeNode);return[y.NodeFactory.variableDeclarationNode([y.NodeFactory.variableDeclaratorNode(y.NodeFactory.identifierNode(e),y.NodeFactory.objectExpressionNode(this.properties))],"const")]}};_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),d(1,l.inject(u.ServiceIdentifiers.ICustomCodeHelperFormatter)),d(2,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(3,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(o=void 0!==f.TIdentifierNamesGeneratorFactory&&f.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==p.ICustomCodeHelperFormatter&&p.ICustomCodeHelperFormatter)?n:Object,"function"==typeof(i=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==m.IOptions&&m.IOptions)?a:Object])],_),t.ObjectExpressionVariableDeclarationHostNode=_},7306:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStringArrayCallNode=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(7219),S=r(6949),y=r(4482),N=r(1403),_=r(6212),h=r(8064),b=r(3088),O=r(9376),I=r(739),E=r(2361);let v=o=class extends b.AbstractCustomNode{constructor(e,t,r,o,n){super(e,r,o,n),this.stringArrayIndexNodeFactory=t}getStringArrayIndexNode(e){var t;const r=e>=0,n=Math.abs(e),i=this.randomGenerator.getRandomGenerator().pickone(this.options.stringArrayIndexesType),a=null!==(t=o.stringArrayIndexNodesMap.get(i))&&void 0!==t?t:null;if(!a)throw new Error("Invalid string array index node name");const s=this.stringArrayIndexNodeFactory(a).getNode(n);I.NodeMetadata.set(s,{replacedLiteral:!0});const c=r?s:O.NodeFactory.unaryExpressionNode("-",s);return E.NodeUtils.parentizeAst(c),c}getRc4KeyLiteralNode(e){const t=O.NodeFactory.literalNode(e);return I.NodeMetadata.set(t,{replacedLiteral:!0}),t}};v.stringArrayIndexNodesMap=new Map([[_.StringArrayIndexesType.HexadecimalNumber,h.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode],[_.StringArrayIndexesType.HexadecimalNumericString,h.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode]]),v=o=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.Factory__IStringArrayIndexNode)),u(2,f.inject(p.ServiceIdentifiers.ICustomCodeHelperFormatter)),u(3,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(4,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.TStringArrayIndexNodeFactory&&g.TStringArrayIndexNodeFactory)?i:Object,"function"==typeof(a=void 0!==S.ICustomCodeHelperFormatter&&S.ICustomCodeHelperFormatter)?a:Object,"function"==typeof(s=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==y.IOptions&&y.IOptions)?c:Object])],v),t.AbstractStringArrayCallNode=v},9826:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCallNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(7219),g=r(6949),S=r(4482),y=r(1403),N=r(5233),_=r(7306),h=r(9376),b=r(2361);let O=class extends _.AbstractStringArrayCallNode{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t,r,o){this.stringArrayCallsWrapperName=e,this.index=t,this.indexShiftAmount=r,this.decodeKey=o}getNodeStructure(){const e=[this.getStringArrayIndexNode(this.indexShiftAmount+this.index)];this.decodeKey&&e.push(this.getRc4KeyLiteralNode(this.decodeKey));const t=h.NodeFactory.identifierNode(this.stringArrayCallsWrapperName),r=h.NodeFactory.expressionStatementNode(h.NodeFactory.callExpressionNode(t,e));return b.NodeUtils.parentizeAst(r),[r]}};c([N.initializable(),d("design:type",Object)],O.prototype,"decodeKey",void 0),c([N.initializable(),d("design:type",Number)],O.prototype,"index",void 0),c([N.initializable(),d("design:type",Number)],O.prototype,"indexShiftAmount",void 0),c([N.initializable(),d("design:type",String)],O.prototype,"stringArrayCallsWrapperName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.Factory__IStringArrayIndexNode)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.TStringArrayIndexNodeFactory&&m.TStringArrayIndexNodeFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.StringArrayCallNode=O},573:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperFunctionNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(7219),g=r(6949),S=r(4482),y=r(1403),N=r(5233),_=r(7306),h=r(9376),b=r(2361);let O=class extends _.AbstractStringArrayCallNode{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t,r){this.stringArrayScopeCallsWrapperName=e,this.stringArrayCallsWrapperName=t,this.shiftedIndex=r}getNodeStructure(){const e=h.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),t=h.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),r=h.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),o=h.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)),n=h.NodeFactory.functionExpressionNode([e,t],h.NodeFactory.blockStatementNode([h.NodeFactory.returnStatementNode(h.NodeFactory.callExpressionNode(h.NodeFactory.identifierNode(this.stringArrayCallsWrapperName),[h.NodeFactory.binaryExpressionNode("-",r,this.getStringArrayIndexNode(this.shiftedIndex)),o]))])),i=h.NodeFactory.variableDeclarationNode([h.NodeFactory.variableDeclaratorNode(h.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName),n)],"const");b.NodeUtils.parentizeAst(i);const a=this.identifierNamesGenerator.generateForLexicalScope(n),s=this.identifierNamesGenerator.generateForLexicalScope(n);return e.name=a,t.name=s,r.name=a,o.name=s,[i]}};c([N.initializable(),d("design:type",Number)],O.prototype,"shiftedIndex",void 0),c([N.initializable(),d("design:type",String)],O.prototype,"stringArrayCallsWrapperName",void 0),c([N.initializable(),d("design:type",String)],O.prototype,"stringArrayScopeCallsWrapperName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.Factory__IStringArrayIndexNode)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.TStringArrayIndexNodeFactory&&m.TStringArrayIndexNodeFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.StringArrayScopeCallsWrapperFunctionNode=O},9867:function(e,t,r){var o,n,i,a,s,c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperVariableNode=void 0;const u=r(2991),f=r(5350),p=r(9416),m=r(7219),g=r(6949),S=r(4482),y=r(1403),N=r(5233),_=r(7306),h=r(9376),b=r(2361);let O=class extends _.AbstractStringArrayCallNode{constructor(e,t,r,o,n){super(e,t,r,o,n)}initialize(e,t){this.stringArrayScopeCallsWrapperName=e,this.stringArrayCallsWrapperName=t}getNodeStructure(){const e=h.NodeFactory.variableDeclarationNode([h.NodeFactory.variableDeclaratorNode(h.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName),h.NodeFactory.identifierNode(this.stringArrayCallsWrapperName))],"const");return b.NodeUtils.parentizeAst(e),[e]}};c([N.initializable(),d("design:type",String)],O.prototype,"stringArrayCallsWrapperName",void 0),c([N.initializable(),d("design:type",String)],O.prototype,"stringArrayScopeCallsWrapperName",void 0),O=c([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),l(1,u.inject(f.ServiceIdentifiers.Factory__IStringArrayIndexNode)),l(2,u.inject(f.ServiceIdentifiers.ICustomCodeHelperFormatter)),l(3,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(4,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==p.TIdentifierNamesGeneratorFactory&&p.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==m.TStringArrayIndexNodeFactory&&m.TStringArrayIndexNodeFactory)?n:Object,"function"==typeof(i=void 0!==g.ICustomCodeHelperFormatter&&g.ICustomCodeHelperFormatter)?i:Object,"function"==typeof(a=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==S.IOptions&&S.IOptions)?s:Object])],O),t.StringArrayScopeCallsWrapperVariableNode=O},6897:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStringArrayIndexNode=void 0;const c=r(2991),d=r(4482),l=r(1403),u=r(5350);let f=class{constructor(e,t){this.randomGenerator=e,this.options=t}};f=i([c.injectable(),s(0,c.inject(u.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(u.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.IRandomGenerator&&l.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==d.IOptions&&d.IOptions)?n:Object])],f),t.AbstractStringArrayIndexNode=f},398:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayHexadecimalNumberIndexNode=void 0;const c=r(2991),d=r(4482),l=r(1403),u=r(5350),f=r(6897),p=r(9376),m=r(6543);let g=class extends f.AbstractStringArrayIndexNode{constructor(e,t){super(e,t)}getNode(e){const t=m.NumberUtils.toHex(e);return p.NodeFactory.literalNode(e,t)}};g=i([c.injectable(),s(0,c.inject(u.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(u.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.IRandomGenerator&&l.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==d.IOptions&&d.IOptions)?n:Object])],g),t.StringArrayHexadecimalNumberIndexNode=g},6379:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayHexadecimalNumericStringIndexNode=void 0;const c=r(2991),d=r(4482),l=r(1403),u=r(5350),f=r(6897),p=r(9376),m=r(6543);let g=class extends f.AbstractStringArrayIndexNode{constructor(e,t){super(e,t)}getNode(e){const t=m.NumberUtils.toHex(e);return p.NodeFactory.literalNode(t)}};g=i([c.injectable(),s(0,c.inject(u.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(u.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.IRandomGenerator&&l.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==d.IOptions&&d.IOptions)?n:Object])],g),t.StringArrayHexadecimalNumericStringIndexNode=g},5233:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.initializable=void 0;const r={configurable:!0,enumerable:!0},o="_initialized",n="_initializablePropertiesSet",i="_wrappedMethodsSet";function a(e,t,r){Reflect.hasMetadata(e,r)||Reflect.defineMetadata(e,t,r)}t.initializable=function(e="initialize"){const t=Object.keys(this)[0];return(s,c)=>{const d=s[e];if(!d||"function"!=typeof d)throw new Error(`\`${e}\` method with initialization logic not found. \`@${t}\` decorator requires \`${e}\` method`);return a(o,!1,s),a(n,new Set,s),a(i,new Set,s),function(e,t){const a=Object.getOwnPropertyNames(e),s=new Set([t,"constructor"]);a.forEach((a=>{var c;const d=Reflect.getMetadata(n,e),l=Reflect.getMetadata(i,e);if(s.has(a)||d.has(a)||l.has(a))return;if("function"!=typeof e[a])return;const u=null!==(c=Object.getOwnPropertyDescriptor(e,a))&&void 0!==c?c:r,f=u.value;Object.defineProperty(e,a,Object.assign(Object.assign({},u),{value(){if(!Reflect.getMetadata(o,this))throw new Error(`Class should be initialized with \`${t}()\` method`);return f.apply(this,arguments)}})),l.add(a)}))}(s,e),function(e,t,n){var i;const a=null!==(i=Object.getOwnPropertyDescriptor(e,t))&&void 0!==i?i:r,s=a.value;Object.defineProperty(e,t,Object.assign(Object.assign({},a),{value:function(){Reflect.defineMetadata(o,!0,this);const e=s.apply(this,arguments);return this[n],e}}))}(s,e,c),function(e,t){var o;Reflect.getMetadata(n,e).add(t);const i="_"+t.toString(),a=null!==(o=Object.getOwnPropertyDescriptor(e,i))&&void 0!==o?o:r;return Object.defineProperty(e,t,Object.assign(Object.assign({},a),{get:function(){if(void 0===this[i])throw new Error(`Property \`${t.toString()}\` is not initialized! Initialize it first!`);return this[i]},set:function(e){this[i]=e}})),a}(s,c)}}},7370:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscationTarget=void 0;const o=r(4741);t.ObfuscationTarget=o.Utils.makeEnum({Browser:"browser",BrowserNoEval:"browser-no-eval",Node:"node"})},9965:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.StringSeparator=void 0,(r=t.StringSeparator||(t.StringSeparator={})).Comma=",",r.Dot=".",r.VerticalLine="|"},8657:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CalleeDataExtractor=void 0,(r=t.CalleeDataExtractor||(t.CalleeDataExtractor={})).FunctionDeclarationCalleeDataExtractor="FunctionDeclarationCalleeDataExtractor",r.FunctionExpressionCalleeDataExtractor="FunctionExpressionCalleeDataExtractor",r.ObjectExpressionCalleeDataExtractor="ObjectExpressionCalleeDataExtractor"},5670:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformationStage=void 0,(r=t.CodeTransformationStage||(t.CodeTransformationStage={})).PreparingTransformers="PreparingTransformers",r.FinalizingTransformers="FinalizingTransformers"},7082:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CodeTransformer=void 0,(t.CodeTransformer||(t.CodeTransformer={})).HashbangOperatorTransformer="HashbangOperatorTransformer"},7295:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelper=void 0,(r=t.CustomCodeHelper||(t.CustomCodeHelper={})).CallsControllerFunction="CallsControllerFunction",r.ConsoleOutputDisable="ConsoleOutputDisable",r.DebugProtectionFunctionCall="DebugProtectionFunctionCall",r.DebugProtectionFunctionInterval="DebugProtectionFunctionInterval",r.DebugProtectionFunction="DebugProtectionFunction",r.DomainLock="DomainLock",r.SelfDefendingUnicode="SelfDefendingUnicode",r.StringArray="StringArray",r.StringArrayCallsWrapper="StringArrayCallsWrapper",r.StringArrayCallsWrapperBase64="StringArrayCallsWrapperBase64",r.StringArrayCallsWrapperRc4="StringArrayCallsWrapperRc4",r.StringArrayRotateFunction="StringArrayRotateFunction"},1806:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperGroup=void 0,(r=t.CustomCodeHelperGroup||(t.CustomCodeHelperGroup={})).ConsoleOutput="ConsoleOutput",r.DebugProtection="DebugProtection",r.DomainLock="DomainLock",r.SelfDefending="SelfDefending",r.StringArray="StringArray"},1280:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowCustomNode=void 0,(r=t.ControlFlowCustomNode||(t.ControlFlowCustomNode={})).BinaryExpressionFunctionNode="BinaryExpressionFunctionNode",r.BlockStatementControlFlowFlatteningNode="BlockStatementControlFlowFlatteningNode",r.CallExpressionControlFlowStorageCallNode="CallExpressionControlFlowStorageCallNode",r.CallExpressionFunctionNode="CallExpressionFunctionNode",r.ControlFlowStorageNode="ControlFlowStorageNode",r.ExpressionWithOperatorControlFlowStorageCallNode="ExpressionWithOperatorControlFlowStorageCallNode",r.LogicalExpressionFunctionNode="LogicalExpressionFunctionNode",r.StringLiteralControlFlowStorageCallNode="StringLiteralControlFlowStorageCallNode",r.StringLiteralNode="StringLiteralNode"},2620:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionCustomNode=void 0,(t.DeadCodeInjectionCustomNode||(t.DeadCodeInjectionCustomNode={})).BlockStatementDeadCodeInjectionNode="BlockStatementDeadCodeInjectionNode"},9809:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionKeysTransformerCustomNode=void 0,(t.ObjectExpressionKeysTransformerCustomNode||(t.ObjectExpressionKeysTransformerCustomNode={})).ObjectExpressionVariableDeclarationHostNode="ObjectExpressionVariableDeclarationHostNode"},294:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayCustomNode=void 0,(r=t.StringArrayCustomNode||(t.StringArrayCustomNode={})).StringArrayCallNode="StringArrayCallNode",r.StringArrayScopeCallsWrapperFunctionNode="StringArrayScopeCallsWrapperFunctionNode",r.StringArrayScopeCallsWrapperVariableNode="StringArrayScopeCallsWrapperVariableNode"},8064:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayIndexNode=void 0,(r=t.StringArrayIndexNode||(t.StringArrayIndexNode={})).StringArrayHexadecimalNumberIndexNode="StringArrayHexadecimalNumberIndexNode",r.StringArrayHexadecimalNumericStringIndexNode="StringArrayHexadecimalNumericStringIndexNode"},1093:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscationEvent=void 0,(r=t.ObfuscationEvent||(t.ObfuscationEvent={})).AfterObfuscation="afterObfuscation",r.BeforeObfuscation="beforeObfuscation"},3177:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IdentifierNamesGenerator=void 0;const o=r(4741);t.IdentifierNamesGenerator=o.Utils.makeEnum({DictionaryIdentifierNamesGenerator:"dictionary",HexadecimalIdentifierNamesGenerator:"hexadecimal",MangledIdentifierNamesGenerator:"mangled",MangledShuffledIdentifierNamesGenerator:"mangled-shuffled"})},6221:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.LoggingMessage=void 0,(r=t.LoggingMessage||(t.LoggingMessage={})).EmptySourceCode="Empty source code. Obfuscation canceled...",r.ObfuscationCompleted="Obfuscation completed. Total time: %s sec.",r.ObfuscationStarted="Obfuscation started...",r.RandomGeneratorSeed="Random generator seed: %s...",r.CodeTransformationStage="Code transformation stage: %s...",r.NodeTransformationStage="AST transformation stage: %s...",r.Version="Version: %s"},4469:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.LoggingPrefix=void 0,(r=t.LoggingPrefix||(t.LoggingPrefix={})).Base="[javascript-obfuscator]",r.CLI="[javascript-obfuscator-cli]"},8932:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformationStage=void 0,(r=t.NodeTransformationStage||(t.NodeTransformationStage={})).ControlFlowFlattening="ControlFlowFlattening",r.Converting="Converting",r.DeadCodeInjection="DeadCodeInjection",r.Finalizing="Finalizing",r.Initializing="Initializing",r.Preparing="Preparing",r.RenameIdentifiers="RenameIdentifiers",r.RenameProperties="RenameProperties",r.Simplifying="Simplifying",r.StringArray="StringArray"},4212:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformer=void 0,(r=t.NodeTransformer||(t.NodeTransformer={})).BooleanLiteralTransformer="BooleanLiteralTransformer",r.BlockStatementControlFlowTransformer="BlockStatementControlFlowTransformer",r.BlockStatementSimplifyTransformer="BlockStatementSimplifyTransformer",r.CommentsTransformer="CommentsTransformer",r.CustomCodeHelpersTransformer="CustomCodeHelpersTransformer",r.DeadCodeInjectionTransformer="DeadCodeInjectionTransformer",r.EscapeSequenceTransformer="EscapeSequenceTransformer",r.EvalCallExpressionTransformer="EvalCallExpressionTransformer",r.ExportSpecifierTransformer="ExportSpecifierTransformer",r.ExpressionStatementsMergeTransformer="ExpressionStatementsMergeTransformer",r.FunctionControlFlowTransformer="FunctionControlFlowTransformer",r.IfStatementSimplifyTransformer="IfStatementSimplifyTransformer",r.LabeledStatementTransformer="LabeledStatementTransformer",r.MemberExpressionTransformer="MemberExpressionTransformer",r.MetadataTransformer="MetadataTransformer",r.MethodDefinitionTransformer="MethodDefinitionTransformer",r.NumberLiteralTransformer="NumberLiteralTransformer",r.NumberToNumericalExpressionTransformer="NumberToNumericalExpressionTransformer",r.ObfuscatingGuardsTransformer="ObfuscatingGuardsTransformer",r.ObjectExpressionKeysTransformer="ObjectExpressionKeysTransformer",r.ObjectExpressionTransformer="ObjectExpressionTransformer",r.ObjectPatternPropertiesTransformer="ObjectPatternPropertiesTransformer",r.ParentificationTransformer="ParentificationTransformer",r.RenamePropertiesTransformer="RenamePropertiesTransformer",r.ScopeIdentifiersTransformer="ScopeIdentifiersTransformer",r.ScopeThroughIdentifiersTransformer="ScopeThroughIdentifiersTransformer",r.SplitStringTransformer="SplitStringTransformer",r.StringArrayTransformer="StringArrayTransformer",r.StringArrayScopeCallsWrapperTransformer="StringArrayScopeCallsWrapperTransformer",r.TemplateLiteralTransformer="TemplateLiteralTransformer",r.VariableDeclarationsMergeTransformer="VariableDeclarationsMergeTransformer",r.VariablePreserveTransformer="VariablePreserveTransformer"},9487:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.VisitorDirection=void 0,(r=t.VisitorDirection||(t.VisitorDirection={})).Enter="enter",r.Leave="leave"},4015:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowReplacer=void 0,(r=t.ControlFlowReplacer||(t.ControlFlowReplacer={})).BinaryExpressionControlFlowReplacer="BinaryExpressionControlFlowReplacer",r.CallExpressionControlFlowReplacer="CallExpressionControlFlowReplacer",r.LogicalExpressionControlFlowReplacer="LogicalExpressionControlFlowReplacer",r.StringLiteralControlFlowReplacer="StringLiteralControlFlowReplacer"},9946:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionExtractor=void 0,(r=t.ObjectExpressionExtractor||(t.ObjectExpressionExtractor={})).BasePropertiesExtractor="BasePropertiesExtractor",r.ObjectExpressionToVariableDeclarationExtractor="ObjectExpressionToVariableDeclarationExtractor"},4361:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatingGuard=void 0,(r=t.ObfuscatingGuard||(t.ObfuscatingGuard={})).BlackListObfuscatingGuard="BlackListObfuscatingGuard",r.ConditionalCommentObfuscatingGuard="ConditionalCommentObfuscatingGuard",r.ForceTransformStringObfuscatingGuard="ForceTransformStringObfuscatingGuard",r.IgnoredRequireImportObfuscatingGuard="IgnoredRequireImportObfuscatingGuard",r.ReservedStringObfuscatingGuard="ReservedStringObfuscatingGuard"},1137:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayEncoding=void 0;const o=r(4741);t.StringArrayEncoding=o.Utils.makeEnum({None:"none",Base64:"base64",Rc4:"rc4"})},6212:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayIndexesType=void 0;const o=r(4741);t.StringArrayIndexesType=o.Utils.makeEnum({HexadecimalNumber:"hexadecimal-number",HexadecimalNumericString:"hexadecimal-numeric-string"})},9614:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayWrappersType=void 0;const o=r(4741);t.StringArrayWrappersType=o.Utils.makeEnum({Variable:"variable",Function:"function"})},9945:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.NodeType=void 0,(r=t.NodeType||(t.NodeType={})).ArrayExpression="ArrayExpression",r.ArrayPattern="ArrayPattern",r.ArrowFunctionExpression="ArrowFunctionExpression",r.AssignmentExpression="AssignmentExpression",r.AssignmentPattern="AssignmentPattern",r.AwaitExpression="AwaitExpression",r.BinaryExpression="BinaryExpression",r.BlockStatement="BlockStatement",r.BreakStatement="BreakStatement",r.CallExpression="CallExpression",r.CatchClause="CatchClause",r.ChainExpression="ChainExpression",r.ClassDeclaration="ClassDeclaration",r.ConditionalExpression="ConditionalExpression",r.ContinueStatement="ContinueStatement",r.ExportAllDeclaration="ExportAllDeclaration",r.ExportNamedDeclaration="ExportNamedDeclaration",r.ExportSpecifier="ExportSpecifier",r.ExpressionStatement="ExpressionStatement",r.ForStatement="ForStatement",r.ForInStatement="ForInStatement",r.ForOfStatement="ForOfStatement",r.FunctionDeclaration="FunctionDeclaration",r.FunctionExpression="FunctionExpression",r.Identifier="Identifier",r.IfStatement="IfStatement",r.ImportDeclaration="ImportDeclaration",r.ImportDefaultSpecifier="ImportDefaultSpecifier",r.ImportNamespaceSpecifier="ImportNamespaceSpecifier",r.ImportSpecifier="ImportSpecifier",r.LabeledStatement="LabeledStatement",r.Literal="Literal",r.LogicalExpression="LogicalExpression",r.MemberExpression="MemberExpression",r.MethodDefinition="MethodDefinition",r.ObjectExpression="ObjectExpression",r.ObjectPattern="ObjectPattern",r.Program="Program",r.Property="Property",r.RestElement="RestElement",r.ReturnStatement="ReturnStatement",r.SequenceExpression="SequenceExpression",r.SpreadElement="SpreadElement",r.Super="Super",r.SwitchCase="SwitchCase",r.SwitchStatement="SwitchStatement",r.TaggedTemplateExpression="TaggedTemplateExpression",r.TemplateElement="TemplateElement",r.TemplateLiteral="TemplateLiteral",r.ThrowStatement="ThrowStatement",r.TryStatement="TryStatement",r.UnaryExpression="UnaryExpression",r.UpdateExpression="UpdateExpression",r.VariableDeclaration="VariableDeclaration",r.VariableDeclarator="VariableDeclarator",r.WhileStatement="WhileStatement",r.YieldExpression="YieldExpression"},8608:(e,t)=>{var r;Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatingGuardResult=void 0,(r=t.ObfuscatingGuardResult||(t.ObfuscatingGuardResult={})).ForceTransform="ForceTransform",r.Ignore="Ignore",r.Transform="Transform"},6532:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsPreset=void 0;const o=r(4741);t.OptionsPreset=o.Utils.makeEnum({Default:"default",LowObfuscation:"low-obfuscation",MediumObfuscation:"medium-obfuscation",HighObfuscation:"high-obfuscation"})},6086:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceMapMode=void 0;const o=r(4741);t.SourceMapMode=o.Utils.makeEnum({Inline:"inline",Separate:"separate"})},9196:function(e,t,r){var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscationEventEmitter=void 0;const i=r(2991),a=n(r(9553));i.decorate(i.injectable(),a.default);let s=class extends a.default{};s=o([i.injectable()],s),t.ObfuscationEventEmitter=s},2207:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractIdentifierNamesGenerator=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4134);let p=class{constructor(e,t){this.preservedNamesSet=new Set,this.lexicalScopesPreservedNamesMap=new Map,this.randomGenerator=e,this.options=t}generate(e,t){return f.NodeGuards.isProgramNode(e)?this.generateForGlobalScope():this.generateForLexicalScope(e)}preserveName(e){this.preservedNamesSet.add(e)}preserveNameForLexicalScope(e,t){var r;const o=null!==(r=this.lexicalScopesPreservedNamesMap.get(t))&&void 0!==r?r:new Set;o.add(e),this.lexicalScopesPreservedNamesMap.set(t,o)}isValidIdentifierName(e){return this.notReservedName(e)&&!this.preservedNamesSet.has(e)}isValidIdentifierNameInLexicalScopes(e,t){var r;if(!this.isValidIdentifierName(e))return!1;for(const o of t){const t=null!==(r=this.lexicalScopesPreservedNamesMap.get(o))&&void 0!==r?r:null;if(t&&t.has(e))return!1}return!0}notReservedName(e){return!this.options.reservedNames.length||!this.options.reservedNames.some((t=>null!==new RegExp(t,"g").exec(e)))}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.AbstractIdentifierNamesGenerator=p},8370:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DictionaryIdentifierNamesGenerator=void 0;const l=r(2991),u=r(5350),f=r(5768),p=r(4482),m=r(1403),g=r(2207),S=r(1534);let y=o=class extends g.AbstractIdentifierNamesGenerator{constructor(e,t,r){super(e,t),this.arrayUtils=r,this.identifierNamesSet=new Set(this.getInitialIdentifierNames(this.options.identifiersDictionary)),this.identifiersIterator=this.identifierNamesSet.values()}static incrementIdentifierName(e){let t="",r=!1;for(const o of e)r||o!==o.toUpperCase()?r||o!==o.toLowerCase()?t+=o:(t+=o.toUpperCase(),r=!0):t+=o.toLowerCase();return r?t:null}generateNext(){const e=this.generateNewDictionaryName();return this.preserveName(e),e}generateForGlobalScope(){const e=`${this.options.identifiersPrefix?""+this.options.identifiersPrefix:""}${this.generateNewDictionaryName()}`;return this.isValidIdentifierName(e)?(this.preserveName(e),e):this.generateForGlobalScope()}generateForLexicalScope(e){const t=[e,...S.NodeLexicalScopeUtils.getLexicalScopes(e)],r=this.generateNewDictionaryName();return this.isValidIdentifierNameInLexicalScopes(r,t)?(this.preserveNameForLexicalScope(r,e),r):this.generateForLexicalScope(e)}generateNewDictionaryName(){if(!this.identifierNamesSet.size)throw new Error("Too many identifiers in the code, add more words to identifiers dictionary");const e=this.identifiersIterator.next();if(!e.done){const t=e.value;return this.isValidIdentifierName(t)?e.value:this.generateNewDictionaryName()}return this.identifierNamesSet=new Set(this.getIncrementedIdentifierNames([...this.identifierNamesSet])),this.identifiersIterator=this.identifierNamesSet.values(),this.generateNewDictionaryName()}getInitialIdentifierNames(e){const t=e.filter(Boolean).map((e=>e.toLowerCase()));return this.arrayUtils.shuffle(t)}getIncrementedIdentifierNames(e){const t=[];for(const r of e){const e=o.incrementIdentifierName(r);e&&t.push(e)}return this.arrayUtils.shuffle(t)}};y=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(1,l.inject(u.ServiceIdentifiers.IOptions)),d(2,l.inject(u.ServiceIdentifiers.IArrayUtils)),c("design:paramtypes",["function"==typeof(n=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==p.IOptions&&p.IOptions)?i:Object,"function"==typeof(a=void 0!==f.IArrayUtils&&f.IArrayUtils)?a:Object])],y),t.DictionaryIdentifierNamesGenerator=y},5932:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.HexadecimalIdentifierNamesGenerator=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(2207),m=r(6543),g=r(4741);let S=o=class extends p.AbstractIdentifierNamesGenerator{constructor(e,t){super(e,t)}generateNext(e){const t=this.randomGenerator.getRandomInteger(1e4,99999999),r=m.NumberUtils.toHex(t),n=g.Utils.hexadecimalPrefix.length,i=(null!=e?e:o.baseIdentifierNameLength)+n,a="_"+r.slice(0,i);return this.isValidIdentifierName(a)?(this.preserveName(a),a):this.generateNext(e)}generateForGlobalScope(e){const t=this.generateNext(e);return`${this.options.identifiersPrefix}${t}`.replace("__","_")}generateForLexicalScope(e,t){return this.generateNext(t)}};S.baseIdentifierNameLength=6,S=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],S),t.HexadecimalIdentifierNamesGenerator=S},3119:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MangledIdentifierNamesGenerator=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(2023),m=r(6366),g=r(2691),S=r(2207),y=r(1534);let N=o=class extends S.AbstractIdentifierNamesGenerator{constructor(e,t){super(e,t),this.previousMangledName=o.initMangledNameCharacter}generateNext(e){const t=this.generateNewMangledName(this.previousMangledName);return this.updatePreviousMangledName(t),this.preserveName(t),t}generateForGlobalScope(e){const t=this.options.identifiersPrefix?""+this.options.identifiersPrefix:"",r=this.generateNewMangledName(this.previousMangledName),o=`${t}${r}`;return this.updatePreviousMangledName(r),this.isValidIdentifierName(o)?(this.preserveName(o),o):this.generateForGlobalScope(e)}generateForLexicalScope(e,t){const r=[e,...y.NodeLexicalScopeUtils.getLexicalScopes(e)];let n=this.getLastMangledNameForScopes(r);do{n=this.generateNewMangledName(n)}while(!this.isValidIdentifierNameInLexicalScopes(n,r));return o.lastMangledNameInScopeMap.set(e,n),this.updatePreviousMangledName(n),this.preserveNameForLexicalScope(n,e),n}isIncrementedMangledName(e,t){if(e===t)return!1;const r=e.length,o=t.length;if(r!==o)return r>o;const n=this.getNameSequence();for(let o=0;on.indexOf(i)}throw new Error("Something goes wrong during comparison of mangled names")}isValidIdentifierName(e){return super.isValidIdentifierName(e)&&!o.reservedNamesSet.has(e)}getNameSequence(){return o.nameSequence}updatePreviousMangledName(e){this.isIncrementedMangledName(e,this.previousMangledName)&&(this.previousMangledName=e)}generateNewMangledName(e){let t=(e=>{const t=this.getNameSequence(),r=t.length,o=e.length,n=e=>"0".repeat(e);let i=o-1;do{const a=e[i],s=t.indexOf(a);if(s!==r-1)return e.slice(0,i)+t[s+1]+n(o-(i+1));--i}while(i>=0);return`${t[p.numbersString.length]}${n(o)}`})(e);return this.isValidIdentifierName(t)||(t=this.generateNewMangledName(t)),t}getLastMangledNameForScopes(e){var t;for(const r of e){const e=null!==(t=o.lastMangledNameInScopeMap.get(r))&&void 0!==t?t:null;if(e)return e}return o.initMangledNameCharacter}};N.initMangledNameCharacter="9",N.lastMangledNameInScopeMap=new WeakMap,N.nameSequence=[...`${p.numbersString}${m.alphabetString}${g.alphabetStringUppercase}`],N.reservedNamesSet=new Set(["byte","case","char","do","else","enum","eval","for","goto","if","in","int","let","long","new","null","this","true","try","var","void","with"]),N=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],N),t.MangledIdentifierNamesGenerator=N},2677:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MangledShuffledIdentifierNamesGenerator=void 0;const l=r(2991),u=r(5350),f=r(5768),p=r(4482),m=r(1403),g=r(2023),S=r(6366),y=r(2691),N=r(3119);let _=o=class extends N.MangledIdentifierNamesGenerator{constructor(e,t,r){super(t,r),this.arrayUtils=e}initialize(){this.initializeNameSequence([...""+g.numbersString,...this.arrayUtils.shuffle([...`${S.alphabetString}${y.alphabetStringUppercase}`])])}initializeNameSequence(e){this.getNameSequence()||(o.shuffledNameSequence=e)}getNameSequence(){return o.shuffledNameSequence}generateNewMangledName(e){return super.generateNewMangledName(e)}};s([l.postConstruct(),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],_.prototype,"initialize",null),_=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IArrayUtils)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.IArrayUtils&&f.IArrayUtils)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],_),t.MangledShuffledIdentifierNamesGenerator=_},5562:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},3499:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5435:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},1588:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},927:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7673:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6949:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6871:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5603:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5082:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},698:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5167:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5524:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5822:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},4482:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},68:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5164:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2086:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},870:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},8688:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5683:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},3186:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5768:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5591:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},9825:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2747:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2569:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},1403:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},9658:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7149:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=void 0;const d=r(2991),l=r(5350),u=c(r(2242)),f=r(4482),p=r(4469);let m=o=class{constructor(e){this.options=e}static log(e,t,r,o){const n=e(`\n${t} ${r}`);console.log(n,null!=o?o:"")}info(e,t){this.options.log&&o.log(o.colorInfo,p.LoggingPrefix.Base,e,t)}success(e,t){this.options.log&&o.log(o.colorSuccess,p.LoggingPrefix.Base,e,t)}warn(e,t){this.options.log&&o.log(o.colorWarn,p.LoggingPrefix.Base,e,t)}};m.colorInfo=u.default.cyan,m.colorSuccess=u.default.green,m.colorWarn=u.default.yellow,m=o=i([d.injectable(),s(0,d.inject(l.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object])],m),t.Logger=m},9173:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractNodeTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403);let f=class{constructor(e,t){this.randomGenerator=e,this.options=t}};f=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],f),t.AbstractNodeTransformer=f},5419:function(e,t,r){var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformerNamesGroupsBuilder=void 0;const n=r(2991),i=r(7207);let a=class extends i.AbstractTransformerNamesGroupsBuilder{};a=o([n.injectable()],a),t.NodeTransformerNamesGroupsBuilder=a},6827:function(e,t,r){var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeTransformersRunner=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(3312),g=r(9658),S=r(9487),y=r(4134),N=r(739);let _=class{constructor(e,t){this.nodeTransformerFactory=e,this.nodeTransformerNamesGroupsBuilder=t}transform(e,t,r){if(!t.length)return e;const o=this.buildNormalizedNodeTransformers(t,r),n=this.nodeTransformerNamesGroupsBuilder.build(o);for(const t of n){const n=[],i=[];for(const e of t){const t=o[e].getVisitor(r);t&&(t.enter&&n.push({enter:t.enter}),t.leave&&i.push({leave:t.leave}))}(n.length||i.length)&&p.replace(e,{enter:this.mergeVisitorsForDirection(n,S.VisitorDirection.Enter),leave:this.mergeVisitorsForDirection(i,S.VisitorDirection.Leave)})}return e}buildNormalizedNodeTransformers(e,t){return e.reduce(((e,r)=>{const o=this.nodeTransformerFactory(r);return o.getVisitor(t)?Object.assign(Object.assign({},e),{[r]:o}):e}),{})}mergeVisitorsForDirection(e,t){const r=e.length;return r?(o,n)=>{if(N.NodeMetadata.isIgnoredNode(o))return p.VisitorOption.Skip;for(let i=0;ie}};_=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.Factory__INodeTransformer)),l(1,u.inject(f.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder)),d("design:paramtypes",["function"==typeof(o=void 0!==m.TNodeTransformerFactory&&m.TNodeTransformerFactory)?o:Object,"function"==typeof(n=void 0!==g.ITransformerNamesGroupsBuilder&&g.ITransformerNamesGroupsBuilder)?n:Object])],_),t.NodeTransformersRunner=_},5912:function(e,t,r){var o,n,i,a,s,c=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),d=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return d(t,e),t},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementControlFlowTransformer=void 0;const m=r(2991),g=r(5350),S=u(r(4523)),y=r(8749),N=r(5768),_=r(4482),h=r(1403),b=r(1280),O=r(8932),I=r(9173),E=r(4134),v=r(2361);let C=o=class extends I.AbstractNodeTransformer{constructor(e,t,r,o){super(r,o),this.controlFlowCustomNodeFactory=e,this.arrayUtils=t}static isProhibitedStatementNode(e){const t=E.NodeGuards.isBreakStatementNode(e)||E.NodeGuards.isContinueStatementNode(e),r=E.NodeGuards.isVariableDeclarationNode(e)&&("const"===e.kind||"let"===e.kind),o=E.NodeGuards.isClassDeclarationNode(e);return E.NodeGuards.isFunctionDeclarationNode(e)||t||r||o}static canTransformBlockStatementNode(e){let t=!0;return S.traverse(e,{enter:e=>{if(E.NodeGuards.isWhileStatementNode(e))return S.VisitorOption.Skip;o.isProhibitedStatementNode(e)&&(t=!1)}}),e.body.length<=4&&(t=!1),t}getVisitor(e){switch(e){case O.NodeTransformationStage.ControlFlowFlattening:return{leave:(e,t)=>{if(t&&E.NodeGuards.isBlockStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold||!o.canTransformBlockStatementNode(e))return e;const r=e.body,n=this.arrayUtils.createWithRange(r.length),i=this.arrayUtils.shuffle(n),a=n.map((e=>i.indexOf(e))),s=this.controlFlowCustomNodeFactory(b.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode);s.initialize(r,i,a);const c=s.getNode()[0];return v.NodeUtils.parentizeNode(c,t),c}};C=o=l([m.injectable(),p(0,m.inject(g.ServiceIdentifiers.Factory__IControlFlowCustomNode)),p(1,m.inject(g.ServiceIdentifiers.IArrayUtils)),p(2,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p(3,m.inject(g.ServiceIdentifiers.IOptions)),f("design:paramtypes",["function"==typeof(n=void 0!==y.TControlFlowCustomNodeFactory&&y.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==N.IArrayUtils&&N.IArrayUtils)?i:Object,"function"==typeof(a=void 0!==h.IRandomGenerator&&h.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==_.IOptions&&_.IOptions)?s:Object])],C),t.BlockStatementControlFlowTransformer=C},9749:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),u=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},f=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&d(t,e,r);return l(t,e),t},p=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionControlFlowTransformer=void 0;const g=r(2991),S=r(5350),y=f(r(4523)),N=r(8749),_=r(9628),h=r(2147),b=r(4482),O=r(1403),I=r(1280),E=r(4015),v=r(9945),C=r(8932),T=r(9173),R=r(7678),A=r(4134),M=r(739),j=r(8134),F=r(2361);let P=o=class extends T.AbstractNodeTransformer{constructor(e,t,r,o,n){super(o,n),this.controlFlowData=new Map,this.visitedFunctionNodes=new Set,this.hostNodesWithControlFlowNode=new Set,this.controlFlowStorageFactory=e,this.controlFlowReplacerFactory=t,this.controlFlowCustomNodeFactory=r}getVisitor(e){switch(e){case C.NodeTransformationStage.ControlFlowFlattening:return{leave:(e,t)=>{if(t&&(A.NodeGuards.isFunctionDeclarationNode(e)||A.NodeGuards.isFunctionExpressionNode(e)||A.NodeGuards.isArrowFunctionExpressionNode(e)))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(this.visitedFunctionNodes.add(e),!A.NodeGuards.isBlockStatementNode(e.body))return e;const r=this.getHostNode(e.body),o=this.getControlFlowStorage(r);if(this.controlFlowData.set(r,o),this.transformFunctionBody(e.body,o),!o.getLength())return e;const n=this.controlFlowCustomNodeFactory(I.ControlFlowCustomNode.ControlFlowStorageNode);return n.initialize(o),R.NodeAppender.prepend(r,n.getNode()),this.hostNodesWithControlFlowNode.add(r),F.NodeUtils.parentizeAst(e),e}getControlFlowStorage(e){const t=this.controlFlowStorageFactory();if(this.controlFlowData.has(e)){this.hostNodesWithControlFlowNode.has(e)&&(A.NodeGuards.isSwitchCaseNode(e)?e.consequent.shift():e.body.shift());const r=this.controlFlowData.get(e);t.mergeWith(r,!0)}return t}getHostNode(e){const t=j.NodeStatementUtils.getParentNodesWithStatements(e);return 1===t.length?e:(t.pop(),t.length>o.hostNodeSearchMinDepth&&t.splice(0,o.hostNodeSearchMinDepth),t.length>o.hostNodeSearchMaxDepth&&(t.length=o.hostNodeSearchMaxDepth),this.randomGenerator.getRandomGenerator().pickone(t))}isVisitedFunctionNode(e){return(A.NodeGuards.isFunctionDeclarationNode(e)||A.NodeGuards.isFunctionExpressionNode(e)||A.NodeGuards.isArrowFunctionExpressionNode(e))&&this.visitedFunctionNodes.has(e)}transformFunctionBody(e,t){y.replace(e,{enter:(e,r)=>{if(M.NodeMetadata.isIgnoredNode(e))return y.VisitorOption.Skip;if(this.isVisitedFunctionNode(e)||!r)return y.VisitorOption.Skip;if(!o.controlFlowReplacersMap.has(e.type))return e;if(this.randomGenerator.getMathRandom()>this.options.controlFlowFlatteningThreshold)return e;const n=o.controlFlowReplacersMap.get(e.type);return void 0===n?e:Object.assign(Object.assign({},this.controlFlowReplacerFactory(n).replace(e,r,t)),{parentNode:r})}})}};P.controlFlowReplacersMap=new Map([[v.NodeType.BinaryExpression,E.ControlFlowReplacer.BinaryExpressionControlFlowReplacer],[v.NodeType.CallExpression,E.ControlFlowReplacer.CallExpressionControlFlowReplacer],[v.NodeType.LogicalExpression,E.ControlFlowReplacer.LogicalExpressionControlFlowReplacer],[v.NodeType.Literal,E.ControlFlowReplacer.StringLiteralControlFlowReplacer]]),P.hostNodeSearchMinDepth=0,P.hostNodeSearchMaxDepth=2,P=o=u([g.injectable(),m(0,g.inject(S.ServiceIdentifiers.Factory__TControlFlowStorage)),m(1,g.inject(S.ServiceIdentifiers.Factory__IControlFlowReplacer)),m(2,g.inject(S.ServiceIdentifiers.Factory__IControlFlowCustomNode)),m(3,g.inject(S.ServiceIdentifiers.IRandomGenerator)),m(4,g.inject(S.ServiceIdentifiers.IOptions)),p("design:paramtypes",["function"==typeof(n=void 0!==h.TControlFlowStorageFactory&&h.TControlFlowStorageFactory)?n:Object,"function"==typeof(i=void 0!==_.TControlFlowReplacerFactory&&_.TControlFlowReplacerFactory)?i:Object,"function"==typeof(a=void 0!==N.TControlFlowCustomNodeFactory&&N.TControlFlowCustomNodeFactory)?a:Object,"function"==typeof(s=void 0!==O.IRandomGenerator&&O.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==b.IOptions&&b.IOptions)?c:Object])],P),t.FunctionControlFlowTransformer=P},9732:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403);let g=o=class{constructor(e,t,r){this.replacerDataByControlFlowStorageId=new Map,this.controlFlowCustomNodeFactory=e,this.randomGenerator=t,this.options=r}static getStorageKeysByIdForCurrentStorage(e,t){let r;return r=e.has(t)?e.get(t):new Map,r}insertCustomNodeToControlFlowStorage(e,t,r,n){const i=t.getStorageId(),a=o.getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId,i),s=a.get(r);if(this.randomGenerator.getMathRandom(){const r=this.randomGenerator.getRandomString(e);return t.getStorage().has(r)?c(e):r},d=c(5);return a.set(r,[d]),this.replacerDataByControlFlowStorageId.set(i,a),t.set(d,e),d}};g=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],g),t.AbstractControlFlowReplacer=g},3358:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BinaryExpressionControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(8146);let y=o=class extends S.ExpressionWithOperatorControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){const n=e.operator,i=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.BinaryExpressionFunctionNode);i.initialize(n);const a=this.insertCustomNodeToControlFlowStorage(i,r,n,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}};y.usingExistingIdentifierChance=.5,y=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],y),t.BinaryExpressionControlFlowReplacer=y},5760:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CallExpressionControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(9732),y=r(4134);let N=o=class extends S.AbstractControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){const n=e.callee;if(!y.NodeGuards.isIdentifierNode(n))return e;const i=String(e.arguments.length),a=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.CallExpressionFunctionNode),s=e.arguments;a.initialize(s);const c=this.insertCustomNodeToControlFlowStorage(a,r,i,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),c,n,s)}getControlFlowStorageCallNode(e,t,r,o){const n=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode);n.initialize(e,t,r,o);const i=n.getNode()[0];if(!i||!y.NodeGuards.isExpressionStatementNode(i))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return i.expression}};N.usingExistingIdentifierChance=.5,N=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],N),t.CallExpressionControlFlowReplacer=N},8146:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionWithOperatorControlFlowReplacer=void 0;const d=r(2991),l=r(5350),u=r(8749),f=r(4482),p=r(1403),m=r(1280),g=r(9732),S=r(4134);let y=class extends g.AbstractControlFlowReplacer{constructor(e,t,r){super(e,t,r)}getControlFlowStorageCallNode(e,t,r,o){const n=this.controlFlowCustomNodeFactory(m.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode);n.initialize(e,t,r,o);const i=n.getNode()[0];if(!i||!S.NodeGuards.isExpressionStatementNode(i))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return i.expression}};y=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.Factory__IControlFlowCustomNode)),c(1,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(2,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(o=void 0!==u.TControlFlowCustomNodeFactory&&u.TControlFlowCustomNodeFactory)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object])],y),t.ExpressionWithOperatorControlFlowReplacer=y},6522:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogicalExpressionControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(8146),y=r(4134),N=r(2361);let _=o=class extends S.ExpressionWithOperatorControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){if(this.checkForProhibitedExpressions(e.left,e.right))return e;const n=e.operator,i=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.LogicalExpressionFunctionNode);i.initialize(n);const a=this.insertCustomNodeToControlFlowStorage(i,r,n,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a,e.left,e.right)}checkForProhibitedExpressions(e,t){return[e,t].some((e=>{let t;return t=y.NodeGuards.isUnaryExpressionNode(e)?N.NodeUtils.getUnaryExpressionArgumentNode(e):e,!(y.NodeGuards.isLiteralNode(t)||y.NodeGuards.isIdentifierNode(t)||y.NodeGuards.isObjectExpressionNode(t)||y.NodeGuards.isExpressionStatementNode(t))}))}};_.usingExistingIdentifierChance=.5,_=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],_),t.LogicalExpressionControlFlowReplacer=_},270:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringLiteralControlFlowReplacer=void 0;const l=r(2991),u=r(5350),f=r(8749),p=r(4482),m=r(1403),g=r(1280),S=r(9732),y=r(4134),N=r(8241);let _=o=class extends S.AbstractControlFlowReplacer{constructor(e,t,r){super(e,t,r)}replace(e,t,r){if(y.NodeGuards.isPropertyNode(t)&&t.key===e)return e;if(!N.NodeLiteralUtils.isStringLiteralNode(e)||e.value.length<3)return e;const n=String(e.value),i=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.StringLiteralNode);i.initialize(e.value);const a=this.insertCustomNodeToControlFlowStorage(i,r,n,o.usingExistingIdentifierChance);return this.getControlFlowStorageCallNode(r.getStorageId(),a)}getControlFlowStorageCallNode(e,t){const r=this.controlFlowCustomNodeFactory(g.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode);r.initialize(e,t);const o=r.getNode()[0];if(!o||!y.NodeGuards.isExpressionStatementNode(o))throw new Error("`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return o.expression}};_.usingExistingIdentifierChance=1,_=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__IControlFlowCustomNode)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TControlFlowCustomNodeFactory&&f.TControlFlowCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],_),t.StringLiteralControlFlowReplacer=_},2337:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BooleanLiteralTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(4134),g=r(2361),S=r(9376);let y=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&m.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if("boolean"!=typeof e.value)return e;const r=e.value?this.getTrueUnaryExpressionNode():this.getFalseUnaryExpressionNode();return g.NodeUtils.parentizeNode(r,t),r}getTrueUnaryExpressionNode(){return S.NodeFactory.unaryExpressionNode("!",this.getFalseUnaryExpressionNode())}getFalseUnaryExpressionNode(){return S.NodeFactory.unaryExpressionNode("!",S.NodeFactory.arrayExpressionNode())}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.BooleanLiteralTransformer=y},9912:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExportSpecifierTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(4134),g=r(2361);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&m.NodeGuards.isExportSpecifierNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return e.local.name===e.exported.name&&(e.exported=g.NodeUtils.clone(e.local)),e}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.ExportSpecifierTransformer=S},9139:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MemberExpressionTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(9376),g=r(4134);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&g.NodeGuards.isMemberExpressionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(g.NodeGuards.isIdentifierNode(e.property)){if(e.computed)return e;e.computed=!0,e.property=m.NodeFactory.literalNode(e.property.name)}return e}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.MemberExpressionTransformer=S},6037:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MethodDefinitionTransformer=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(8932),m=r(9173),g=r(9376),S=r(4134);let y=o=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case p.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&S.NodeGuards.isMethodDefinitionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return S.NodeGuards.isIdentifierNode(e.key)?this.replaceIdentifierKey(e,e.key):S.NodeGuards.isLiteralNode(e.key)?this.replaceLiteralKey(e,e.key):e}replaceIdentifierKey(e,t){return o.ignoredNames.includes(t.name)||e.computed||(e.computed=!0,e.key=g.NodeFactory.literalNode(t.name)),e}replaceLiteralKey(e,t){return"string"!=typeof t.value||o.ignoredNames.includes(t.value)||e.computed||(e.computed=!0),e}};y.ignoredNames=["constructor"],y=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],y),t.MethodDefinitionTransformer=y},9467:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NumberLiteralTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(8932),m=r(9173),g=r(9376),S=r(4134),y=r(6543);let N=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.NumberToNumericalExpressionTransformer],this.numberLiteralCache=new Map}getVisitor(e){switch(e){case p.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&S.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if("number"!=typeof e.value&&"bigint"!=typeof e.value)return e;const r=e.value;let o;return this.numberLiteralCache.has(r)?o=this.numberLiteralCache.get(r):(o=y.NumberUtils.isCeil(r)?y.NumberUtils.toHex(r):String(r),this.numberLiteralCache.set(r,o)),g.NodeFactory.literalNode(r,o)}};N=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],N),t.NumberLiteralTransformer=N},3393:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.NumberToNumericalExpressionTransformer=void 0;const d=r(2991),l=r(5350),u=r(5435),f=r(4482),p=r(1403),m=r(8932),g=r(9173),S=r(4134),y=r(9376),N=r(6543);let _=class extends g.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.numberNumericalExpressionAnalyzer=e}getVisitor(e){if(!this.options.numbersToExpressions)return null;switch(e){case m.NodeTransformationStage.Converting:return{leave:(e,t)=>{if(t&&S.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if("number"!=typeof e.value)return e;if(S.NodeGuards.isPropertyNode(t)&&!t.computed)return e;const r=this.numberNumericalExpressionAnalyzer.analyze(e.value);return this.convertNumericalExpressionDataToNode(r)}convertNumericalExpressionDataToNode(e,t="+"){var r;const o=e.length,n=o>1?e.slice(0,o-1):[e[0]],i=o>1?e.slice(-1):[];if(i.length)return this.convertPartsToBinaryExpression(t,n,i);const a=null!==(r=n[0])&&void 0!==r?r:null;return Array.isArray(a)?this.convertNumericalExpressionDataToNode(a,"*"):this.convertPartOrNumberToLiteralNode(a)}convertPartsToBinaryExpression(e,t,r){const o=r[0];return Array.isArray(o)?y.NodeFactory.binaryExpressionNode(e,this.convertNumericalExpressionDataToNode(t),this.convertNumericalExpressionDataToNode(o,"*")):y.NodeFactory.binaryExpressionNode(e,this.convertNumericalExpressionDataToNode(t),this.convertPartOrNumberToLiteralNode(o))}convertPartOrNumberToLiteralNode(e){const t=Array.isArray(e)?e[0]:e,r=N.NumberUtils.isPositive(t),o=y.NodeFactory.literalNode(Math.abs(t));return r?o:y.NodeFactory.unaryExpressionNode("-",o)}};_=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.INumberNumericalExpressionAnalyzer)),c(1,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(2,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(o=void 0!==u.INumberNumericalExpressionAnalyzer&&u.INumberNumericalExpressionAnalyzer)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object])],_),t.NumberToNumericalExpressionTransformer=_},122:function(e,t,r){var o,n,i,a,s=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),c=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return c(t,e),t},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionKeysTransformer=void 0;const p=r(2991),m=r(5350),g=l(r(4523)),S=r(2937),y=r(4482),N=r(1403),_=r(8932),h=r(9946),b=r(9173),O=r(4134),I=r(8134);let E=o=class extends b.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.objectExpressionExtractorFactory=e}static isProhibitedHostStatement(e,t){return o.isReferencedIdentifierName(e,t)||o.isProhibitedSequenceExpression(e,t)}static isReferencedIdentifierName(e,t){const r=[];let o=!1,n=!1;return g.traverse(t,{enter:t=>{t===e&&(n=!0),O.NodeGuards.isIdentifierNode(t)&&(n?r.includes(t.name)&&(o=!0):r.push(t.name))},leave:t=>{if(t===e)return n=!1,g.VisitorOption.Break}}),o}static isProhibitedSequenceExpression(e,t){return O.NodeGuards.isExpressionStatementNode(t)&&O.NodeGuards.isSequenceExpressionNode(t.expression)&&t.expression.expressions.some((e=>O.NodeGuards.isCallExpressionNode(e)&&O.NodeGuards.isSuperNode(e.callee)))}getVisitor(e){if(!this.options.transformObjectKeys)return null;switch(e){case _.NodeTransformationStage.Converting:return{leave:(e,t)=>{if(t&&O.NodeGuards.isObjectExpressionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!e.properties.length)return e;const r=I.NodeStatementUtils.getRootStatementOfNode(e);return o.isProhibitedHostStatement(e,r)?e:this.applyObjectExpressionKeysExtractorsRecursive(o.objectExpressionExtractorNames,e,r)}applyObjectExpressionKeysExtractorsRecursive(e,t,r){const o=[...e],n=o.shift();if(!n)return t;const{nodeToReplace:i,objectExpressionHostStatement:a,objectExpressionNode:s}=this.objectExpressionExtractorFactory(n).extract(t,r);return this.applyObjectExpressionKeysExtractorsRecursive(o,s,a),i}};E.objectExpressionExtractorNames=[h.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor,h.ObjectExpressionExtractor.BasePropertiesExtractor],E=o=d([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.Factory__IObjectExpressionExtractor)),f(1,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(2,p.inject(m.ServiceIdentifiers.IOptions)),u("design:paramtypes",["function"==typeof(n=void 0!==S.TObjectExpressionExtractorFactory&&S.TObjectExpressionExtractorFactory)?n:Object,"function"==typeof(i=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==y.IOptions&&y.IOptions)?a:Object])],E),t.ObjectExpressionKeysTransformer=E},626:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(9376),g=r(4134);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&g.NodeGuards.isObjectExpressionNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return e.properties.forEach((e=>{g.NodeGuards.isPropertyNode(e)&&e.key&&(e.computed?this.transformComputedProperty(e):this.transformBaseProperty(e))})),e}transformComputedProperty(e){g.NodeGuards.isLiteralNode(e.key)&&"string"==typeof e.key.value&&(e.key=m.NodeFactory.literalNode(e.key.value))}transformBaseProperty(e){e.shorthand&&(e.shorthand=!1),g.NodeGuards.isIdentifierNode(e.key)&&(e.key=m.NodeFactory.literalNode(e.key.name))}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.ObjectExpressionTransformer=S},6312:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectPatternPropertiesTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(4134),g=r(1534),S=r(2361);let y=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&m.NodeGuards.isPropertyNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!m.NodeGuards.isObjectPatternNode(t)||!e.shorthand)return e;if(!this.options.renameGlobals){const t=g.NodeLexicalScopeUtils.getLexicalScope(e);if(t&&m.NodeGuards.isProgramNode(t))return e}return e.shorthand=!1,e.value=S.NodeUtils.clone(e.value),S.NodeUtils.parentizeNode(e.value,e),e}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.ObjectPatternPropertiesTransformer=y},5869:function(e,t,r){var o,n,i,a=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SplitStringTransformer=void 0;const f=r(2991),p=r(5350),m=d(r(4523)),g=d(r(6094)),S=r(4482),y=r(1403),N=r(4212),_=r(8932),h=r(9173),b=r(9376),O=r(4134),I=r(8241),E=r(2361);let v=o=class extends h.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[N.NodeTransformer.ObjectExpressionKeysTransformer,N.NodeTransformer.TemplateLiteralTransformer]}static chunkString(e,t,r){const o=Math.ceil(t/r),n=[];let i=0;for(let t=0;t{if(this.options.splitStrings)return t&&O.NodeGuards.isLiteralNode(e)?this.transformNode(e,t):void 0}};default:return null}}transformNode(e,t){if(I.NodeLiteralUtils.isProhibitedLiteralNode(e,t))return e;const r=this.transformLiteralNodeByChunkLength(e,t,o.firstPassChunkLength);return m.replace(r,{enter:(e,t)=>{if(t&&O.NodeGuards.isLiteralNode(e))return this.transformLiteralNodeByChunkLength(e,t,this.options.splitStringsChunkLength)}})}transformLiteralNodeByChunkLength(e,t,r){if(!I.NodeLiteralUtils.isStringLiteralNode(e))return e;const n=g.length(e.value);if(r>=n)return e;const i=o.chunkString(e.value,n,r),a=this.transformStringChunksToBinaryExpressionNode(i);return E.NodeUtils.parentizeAst(a),E.NodeUtils.parentizeNode(a,t),a}transformStringChunksToBinaryExpressionNode(e){const t=e.shift(),r=e.shift();if(!t||!r)throw new Error("First and second chunks values should not be empty");const o=b.NodeFactory.binaryExpressionNode("+",b.NodeFactory.literalNode(t),b.NodeFactory.literalNode(r));return e.reduce(((e,t)=>{const r=b.NodeFactory.literalNode(t);return b.NodeFactory.binaryExpressionNode("+",e,r)}),o)}};v.firstPassChunkLength=1e3,v=o=c([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(1,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==S.IOptions&&S.IOptions)?i:Object])],v),t.SplitStringTransformer=v},810:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.TemplateLiteralTransformer=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(8932),m=r(9173),g=r(9376),S=r(4134),y=r(2361);let N=o=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t)}static isLiteralNodeWithStringValue(e){return!!e&&S.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value}getVisitor(e){switch(e){case p.NodeTransformationStage.Converting:return{enter:(e,t)=>{if(t&&S.NodeGuards.isTemplateLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return S.NodeGuards.isTaggedTemplateExpressionNode(t)?e:this.transformTemplateLiteralNode(e,t)}transformTemplateLiteralNode(e,t){const r=e.expressions;let n,i=[];if(e.quasis.forEach((e=>{i.push(g.NodeFactory.literalNode(e.value.cooked));const t=r.shift();t&&i.push(t)})),i=i.filter((e=>!(S.NodeGuards.isLiteralNode(e)&&""===e.value))),o.isLiteralNodeWithStringValue(i[0])||o.isLiteralNodeWithStringValue(i[1])||i.unshift(g.NodeFactory.literalNode("")),i.length>1){let e=g.NodeFactory.binaryExpressionNode("+",i.shift(),i.shift());i.forEach((t=>{e=g.NodeFactory.binaryExpressionNode("+",e,t)})),n=e}else n=i[0];return y.NodeUtils.parentizeAst(n),y.NodeUtils.parentizeNode(n,t),n}};N=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],N),t.TemplateLiteralTransformer=N},8539:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.BasePropertiesExtractor=void 0;const i=r(2991),a=r(7678),s=r(9376),c=r(4134),d=r(8134),l=r(2361);let u=o=class{static getPropertyNodeKeyName(e){const t=e.key;return!c.NodeGuards.isLiteralNode(t)||"string"!=typeof t.value&&"number"!=typeof t.value?c.NodeGuards.isIdentifierNode(t)?t.name:null:t.value.toString()}static isProhibitedPropertyNode(e){return"init"!==e.kind}static isProhibitedPattern(e){return!e||c.NodeGuards.isObjectPatternNode(e)||c.NodeGuards.isArrayPatternNode(e)||c.NodeGuards.isAssignmentPatternNode(e)||c.NodeGuards.isRestElementNode(e)}static shouldCreateLiteralNode(e){return!e.computed||e.computed&&!!e.key&&c.NodeGuards.isLiteralNode(e.key)}extract(e,t){const r=e.parentNode;return r&&c.NodeGuards.isVariableDeclaratorNode(r)&&c.NodeGuards.isIdentifierNode(r.id)?this.transformObjectExpressionNode(e,t,r.id):{nodeToReplace:e,objectExpressionHostStatement:t,objectExpressionNode:e}}transformObjectExpressionNode(e,t,r){const o=e.properties,[n,i]=this.extractPropertiesToExpressionStatements(o,t,r),s=d.NodeStatementUtils.getScopeOfNode(t);return this.filterExtractedObjectExpressionProperties(e,i),a.NodeAppender.insertAfter(s,n,t),l.NodeUtils.parentizeAst(s),{nodeToReplace:e,objectExpressionHostStatement:t,objectExpressionNode:e}}extractPropertiesToExpressionStatements(e,t,r){const n=[],i=[];for(let a=e.length-1;a>=0;a--){const d=e[a];if(c.NodeGuards.isSpreadElementNode(d))break;if(o.isProhibitedPropertyNode(d))continue;const l=d.value;if(o.isProhibitedPattern(l))continue;const u=o.getPropertyNodeKeyName(d);if(!u)continue;const f=o.shouldCreateLiteralNode(d)?s.NodeFactory.literalNode(u):s.NodeFactory.identifierNode(u),p=s.NodeFactory.memberExpressionNode(r,f,!0),m=s.NodeFactory.expressionStatementNode(s.NodeFactory.assignmentExpressionNode("=",p,l));c.NodeGuards.isObjectExpressionNode(d.value)&&this.transformObjectExpressionNode(d.value,t,p),n.unshift(m),i.unshift(a)}return[n,i]}filterExtractedObjectExpressionProperties(e,t){e.properties=e.properties.filter(((e,r)=>!t.includes(r)))}};u=o=n([i.injectable()],u),t.BasePropertiesExtractor=u},7834:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectExpressionToVariableDeclarationExtractor=void 0;const s=r(2991),c=r(5350),d=r(1878),l=r(9809),u=r(7678),f=r(4134),p=r(8134),m=r(2361),g=r(1534);let S=class{constructor(e){this.objectExpressionKeysTransformerCustomNodeFactory=e}extract(e,t){return this.transformObjectExpressionToVariableDeclaration(e,t)}transformObjectExpressionToVariableDeclaration(e,t){var r;const o=p.NodeStatementUtils.getScopeOfNode(t),n=f.NodeGuards.isNodeWithLexicalScope(o)?o:null!==(r=g.NodeLexicalScopeUtils.getLexicalScope(o))&&void 0!==r?r:null;if(!n)throw new Error("Cannot find lexical scope node for the host statement node");const i=e.properties,a=this.getObjectExpressionHostNode(n,i),s=[a];return u.NodeAppender.insertBefore(o,s,t),m.NodeUtils.parentizeAst(a),m.NodeUtils.parentizeNode(a,o),{nodeToReplace:this.getObjectExpressionIdentifierNode(a),objectExpressionHostStatement:a,objectExpressionNode:this.getObjectExpressionNode(a)}}getObjectExpressionHostNode(e,t){const r=this.objectExpressionKeysTransformerCustomNodeFactory(l.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode);r.initialize(e,t);const o=r.getNode()[0];if(!o||!f.NodeGuards.isVariableDeclarationNode(o))throw new Error("`objectExpressionHostCustomNode.getNode()[0]` should returns array with `VariableDeclaration` node");return o}getObjectExpressionIdentifierNode(e){const t=e.declarations[0].id;if(!f.NodeGuards.isIdentifierNode(t))throw new Error("`objectExpressionHostNode` should contain `VariableDeclarator` node with `Identifier` id property");return t}getObjectExpressionNode(e){var t;const r=null!==(t=e.declarations[0].init)&&void 0!==t?t:null;if(!r||!f.NodeGuards.isObjectExpressionNode(r))throw new Error("`objectExpressionHostNode` should contain `VariableDeclarator` node with `ObjectExpression` init property");return r}};S=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode)),i("design:paramtypes",["function"==typeof(o=void 0!==d.TObjectExpressionKeysTransformerCustomNodeFactory&&d.TObjectExpressionKeysTransformerCustomNodeFactory)?o:Object])],S),t.ObjectExpressionToVariableDeclarationExtractor=S},8043:function(e,t,r){var o,n,i,a,s,c=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),d=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return d(t,e),t},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionTransformer=void 0;const m=r(2991),g=r(5350),S=u(r(4523)),y=r(7183),N=r(4482),_=r(1403),h=r(698),b=r(2620),O=r(4212),I=r(9945),E=r(8932),v=r(9173),C=r(9376),T=r(4134),R=r(8134),A=r(2361);let M=o=class extends v.AbstractNodeTransformer{constructor(e,t,r,o){super(r,o),this.deadCodeInjectionRootAstHostNodeSet=new Set,this.collectedBlockStatements=[],this.collectedBlockStatementsTotalLength=0,this.deadCodeInjectionCustomNodeFactory=e,this.transformersRunner=t}static isProhibitedNodeInsideCollectedBlockStatement(e){return T.NodeGuards.isFunctionDeclarationNode(e)||T.NodeGuards.isBreakStatementNode(e)||T.NodeGuards.isContinueStatementNode(e)||T.NodeGuards.isAwaitExpressionNode(e)||T.NodeGuards.isYieldExpressionNode(e)||T.NodeGuards.isSuperNode(e)||T.NodeGuards.isForOfStatementNode(e)&&e.await}static isScopeHoistingFunctionDeclaration(e){if(!T.NodeGuards.isFunctionDeclarationNode(e))return!1;const t=R.NodeStatementUtils.getScopeOfNode(e),r=T.NodeGuards.isSwitchCaseNode(t)?t.consequent:t.body,o=r.indexOf(e);if(0===o)return!1;const n=r.slice(0,o),i=C.NodeFactory.blockStatementNode(n),a=e.id.name;let s=!1;return S.traverse(i,{enter:e=>{if(T.NodeGuards.isIdentifierNode(e)&&e.name===a)return s=!0,S.VisitorOption.Break}}),s}static isValidCollectedBlockStatementNode(e){if(!e.body.length)return!1;let t=0,r=!0;return S.traverse(e,{enter:e=>{if(T.NodeGuards.isBlockStatementNode(e)&&t++,t>o.maxNestedBlockStatementsCount||o.isProhibitedNodeInsideCollectedBlockStatement(e)||o.isScopeHoistingFunctionDeclaration(e))return r=!1,S.VisitorOption.Break}}),r}static isValidWrappedBlockStatementNode(e){if(!e.body.length)return!1;let t=!0;return S.traverse(e,{enter:e=>{if(o.isScopeHoistingFunctionDeclaration(e))return t=!1,S.VisitorOption.Break}}),!!t&&R.NodeStatementUtils.getParentNodeWithStatements(e).type!==I.NodeType.Program}getVisitor(e){switch(e){case E.NodeTransformationStage.DeadCodeInjection:return{enter:(e,t)=>{if(t&&T.NodeGuards.isProgramNode(e))return this.prepareNode(e,t),e},leave:(e,t)=>{if(t&&T.NodeGuards.isBlockStatementNode(e))return this.transformNode(e,t)}};case E.NodeTransformationStage.Finalizing:return this.deadCodeInjectionRootAstHostNodeSet.size?{enter:(e,t)=>{if(t&&this.isDeadCodeInjectionRootAstHostNode(e))return this.restoreNode(e,t)}}:null;default:return null}}prepareNode(e,t){S.traverse(e,{enter:e=>{if(!T.NodeGuards.isBlockStatementNode(e))return;const t=A.NodeUtils.clone(e);if(!o.isValidCollectedBlockStatementNode(t))return;const r=this.makeClonedBlockStatementNodeUnique(t);this.collectedBlockStatements.push(r)}}),this.collectedBlockStatementsTotalLength=this.collectedBlockStatements.length}transformNode(e,t){if(!this.collectedBlockStatements.length||this.collectedBlockStatementsTotalLengththis.options.deadCodeInjectionThreshold||!o.isValidWrappedBlockStatementNode(e))return e;const r=this.collectedBlockStatements.length-1,n=this.randomGenerator.getRandomInteger(0,r),i=this.collectedBlockStatements.splice(n,1)[0];return i===e?e:this.replaceBlockStatementNode(e,i,t)}restoreNode(e,t){const r=e.body[0];if(!T.NodeGuards.isFunctionDeclarationNode(r))throw new Error("Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node");return r.body}isDeadCodeInjectionRootAstHostNode(e){return T.NodeGuards.isBlockStatementNode(e)&&this.deadCodeInjectionRootAstHostNodeSet.has(e)}makeClonedBlockStatementNodeUnique(e){const t=C.NodeFactory.programNode([C.NodeFactory.expressionStatementNode(C.NodeFactory.functionExpressionNode([],e))]);return A.NodeUtils.parentizeAst(t),A.NodeUtils.parentizeNode(t,t),this.transformersRunner.transform(t,o.transformersToRenameBlockScopeIdentifiers,E.NodeTransformationStage.RenameIdentifiers),e}replaceBlockStatementNode(e,t,r){const n=C.NodeFactory.blockStatementNode([C.NodeFactory.functionDeclarationNode(o.deadCodeInjectionRootAstHostNodeName,[],t)]);this.deadCodeInjectionRootAstHostNodeSet.add(n);const i=this.deadCodeInjectionCustomNodeFactory(b.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode);i.initialize(e,n);const a=i.getNode()[0];return A.NodeUtils.parentizeNode(a,r),a}};M.deadCodeInjectionRootAstHostNodeName="deadCodeInjectionRootAstHostNode",M.maxNestedBlockStatementsCount=4,M.minCollectedBlockStatementsCount=5,M.transformersToRenameBlockScopeIdentifiers=[O.NodeTransformer.LabeledStatementTransformer,O.NodeTransformer.ScopeIdentifiersTransformer,O.NodeTransformer.ScopeThroughIdentifiersTransformer],M=o=l([m.injectable(),p(0,m.inject(g.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)),p(1,m.inject(g.ServiceIdentifiers.INodeTransformersRunner)),p(2,m.inject(g.ServiceIdentifiers.IRandomGenerator)),p(3,m.inject(g.ServiceIdentifiers.IOptions)),f("design:paramtypes",["function"==typeof(n=void 0!==y.TDeadNodeInjectionCustomNodeFactory&&y.TDeadNodeInjectionCustomNodeFactory)?n:Object,"function"==typeof(i=void 0!==h.INodeTransformersRunner&&h.INodeTransformersRunner)?i:Object,"function"==typeof(a=void 0!==_.IRandomGenerator&&_.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==N.IOptions&&N.IOptions)?s:Object])],M),t.DeadCodeInjectionTransformer=M},4837:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceTransformer=void 0;const d=r(2991),l=r(5350),u=r(2747),f=r(4482),p=r(1403),m=r(8932),g=r(4212),S=r(9173),y=r(4134),N=r(8241),_=r(9376),h=r(2361);let b=class extends S.AbstractNodeTransformer{constructor(e,t,r){super(e,t),this.runAfter=[g.NodeTransformer.CustomCodeHelpersTransformer],this.escapeSequenceEncoder=r}getVisitor(e){switch(e){case m.NodeTransformationStage.Finalizing:return{enter:(e,t)=>{if(y.NodeGuards.isLiteralNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!N.NodeLiteralUtils.isStringLiteralNode(e))return e;const r=this.escapeSequenceEncoder.encode(e.value,this.options.unicodeEscapeSequence),o=_.NodeFactory.literalNode(r);return h.NodeUtils.parentizeNode(o,t),o}};b=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),c(2,d.inject(l.ServiceIdentifiers.IEscapeSequenceEncoder)),s("design:paramtypes",["function"==typeof(o=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object,"function"==typeof(i=void 0!==u.IEscapeSequenceEncoder&&u.IEscapeSequenceEncoder)?i:Object])],b),t.EscapeSequenceTransformer=b},5289:function(e,t,r){var o,n,i,a=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsTransformer=void 0;const f=r(2991),p=r(5350),m=d(r(4523)),g=r(4482),S=r(1403),y=r(8932),N=r(9173),_=r(6955),h=r(4134);let b=o=class extends N.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case y.NodeTransformationStage.Initializing:return{leave:e=>{if(h.NodeGuards.isProgramNode(e))return this.transformNode(e)}};case y.NodeTransformationStage.Finalizing:return{leave:e=>{if(h.NodeGuards.isProgramNode(e))return this.filterCommentsOnFinalizingTraverse(e)}};default:return null}}transformNode(e){if(!(e=this.filterCommentsOnPrimaryTraverse(e)).comments||!e.comments.length)return e;const t=e.comments.reverse();if(0===t.length)return e;if(!e.body.length)return e.leadingComments=t,e;let r=!0;return m.traverse(e,{enter:o=>{if(o===e)return;const n=t.findIndex((e=>e.range&&o.range&&e.range[0]=0&&((r?e:o).leadingComments=t.splice(n,t.length-n).reverse()),r=!1}}),t.length>0&&(e.trailingComments=t.reverse()),e}filterCommentsOnPrimaryTraverse(e){var t;return e.comments=null===(t=e.comments)||void 0===t?void 0:t.filter((e=>this.filterComment(e,!0))),e}filterCommentsOnFinalizingTraverse(e){return m.replace(e,{enter:e=>{var t,r;return e.leadingComments&&(e.leadingComments=null===(t=e.leadingComments)||void 0===t?void 0:t.filter((e=>this.filterComment(e,!1)))),e.trailingComments&&(e.trailingComments=null===(r=e.trailingComments)||void 0===r?void 0:r.filter((e=>this.filterComment(e,!1)))),e}}),e}filterComment(e,t){return!(!t||!_.ConditionalCommentObfuscatingGuard.isConditionalComment(e))||o.preservedWords.some((t=>e.value.includes(t)))}};b.preservedWords=["@license","@preserve"],b=o=c([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(1,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(n=void 0!==S.IRandomGenerator&&S.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==g.IOptions&&g.IOptions)?i:Object])],b),t.CommentsTransformer=b},4996:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelpersTransformer=void 0;const f=r(2991),p=r(5350),m=r(6622),g=r(5603),S=r(4482),y=r(1403),N=r(5562),_=r(3499),h=r(4212),b=r(1093),O=r(8932),I=r(9173),E=r(4134);let v=class extends I.AbstractNodeTransformer{constructor(e,t,r,o,n,i){super(n,i),this.runAfter=[h.NodeTransformer.ParentificationTransformer,h.NodeTransformer.VariablePreserveTransformer],this.callsGraphData=[],this.callsGraphAnalyzer=e,this.prevailingKindOfVariablesAnalyzer=t,this.obfuscationEventEmitter=r,this.customCodeHelperGroupStorage=o}getVisitor(e){switch(e){case O.NodeTransformationStage.Preparing:return{leave:(e,t)=>{if(E.NodeGuards.isProgramNode(e))return this.prepareNode(e,t),this.appendCustomNodesBeforeObfuscation(e,t),this.transformNode(e,t)}};case O.NodeTransformationStage.Finalizing:return{leave:(e,t)=>{E.NodeGuards.isProgramNode(e)&&this.appendCustomNodesAfterObfuscation(e,t)}};default:return null}}prepareNode(e,t){this.callsGraphData=this.callsGraphAnalyzer.analyze(e),this.prevailingKindOfVariablesAnalyzer.analyze(e)}transformNode(e,t){return e}appendCustomNodesBeforeObfuscation(e,t){this.customCodeHelperGroupStorage.getStorage().forEach((e=>{e.initialize(),this.obfuscationEventEmitter.once(e.getAppendEvent(),e.appendNodes.bind(e))})),this.obfuscationEventEmitter.emit(b.ObfuscationEvent.BeforeObfuscation,e,this.callsGraphData)}appendCustomNodesAfterObfuscation(e,t){this.obfuscationEventEmitter.emit(b.ObfuscationEvent.AfterObfuscation,e,this.callsGraphData)}};v=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.ICallsGraphAnalyzer)),u(1,f.inject(p.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)),u(2,f.inject(p.ServiceIdentifiers.IObfuscationEventEmitter)),u(3,f.inject(p.ServiceIdentifiers.TCustomNodeGroupStorage)),u(4,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(5,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(o=void 0!==N.ICallsGraphAnalyzer&&N.ICallsGraphAnalyzer)?o:Object,"function"==typeof(n=void 0!==_.IPrevailingKindOfVariablesAnalyzer&&_.IPrevailingKindOfVariablesAnalyzer)?n:Object,"function"==typeof(i=void 0!==g.IObfuscationEventEmitter&&g.IObfuscationEventEmitter)?i:Object,"function"==typeof(a=void 0!==m.TCustomCodeHelperGroupStorage&&m.TCustomCodeHelperGroupStorage)?a:Object,"function"==typeof(s=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?s:Object,"function"==typeof(c=void 0!==S.IOptions&&S.IOptions)?c:Object])],v),t.CustomCodeHelpersTransformer=v},3449:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.EvalCallExpressionTransformer=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(4212),m=r(8932),g=r(9173),S=r(9376),y=r(4134),N=r(2361),_=r(2161);let h=o=class extends g.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[p.NodeTransformer.EscapeSequenceTransformer,p.NodeTransformer.ParentificationTransformer,p.NodeTransformer.VariablePreserveTransformer],this.evalRootAstHostNodeSet=new Set}static extractEvalStringFromCallExpressionArgument(e){return y.NodeGuards.isLiteralNode(e)?o.extractEvalStringFromLiteralNode(e):y.NodeGuards.isTemplateLiteralNode(e)?o.extractEvalStringFromTemplateLiteralNode(e):null}static extractEvalStringFromLiteralNode(e){return"string"==typeof e.value?e.value:null}static extractEvalStringFromTemplateLiteralNode(e){const t=e.quasis;return 1!==t.length||e.expressions.length?null:t[0].value.cooked}getVisitor(e){switch(e){case m.NodeTransformationStage.Preparing:return{enter:(e,t)=>{if(t&&y.NodeGuards.isCallExpressionNode(e)&&y.NodeGuards.isIdentifierNode(e.callee)&&"eval"===e.callee.name)return this.transformNode(e,t)}};case m.NodeTransformationStage.Finalizing:return this.evalRootAstHostNodeSet.size?{leave:(e,t)=>{if(t&&this.isEvalRootAstHostNode(e))return this.restoreNode(e,t)}}:null;default:return null}}transformNode(e,t){const r=e.arguments[0];if(!r)return e;const n=o.extractEvalStringFromCallExpressionArgument(r);if(!n)return e;let i;try{i=N.NodeUtils.convertCodeToStructure(n)}catch(t){return e}const a=S.NodeFactory.functionExpressionNode([],S.NodeFactory.blockStatementNode(i));return N.NodeUtils.parentizeAst(a),N.NodeUtils.parentizeNode(a,t),this.evalRootAstHostNodeSet.add(a),a}restoreNode(e,t){const r=e.body.body,o=N.NodeUtils.convertStructureToCode(r);return S.NodeFactory.callExpressionNode(S.NodeFactory.identifierNode("eval"),[S.NodeFactory.literalNode(_.StringUtils.escapeJsString(o))])}isEvalRootAstHostNode(e){return y.NodeGuards.isFunctionExpressionNode(e)&&this.evalRootAstHostNodeSet.has(e)}};h=o=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],h),t.EvalCallExpressionTransformer=h},8049:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MetadataTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(8932),m=r(9173),g=r(4134),S=r(739);let y=class extends m.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.ParentificationTransformer,f.NodeTransformer.VariablePreserveTransformer]}getVisitor(e){switch(e){case p.NodeTransformationStage.Preparing:return{enter:(e,t)=>this.transformNode(e,t)};default:return null}}transformNode(e,t){return S.NodeMetadata.set(e,{ignoredNode:!1}),g.NodeGuards.isLiteralNode(e)&&S.NodeMetadata.set(e,{replacedLiteral:!1}),e}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.MetadataTransformer=y},1581:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatingGuardsTransformer=void 0;const l=r(2991),u=r(5350),f=r(805),p=r(4482),m=r(1403),g=r(4212),S=r(8932),y=r(4361),N=r(8608),_=r(9173),h=r(4134),b=r(739);let O=o=class extends _.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.runAfter=[g.NodeTransformer.ParentificationTransformer,g.NodeTransformer.VariablePreserveTransformer],this.obfuscatingGuards=o.obfuscatingGuardsList.map(e)}getVisitor(e){switch(e){case S.NodeTransformationStage.Preparing:return{enter:(e,t)=>this.transformNode(e,t)};default:return null}}transformNode(e,t){const r=this.obfuscatingGuards.map((t=>t.check(e)));return this.setNodeMetadata(e,r),e}setNodeMetadata(e,t){let r=!1,o=!1;t.every((e=>e===N.ObfuscatingGuardResult.Transform))||(r=t.some((e=>e===N.ObfuscatingGuardResult.ForceTransform)),o=!r&&t.some((e=>e===N.ObfuscatingGuardResult.Ignore))),b.NodeMetadata.set(e,{forceTransformNode:r&&!h.NodeGuards.isProgramNode(e),ignoredNode:o&&!h.NodeGuards.isProgramNode(e)})}};O.obfuscatingGuardsList=[y.ObfuscatingGuard.BlackListObfuscatingGuard,y.ObfuscatingGuard.ConditionalCommentObfuscatingGuard,y.ObfuscatingGuard.ForceTransformStringObfuscatingGuard,y.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard,y.ObfuscatingGuard.ReservedStringObfuscatingGuard],O=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__INodeGuard)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TObfuscatingGuardFactory&&f.TObfuscatingGuardFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],O),t.ObfuscatingGuardsTransformer=O},774:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParentificationTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(9173),m=r(2361);let g=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Preparing:return{enter:(e,t)=>this.transformNode(e,t)};default:return null}}transformNode(e,t){return m.NodeUtils.parentizeNode(e,t)}};g=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],g),t.ParentificationTransformer=g},2616:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.VariablePreserveTransformer=void 0;const l=r(2991),u=r(5167),f=r(4482),p=r(1403),m=r(5822),g=r(4212),S=r(5350),y=r(8932),N=r(9173),_=r(4134);let h=class extends N.AbstractNodeTransformer{constructor(e,t,r,o){super(t,r),this.runAfter=[g.NodeTransformer.ParentificationTransformer],this.identifierReplacer=e,this.scopeIdentifiersTraverser=o,this.preserveScopeVariableIdentifiers=this.preserveScopeVariableIdentifiers.bind(this)}getVisitor(e){switch(e){case y.NodeTransformationStage.Preparing:case y.NodeTransformationStage.Converting:case y.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&_.NodeGuards.isProgramNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return this.scopeIdentifiersTraverser.traverseScopeIdentifiers(e,t,this.preserveScopeVariableIdentifiers),e}preserveScopeVariableIdentifiers(e){const{isGlobalDeclaration:t,isBubblingDeclaration:r,variable:o,variableScope:n}=e;for(const e of o.identifiers)t||r?this.preserveIdentifierNameForRootLexicalScope(e):this.preserveIdentifierNameForLexicalScope(e,n)}preserveIdentifierNameForRootLexicalScope(e){this.identifierReplacer.preserveName(e)}preserveIdentifierNameForLexicalScope(e,t){const r=_.NodeGuards.isNodeWithLexicalScope(t.block)?t.block:null;r&&this.identifierReplacer.preserveNameForLexicalScope(e,r)}};h=s([l.injectable(),d(0,l.inject(S.ServiceIdentifiers.IIdentifierReplacer)),d(1,l.inject(S.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(S.ServiceIdentifiers.IOptions)),d(3,l.inject(S.ServiceIdentifiers.IScopeIdentifiersTraverser)),c("design:paramtypes",["function"==typeof(o=void 0!==u.IIdentifierReplacer&&u.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==f.IOptions&&f.IOptions)?i:Object,"function"==typeof(a=void 0!==m.IScopeIdentifiersTraverser&&m.IScopeIdentifiersTraverser)?a:Object])],h),t.VariablePreserveTransformer=h},5878:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0}),t.BlackListObfuscatingGuard=void 0;const a=r(2991),s=r(8608),c=r(4134);let d=o=class{constructor(){this.blackListGuardsLength=o.blackListGuards.length}check(e){for(let t=0;t=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.ConditionalCommentObfuscatingGuard=void 0;const i=r(2991),a=r(8608),s=r(4134);let c=o=class{constructor(){this.obfuscationAllowed=!0}static isConditionalComment(e){return o.obfuscationEnableCommentRegExp.test(e.value)||o.obfuscationDisableCommentRegExp.test(e.value)}check(e){if(s.NodeGuards.isNodeWithComments(e)){const t=e.leadingComments;t&&(this.obfuscationAllowed=this.checkComments(t))}return this.obfuscationAllowed?a.ObfuscatingGuardResult.Transform:a.ObfuscatingGuardResult.Ignore}checkComments(e){const t=e.length;let r=this.obfuscationAllowed;for(let n=0;n=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ForceTransformStringObfuscatingGuard=void 0;const s=r(2991),c=r(4482),d=r(8608),l=r(5350),u=r(4134);let f=class{constructor(e){this.options=e}check(e){return this.options.forceTransformStrings.length&&u.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value&&this.isForceTransformString(e.value)?d.ObfuscatingGuardResult.ForceTransform:d.ObfuscatingGuardResult.Transform}isForceTransformString(e){return this.options.forceTransformStrings.some((t=>null!==new RegExp(t,"g").exec(e)))}};f=n([s.injectable(),a(0,s.inject(l.ServiceIdentifiers.IOptions)),i("design:paramtypes",["function"==typeof(o=void 0!==c.IOptions&&c.IOptions)?o:Object])],f),t.ForceTransformStringObfuscatingGuard=f},147:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.IgnoredRequireImportObfuscatingGuard=void 0;const s=r(2991),c=r(4482),d=r(8608),l=r(5350),u=r(4134);let f=class{constructor(e){this.options=e}check(e){return this.options.ignoreRequireImports&&u.NodeGuards.isCallExpressionNode(e)&&u.NodeGuards.isIdentifierNode(e.callee)&&"require"===e.callee.name?d.ObfuscatingGuardResult.Ignore:d.ObfuscatingGuardResult.Transform}};f=n([s.injectable(),a(0,s.inject(l.ServiceIdentifiers.IOptions)),i("design:paramtypes",["function"==typeof(o=void 0!==c.IOptions&&c.IOptions)?o:Object])],f),t.IgnoredRequireImportObfuscatingGuard=f},7985:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReservedStringObfuscatingGuard=void 0;const s=r(2991),c=r(4482),d=r(8608),l=r(5350),u=r(4134);let f=class{constructor(e){this.options=e}check(e){return this.options.reservedStrings.length&&u.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value&&this.isReservedString(e.value)?d.ObfuscatingGuardResult.Ignore:d.ObfuscatingGuardResult.Transform}isReservedString(e){return this.options.reservedStrings.some((t=>null!==new RegExp(t,"g").exec(e)))}};f=n([s.injectable(),a(0,s.inject(l.ServiceIdentifiers.IOptions)),i("design:paramtypes",["function"==typeof(o=void 0!==c.IOptions&&c.IOptions)?o:Object])],f),t.ReservedStringObfuscatingGuard=f},8869:function(e,t,r){var o,n,i,a=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},d=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LabeledStatementTransformer=void 0;const f=r(2991),p=r(5350),m=d(r(4523)),g=r(5167),S=r(4482),y=r(1403),N=r(8932),_=r(9173),h=r(4134),b=r(1534);let O=class extends _.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.identifierReplacer=e}getVisitor(e){switch(e){case N.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&h.NodeGuards.isLabeledStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){const r=b.NodeLexicalScopeUtils.getLexicalScope(e);return r?(this.storeLabeledStatementName(e,r),this.replaceLabeledStatementName(e,r),e):e}storeLabeledStatementName(e,t){this.identifierReplacer.storeLocalName(e.label,t)}replaceLabeledStatementName(e,t){m.replace(e,{enter:(e,r)=>{if(r&&h.NodeGuards.isLabelIdentifierNode(e,r)){const r=this.identifierReplacer.replace(e,t);e.name=r.name}}})}};O=c([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.IIdentifierReplacer)),u(1,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(2,f.inject(p.ServiceIdentifiers.IOptions)),l("design:paramtypes",["function"==typeof(o=void 0!==g.IIdentifierReplacer&&g.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==S.IOptions&&S.IOptions)?i:Object])],O),t.LabeledStatementTransformer=O},5806:function(e,t,r){var o,n,i,a,s=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),c=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return c(t,e),t},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeIdentifiersTransformer=void 0;const p=r(2991),m=r(5350),g=l(r(4523)),S=r(5167),y=r(4482),N=r(1403),_=r(5822),h=r(8932),b=r(9173),O=r(4134),I=r(739);let E=class extends b.AbstractNodeTransformer{constructor(e,t,r,o){super(t,r),this.lexicalScopesWithObjectPatternWithoutDeclarationMap=new Map,this.identifierReplacer=e,this.scopeIdentifiersTraverser=o}getVisitor(e){switch(e){case h.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&O.NodeGuards.isProgramNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return this.scopeIdentifiersTraverser.traverseScopeIdentifiers(e,t,(e=>{const{isGlobalDeclaration:t,variable:r,variableLexicalScopeNode:o}=e;(this.options.renameGlobals||!t||r.defs.every((e=>"ImportBinding"===e.type||"CatchClause"===e.type)))&&this.transformScopeVariableIdentifiers(r,o,t)})),e}transformScopeVariableIdentifiers(e,t,r){var o;const n=null!==(o=e.identifiers[0])&&void 0!==o?o:null;n&&this.isReplaceableIdentifierNode(n,t,e)&&(this.storeIdentifierName(n,t,r),this.replaceIdentifierName(n,t,e))}storeIdentifierName(e,t,r){r?this.identifierReplacer.storeGlobalName(e,t):this.identifierReplacer.storeLocalName(e,t)}replaceIdentifierName(e,t,r){const o=this.identifierReplacer.replace(e,t);r.identifiers.forEach((e=>{e.name=o.name})),r.references.forEach((t=>{t.identifier.name=e.name}))}isReplaceableIdentifierNode(e,t,r){const o=e.parentNode;return!(!o||I.NodeMetadata.isIgnoredNode(e)||this.isProhibitedPropertyIdentifierNode(e,o)||this.isProhibitedPropertyAssignmentPatternIdentifierNode(e,o)||this.isProhibitedClassDeclarationNameIdentifierNode(r,e,o)||this.isProhibitedExportNamedClassDeclarationIdentifierNode(e,o)||this.isProhibitedExportNamedFunctionDeclarationIdentifierNode(e,o)||this.isProhibitedExportNamedVariableDeclarationIdentifierNode(e,o)||this.isProhibitedImportSpecifierNode(e,o)||this.isProhibitedVariableNameUsedInObjectPatternNode(r,e,t)||O.NodeGuards.isLabelIdentifierNode(e,o))}isProhibitedClassDeclarationNameIdentifierNode(e,t,r){return O.NodeGuards.isClassDeclarationNode(e.scope.block)&&O.NodeGuards.isClassDeclarationNode(r)&&r.id===t}isProhibitedExportNamedClassDeclarationIdentifierNode(e,t){return O.NodeGuards.isClassDeclarationNode(t)&&t.id===e&&!!t.parentNode&&O.NodeGuards.isExportNamedDeclarationNode(t.parentNode)}isProhibitedExportNamedFunctionDeclarationIdentifierNode(e,t){return O.NodeGuards.isFunctionDeclarationNode(t)&&t.id===e&&!!t.parentNode&&O.NodeGuards.isExportNamedDeclarationNode(t.parentNode)}isProhibitedExportNamedVariableDeclarationIdentifierNode(e,t){return O.NodeGuards.isVariableDeclaratorNode(t)&&t.id===e&&!!t.parentNode&&O.NodeGuards.isVariableDeclarationNode(t.parentNode)&&!!t.parentNode.parentNode&&O.NodeGuards.isExportNamedDeclarationNode(t.parentNode.parentNode)}isProhibitedImportSpecifierNode(e,t){return O.NodeGuards.isImportSpecifierNode(t)&&t.imported.name===t.local.name}isProhibitedPropertyIdentifierNode(e,t){return O.NodeGuards.isPropertyNode(t)&&!t.computed&&O.NodeGuards.isIdentifierNode(t.key)&&O.NodeGuards.isIdentifierNode(e)&&t.shorthand&&t.key.name===e.name}isProhibitedPropertyAssignmentPatternIdentifierNode(e,t){return O.NodeGuards.isAssignmentPatternNode(t)&&t.left===e&&!!t.parentNode&&O.NodeGuards.isPropertyNode(t.parentNode)&&O.NodeGuards.isIdentifierNode(t.left)&&O.NodeGuards.isIdentifierNode(t.parentNode.key)&&t.left.name===t.parentNode.key.name}isProhibitedVariableNameUsedInObjectPatternNode(e,t,r){let o=this.lexicalScopesWithObjectPatternWithoutDeclarationMap.get(r);if(!1===o)return!1;if(!e.defs.some((e=>"var"===e.kind)))return!1;let n=!1;return g.traverse(r,{enter:(e,r)=>{if(O.NodeGuards.isObjectPatternNode(e)&&r&&O.NodeGuards.isAssignmentExpressionNode(r)){o=!0;const r=e.properties;for(const e of r)if(O.NodeGuards.isPropertyNode(e)&&!e.computed&&e.shorthand&&O.NodeGuards.isIdentifierNode(e.key)&&t.name===e.key.name)return n=!0,g.VisitorOption.Break}}}),this.lexicalScopesWithObjectPatternWithoutDeclarationMap.set(r,null!=o&&o),n}};E=d([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.IIdentifierReplacer)),f(1,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(2,p.inject(m.ServiceIdentifiers.IOptions)),f(3,p.inject(m.ServiceIdentifiers.IScopeIdentifiersTraverser)),u("design:paramtypes",["function"==typeof(o=void 0!==S.IIdentifierReplacer&&S.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==y.IOptions&&y.IOptions)?i:Object,"function"==typeof(a=void 0!==_.IScopeIdentifiersTraverser&&_.IScopeIdentifiersTraverser)?a:Object])],E),t.ScopeIdentifiersTransformer=E},7247:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeThroughIdentifiersTransformer=void 0;const l=r(2991),u=r(5350),f=r(5167),p=r(4482),m=r(1403),g=r(5822),S=r(8932),y=r(9173),N=r(4134);let _=class extends y.AbstractNodeTransformer{constructor(e,t,r,o){super(t,r),this.identifierReplacer=e,this.scopeIdentifiersTraverser=o}getVisitor(e){switch(e){case S.NodeTransformationStage.RenameIdentifiers:return{enter:(e,t)=>{if(t&&N.NodeGuards.isProgramNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return this.scopeIdentifiersTraverser.traverseScopeThroughIdentifiers(e,t,(e=>{const{reference:t,variableLexicalScopeNode:r}=e;this.transformScopeThroughIdentifiers(t,r)})),e}transformScopeThroughIdentifiers(e,t){if(e.resolved)return;const r=e.identifier;this.storeIdentifierName(r,t),this.replaceIdentifierName(r,t,e)}storeIdentifierName(e,t){this.identifierReplacer.storeLocalName(e,t)}replaceIdentifierName(e,t,r){const o=this.identifierReplacer.replace(e,t);r.identifier.name=o.name}};_=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IIdentifierReplacer)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),d(3,l.inject(u.ServiceIdentifiers.IScopeIdentifiersTraverser)),c("design:paramtypes",["function"==typeof(o=void 0!==f.IIdentifierReplacer&&f.IIdentifierReplacer)?o:Object,"function"==typeof(n=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==p.IOptions&&p.IOptions)?i:Object,"function"==typeof(a=void 0!==g.IScopeIdentifiersTraverser&&g.IScopeIdentifiersTraverser)?a:Object])],_),t.ScopeThroughIdentifiersTransformer=_},6181:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.IdentifierReplacer=void 0;const c=r(2991),d=r(5350),l=r(9416),u=r(4482),f=r(9376);let p=class{constructor(e,t){this.blockScopesMap=new Map,this.options=t,this.identifierNamesGenerator=e(t)}storeGlobalName(e,t){const r=e.name;if(this.isReservedName(r))return;const o=this.identifierNamesGenerator.generateForGlobalScope();this.blockScopesMap.has(t)||this.blockScopesMap.set(t,new Map),this.blockScopesMap.get(t).set(r,o)}storeLocalName(e,t){const r=e.name;if(this.isReservedName(r))return;const o=this.identifierNamesGenerator.generateForLexicalScope(t);this.blockScopesMap.has(t)||this.blockScopesMap.set(t,new Map),this.blockScopesMap.get(t).set(r,o)}replace(e,t){let r=e.name;if(this.blockScopesMap.has(t)){const e=this.blockScopesMap.get(t);e.has(r)&&(r=e.get(r))}return f.NodeFactory.identifierNode(r)}preserveName(e){this.identifierNamesGenerator.preserveName(e.name)}preserveNameForLexicalScope(e,t){this.identifierNamesGenerator.preserveNameForLexicalScope(e.name,t)}isReservedName(e){return!!this.options.reservedNames.length&&this.options.reservedNames.some((t=>null!==new RegExp(t,"g").exec(e)))}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.TIdentifierNamesGeneratorFactory&&l.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==u.IOptions&&u.IOptions)?n:Object])],p),t.IdentifierReplacer=p},2143:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenamePropertiesTransformer=void 0;const l=r(2991),u=r(5350),f=r(5524),p=r(4482),m=r(1403),g=r(8932),S=r(9173),y=r(4134);let N=o=class extends S.AbstractNodeTransformer{constructor(e,t,r){super(t,r),this.renamePropertiesReplacer=e}static isValidPropertyNode(e,t){return(!y.NodeGuards.isIdentifierNode(t)||!e.computed)&&(y.NodeGuards.isIdentifierNode(t)||y.NodeGuards.isLiteralNode(t))}getVisitor(e){switch(e){case g.NodeTransformationStage.RenameProperties:return{enter:(e,t)=>{if(t)return this.transformNode(e,t)}};default:return null}}transformNode(e,t){return y.NodeGuards.isPropertyNode(e)?this.transformPropertyNode(e):y.NodeGuards.isMemberExpressionNode(e)?this.transformMemberExpressionNode(e):y.NodeGuards.isMethodDefinitionNode(e)?this.transformMethodDefinitionNode(e):e}transformPropertyNode(e){const t=e.key;return o.isValidPropertyNode(e,t)&&(e.key=this.renamePropertiesReplacer.replace(t),e.shorthand=!1),e}transformMemberExpressionNode(e){const t=e.property;return o.isValidPropertyNode(e,t)&&(e.property=this.renamePropertiesReplacer.replace(t)),e}transformMethodDefinitionNode(e){const t=e.key;return o.isValidPropertyNode(e,t)&&(e.key=this.renamePropertiesReplacer.replace(t)),e}};N=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.IRenamePropertiesReplacer)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.IRenamePropertiesReplacer&&f.IRenamePropertiesReplacer)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],N),t.RenamePropertiesTransformer=N},7889:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenamePropertiesReplacer=void 0;const d=r(2991),l=r(5350),u=r(9416),f=r(4482),p=c(r(6856)),m=r(4134),g=r(9376);let S=class{constructor(e,t){this.propertyNamesMap=new Map,this.reservedDomPropertiesList=new Set(p.default),this.identifierNamesGenerator=e(t),this.options=t}replace(e){return m.NodeGuards.isIdentifierNode(e)?g.NodeFactory.identifierNode(this.replacePropertyName(e.name)):m.NodeGuards.isLiteralNode(e)&&"string"==typeof e.value?g.NodeFactory.literalNode(this.replacePropertyName(e.value)):e}replacePropertyName(e){var t;if(this.isReservedName(e))return e;let r=null!==(t=this.propertyNamesMap.get(e))&&void 0!==t?t:null;return null!==r||(r=this.identifierNamesGenerator.generateNext(),this.propertyNamesMap.set(e,r)),r}isReservedName(e){return this.isReservedOptionName(e)||this.isReservedDomPropertyName(e)}isReservedOptionName(e){return!!this.options.reservedNames.length&&this.options.reservedNames.some((t=>null!==new RegExp(t,"g").exec(e)))}isReservedDomPropertyName(e){return this.reservedDomPropertiesList.has(e)}};S=i([d.injectable(),s(0,d.inject(l.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),s(1,d.inject(l.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.TIdentifierNamesGeneratorFactory&&u.TIdentifierNamesGeneratorFactory)?o:Object,"function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object])],S),t.RenamePropertiesReplacer=S},254:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractStatementSimplifyTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(9173),m=r(4134),g=r(9376);let S=class extends p.AbstractNodeTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.ExpressionStatementsMergeTransformer,f.NodeTransformer.VariableDeclarationsMergeTransformer]}getStatementSimplifyData(e){if(!e)return null;if(!m.NodeGuards.isBlockStatementNode(e))return{leadingStatements:[e],trailingStatement:null,hasReturnStatement:!1,hasSingleExpression:!1};const{startIndex:t,unwrappedExpressions:r,hasReturnStatement:o}=this.collectIteratedStatementsSimplifyData(e),n=this.getLeadingStatements(e,t);if(!r.length)return{leadingStatements:n,trailingStatement:null,hasReturnStatement:o,hasSingleExpression:!1};const i=1===r.length,a=i?r[0]:g.NodeFactory.sequenceExpressionNode(r);return{leadingStatements:n,trailingStatement:{statement:o?g.NodeFactory.returnStatementNode(a):g.NodeFactory.expressionStatementNode(a),expression:a},hasReturnStatement:o,hasSingleExpression:i}}collectIteratedStatementsSimplifyData(e){const t=[];let r=!1,o=null;for(let n=e.body.length-1;n>=0;n--){const i=e.body[n];if(m.NodeGuards.isExpressionStatementNode(i))m.NodeGuards.isSequenceExpressionNode(i.expression)?t.unshift(...i.expression.expressions):t.unshift(i.expression),o=n;else{if(!m.NodeGuards.isReturnStatementNode(i)||!i.argument)break;t.unshift(i.argument),r=!0,o=n}}return{startIndex:o,unwrappedExpressions:t,hasReturnStatement:r}}getLeadingStatements(e,t){return null===t?e.body:0===t?[]:e.body.slice(0,t)}getPartialStatement(e){return!e.leadingStatements.length&&e.trailingStatement?e.trailingStatement.statement:g.NodeFactory.blockStatementNode([...e.leadingStatements.length?e.leadingStatements:[],...e.trailingStatement?[e.trailingStatement.statement]:[]])}};S=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],S),t.AbstractStatementSimplifyTransformer=S},2838:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BlockStatementSimplifyTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(4212),p=r(8932),m=r(254),g=r(4134),S=r(9376),y=r(2361);let N=class extends m.AbstractStatementSimplifyTransformer{constructor(e,t){super(e,t),this.runAfter=[f.NodeTransformer.VariableDeclarationsMergeTransformer]}getVisitor(e){switch(e){case p.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&g.NodeGuards.isBlockStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){const r=this.getStatementSimplifyData(e);if(!r)return e;const o=this.getPartialStatement(r),n=g.NodeGuards.isBlockStatementNode(o)?o:S.NodeFactory.blockStatementNode([o]);return y.NodeUtils.parentizeNode(n,t)}};N=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],N),t.BlockStatementSimplifyTransformer=N},1226:function(e,t,r){var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionStatementsMergeTransformer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(4482),g=r(1403),S=r(8932),y=r(9173),N=r(9376),_=r(4134),h=r(8134),b=r(2361);let O=class extends y.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case S.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&_.NodeGuards.isExpressionStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!_.NodeGuards.isNodeWithStatements(t))return e;const r=h.NodeStatementUtils.getPreviousSiblingStatement(e);return r&&_.NodeGuards.isExpressionStatementNode(r)?(_.NodeGuards.isSequenceExpressionNode(r.expression)?(r.expression.expressions.push(e.expression),b.NodeUtils.parentizeNode(e.expression,r.expression)):(r.expression=N.NodeFactory.sequenceExpressionNode([r.expression,e.expression]),b.NodeUtils.parentizeAst(r.expression),b.NodeUtils.parentizeNode(r.expression,r)),p.VisitorOption.Remove):e}};O=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(1,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==m.IOptions&&m.IOptions)?n:Object])],O),t.ExpressionStatementsMergeTransformer=O},8821:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.IfStatementSimplifyTransformer=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(8932),p=r(254),m=r(4134),g=r(9376),S=r(2361);let y=class extends p.AbstractStatementSimplifyTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case f.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&m.NodeGuards.isIfStatementNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){const r=this.getStatementSimplifyData(e.consequent);if(!r)return e;let o;if(e.alternate){const t=this.getStatementSimplifyData(e.alternate);if(!t)return e;o=this.getConsequentAndAlternateNode(e,r,t)}else o=this.getConsequentNode(e,r);return S.NodeUtils.parentizeNode(o,t)}getConsequentNode(e,t){return t.leadingStatements.length||!t.trailingStatement?g.NodeFactory.ifStatementNode(e.test,this.getPartialStatement(t)):t.hasReturnStatement?g.NodeFactory.ifStatementNode(e.test,t.trailingStatement.statement):g.NodeFactory.expressionStatementNode(g.NodeFactory.logicalExpressionNode("&&",e.test,t.trailingStatement.expression))}getConsequentAndAlternateNode(e,t,r){return t.leadingStatements.length||r.leadingStatements.length||!t.trailingStatement||!r.trailingStatement?g.NodeFactory.ifStatementNode(e.test,this.getPartialStatement(t),this.getPartialStatement(r)):t.hasReturnStatement&&r.hasReturnStatement?g.NodeFactory.returnStatementNode(g.NodeFactory.conditionalExpressionNode(e.test,t.trailingStatement.expression,r.trailingStatement.expression)):t.hasReturnStatement||r.hasReturnStatement?g.NodeFactory.ifStatementNode(e.test,t.trailingStatement.statement,r.trailingStatement.statement):g.NodeFactory.expressionStatementNode(g.NodeFactory.conditionalExpressionNode(e.test,t.trailingStatement.expression,r.trailingStatement.expression))}getPartialStatement(e){const t=super.getPartialStatement(e);return m.NodeGuards.isBlockStatementNode(t)?1!==t.body.length||this.isProhibitedSingleStatementForIfStatementBranch(t.body[0])?t:t.body[0]:t}isProhibitedSingleStatementForIfStatementBranch(e){return m.NodeGuards.isFunctionDeclarationNode(e)||m.NodeGuards.isIfStatementNode(e)||m.NodeGuards.isVariableDeclarationNode(e)&&"var"!==e.kind}};y=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],y),t.IfStatementSimplifyTransformer=y},3115:function(e,t,r){var o,n,i=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&i(t,e,r);return a(t,e),t},d=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},l=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarationsMergeTransformer=void 0;const u=r(2991),f=r(5350),p=c(r(4523)),m=r(4482),g=r(1403),S=r(8932),y=r(9173),N=r(4134),_=r(8134);let h=class extends y.AbstractNodeTransformer{constructor(e,t){super(e,t)}getVisitor(e){switch(e){case S.NodeTransformationStage.Simplifying:return{leave:(e,t)=>{if(t&&N.NodeGuards.isVariableDeclarationNode(e))return this.transformNode(e,t)}};default:return null}}transformNode(e,t){if(!N.NodeGuards.isNodeWithStatements(t))return e;const r=_.NodeStatementUtils.getPreviousSiblingStatement(e);return r&&N.NodeGuards.isVariableDeclarationNode(r)?e.kind!==r.kind?e:(r.declarations.push(...e.declarations),p.VisitorOption.Remove):e}};h=s([u.injectable(),l(0,u.inject(f.ServiceIdentifiers.IRandomGenerator)),l(1,u.inject(f.ServiceIdentifiers.IOptions)),d("design:paramtypes",["function"==typeof(o=void 0!==g.IRandomGenerator&&g.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==m.IOptions&&m.IOptions)?n:Object])],h),t.VariableDeclarationsMergeTransformer=h},4123:function(e,t,r){var o,n,i,a,s,c,d,l=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},u=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},f=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperTransformer=void 0;const p=r(2991),m=r(5350),g=r(7070),S=r(4482),y=r(1403),N=r(870),_=r(8688),h=r(5683),b=r(3186),O=r(8932),I=r(294),E=r(9614),v=r(9173),C=r(7678),T=r(4134);let R=class extends v.AbstractNodeTransformer{constructor(e,t,r,o,n,i,a){super(e,t),this.visitedLexicalScopeNodesStackStorage=r,this.stringArrayStorage=o,this.stringArrayScopeCallsWrapperNamesDataStorage=n,this.stringArrayScopeCallsWrapperLexicalScopeDataStorage=i,this.stringArrayTransformerCustomNodeFactory=a}getVisitor(e){if(!this.options.stringArrayWrappersCount)return null;switch(e){case O.NodeTransformationStage.StringArray:return{enter:(e,t)=>{t&&T.NodeGuards.isNodeWithLexicalScopeStatements(e,t)&&this.onLexicalScopeNodeEnter(e)},leave:(e,t)=>{if(t&&T.NodeGuards.isNodeWithLexicalScopeStatements(e,t))return this.onLexicalScopeNodeLeave(),this.transformNode(e)}};default:return null}}transformNode(e){var t,r;const o=null!==(t=this.stringArrayScopeCallsWrapperNamesDataStorage.get(e))&&void 0!==t?t:null,n=null!==(r=this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(e))&&void 0!==r?r:null;if(!o||!n)return e;const i=Object.values(o);for(const t of i){if(!t)continue;const{names:r}=t;for(let o=r.length-1;o>=0;o--){const i=r[o],[a,s]=this.getUpperStringArrayCallsWrapperData(t,n),c=this.getStringArrayScopeCallsWrapperNode(i,a,s);C.NodeAppender.prepend(e,c)}}return e}getRootStringArrayCallsWrapperData(e,t){const{encoding:r}=e,{resultShiftedIndex:o}=t;return[this.stringArrayStorage.getStorageCallsWrapperName(r),o]}getUpperStringArrayCallsWrapperData(e,t){var r,o,n,i;const{encoding:a}=e,{scopeShiftedIndex:s}=t,c=this.getRootStringArrayCallsWrapperData(e,t);if(!this.options.stringArrayWrappersChainedCalls)return c;const d=null!==(r=this.visitedLexicalScopeNodesStackStorage.getLastElement())&&void 0!==r?r:null;if(!d)return c;const l=null!==(o=this.stringArrayScopeCallsWrapperNamesDataStorage.get(d))&&void 0!==o?o:null,u=null!==(i=null===(n=null==l?void 0:l[a])||void 0===n?void 0:n.names)&&void 0!==i?i:null;return(null==u?void 0:u.length)?[this.randomGenerator.getRandomGenerator().pickone(u),s]:c}getStringArrayScopeCallsWrapperNode(e,t,r){switch(this.options.stringArrayWrappersType){case E.StringArrayWrappersType.Function:return this.getStringArrayScopeCallsWrapperFunctionNode(e,t,r);case E.StringArrayWrappersType.Variable:default:return this.getStringArrayScopeCallsWrapperVariableNode(e,t)}}getStringArrayScopeCallsWrapperVariableNode(e,t){const r=this.stringArrayTransformerCustomNodeFactory(I.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode);return r.initialize(e,t),r.getNode()}getStringArrayScopeCallsWrapperFunctionNode(e,t,r){const o=this.stringArrayTransformerCustomNodeFactory(I.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode);return o.initialize(e,t,r),o.getNode()}onLexicalScopeNodeEnter(e){this.visitedLexicalScopeNodesStackStorage.push(e)}onLexicalScopeNodeLeave(){this.visitedLexicalScopeNodesStackStorage.pop()}};R=l([p.injectable(),f(0,p.inject(m.ServiceIdentifiers.IRandomGenerator)),f(1,p.inject(m.ServiceIdentifiers.IOptions)),f(2,p.inject(m.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)),f(3,p.inject(m.ServiceIdentifiers.IStringArrayStorage)),f(4,p.inject(m.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)),f(5,p.inject(m.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)),f(6,p.inject(m.ServiceIdentifiers.Factory__IStringArrayCustomNode)),u("design:paramtypes",["function"==typeof(o=void 0!==y.IRandomGenerator&&y.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==S.IOptions&&S.IOptions)?n:Object,"function"==typeof(i=void 0!==b.IVisitedLexicalScopeNodesStackStorage&&b.IVisitedLexicalScopeNodesStackStorage)?i:Object,"function"==typeof(a=void 0!==h.IStringArrayStorage&&h.IStringArrayStorage)?a:Object,"function"==typeof(s=void 0!==_.IStringArrayScopeCallsWrapperNamesDataStorage&&_.IStringArrayScopeCallsWrapperNamesDataStorage)?s:Object,"function"==typeof(c=void 0!==N.IStringArrayScopeCallsWrapperLexicalScopeDataStorage&&N.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)?c:Object,"function"==typeof(d=void 0!==g.TStringArrayCustomNodeFactory&&g.TStringArrayCustomNodeFactory)?d:Object])],R),t.StringArrayScopeCallsWrapperTransformer=R},4940:function(e,t,r){var o,n,i,a,s,c,d,l,u,f,p,m=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},g=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},S=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayTransformer=void 0;const y=r(2991),N=r(5350),_=r(9416),h=r(7070),b=r(2086),O=r(4482),I=r(1403),E=r(870),v=r(8688),C=r(5683),T=r(927),R=r(3186),A=r(8932),M=r(294),j=r(9614),F=r(9173),P=r(4134),D=r(8241),G=r(739),x=r(2361);let L=o=class extends F.AbstractNodeTransformer{constructor(e,t,r,o,n,i,a,s,c,d){super(e,t),this.literalNodesCacheStorage=r,this.visitedLexicalScopeNodesStackStorage=o,this.stringArrayStorage=n,this.stringArrayScopeCallsWrapperNamesDataStorage=i,this.stringArrayScopeCallsWrapperLexicalScopeDataStorage=a,this.stringArrayStorageAnalyzer=s,this.identifierNamesGenerator=c(t),this.stringArrayTransformerCustomNodeFactory=d}getVisitor(e){switch(e){case A.NodeTransformationStage.StringArray:return{enter:(e,t)=>{if(P.NodeGuards.isProgramNode(e)&&this.prepareNode(e),t&&P.NodeGuards.isLiteralNode(e)&&!G.NodeMetadata.isReplacedLiteral(e))return this.transformNode(e,t)}};default:return null}}prepareNode(e){this.stringArrayStorageAnalyzer.analyze(e),this.options.shuffleStringArray&&this.stringArrayStorage.shuffleStorage(),this.options.rotateStringArray&&this.stringArrayStorage.rotateStorage()}transformNode(e,t){if(!D.NodeLiteralUtils.isStringLiteralNode(e)||D.NodeLiteralUtils.isProhibitedLiteralNode(e,t))return e;const r=e.value,o=this.stringArrayStorageAnalyzer.getItemDataForLiteralNode(e),n=this.literalNodesCacheStorage.buildKey(r,o);if(this.literalNodesCacheStorage.shouldUseCachedValue(n,o))return this.literalNodesCacheStorage.get(n);const i=o?this.getStringArrayCallNode(o):e;return this.literalNodesCacheStorage.set(n,i),x.NodeUtils.parentizeNode(i,t),i}getStringArrayCallNode(e){const[t,r]=this.getStringArrayCallsWrapperData(e),{decodeKey:o}=e,n=this.stringArrayTransformerCustomNodeFactory(M.StringArrayCustomNode.StringArrayCallNode);n.initialize(t,r,this.stringArrayStorage.getIndexShiftAmount(),o);const i=n.getNode()[0];if(!P.NodeGuards.isExpressionStatementNode(i))throw new Error("`stringArrayCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node");return i.expression}getStringArrayCallsWrapperData(e){return this.options.stringArrayWrappersCount?this.getUpperStringArrayCallsWrapperData(e):this.getRootStringArrayCallsWrapperData(e)}getRootStringArrayCallsWrapperData(e){const{encoding:t,index:r}=e;return[this.stringArrayStorage.getStorageCallsWrapperName(t),r]}getUpperStringArrayCallsWrapperData(e){var t,r,o,n;const{encoding:i,index:a}=e,s=null!==(t=this.visitedLexicalScopeNodesStackStorage.getLastElement())&&void 0!==t?t:null,c=null!==(r=this.visitedLexicalScopeNodesStackStorage.getPenultimateElement())&&void 0!==r?r:null;if(!s)throw new Error("Cannot find current lexical scope body node");const d=this.getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(s,e),l=this.getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(s,c),u=null!==(n=null===(o=d[i])||void 0===o?void 0:o.names)&&void 0!==n?n:[];return[this.randomGenerator.getRandomGenerator().pickone(u),l?l.resultShiftedIndex+a:a]}getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(e,t){var r,o,n;const{encoding:i}=t,a=null!==(r=this.stringArrayScopeCallsWrapperNamesDataStorage.get(e))&&void 0!==r?r:{},s=null!==(n=null===(o=a[i])||void 0===o?void 0:o.names)&&void 0!==n?n:[];if(s.length===this.options.stringArrayWrappersCount)return a;const c=this.identifierNamesGenerator.generateNext();return a[i]={encoding:i,names:[...s,c]},this.stringArrayScopeCallsWrapperNamesDataStorage.set(e,a),a}getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(e,t){var r,n;const i=null!==(r=this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(e))&&void 0!==r?r:null;if(i)return i;const a=t&&null!==(n=this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(t))&&void 0!==n?n:null,s=this.options.stringArrayWrappersType===j.StringArrayWrappersType.Function?this.randomGenerator.getRandomInteger(o.minShiftedIndexValue,o.maxShiftedIndexValue):0,c={parentLexicalScopeBodyNode:t,resultShiftedIndex:a?a.resultShiftedIndex+s:s,scopeShiftedIndex:s};return this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.set(e,c),c}};L.minShiftedIndexValue=-1e3,L.maxShiftedIndexValue=1e3,L=o=m([y.injectable(),S(0,y.inject(N.ServiceIdentifiers.IRandomGenerator)),S(1,y.inject(N.ServiceIdentifiers.IOptions)),S(2,y.inject(N.ServiceIdentifiers.ILiteralNodesCacheStorage)),S(3,y.inject(N.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)),S(4,y.inject(N.ServiceIdentifiers.IStringArrayStorage)),S(5,y.inject(N.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)),S(6,y.inject(N.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)),S(7,y.inject(N.ServiceIdentifiers.IStringArrayStorageAnalyzer)),S(8,y.inject(N.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),S(9,y.inject(N.ServiceIdentifiers.Factory__IStringArrayCustomNode)),g("design:paramtypes",["function"==typeof(n=void 0!==I.IRandomGenerator&&I.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==O.IOptions&&O.IOptions)?i:Object,"function"==typeof(a=void 0!==b.ILiteralNodesCacheStorage&&b.ILiteralNodesCacheStorage)?a:Object,"function"==typeof(s=void 0!==R.IVisitedLexicalScopeNodesStackStorage&&R.IVisitedLexicalScopeNodesStackStorage)?s:Object,"function"==typeof(c=void 0!==C.IStringArrayStorage&&C.IStringArrayStorage)?c:Object,"function"==typeof(d=void 0!==v.IStringArrayScopeCallsWrapperNamesDataStorage&&v.IStringArrayScopeCallsWrapperNamesDataStorage)?d:Object,"function"==typeof(l=void 0!==E.IStringArrayScopeCallsWrapperLexicalScopeDataStorage&&E.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)?l:Object,"function"==typeof(u=void 0!==T.IStringArrayStorageAnalyzer&&T.IStringArrayStorageAnalyzer)?u:Object,"function"==typeof(f=void 0!==_.TIdentifierNamesGeneratorFactory&&_.TIdentifierNamesGeneratorFactory)?f:Object,"function"==typeof(p=void 0!==h.TStringArrayCustomNodeFactory&&h.TStringArrayCustomNodeFactory)?p:Object])],L),t.StringArrayTransformer=L},7678:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NodeAppender=void 0;const o=r(4134);class n{static append(e,t){t=n.parentizeScopeStatementsBeforeAppend(e,t),n.setScopeStatements(e,[...n.getScopeStatements(e),...t])}static appendToOptimalBlockScope(e,t,r,o=0){const i=e.length?n.getOptimalBlockScope(e,o):t;n.prepend(i,r)}static getOptimalBlockScope(e,t,r=1/0){const o=e[t];if(r<=0)throw new Error("Invalid `deep` argument value. Value should be bigger then 0.");return r>1&&o.callsGraph.length?n.getOptimalBlockScope(o.callsGraph,0,--r):o.callee}static insertBefore(e,t,r){const o=n.getScopeStatements(e).indexOf(r);n.insertAtIndex(e,t,o)}static insertAfter(e,t,r){const o=n.getScopeStatements(e).indexOf(r);n.insertAtIndex(e,t,o+1)}static insertAtIndex(e,t,r){t=n.parentizeScopeStatementsBeforeAppend(e,t),n.setScopeStatements(e,[...n.getScopeStatements(e).slice(0,r),...t,...n.getScopeStatements(e).slice(r)])}static prepend(e,t){t=n.parentizeScopeStatementsBeforeAppend(e,t),n.setScopeStatements(e,[...t,...n.getScopeStatements(e)])}static getScopeStatements(e){return o.NodeGuards.isSwitchCaseNode(e)?e.consequent:e.body}static parentizeScopeStatementsBeforeAppend(e,t){return t.forEach((t=>{t.parentNode=e})),t}static setScopeStatements(e,t){o.NodeGuards.isSwitchCaseNode(e)?e.consequent=t:e.body=t}}t.NodeAppender=n},9376:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeFactory=void 0;const a=i(r(9385)),s=r(9945);class c{static programNode(e=[]){return{type:s.NodeType.Program,body:e,sourceType:"script",metadata:{ignoredNode:!1}}}static arrayExpressionNode(e=[]){return{type:s.NodeType.ArrayExpression,elements:e,metadata:{ignoredNode:!1}}}static arrowFunctionExpressionNode(e,t,r){return{type:s.NodeType.ArrowFunctionExpression,params:e,expression:t,body:r}}static assignmentExpressionNode(e,t,r){return{type:s.NodeType.AssignmentExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}static binaryExpressionNode(e,t,r){return{type:s.NodeType.BinaryExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}static blockStatementNode(e=[]){return{type:s.NodeType.BlockStatement,body:e,metadata:{ignoredNode:!1}}}static breakStatement(e){return{type:s.NodeType.BreakStatement,label:e,metadata:{ignoredNode:!1}}}static callExpressionNode(e,t=[],r=!1){return{type:s.NodeType.CallExpression,callee:e,optional:r,arguments:t,metadata:{ignoredNode:!1}}}static conditionalExpressionNode(e,t,r){return{type:s.NodeType.ConditionalExpression,test:e,consequent:t,alternate:r,metadata:{ignoredNode:!1}}}static continueStatement(e){return{type:s.NodeType.ContinueStatement,label:e,metadata:{ignoredNode:!1}}}static directiveNode(e,t){return{type:s.NodeType.ExpressionStatement,expression:e,directive:t,metadata:{ignoredNode:!1}}}static exportAllDeclarationNode(e){return{type:s.NodeType.ExportAllDeclaration,source:e,metadata:{ignoredNode:!1}}}static exportNamedDeclarationNode(e,t){return{type:s.NodeType.ExportNamedDeclaration,specifiers:e,source:t,metadata:{ignoredNode:!1}}}static expressionStatementNode(e){return{type:s.NodeType.ExpressionStatement,expression:e,metadata:{ignoredNode:!1}}}static functionDeclarationNode(e,t,r){return{type:s.NodeType.FunctionDeclaration,id:c.identifierNode(e),params:t,body:r,generator:!1,metadata:{ignoredNode:!1}}}static functionExpressionNode(e,t){return{type:s.NodeType.FunctionExpression,params:e,body:t,generator:!1,metadata:{ignoredNode:!1}}}static ifStatementNode(e,t,r){return Object.assign(Object.assign({type:s.NodeType.IfStatement,test:e,consequent:t},r&&{alternate:r}),{metadata:{ignoredNode:!1}})}static identifierNode(e){return{type:s.NodeType.Identifier,name:e,metadata:{ignoredNode:!1}}}static importDeclarationNode(e,t){return{type:s.NodeType.ImportDeclaration,specifiers:e,source:t,metadata:{ignoredNode:!1}}}static literalNode(e,t){return t=void 0!==t?t:`'${e}'`,{type:s.NodeType.Literal,value:e,raw:t,"x-verbatim-property":{content:t,precedence:a.Precedence.Primary},metadata:{ignoredNode:!1}}}static logicalExpressionNode(e,t,r){return{type:s.NodeType.LogicalExpression,operator:e,left:t,right:r,metadata:{ignoredNode:!1}}}static memberExpressionNode(e,t,r=!1,o=!1){return{type:s.NodeType.MemberExpression,computed:r,object:e,optional:o,property:t,metadata:{ignoredNode:!1}}}static objectExpressionNode(e){return{type:s.NodeType.ObjectExpression,properties:e,metadata:{ignoredNode:!1}}}static propertyNode(e,t,r=!1){return{type:s.NodeType.Property,key:e,value:t,kind:"init",method:!1,shorthand:!1,computed:r,metadata:{ignoredNode:!1}}}static returnStatementNode(e){return{type:s.NodeType.ReturnStatement,argument:e,metadata:{ignoredNode:!1}}}static sequenceExpressionNode(e){return{type:s.NodeType.SequenceExpression,expressions:e,metadata:{ignoredNode:!1}}}static switchStatementNode(e,t){return{type:s.NodeType.SwitchStatement,discriminant:e,cases:t,metadata:{ignoredNode:!1}}}static switchCaseNode(e,t){return{type:s.NodeType.SwitchCase,test:e,consequent:t,metadata:{ignoredNode:!1}}}static unaryExpressionNode(e,t,r=!0){return{type:s.NodeType.UnaryExpression,operator:e,argument:t,prefix:r,metadata:{ignoredNode:!1}}}static updateExpressionNode(e,t){return{type:s.NodeType.UpdateExpression,operator:e,argument:t,prefix:!1,metadata:{ignoredNode:!1}}}static templateElement(e,t){return{type:s.NodeType.TemplateElement,value:e,tail:t,metadata:{ignoredNode:!1}}}static templateLiteral(e,t){return{type:s.NodeType.TemplateLiteral,expressions:e,quasis:t,metadata:{ignoredNode:!1}}}static variableDeclarationNode(e=[],t="var"){return{type:s.NodeType.VariableDeclaration,declarations:e,kind:t,metadata:{ignoredNode:!1}}}static variableDeclaratorNode(e,t){return{type:s.NodeType.VariableDeclarator,id:e,init:t,metadata:{ignoredNode:!1}}}static whileStatementNode(e,t){return{type:s.NodeType.WhileStatement,test:e,body:t,metadata:{ignoredNode:!1}}}}t.NodeFactory=c},4134:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NodeGuards=void 0;const o=r(9945);class n{static isArrayPatternNode(e){return e.type===o.NodeType.ArrayPattern}static isArrowFunctionExpressionNode(e){return e.type===o.NodeType.ArrowFunctionExpression}static isAssignmentExpressionNode(e){return e.type===o.NodeType.AssignmentExpression}static isAssignmentPatternNode(e){return e.type===o.NodeType.AssignmentPattern}static isAwaitExpressionNode(e){return e.type===o.NodeType.AwaitExpression}static isBigIntLiteralNode(e){return n.isLiteralNode(e)&&!!e.bigint}static isBlockStatementNode(e){return e.type===o.NodeType.BlockStatement}static isBreakStatementNode(e){return e.type===o.NodeType.BreakStatement}static isCallExpressionNode(e){return e.type===o.NodeType.CallExpression}static isClassDeclarationNode(e){return e.type===o.NodeType.ClassDeclaration&&null!==e.id}static isContinueStatementNode(e){return e.type===o.NodeType.ContinueStatement}static isDirectiveNode(e){return e.type===o.NodeType.ExpressionStatement&&"directive"in e}static isExportAllDeclarationNode(e){return e.type===o.NodeType.ExportAllDeclaration}static isExportNamedDeclarationNode(e){return e.type===o.NodeType.ExportNamedDeclaration}static isExportSpecifierNode(e){return e.type===o.NodeType.ExportSpecifier}static isExpressionStatementNode(e){return e.type===o.NodeType.ExpressionStatement&&!("directive"in e)}static isForOfStatementNode(e){return e.type===o.NodeType.ForOfStatement}static isFunctionNode(e){return n.isFunctionDeclarationNode(e)||n.isFunctionExpressionNode(e)||n.isArrowFunctionExpressionNode(e)}static isFunctionDeclarationNode(e){return e.type===o.NodeType.FunctionDeclaration&&null!==e.id}static isFunctionExpressionNode(e){return e.type===o.NodeType.FunctionExpression}static isIdentifierNode(e){return e.type===o.NodeType.Identifier}static isIfStatementNode(e){return e.type===o.NodeType.IfStatement}static isImportDeclarationNode(e){return e.type===o.NodeType.ImportDeclaration}static isImportSpecifierNode(e){return e.type===o.NodeType.ImportSpecifier}static isLabelIdentifierNode(e,t){const r=n.isLabeledStatementNode(t)&&t.label===e,o=n.isContinueStatementNode(t)&&t.label===e,i=n.isBreakStatementNode(t)&&t.label===e;return r||o||i}static isLabeledStatementNode(e){return e.type===o.NodeType.LabeledStatement}static isLiteralNode(e){return e.type===o.NodeType.Literal}static isMemberExpressionNode(e){return e.type===o.NodeType.MemberExpression}static isMethodDefinitionNode(e){return e.type===o.NodeType.MethodDefinition}static isNode(e){return e&&void 0!==!e.type}static isNodeWithLexicalScope(e){return n.isProgramNode(e)||n.isFunctionNode(e)}static isNodeWithBlockLexicalScope(e){return n.isNodeWithLexicalScope(e)||n.isBlockStatementNode(e)}static isNodeWithLexicalScopeStatements(e,t){return n.isProgramNode(e)||n.isBlockStatementNode(e)&&n.nodesWithLexicalStatements.includes(t.type)}static isNodeWithStatements(e){return n.isProgramNode(e)||n.isBlockStatementNode(e)||n.isSwitchCaseNode(e)}static isNodeWithComments(e){return Boolean(e.leadingComments)||Boolean(e.trailingComments)}static isObjectPatternNode(e){return e.type===o.NodeType.ObjectPattern}static isObjectExpressionNode(e){return e.type===o.NodeType.ObjectExpression}static isProgramNode(e){return e.type===o.NodeType.Program}static isPropertyNode(e){return e.type===o.NodeType.Property}static isRestElementNode(e){return e.type===o.NodeType.RestElement}static isReturnStatementNode(e){return e.type===o.NodeType.ReturnStatement}static isSequenceExpressionNode(e){return e.type===o.NodeType.SequenceExpression}static isSpreadElementNode(e){return e.type===o.NodeType.SpreadElement}static isSuperNode(e){return e.type===o.NodeType.Super}static isSwitchCaseNode(e){return e.type===o.NodeType.SwitchCase}static isTaggedTemplateExpressionNode(e){return e.type===o.NodeType.TaggedTemplateExpression}static isTemplateLiteralNode(e){return e.type===o.NodeType.TemplateLiteral}static isUnaryExpressionNode(e){return e.type===o.NodeType.UnaryExpression}static isUseStrictOperator(e){return n.isDirectiveNode(e)&&"use strict"===e.directive}static isVariableDeclarationNode(e){return e.type===o.NodeType.VariableDeclaration}static isVariableDeclaratorNode(e){return e.type===o.NodeType.VariableDeclarator}static isWhileStatementNode(e){return e.type===o.NodeType.WhileStatement}static isYieldExpressionNode(e){return e.type===o.NodeType.YieldExpression}}t.NodeGuards=n,n.nodesWithLexicalStatements=[o.NodeType.ArrowFunctionExpression,o.NodeType.FunctionDeclaration,o.NodeType.FunctionExpression,o.NodeType.MethodDefinition]},1534:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NodeLexicalScopeUtils=void 0;const o=r(4134);class n{static getLexicalScope(e){return n.getLexicalScopesRecursive(e,1)[0]}static getLexicalScopes(e){return n.getLexicalScopesRecursive(e)}static getLexicalScopesRecursive(e,t=1/0,r=[],i=0){if(r.length>=t)return r;const a=e.parentNode;if(!a)throw new ReferenceError("`parentNode` property of given node is `undefined`");return o.NodeGuards.isNodeWithLexicalScope(e)&&r.push(e),e!==a?n.getLexicalScopesRecursive(a,t,r,++i):r}}t.NodeLexicalScopeUtils=n},8241:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NodeLiteralUtils=void 0;const o=r(4134);t.NodeLiteralUtils=class{static isStringLiteralNode(e){return"string"==typeof e.value}static isProhibitedLiteralNode(e,t){return!(!o.NodeGuards.isPropertyNode(t)||t.computed||t.key!==e)||!!o.NodeGuards.isImportDeclarationNode(t)||!(!o.NodeGuards.isExportAllDeclarationNode(t)&&!o.NodeGuards.isExportNamedDeclarationNode(t))}}},739:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NodeMetadata=void 0;class r{static set(e,t){var r;e.metadata=Object.assign(null!==(r=e.metadata)&&void 0!==r?r:{},t)}static get(e,t){return void 0!==e.metadata?e.metadata[t]:void 0}static isForceTransformNode(e){return!0===r.get(e,"forceTransformNode")}static isIgnoredNode(e){return!0===r.get(e,"ignoredNode")}static isReplacedLiteral(e){return!0===r.get(e,"replacedLiteral")}}t.NodeMetadata=r},8134:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NodeStatementUtils=void 0;const o=r(4134);class n{static getParentNodeWithStatements(e){return n.getParentNodesWithStatementsRecursive(e,1)[0]}static getParentNodesWithStatements(e){return n.getParentNodesWithStatementsRecursive(e)}static getNextSiblingStatement(e){return n.getSiblingStatementByOffset(e,1)}static getPreviousSiblingStatement(e){return n.getSiblingStatementByOffset(e,-1)}static getRootStatementOfNode(e){if(o.NodeGuards.isProgramNode(e))throw new Error("Unable to find root statement for `Program` node");const t=e.parentNode;if(!t)throw new ReferenceError("`parentNode` property of given node is `undefined`");return o.NodeGuards.isNodeWithStatements(t)?e:n.getRootStatementOfNode(t)}static getScopeOfNode(e){const t=e.parentNode;if(!t)throw new ReferenceError("`parentNode` property of given node is `undefined`");return o.NodeGuards.isNodeWithStatements(t)?t:n.getScopeOfNode(t)}static getParentNodesWithStatementsRecursive(e,t=1/0,r=[],i=0){if(r.length>=t)return r;const a=e.parentNode;if(!a)throw new ReferenceError("`parentNode` property of given node is `undefined`");return(o.NodeGuards.isProgramNode(e)||o.NodeGuards.isNodeWithLexicalScopeStatements(e,a)&&i>0)&&r.push(e),e!==a?n.getParentNodesWithStatementsRecursive(a,t,r,++i):r}static getSiblingStatementByOffset(e,t){const r=n.getScopeOfNode(e),i=o.NodeGuards.isSwitchCaseNode(r)?r.consequent:r.body,a=i.indexOf(e);return i[a+t]||null}}t.NodeStatementUtils=n},2361:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeUtils=void 0;const a=i(r(9385)),s=i(r(4523)),c=r(4941),d=r(425),l=r(4134),u=r(739);class f{static addXVerbatimPropertyTo(e){return e["x-verbatim-property"]={content:e.raw,precedence:a.Precedence.Primary},e}static clone(e){return f.parentizeAst(f.cloneRecursive(e))}static convertCodeToStructure(e){const t=d.ASTParserFacade.parse(e,{ecmaVersion:c.ecmaVersion,sourceType:"script"});return s.replace(t,{enter:(e,t)=>(f.parentizeNode(e,t),l.NodeGuards.isLiteralNode(e)&&f.addXVerbatimPropertyTo(e),u.NodeMetadata.set(e,{ignoredNode:!1}),e)}),t.body}static convertStructureToCode(e){return e.reduce(((e,t)=>e+a.generate(t,{sourceMapWithCode:!0}).code),"")}static getUnaryExpressionArgumentNode(e){return l.NodeGuards.isUnaryExpressionNode(e.argument)?f.getUnaryExpressionArgumentNode(e.argument):e.argument}static parentizeAst(e){var t;const r=null!==(t=e.parentNode)&&void 0!==t?t:null;return s.replace(e,{enter:f.parentizeNode}),r&&(e.parentNode=r),e}static parentizeNode(e,t){return e.parentNode=null!=t?t:e,e}static cloneRecursive(e){if(null===e)return e;const t={};return Object.keys(e).forEach((r=>{var o;if("parentNode"===r)return;const n=null!==(o=e[r])&&void 0!==o?o:null;let i;i=null===n||n instanceof RegExp?n:n instanceof Array?n.map(f.cloneRecursive):"object"==typeof n?f.cloneRecursive(n):n,t[r]=i})),t}}t.NodeUtils=f},2551:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeIdentifiersTraverser=void 0;const c=r(2991),d=r(5350),l=r(1588),u=r(4134);let f=o=class{constructor(e){this.scopeAnalyzer=e}traverseScopeIdentifiers(e,t,r){this.scopeAnalyzer.analyze(e);const o=this.scopeAnalyzer.acquireScope(e);this.traverseScopeIdentifiersRecursive(o,o,r)}traverseScopeThroughIdentifiers(e,t,r){this.scopeAnalyzer.analyze(e);const o=this.scopeAnalyzer.acquireScope(e);this.traverseScopeThroughIdentifiersRecursive(o,o,r)}traverseScopeIdentifiersRecursive(e,t,r){const n=t.variableScope,i=u.NodeGuards.isNodeWithBlockLexicalScope(n.block)?n.block:null,a=o.globalScopeNames.includes(n.type);if(i){for(const s of t.variables)s.name!==o.argumentsVariableName&&r({isGlobalDeclaration:a,isBubblingDeclaration:s.identifiers.some((e=>e.parentNode&&u.NodeGuards.isPropertyNode(e.parentNode)&&e.parentNode.shorthand)),rootScope:e,variable:s,variableScope:n,variableLexicalScopeNode:i});for(const o of t.childScopes)this.traverseScopeIdentifiersRecursive(e,o,r)}}traverseScopeThroughIdentifiersRecursive(e,t,r){const o=t.variableScope,n=u.NodeGuards.isNodeWithBlockLexicalScope(o.block)?o.block:null;if(n){for(const e of t.through)r({reference:e,variableLexicalScopeNode:n});for(const o of t.childScopes)this.traverseScopeThroughIdentifiersRecursive(e,o,r)}}};f.argumentsVariableName="arguments",f.globalScopeNames=["global","module"],f=o=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IScopeAnalyzer)),a("design:paramtypes",["function"==typeof(n=void 0!==l.IScopeAnalyzer&&l.IScopeAnalyzer)?n:Object])],f),t.ScopeIdentifiersTraverser=f},8516:function(e,t,r){var o,n,i,a,s,c,d,l,u=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},f=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},p=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Options=void 0;const m=r(2991),g=r(5350),S=r(516),y=r(2185),N=r(4364),_=r(3546),h=r(9651),b=r(68),O=r(3177),I=r(7370),E=r(6532),v=r(6086),C=r(6212),T=r(1137),R=r(9614),A=r(7170),M=r(8887),j=r(2662),F=r(7576),P=r(312),D=r(5558);let G=o=class{constructor(e,t){var r;const n=o.getOptionsByPreset(null!==(r=e.optionsPreset)&&void 0!==r?r:E.OptionsPreset.Default);Object.assign(this,n,e);const i=S.validateSync(this,o.validatorOptions);if(i.length)throw new ReferenceError("Validation failed. errors:\n"+P.ValidationErrorsFormatter.format(i));Object.assign(this,t.normalize(this))}static getOptionsByPreset(e){var t;const r=null!==(t=o.optionPresetsMap.get(e))&&void 0!==t?t:null;if(!r)throw new Error(`Options for preset name \`${e}\` are not found`);return r}};G.optionPresetsMap=new Map([[E.OptionsPreset.Default,A.DEFAULT_PRESET],[E.OptionsPreset.LowObfuscation,M.LOW_OBFUSCATION_PRESET],[E.OptionsPreset.MediumObfuscation,j.MEDIUM_OBFUSCATION_PRESET],[E.OptionsPreset.HighObfuscation,F.HIGH_OBFUSCATION_PRESET]]),G.validatorOptions={validationError:{target:!1}},u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"compact",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"controlFlowFlattening",void 0),u([S.IsNumber(),S.Min(0),S.Max(1),f("design:type",Number)],G.prototype,"controlFlowFlatteningThreshold",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"deadCodeInjection",void 0),u([S.IsNumber(),f("design:type",Number)],G.prototype,"deadCodeInjectionThreshold",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"debugProtection",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"debugProtectionInterval",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"disableConsoleOutput",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),D.IsAllowedForObfuscationTargets([I.ObfuscationTarget.Browser,I.ObfuscationTarget.BrowserNoEval]),f("design:type",Array)],G.prototype,"domainLock",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),f("design:type",Array)],G.prototype,"forceTransformStrings",void 0),u([S.IsIn([O.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator,O.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,O.IdentifierNamesGenerator.MangledIdentifierNamesGenerator,O.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator]),f("design:type","function"==typeof(n=void 0!==h.TTypeFromEnum&&h.TTypeFromEnum)?n:Object)],G.prototype,"identifierNamesGenerator",void 0),u([S.IsString(),f("design:type",String)],G.prototype,"identifiersPrefix",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),S.ValidateIf((e=>e.identifierNamesGenerator===O.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator)),S.ArrayNotEmpty(),f("design:type",Array)],G.prototype,"identifiersDictionary",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"ignoreRequireImports",void 0),u([S.IsString(),f("design:type",String)],G.prototype,"inputFileName",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"log",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"numbersToExpressions",void 0),u([S.IsIn([E.OptionsPreset.Default,E.OptionsPreset.LowObfuscation,E.OptionsPreset.MediumObfuscation,E.OptionsPreset.HighObfuscation]),f("design:type","function"==typeof(i=void 0!==N.TOptionsPreset&&N.TOptionsPreset)?i:Object)],G.prototype,"optionsPreset",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"renameGlobals",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"renameProperties",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),f("design:type",Array)],G.prototype,"reservedNames",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsString({each:!0}),f("design:type",Array)],G.prototype,"reservedStrings",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"rotateStringArray",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"selfDefending",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"shuffleStringArray",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"simplify",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"sourceMap",void 0),u([S.IsString(),S.ValidateIf((e=>Boolean(e.sourceMapBaseUrl))),S.IsUrl({require_protocol:!0,require_tld:!1,require_valid_protocol:!0}),f("design:type",String)],G.prototype,"sourceMapBaseUrl",void 0),u([S.IsString(),f("design:type",String)],G.prototype,"sourceMapFileName",void 0),u([S.IsIn([v.SourceMapMode.Inline,v.SourceMapMode.Separate]),f("design:type","function"==typeof(a=void 0!==h.TTypeFromEnum&&h.TTypeFromEnum)?a:Object)],G.prototype,"sourceMapMode",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"splitStrings",void 0),u([S.IsNumber(),S.ValidateIf((e=>Boolean(e.splitStrings))),S.Min(1),f("design:type",Number)],G.prototype,"splitStringsChunkLength",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"stringArray",void 0),u([S.IsArray(),S.ArrayUnique(),S.IsIn([T.StringArrayEncoding.None,T.StringArrayEncoding.Base64,T.StringArrayEncoding.Rc4],{each:!0}),f("design:type",Array)],G.prototype,"stringArrayEncoding",void 0),u([S.IsArray(),S.ArrayNotEmpty(),S.ArrayUnique(),S.IsIn([C.StringArrayIndexesType.HexadecimalNumber,C.StringArrayIndexesType.HexadecimalNumericString],{each:!0}),f("design:type",Array)],G.prototype,"stringArrayIndexesType",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"stringArrayIndexShift",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"stringArrayWrappersChainedCalls",void 0),u([S.IsNumber(),S.Min(0),f("design:type",Number)],G.prototype,"stringArrayWrappersCount",void 0),u([S.IsIn([R.StringArrayWrappersType.Variable,R.StringArrayWrappersType.Function]),f("design:type","function"==typeof(s=void 0!==_.TStringArrayWrappersType&&_.TStringArrayWrappersType)?s:Object)],G.prototype,"stringArrayWrappersType",void 0),u([S.IsNumber(),S.Min(0),S.Max(1),f("design:type",Number)],G.prototype,"stringArrayThreshold",void 0),u([S.IsIn([I.ObfuscationTarget.Browser,I.ObfuscationTarget.BrowserNoEval,I.ObfuscationTarget.Node]),f("design:type","function"==typeof(c=void 0!==h.TTypeFromEnum&&h.TTypeFromEnum)?c:Object)],G.prototype,"target",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"transformObjectKeys",void 0),u([S.IsBoolean(),f("design:type",Boolean)],G.prototype,"unicodeEscapeSequence",void 0),G=o=u([m.injectable(),p(0,m.inject(g.ServiceIdentifiers.TInputOptions)),p(1,m.inject(g.ServiceIdentifiers.IOptionsNormalizer)),f("design:paramtypes",["function"==typeof(d=void 0!==y.TInputOptions&&y.TInputOptions)?d:Object,"function"==typeof(l=void 0!==b.IOptionsNormalizer&&b.IOptionsNormalizer)?l:Object])],G),t.Options=G},6248:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsNormalizer=void 0;const i=r(2991),a=r(2938),s=r(3978),c=r(7226),d=r(4984),l=r(9062),u=r(1832),f=r(6896),p=r(3616),m=r(4073),g=r(2554),S=r(410),y=r(1589),N=r(3784);let _=o=class{normalize(e){let t=Object.assign({},e);for(const e of o.normalizerRules)t=e(t);return t}};_.normalizerRules=[a.ControlFlowFlatteningThresholdRule,s.DeadCodeInjectionRule,c.DeadCodeInjectionThresholdRule,d.DomainLockRule,l.InputFileNameRule,u.SeedRule,f.SelfDefendingRule,p.SourceMapBaseUrlRule,m.SourceMapFileNameRule,g.SplitStringsChunkLengthRule,S.StringArrayRule,y.StringArrayEncodingRule,N.StringArrayWrappersChainedCallsRule],_=o=n([i.injectable()],_),t.OptionsNormalizer=_},312:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ValidationErrorsFormatter=void 0;class r{static format(e){return e.reduce(((e,t)=>[...e,r.formatWithNestedConstraints(t)]),[]).join("\n")}static formatWithNestedConstraints(e){const t=e.constraints;return t?`\`${e.property}\` errors:\n${Object.keys(t).map((e=>` - ${t[e]}\n`)).join()}`:`\`${e.property}\` error\n`}}t.ValidationErrorsFormatter=r},2938:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowFlatteningThresholdRule=void 0,t.ControlFlowFlatteningThresholdRule=e=>(0===e.controlFlowFlatteningThreshold&&(e=Object.assign(Object.assign({},e),{controlFlowFlattening:!1,controlFlowFlatteningThreshold:0})),e)},3978:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionRule=void 0;const o=r(7170);t.DeadCodeInjectionRule=e=>(e.deadCodeInjection&&((e=Object.assign(Object.assign({},e),{deadCodeInjection:!0,stringArray:!0})).stringArrayThreshold||(e=Object.assign(Object.assign({},e),{stringArray:!0,stringArrayThreshold:o.DEFAULT_PRESET.stringArrayThreshold}))),e)},7226:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DeadCodeInjectionThresholdRule=void 0,t.DeadCodeInjectionThresholdRule=e=>(0===e.deadCodeInjectionThreshold&&(e=Object.assign(Object.assign({},e),{deadCodeInjection:!1,deadCodeInjectionThreshold:0})),e)},4984:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DomainLockRule=void 0;const o=r(4741);t.DomainLockRule=e=>{if(e.domainLock.length){const t=[];for(const r of e.domainLock)t.push(o.Utils.extractDomainFrom(r));e=Object.assign(Object.assign({},e),{domainLock:t})}return e}},9062:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InputFileNameRule=void 0;const o=r(9965);t.InputFileNameRule=e=>{let{inputFileName:t}=e;return t&&(t=t.replace(/^\/+/,"").split(o.StringSeparator.Dot).slice(0,-1).join(o.StringSeparator.Dot)||t,e=Object.assign(Object.assign({},e),{inputFileName:t+".js"})),e}},1832:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SeedRule=void 0,t.SeedRule=e=>e.seed?Object.assign(Object.assign({},e),{seed:e.seed}):Object.assign(Object.assign({},e),{seed:(0,999999999,Math.floor(1e9*Math.random()+0))})},6896:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SelfDefendingRule=void 0,t.SelfDefendingRule=e=>(e.selfDefending&&(e=Object.assign(Object.assign({},e),{compact:!0,selfDefending:!0})),e)},3616:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceMapBaseUrlRule=void 0,t.SourceMapBaseUrlRule=e=>{const{sourceMapBaseUrl:t}=e;return e.sourceMapFileName?(t&&!t.endsWith("/")&&(e=Object.assign(Object.assign({},e),{sourceMapBaseUrl:t+"/"})),e):e=Object.assign(Object.assign({},e),{sourceMapBaseUrl:""})}},4073:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceMapFileNameRule=void 0;const o=r(9965);t.SourceMapFileNameRule=e=>{let{sourceMapFileName:t}=e;if(t){t=t.replace(/^\/+/,"").replace(/(?:\.js)?(?:\.map)?$/,"");let r=t.split(o.StringSeparator.Dot);const n=r.length,i=r[n-1];n>1&&i.length<=3&&(r=r.slice(0,-1)),t=r.join(o.StringSeparator.Dot),e=Object.assign(Object.assign({},e),{sourceMapFileName:t+".js.map"})}return e}},2554:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SplitStringsChunkLengthRule=void 0,t.SplitStringsChunkLengthRule=e=>0===e.splitStringsChunkLength?Object.assign(Object.assign({},e),{splitStrings:!1,splitStringsChunkLength:0}):Object.assign(Object.assign({},e),{splitStringsChunkLength:Math.floor(e.splitStringsChunkLength)})},1589:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayEncodingRule=void 0;const o=r(1137);t.StringArrayEncodingRule=e=>(e.stringArrayEncoding.length||(e=Object.assign(Object.assign({},e),{stringArrayEncoding:[o.StringArrayEncoding.None]})),e)},410:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayRule=void 0;const o=r(1137);t.StringArrayRule=e=>(e.stringArray||(e=Object.assign(Object.assign({},e),{rotateStringArray:!1,shuffleStringArray:!1,stringArray:!1,stringArrayEncoding:[o.StringArrayEncoding.None],stringArrayIndexShift:!1,stringArrayWrappersChainedCalls:!1,stringArrayWrappersCount:0,stringArrayThreshold:0})),e)},3784:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayWrappersChainedCallsRule=void 0,t.StringArrayWrappersChainedCallsRule=e=>(0===e.stringArrayWrappersCount&&(e=Object.assign(Object.assign({},e),{stringArrayWrappersChainedCalls:!1,stringArrayWrappersCount:0})),e)},7170:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_PRESET=void 0;const o=r(3177),n=r(7370),i=r(6532),a=r(6086),s=r(6212),c=r(1137),d=r(9614);t.DEFAULT_PRESET=Object.freeze({compact:!0,config:"",controlFlowFlattening:!1,controlFlowFlatteningThreshold:.75,deadCodeInjection:!1,deadCodeInjectionThreshold:.4,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],forceTransformStrings:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",identifiersDictionary:[],ignoreRequireImports:!1,inputFileName:"",log:!1,numbersToExpressions:!1,optionsPreset:i.OptionsPreset.Default,renameGlobals:!1,renameProperties:!1,reservedNames:[],reservedStrings:[],rotateStringArray:!0,seed:0,selfDefending:!1,shuffleStringArray:!0,simplify:!0,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:a.SourceMapMode.Separate,splitStrings:!1,splitStringsChunkLength:10,stringArray:!0,stringArrayEncoding:[c.StringArrayEncoding.None],stringArrayIndexesType:[s.StringArrayIndexesType.HexadecimalNumber],stringArrayIndexShift:!0,stringArrayWrappersChainedCalls:!0,stringArrayWrappersCount:1,stringArrayWrappersType:d.StringArrayWrappersType.Variable,stringArrayThreshold:.75,target:n.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},7576:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.HIGH_OBFUSCATION_PRESET=void 0;const o=r(6532),n=r(1137),i=r(9614),a=r(2662);t.HIGH_OBFUSCATION_PRESET=Object.freeze(Object.assign(Object.assign({},a.MEDIUM_OBFUSCATION_PRESET),{controlFlowFlatteningThreshold:1,deadCodeInjectionThreshold:1,debugProtection:!0,debugProtectionInterval:!0,optionsPreset:o.OptionsPreset.HighObfuscation,splitStringsChunkLength:5,stringArrayEncoding:[n.StringArrayEncoding.Rc4],stringArrayWrappersCount:5,stringArrayWrappersType:i.StringArrayWrappersType.Function,stringArrayThreshold:1}))},8887:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LOW_OBFUSCATION_PRESET=void 0;const o=r(6532),n=r(7170);t.LOW_OBFUSCATION_PRESET=Object.freeze(Object.assign(Object.assign({},n.DEFAULT_PRESET),{disableConsoleOutput:!0,optionsPreset:o.OptionsPreset.LowObfuscation,rotateStringArray:!0,selfDefending:!0,shuffleStringArray:!0,simplify:!0}))},2662:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.MEDIUM_OBFUSCATION_PRESET=void 0;const o=r(6532),n=r(1137),i=r(8887);t.MEDIUM_OBFUSCATION_PRESET=Object.freeze(Object.assign(Object.assign({},i.LOW_OBFUSCATION_PRESET),{controlFlowFlattening:!0,deadCodeInjection:!0,numbersToExpressions:!0,optionsPreset:o.OptionsPreset.MediumObfuscation,splitStrings:!0,splitStringsChunkLength:10,stringArrayEncoding:[n.StringArrayEncoding.Base64],stringArrayWrappersCount:2,transformObjectKeys:!0}))},3685:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NO_ADDITIONAL_NODES_PRESET=void 0;const o=r(3177),n=r(7370),i=r(6086),a=r(1137),s=r(9614),c=r(6212);t.NO_ADDITIONAL_NODES_PRESET=Object.freeze({compact:!0,controlFlowFlattening:!1,controlFlowFlatteningThreshold:0,deadCodeInjection:!1,deadCodeInjectionThreshold:0,debugProtection:!1,debugProtectionInterval:!1,disableConsoleOutput:!1,domainLock:[],exclude:[],forceTransformStrings:[],identifierNamesGenerator:o.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator,identifiersPrefix:"",identifiersDictionary:[],ignoreRequireImports:!1,inputFileName:"",log:!1,numbersToExpressions:!1,renameGlobals:!1,renameProperties:!1,reservedNames:[],reservedStrings:[],rotateStringArray:!1,seed:0,selfDefending:!1,shuffleStringArray:!1,simplify:!1,sourceMap:!1,sourceMapBaseUrl:"",sourceMapFileName:"",sourceMapMode:i.SourceMapMode.Separate,splitStrings:!1,splitStringsChunkLength:0,stringArray:!1,stringArrayEncoding:[a.StringArrayEncoding.None],stringArrayIndexesType:[c.StringArrayIndexesType.HexadecimalNumber],stringArrayIndexShift:!1,stringArrayWrappersChainedCalls:!1,stringArrayWrappersCount:0,stringArrayWrappersType:s.StringArrayWrappersType.Variable,stringArrayThreshold:0,target:n.ObfuscationTarget.Browser,transformObjectKeys:!1,unicodeEscapeSequence:!1})},5558:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.IsAllowedForObfuscationTargets=void 0;const n=r(516),i=o(r(3142)),a=r(9965),s=r(7170);t.IsAllowedForObfuscationTargets=function(e,t){return(r,o)=>{n.registerDecorator({propertyName:o,constraints:[e],name:"IsAllowedForObfuscationTargets",options:t,target:r.constructor,validator:{validate(t,r){const n=r.object,a=s.DEFAULT_PRESET[o];return i.default(t,a)||e.includes(n.target)},defaultMessage:t=>"This option allowed only for obfuscation targets: "+e.join(a.StringSeparator.Comma+" ")}})}}},8072:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ObfuscatedCode=void 0;const c=r(2991),d=r(5350),l=r(5591),u=r(5233),f=r(6086),p=r(4482);let m=class{constructor(e,t){this.cryptUtils=e,this.options=t}initialize(e,t){this.obfuscatedCode=e,this.sourceMap=t}getObfuscatedCode(){return this.correctObfuscatedCode()}getSourceMap(){return this.sourceMap}toString(){return this.obfuscatedCode}correctObfuscatedCode(){if(!this.sourceMap)return this.obfuscatedCode;const e=this.options.sourceMapBaseUrl+this.options.sourceMapFileName;let t="//# sourceMappingURL=";switch(this.options.sourceMapMode){case f.SourceMapMode.Inline:t+="data:application/json;base64,"+this.cryptUtils.btoa(this.sourceMap);break;case f.SourceMapMode.Separate:default:if(!e)return this.obfuscatedCode;t+=e}return`${this.obfuscatedCode}\n${t}`}};i([u.initializable(),a("design:type",String)],m.prototype,"obfuscatedCode",void 0),i([u.initializable(),a("design:type",String)],m.prototype,"sourceMap",void 0),m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.ICryptUtils)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==l.ICryptUtils&&l.ICryptUtils)?o:Object,"function"==typeof(n=void 0!==p.IOptions&&p.IOptions)?n:Object])],m),t.ObfuscatedCode=m},8589:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SourceCode=void 0,t.SourceCode=class{constructor(e,t){this.sourceCode=e,this.sourceMap=t}getSourceCode(){return this.sourceCode}getSourceMap(){return this.sourceMap}toString(){return this.sourceCode}}},3901:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(5233);let p=class{constructor(e,t){this.storageLength=0,this.randomGenerator=e,this.options=t}initialize(){this.storage=[],this.storageId=this.randomGenerator.getRandomString(6)}delete(e){var t;const r=null!==(t=this.storage.splice(e,1)[0])&&void 0!==t?t:void 0;return r&&this.storageLength--,r}get(e){return this.storage[e]}getOrThrow(e){const t=this.get(e);if(!t)throw new Error(`No value found in array storage with key \`${e}\``);return t}getKeyOf(e){const t=this.storage.indexOf(e);return t>=0?t:null}getLength(){return this.storageLength}getStorage(){return this.storage}getStorageId(){return this.storageId}mergeWith(e,t=!1){this.storage=[...this.storage,...e.getStorage()],t&&(this.storageId=e.getStorageId())}set(e,t){e===this.storageLength?this.storage.push(t):this.storage.splice(e,0,t),this.storageLength++}};i([f.initializable(),a("design:type",Array)],p.prototype,"storage",void 0),i([f.initializable(),a("design:type",String)],p.prototype,"storageId",void 0),i([c.postConstruct(),a("design:type",Function),a("design:paramtypes",[]),a("design:returntype",void 0)],p.prototype,"initialize",null),p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.ArrayStorage=p},2015:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MapStorage=void 0;const d=r(2991),l=r(5350),u=r(4482),f=r(1403),p=r(5233);let m=class{constructor(e,t){this.randomGenerator=e,this.options=t}initialize(){this.storage=new Map,this.storageId=this.randomGenerator.getRandomString(6)}get(e){return this.storage.get(e)}getOrThrow(e){const t=this.get(e);if(!t)throw new Error(`No value found in map storage with key \`${e}\``);return t}getKeyOf(e){for(const[t,r]of this.storage)if(e===r)return t;return null}getLength(){return this.storage.size}getStorage(){return this.storage}getStorageId(){return this.storageId}has(e){return this.storage.has(e)}mergeWith(e,t=!1){this.storage=new Map([...this.storage,...e.getStorage()]),t&&(this.storageId=e.getStorageId())}set(e,t){this.storage.set(e,t)}};a([p.initializable(),s("design:type",String)],m.prototype,"storageId",void 0),a([p.initializable(),s("design:type","function"==typeof(o="undefined"!=typeof Map&&Map)?o:Object)],m.prototype,"storage",void 0),a([d.postConstruct(),s("design:type",Function),s("design:paramtypes",[]),s("design:returntype",void 0)],m.prototype,"initialize",null),m=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),s("design:paramtypes",["function"==typeof(n=void 0!==f.IRandomGenerator&&f.IRandomGenerator)?n:Object,"function"==typeof(i=void 0!==u.IOptions&&u.IOptions)?i:Object])],m),t.MapStorage=m},1951:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CustomCodeHelperGroupStorage=void 0;const l=r(2991),u=r(5350),f=r(964),p=r(4482),m=r(1403),g=r(1806),S=r(2015);let y=o=class extends S.MapStorage{constructor(e,t,r){super(t,r),this.customCodeHelperGroupFactory=e}initialize(){super.initialize(),o.customCodeHelperGroupsList.forEach((e=>{const t=this.customCodeHelperGroupFactory(e);this.storage.set(e,t)}))}};y.customCodeHelperGroupsList=[g.CustomCodeHelperGroup.ConsoleOutput,g.CustomCodeHelperGroup.DebugProtection,g.CustomCodeHelperGroup.DomainLock,g.CustomCodeHelperGroup.SelfDefending,g.CustomCodeHelperGroup.StringArray],s([l.postConstruct(),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],y.prototype,"initialize",null),y=o=s([l.injectable(),d(0,l.inject(u.ServiceIdentifiers.Factory__ICustomCodeHelperGroup)),d(1,l.inject(u.ServiceIdentifiers.IRandomGenerator)),d(2,l.inject(u.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(n=void 0!==f.TCustomCodeHelperGroupFactory&&f.TCustomCodeHelperGroupFactory)?n:Object,"function"==typeof(i=void 0!==m.IRandomGenerator&&m.IRandomGenerator)?i:Object,"function"==typeof(a=void 0!==p.IOptions&&p.IOptions)?a:Object])],y),t.CustomCodeHelperGroupStorage=y},646:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ControlFlowStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(2015);let p=class extends f.MapStorage{constructor(e,t){super(e,t)}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.ControlFlowStorage=p},3464:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LiteralNodesCacheStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(1137),p=r(2015);let m=class extends p.MapStorage{constructor(e,t){super(e,t)}buildKey(e,t){return`${e}-${Boolean(t)}`}shouldUseCachedValue(e,t){return!this.options.stringArrayWrappersCount&&(null==t?void 0:t.encoding)!==f.StringArrayEncoding.Rc4&&this.storage.has(e)}};m=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],m),t.LiteralNodesCacheStorage=m},1453:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperLexicalScopeDataStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(2015);let p=class extends f.MapStorage{constructor(e,t){super(e,t)}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.StringArrayScopeCallsWrapperLexicalScopeDataStorage=p},995:function(e,t,r){var o,n,i=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},a=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},s=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayScopeCallsWrapperNamesDataStorage=void 0;const c=r(2991),d=r(5350),l=r(4482),u=r(1403),f=r(2015);let p=class extends f.MapStorage{constructor(e,t){super(e,t)}};p=i([c.injectable(),s(0,c.inject(d.ServiceIdentifiers.IRandomGenerator)),s(1,c.inject(d.ServiceIdentifiers.IOptions)),a("design:paramtypes",["function"==typeof(o=void 0!==u.IRandomGenerator&&u.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==l.IOptions&&l.IOptions)?n:Object])],p),t.StringArrayScopeCallsWrapperNamesDataStorage=p},1860:function(e,t,r){var o,n,i,a,s,c,d=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},l=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},u=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringArrayStorage=void 0;const f=r(2991),p=r(5350),m=r(9416),g=r(5768),S=r(9825),y=r(4482),N=r(1403),_=r(1137),h=r(2015);let b=o=class extends h.MapStorage{constructor(e,t,r,n,i){super(r,n),this.rc4EncodedValuesSourcesCache=new Map,this.indexShiftAmount=0,this.rotationAmount=0,this.stringArrayStorageCallsWrapperNamesMap=new Map,this.identifierNamesGenerator=e(n),this.arrayUtils=t,this.cryptUtilsSwappedAlphabet=i,this.rc4Keys=this.randomGenerator.getRandomGenerator().n((()=>this.randomGenerator.getRandomGenerator().string({length:o.rc4KeyLength})),o.rc4KeysCount)}initialize(){super.initialize(),this.indexShiftAmount=this.options.stringArrayIndexShift?this.randomGenerator.getRandomInteger(o.minimumIndexShiftAmount,o.maximumIndexShiftAmount):0,this.rotationAmount=this.options.rotateStringArray?this.randomGenerator.getRandomInteger(o.minimumRotationAmount,o.maximumRotationAmount):0}get(e){return this.getOrSetIfDoesNotExist(e)}getIndexShiftAmount(){return this.indexShiftAmount}getRotationAmount(){return this.rotationAmount}getStorageName(){return this.getStorageId()}getStorageId(){return this.stringArrayStorageName||(this.stringArrayStorageName=this.identifierNamesGenerator.generateForGlobalScope(o.stringArrayNameLength)),this.stringArrayStorageName}getStorageCallsWrapperName(e){var t;const r=null!==(t=this.stringArrayStorageCallsWrapperNamesMap.get(e))&&void 0!==t?t:null;if(r)return r;const n=this.identifierNamesGenerator.generateForGlobalScope(o.stringArrayNameLength);return this.stringArrayStorageCallsWrapperNamesMap.set(e,n),n}rotateStorage(){this.getLength()&&(this.storage=new Map(this.arrayUtils.rotate(Array.from(this.storage.entries()),this.rotationAmount)))}shuffleStorage(){this.storage=new Map(this.arrayUtils.shuffle(Array.from(this.storage.entries())).map((([e,t],r)=>(t.index=r,[e,t]))).sort((([,e],[,t])=>e.index-t.index)))}getOrSetIfDoesNotExist(e){const{encodedValue:t,encoding:r,decodeKey:o}=this.getEncodedValue(e),n=this.storage.get(t);if(n)return n;const i={encodedValue:t,encoding:r,decodeKey:o,value:e,index:this.getLength()};return this.storage.set(t,i),i}getEncodedValue(e){var t;const r=this.options.stringArrayEncoding.length?this.randomGenerator.getRandomGenerator().pickone(this.options.stringArrayEncoding):null;if(!r)throw new Error("`stringArrayEncoding` option array is empty");switch(r){case _.StringArrayEncoding.Rc4:{const o=this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys),n=this.cryptUtilsSwappedAlphabet.btoa(this.cryptUtilsSwappedAlphabet.rc4(e,o)),i=null!==(t=this.rc4EncodedValuesSourcesCache.get(n))&&void 0!==t?t:[];let a=i.length;return(!a||!i.includes(e))&&(i.push(e),a++),this.rc4EncodedValuesSourcesCache.set(n,i),a>1?this.getEncodedValue(e):{encodedValue:n,encoding:r,decodeKey:o}}case _.StringArrayEncoding.Base64:{const t=null;return{encodedValue:this.cryptUtilsSwappedAlphabet.btoa(e),encoding:r,decodeKey:t}}default:return{encodedValue:e,encoding:r,decodeKey:null}}}};b.minimumRotationAmount=100,b.maximumRotationAmount=500,b.minimumIndexShiftAmount=100,b.maximumIndexShiftAmount=500,b.rc4KeyLength=4,b.rc4KeysCount=50,b.stringArrayNameLength=4,d([f.postConstruct(),l("design:type",Function),l("design:paramtypes",[]),l("design:returntype",void 0)],b.prototype,"initialize",null),b=o=d([f.injectable(),u(0,f.inject(p.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)),u(1,f.inject(p.ServiceIdentifiers.IArrayUtils)),u(2,f.inject(p.ServiceIdentifiers.IRandomGenerator)),u(3,f.inject(p.ServiceIdentifiers.IOptions)),u(4,f.inject(p.ServiceIdentifiers.ICryptUtilsSwappedAlphabet)),l("design:paramtypes",["function"==typeof(n=void 0!==m.TIdentifierNamesGeneratorFactory&&m.TIdentifierNamesGeneratorFactory)?n:Object,"function"==typeof(i=void 0!==g.IArrayUtils&&g.IArrayUtils)?i:Object,"function"==typeof(a=void 0!==N.IRandomGenerator&&N.IRandomGenerator)?a:Object,"function"==typeof(s=void 0!==y.IOptions&&y.IOptions)?s:Object,"function"==typeof(c=void 0!==S.ICryptUtilsSwappedAlphabet&&S.ICryptUtilsSwappedAlphabet)?c:Object])],b),t.StringArrayStorage=b},1891:function(e,t,r){var o,n,i,a=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},s=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},c=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.VisitedLexicalScopeNodesStackStorage=void 0;const d=r(2991),l=r(5350),u=r(5768),f=r(4482),p=r(1403),m=r(3901);let g=class extends m.ArrayStorage{constructor(e,t,r){super(e,t),this.arrayUtils=r}getLastElement(){return this.arrayUtils.getLastElement(this.getStorage())}getPenultimateElement(){var e;const t=this.getLength();return null!==(e=this.get(t-2))&&void 0!==e?e:void 0}push(e){const t=this.getLength();this.set(t,e)}pop(){const e=this.getLength();return this.delete(e-1)}};g=a([d.injectable(),c(0,d.inject(l.ServiceIdentifiers.IRandomGenerator)),c(1,d.inject(l.ServiceIdentifiers.IOptions)),c(2,d.inject(l.ServiceIdentifiers.IArrayUtils)),s("design:paramtypes",["function"==typeof(o=void 0!==p.IRandomGenerator&&p.IRandomGenerator)?o:Object,"function"==typeof(n=void 0!==f.IOptions&&f.IOptions)?n:Object,"function"==typeof(i=void 0!==u.IArrayUtils&&u.IArrayUtils)?i:Object])],g),t.VisitedLexicalScopeNodesStackStorage=g},8904:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},5127:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},8820:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},964:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},8749:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7183:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},1878:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7070:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7219:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},9416:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},9628:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2147:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},3312:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},805:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2937:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2596:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},2185:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},4364:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},3546:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},138:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},6622:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},9651:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},7207:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractTransformerNamesGroupsBuilder=void 0;const s=r(2991),c=r(5350),d=r(2569);let l=class{constructor(e){this.levelledTopologicalSorter=e}build(e){const t=Object.keys(e),r=this.buildTransformersRelationEdges(t,e);for(const[e,t]of r)this.levelledTopologicalSorter.add(e,t);return this.levelledTopologicalSorter.sortByGroups()}buildTransformersRelationEdges(e,t){const r=[];for(const o of e){const e=t[o].runAfter;if(e&&e.length)for(const n of e)void 0===t[n]?r.push([o,null]):r.push([n,o]);else r.push([o,null])}return r}};l=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.ILevelledTopologicalSorter)),i("design:paramtypes",["function"==typeof(o=void 0!==d.ILevelledTopologicalSorter&&d.ILevelledTopologicalSorter)?o:Object])],l),t.AbstractTransformerNamesGroupsBuilder=l},3087:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayUtils=void 0;const s=r(2991),c=r(5350),d=r(1403);let l=class{constructor(e){this.randomGenerator=e}createWithRange(e){const t=[];for(let r=0;rn&&(o=i,n=e),r[i]=e}return o}getLastElement(e){var t;return null!==(t=e[e.length-1])&&void 0!==t?t:void 0}rotate(e,t){if(!e.length)throw new ReferenceError("Cannot rotate empty array.");if(t<=0)return e;const r=e;let o;for(;t--;)o=r.pop(),o&&r.unshift(o);return r}shuffle(e){const t=[...e];for(let e=t.length;e;e--){const r=Math.floor(this.randomGenerator.getMathRandom()*e);[t[e-1],t[r]]=[t[r],t[e-1]]}return t}};l=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i("design:paramtypes",["function"==typeof(o=void 0!==d.IRandomGenerator&&d.IRandomGenerator)?o:Object])],l),t.ArrayUtils=l},5579:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CryptUtils=void 0;const s=r(2991),c=r(5350),d=r(1403),l=r(6934),u=r(3697),f=r(4741);let p=class{constructor(e){this.base64Alphabet=l.base64alphabet,this.randomGenerator=e}btoa(e){const t=this.base64Alphabet;let r="";e=encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,((e,t)=>String.fromCharCode(parseInt(`${f.Utils.hexadecimalPrefix}${t}`,16))));for(let o,n,i=0,a=t;e.charAt(0|i)||(a="=",i%1);r+=a.charAt(63&o>>8-i%1*8)){if(n=e.charCodeAt(i+=3/4),n>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");o=o<<8|n}return r}hideString(e,t){let r=this.randomGenerator.getRandomGenerator().string({length:t,pool:u.RandomGenerator.randomGeneratorPool}).replace(new RegExp(`[${o=e,o.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}]`,"g"),"");var o;const n=r.split("");return this.randomGenerator.getRandomGenerator().shuffle(n),r=n.join(""),[((e,t)=>{let r=-1,o=-1,n="";for(;r=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},a=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CryptUtilsSwappedAlphabet=void 0;const s=r(2991),c=r(5350),d=r(1403),l=r(4497),u=r(5579);let f=class extends u.CryptUtils{constructor(e){super(e),this.base64Alphabet=l.base64alphabetSwapped}};f=n([s.injectable(),a(0,s.inject(c.ServiceIdentifiers.IRandomGenerator)),i("design:paramtypes",["function"==typeof(o=void 0!==d.IRandomGenerator&&d.IRandomGenerator)?o:Object])],f),t.CryptUtilsSwappedAlphabet=f},1622:function(e,t,r){var o,n=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceEncoder=void 0;const i=r(2991);let a=o=class{constructor(){this.stringsCache=new Map}encode(e,t){const r=`${e}-${String(t)}`;if(this.stringsCache.has(r))return this.stringsCache.get(r);const n=new RegExp("[\\s\\S]","g");let i,a;const s=e.replace(n,(e=>t||o.forceEscapeCharactersRegExp.test(e)?(o.ASCIICharactersRegExp.test(e)?(i="\\x",a="00"):(i="\\u",a="0000"),`${i}${(a+e.charCodeAt(0).toString(16)).slice(-a.length)}`):e));return this.stringsCache.set(r,s),this.stringsCache.set(`${s}-${String(t)}`,s),s}};a.ASCIICharactersRegExp=/[\x00-\x7F]/,a.forceEscapeCharactersRegExp=/[\x00-\x1F\x7F-\x9F'"\\\s]/,a=o=n([i.injectable()],a),t.EscapeSequenceEncoder=a},7248:function(e,t,r){var o=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a};Object.defineProperty(t,"__esModule",{value:!0}),t.LevelledTopologicalSorter=void 0;const n=r(2991);let i=class{constructor(){this.graph=new Map}add(e,t=null){return null!==t?this.link(e,t):this.register(e)}sort(){const e=Array.from(this.graph.keys()),t=[],r={};for(const o of e)void 0===r[o]&&this.visit(t,r,o);return t}sortByGroups(){this.sort();const e=[];for(;this.hasNodes();){const t=this.findRootNodes();e.push(t);for(const e of t)this.delete(e)}return e}delete(e){if(this.getPrecedents(e).length)throw new Error("Unable to remove non-root node: "+e);this.graph.delete(e);const t=Array.from(this.graph.values());for(const r of t)for(let t=r.length-1;t>=0;t-=1)r[t]===e&&r.splice(t,1)}findRootNodes(){const e=Array.from(this.graph.keys()),t=[];for(const r of e)this.hasPrecedents(r)||t.push(r);return t}getPrecedents(e){const t=this.graph.get(e);if(!t)throw new Error("Unknown node: "+e);return t}hasNodes(){return this.graph.size>0}hasPrecedents(e){return this.getPrecedents(e).length>0}link(e,t){this.register(e),this.register(t);const r=this.graph.get(t);return r&&!r.includes(e)&&r.push(e),this}register(e){return this.graph.has(e)||this.graph.set(e,[]),this}visit(e,t,r){const o=t[r];if("visiting"===o)throw new Error("Detected cycle involving node: "+r);if(o)return;t[r]="visiting";const n=this.getPrecedents(r);for(const r of n)this.visit(e,t,r);t[r]="ok",e.push(r)}};i=o([n.injectable()],i),t.LevelledTopologicalSorter=i},6543:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.NumberUtils=void 0;const o=r(4741);t.NumberUtils=class{static toHex(e){const t="number"==typeof e?e.toString(16):e.toString(16)+"n";return`${o.Utils.hexadecimalPrefix}${t}`}static isCeil(e){return"number"!=typeof e||e%1==0}static isPositive(e){if(isNaN(e))throw new Error("Given value is NaN");return e>0||!(e<0)&&1/e===Number.POSITIVE_INFINITY}static isUnsafeNumber(e){if(isNaN(e))throw new Error("Given value is NaN");return eNumber.MAX_SAFE_INTEGER}static getFactors(e){if(0===e)throw new Error("Invalid number. Allowed only non-zero number");if(1===(e=Math.abs(e)))return[-e,e];const t=[],r=Math.sqrt(e),o=e%2==0?1:2;for(let n=1;n<=r;n+=o){if(e%n!=0)continue;t.push(-n,n);const r=e/n;r!==n&&t.push(-r,r)}return t.sort(((e,t)=>e-t))}}},3697:function(e,t,r){var o,n,i,a,s=this&&this.__decorate||function(e,t,r,o){var n,i=arguments.length,a=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,o);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(a=(i<3?n(a):i>3?n(t,r,a):n(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},c=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},d=this&&this.__param||function(e,t){return function(r,o){t(r,o,e)}},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RandomGenerator=void 0;const u=r(2991),f=r(5350),p=l(r(204)),m=r(3434),g=r(4482),S=r(5164),y=r(5233),N=r(6366),_=r(2691);let h=o=class{constructor(e,t){this.sourceCode=e,this.options=t}initialize(){this.randomGenerator=new m.Chance(this.getRawSeed())}getMathRandom(){return this.getRandomInteger(0,99999)/1e5}getRandomGenerator(){return this.randomGenerator}getRandomInteger(e,t){return this.getRandomGenerator().integer({min:e,max:t})}getRandomString(e,t=o.randomGeneratorPool){return this.getRandomGenerator().string({length:e,pool:t})}getInputSeed(){return this.options.seed.toString()}getRawSeed(){const e=this.getInputSeed();return(""+e).split("|").length>1?e:`${e}|${p.default(this.sourceCode.getSourceCode())}`}};h.randomGeneratorPool=`${N.alphabetString}${_.alphabetStringUppercase}`,s([y.initializable(),c("design:type","function"==typeof(n=void 0!==m.Chance&&m.Chance.Chance)?n:Object)],h.prototype,"randomGenerator",void 0),s([u.postConstruct(),c("design:type",Function),c("design:paramtypes",[]),c("design:returntype",void 0)],h.prototype,"initialize",null),h=o=s([u.injectable(),d(0,u.inject(f.ServiceIdentifiers.ISourceCode)),d(1,u.inject(f.ServiceIdentifiers.IOptions)),c("design:paramtypes",["function"==typeof(i=void 0!==S.ISourceCode&&S.ISourceCode)?i:Object,"function"==typeof(a=void 0!==g.IOptions&&g.IOptions)?a:Object])],h),t.RandomGenerator=h},2161:function(e,t,r){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.StringUtils=void 0;const n=o(r(5667));t.StringUtils=class{static escapeJsString(e){return n.default(e)}}},4741:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utils=void 0;class r{static buildVersionMessage(e,t){return e&&t?`${e}_${new Date(parseInt(t,10)).toISOString()}`:"unknown"}static extractDomainFrom(e){let t;return t=e.includes("://")||0===e.indexOf("//")?e.split("/")[2]:e.split("/")[0],t=t.split(":")[0],t}static getIdentifiersPrefixForMultipleSources(e,t){return`${e||r.baseMultipleSourcesIdentifiersPrefix}${t}`}static makeEnum(e){return Object.freeze(Object.assign({},e))}}t.Utils=r,r.baseMultipleSourcesIdentifiersPrefix="a",r.hexadecimalPrefix="0x"},6856:e=>{e.exports=JSON.parse('["$&","$\'","$*","$+","$1","$2","$3","$4","$5","$6","$7","$8","$9","$_","$`","$input","@@iterator","ABORT_ERR","ACTIVE","ACTIVE_ATTRIBUTES","ACTIVE_TEXTURE","ACTIVE_UNIFORMS","ADDITION","ALIASED_LINE_WIDTH_RANGE","ALIASED_POINT_SIZE_RANGE","ALLOW_KEYBOARD_INPUT","ALLPASS","ALPHA","ALPHA_BITS","ALT_MASK","ALWAYS","ANY_TYPE","ANY_UNORDERED_NODE_TYPE","ARRAY_BUFFER","ARRAY_BUFFER_BINDING","ATTACHED_SHADERS","ATTRIBUTE_NODE","AT_TARGET","AddSearchProvider","AnalyserNode","AnimationEvent","AnonXMLHttpRequest","ApplicationCache","ApplicationCacheErrorEvent","Array","ArrayBuffer","Attr","Audio","AudioBuffer","AudioBufferSourceNode","AudioContext","AudioDestinationNode","AudioListener","AudioNode","AudioParam","AudioProcessingEvent","AudioStreamTrack","AutocompleteErrorEvent","BACK","BAD_BOUNDARYPOINTS_ERR","BANDPASS","BLEND","BLEND_COLOR","BLEND_DST_ALPHA","BLEND_DST_RGB","BLEND_EQUATION","BLEND_EQUATION_ALPHA","BLEND_EQUATION_RGB","BLEND_SRC_ALPHA","BLEND_SRC_RGB","BLUE_BITS","BLUR","BOOL","BOOLEAN_TYPE","BOOL_VEC2","BOOL_VEC3","BOOL_VEC4","BOTH","BROWSER_DEFAULT_WEBGL","BUBBLING_PHASE","BUFFER_SIZE","BUFFER_USAGE","BYTE","BYTES_PER_ELEMENT","BarProp","BaseHref","BatteryManager","BeforeLoadEvent","BeforeUnloadEvent","BiquadFilterNode","Blob","BlobEvent","Boolean","CAPTURING_PHASE","CCW","CDATASection","CDATA_SECTION_NODE","CHANGE","CHARSET_RULE","CHECKING","CLAMP_TO_EDGE","CLICK","CLOSED","CLOSING","COLOR_ATTACHMENT0","COLOR_BUFFER_BIT","COLOR_CLEAR_VALUE","COLOR_WRITEMASK","COMMENT_NODE","COMPILE_STATUS","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_TEXTURE_FORMATS","CONNECTING","CONSTANT_ALPHA","CONSTANT_COLOR","CONSTRAINT_ERR","CONTEXT_LOST_WEBGL","CONTROL_MASK","COUNTER_STYLE_RULE","CSS","CSS2Properties","CSSCharsetRule","CSSConditionRule","CSSCounterStyleRule","CSSFontFaceRule","CSSFontFeatureValuesRule","CSSGroupingRule","CSSImportRule","CSSKeyframeRule","CSSKeyframesRule","CSSMediaRule","CSSMozDocumentRule","CSSNameSpaceRule","CSSPageRule","CSSPrimitiveValue","CSSRule","CSSRuleList","CSSStyleDeclaration","CSSStyleRule","CSSStyleSheet","CSSSupportsRule","CSSUnknownRule","CSSValue","CSSValueList","CSSVariablesDeclaration","CSSVariablesRule","CSSViewportRule","CSS_ATTR","CSS_CM","CSS_COUNTER","CSS_CUSTOM","CSS_DEG","CSS_DIMENSION","CSS_EMS","CSS_EXS","CSS_FILTER_BLUR","CSS_FILTER_BRIGHTNESS","CSS_FILTER_CONTRAST","CSS_FILTER_CUSTOM","CSS_FILTER_DROP_SHADOW","CSS_FILTER_GRAYSCALE","CSS_FILTER_HUE_ROTATE","CSS_FILTER_INVERT","CSS_FILTER_OPACITY","CSS_FILTER_REFERENCE","CSS_FILTER_SATURATE","CSS_FILTER_SEPIA","CSS_GRAD","CSS_HZ","CSS_IDENT","CSS_IN","CSS_INHERIT","CSS_KHZ","CSS_MATRIX","CSS_MATRIX3D","CSS_MM","CSS_MS","CSS_NUMBER","CSS_PC","CSS_PERCENTAGE","CSS_PERSPECTIVE","CSS_PRIMITIVE_VALUE","CSS_PT","CSS_PX","CSS_RAD","CSS_RECT","CSS_RGBCOLOR","CSS_ROTATE","CSS_ROTATE3D","CSS_ROTATEX","CSS_ROTATEY","CSS_ROTATEZ","CSS_S","CSS_SCALE","CSS_SCALE3D","CSS_SCALEX","CSS_SCALEY","CSS_SCALEZ","CSS_SKEW","CSS_SKEWX","CSS_SKEWY","CSS_STRING","CSS_TRANSLATE","CSS_TRANSLATE3D","CSS_TRANSLATEX","CSS_TRANSLATEY","CSS_TRANSLATEZ","CSS_UNKNOWN","CSS_URI","CSS_VALUE_LIST","CSS_VH","CSS_VMAX","CSS_VMIN","CSS_VW","CULL_FACE","CULL_FACE_MODE","CURRENT_PROGRAM","CURRENT_VERTEX_ATTRIB","CUSTOM","CW","CanvasGradient","CanvasPattern","CanvasRenderingContext2D","CaretPosition","ChannelMergerNode","ChannelSplitterNode","CharacterData","ClientRect","ClientRectList","Clipboard","ClipboardEvent","CloseEvent","Collator","CommandEvent","Comment","CompositionEvent","Console","Controllers","ConvolverNode","Counter","Crypto","CryptoKey","CustomEvent","DATABASE_ERR","DATA_CLONE_ERR","DATA_ERR","DBLCLICK","DECR","DECR_WRAP","DELETE_STATUS","DEPTH_ATTACHMENT","DEPTH_BITS","DEPTH_BUFFER_BIT","DEPTH_CLEAR_VALUE","DEPTH_COMPONENT","DEPTH_COMPONENT16","DEPTH_FUNC","DEPTH_RANGE","DEPTH_STENCIL","DEPTH_STENCIL_ATTACHMENT","DEPTH_TEST","DEPTH_WRITEMASK","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DISABLED","DISPATCH_REQUEST_ERR","DITHER","DOCUMENT_FRAGMENT_NODE","DOCUMENT_NODE","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_DISCONNECTED","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC","DOCUMENT_POSITION_PRECEDING","DOCUMENT_TYPE_NODE","DOMCursor","DOMError","DOMException","DOMImplementation","DOMImplementationLS","DOMMatrix","DOMMatrixReadOnly","DOMParser","DOMPoint","DOMPointReadOnly","DOMQuad","DOMRect","DOMRectList","DOMRectReadOnly","DOMRequest","DOMSTRING_SIZE_ERR","DOMSettableTokenList","DOMStringList","DOMStringMap","DOMTokenList","DOMTransactionEvent","DOM_DELTA_LINE","DOM_DELTA_PAGE","DOM_DELTA_PIXEL","DOM_INPUT_METHOD_DROP","DOM_INPUT_METHOD_HANDWRITING","DOM_INPUT_METHOD_IME","DOM_INPUT_METHOD_KEYBOARD","DOM_INPUT_METHOD_MULTIMODAL","DOM_INPUT_METHOD_OPTION","DOM_INPUT_METHOD_PASTE","DOM_INPUT_METHOD_SCRIPT","DOM_INPUT_METHOD_UNKNOWN","DOM_INPUT_METHOD_VOICE","DOM_KEY_LOCATION_JOYSTICK","DOM_KEY_LOCATION_LEFT","DOM_KEY_LOCATION_MOBILE","DOM_KEY_LOCATION_NUMPAD","DOM_KEY_LOCATION_RIGHT","DOM_KEY_LOCATION_STANDARD","DOM_VK_0","DOM_VK_1","DOM_VK_2","DOM_VK_3","DOM_VK_4","DOM_VK_5","DOM_VK_6","DOM_VK_7","DOM_VK_8","DOM_VK_9","DOM_VK_A","DOM_VK_ACCEPT","DOM_VK_ADD","DOM_VK_ALT","DOM_VK_ALTGR","DOM_VK_AMPERSAND","DOM_VK_ASTERISK","DOM_VK_AT","DOM_VK_ATTN","DOM_VK_B","DOM_VK_BACKSPACE","DOM_VK_BACK_QUOTE","DOM_VK_BACK_SLASH","DOM_VK_BACK_SPACE","DOM_VK_C","DOM_VK_CANCEL","DOM_VK_CAPS_LOCK","DOM_VK_CIRCUMFLEX","DOM_VK_CLEAR","DOM_VK_CLOSE_BRACKET","DOM_VK_CLOSE_CURLY_BRACKET","DOM_VK_CLOSE_PAREN","DOM_VK_COLON","DOM_VK_COMMA","DOM_VK_CONTEXT_MENU","DOM_VK_CONTROL","DOM_VK_CONVERT","DOM_VK_CRSEL","DOM_VK_CTRL","DOM_VK_D","DOM_VK_DECIMAL","DOM_VK_DELETE","DOM_VK_DIVIDE","DOM_VK_DOLLAR","DOM_VK_DOUBLE_QUOTE","DOM_VK_DOWN","DOM_VK_E","DOM_VK_EISU","DOM_VK_END","DOM_VK_ENTER","DOM_VK_EQUALS","DOM_VK_EREOF","DOM_VK_ESCAPE","DOM_VK_EXCLAMATION","DOM_VK_EXECUTE","DOM_VK_EXSEL","DOM_VK_F","DOM_VK_F1","DOM_VK_F10","DOM_VK_F11","DOM_VK_F12","DOM_VK_F13","DOM_VK_F14","DOM_VK_F15","DOM_VK_F16","DOM_VK_F17","DOM_VK_F18","DOM_VK_F19","DOM_VK_F2","DOM_VK_F20","DOM_VK_F21","DOM_VK_F22","DOM_VK_F23","DOM_VK_F24","DOM_VK_F25","DOM_VK_F26","DOM_VK_F27","DOM_VK_F28","DOM_VK_F29","DOM_VK_F3","DOM_VK_F30","DOM_VK_F31","DOM_VK_F32","DOM_VK_F33","DOM_VK_F34","DOM_VK_F35","DOM_VK_F36","DOM_VK_F4","DOM_VK_F5","DOM_VK_F6","DOM_VK_F7","DOM_VK_F8","DOM_VK_F9","DOM_VK_FINAL","DOM_VK_FRONT","DOM_VK_G","DOM_VK_GREATER_THAN","DOM_VK_H","DOM_VK_HANGUL","DOM_VK_HANJA","DOM_VK_HASH","DOM_VK_HELP","DOM_VK_HK_TOGGLE","DOM_VK_HOME","DOM_VK_HYPHEN_MINUS","DOM_VK_I","DOM_VK_INSERT","DOM_VK_J","DOM_VK_JUNJA","DOM_VK_K","DOM_VK_KANA","DOM_VK_KANJI","DOM_VK_L","DOM_VK_LEFT","DOM_VK_LEFT_TAB","DOM_VK_LESS_THAN","DOM_VK_M","DOM_VK_META","DOM_VK_MODECHANGE","DOM_VK_MULTIPLY","DOM_VK_N","DOM_VK_NONCONVERT","DOM_VK_NUMPAD0","DOM_VK_NUMPAD1","DOM_VK_NUMPAD2","DOM_VK_NUMPAD3","DOM_VK_NUMPAD4","DOM_VK_NUMPAD5","DOM_VK_NUMPAD6","DOM_VK_NUMPAD7","DOM_VK_NUMPAD8","DOM_VK_NUMPAD9","DOM_VK_NUM_LOCK","DOM_VK_O","DOM_VK_OEM_1","DOM_VK_OEM_102","DOM_VK_OEM_2","DOM_VK_OEM_3","DOM_VK_OEM_4","DOM_VK_OEM_5","DOM_VK_OEM_6","DOM_VK_OEM_7","DOM_VK_OEM_8","DOM_VK_OEM_COMMA","DOM_VK_OEM_MINUS","DOM_VK_OEM_PERIOD","DOM_VK_OEM_PLUS","DOM_VK_OPEN_BRACKET","DOM_VK_OPEN_CURLY_BRACKET","DOM_VK_OPEN_PAREN","DOM_VK_P","DOM_VK_PA1","DOM_VK_PAGEDOWN","DOM_VK_PAGEUP","DOM_VK_PAGE_DOWN","DOM_VK_PAGE_UP","DOM_VK_PAUSE","DOM_VK_PERCENT","DOM_VK_PERIOD","DOM_VK_PIPE","DOM_VK_PLAY","DOM_VK_PLUS","DOM_VK_PRINT","DOM_VK_PRINTSCREEN","DOM_VK_PROCESSKEY","DOM_VK_PROPERITES","DOM_VK_Q","DOM_VK_QUESTION_MARK","DOM_VK_QUOTE","DOM_VK_R","DOM_VK_REDO","DOM_VK_RETURN","DOM_VK_RIGHT","DOM_VK_S","DOM_VK_SCROLL_LOCK","DOM_VK_SELECT","DOM_VK_SEMICOLON","DOM_VK_SEPARATOR","DOM_VK_SHIFT","DOM_VK_SLASH","DOM_VK_SLEEP","DOM_VK_SPACE","DOM_VK_SUBTRACT","DOM_VK_T","DOM_VK_TAB","DOM_VK_TILDE","DOM_VK_U","DOM_VK_UNDERSCORE","DOM_VK_UNDO","DOM_VK_UNICODE","DOM_VK_UP","DOM_VK_V","DOM_VK_VOLUME_DOWN","DOM_VK_VOLUME_MUTE","DOM_VK_VOLUME_UP","DOM_VK_W","DOM_VK_WIN","DOM_VK_WINDOW","DOM_VK_WIN_ICO_00","DOM_VK_WIN_ICO_CLEAR","DOM_VK_WIN_ICO_HELP","DOM_VK_WIN_OEM_ATTN","DOM_VK_WIN_OEM_AUTO","DOM_VK_WIN_OEM_BACKTAB","DOM_VK_WIN_OEM_CLEAR","DOM_VK_WIN_OEM_COPY","DOM_VK_WIN_OEM_CUSEL","DOM_VK_WIN_OEM_ENLW","DOM_VK_WIN_OEM_FINISH","DOM_VK_WIN_OEM_FJ_JISHO","DOM_VK_WIN_OEM_FJ_LOYA","DOM_VK_WIN_OEM_FJ_MASSHOU","DOM_VK_WIN_OEM_FJ_ROYA","DOM_VK_WIN_OEM_FJ_TOUROKU","DOM_VK_WIN_OEM_JUMP","DOM_VK_WIN_OEM_PA1","DOM_VK_WIN_OEM_PA2","DOM_VK_WIN_OEM_PA3","DOM_VK_WIN_OEM_RESET","DOM_VK_WIN_OEM_WSCTRL","DOM_VK_X","DOM_VK_XF86XK_ADD_FAVORITE","DOM_VK_XF86XK_APPLICATION_LEFT","DOM_VK_XF86XK_APPLICATION_RIGHT","DOM_VK_XF86XK_AUDIO_CYCLE_TRACK","DOM_VK_XF86XK_AUDIO_FORWARD","DOM_VK_XF86XK_AUDIO_LOWER_VOLUME","DOM_VK_XF86XK_AUDIO_MEDIA","DOM_VK_XF86XK_AUDIO_MUTE","DOM_VK_XF86XK_AUDIO_NEXT","DOM_VK_XF86XK_AUDIO_PAUSE","DOM_VK_XF86XK_AUDIO_PLAY","DOM_VK_XF86XK_AUDIO_PREV","DOM_VK_XF86XK_AUDIO_RAISE_VOLUME","DOM_VK_XF86XK_AUDIO_RANDOM_PLAY","DOM_VK_XF86XK_AUDIO_RECORD","DOM_VK_XF86XK_AUDIO_REPEAT","DOM_VK_XF86XK_AUDIO_REWIND","DOM_VK_XF86XK_AUDIO_STOP","DOM_VK_XF86XK_AWAY","DOM_VK_XF86XK_BACK","DOM_VK_XF86XK_BACK_FORWARD","DOM_VK_XF86XK_BATTERY","DOM_VK_XF86XK_BLUE","DOM_VK_XF86XK_BLUETOOTH","DOM_VK_XF86XK_BOOK","DOM_VK_XF86XK_BRIGHTNESS_ADJUST","DOM_VK_XF86XK_CALCULATOR","DOM_VK_XF86XK_CALENDAR","DOM_VK_XF86XK_CD","DOM_VK_XF86XK_CLOSE","DOM_VK_XF86XK_COMMUNITY","DOM_VK_XF86XK_CONTRAST_ADJUST","DOM_VK_XF86XK_COPY","DOM_VK_XF86XK_CUT","DOM_VK_XF86XK_CYCLE_ANGLE","DOM_VK_XF86XK_DISPLAY","DOM_VK_XF86XK_DOCUMENTS","DOM_VK_XF86XK_DOS","DOM_VK_XF86XK_EJECT","DOM_VK_XF86XK_EXCEL","DOM_VK_XF86XK_EXPLORER","DOM_VK_XF86XK_FAVORITES","DOM_VK_XF86XK_FINANCE","DOM_VK_XF86XK_FORWARD","DOM_VK_XF86XK_FRAME_BACK","DOM_VK_XF86XK_FRAME_FORWARD","DOM_VK_XF86XK_GAME","DOM_VK_XF86XK_GO","DOM_VK_XF86XK_GREEN","DOM_VK_XF86XK_HIBERNATE","DOM_VK_XF86XK_HISTORY","DOM_VK_XF86XK_HOME_PAGE","DOM_VK_XF86XK_HOT_LINKS","DOM_VK_XF86XK_I_TOUCH","DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN","DOM_VK_XF86XK_KBD_BRIGHTNESS_UP","DOM_VK_XF86XK_KBD_LIGHT_ON_OFF","DOM_VK_XF86XK_LAUNCH0","DOM_VK_XF86XK_LAUNCH1","DOM_VK_XF86XK_LAUNCH2","DOM_VK_XF86XK_LAUNCH3","DOM_VK_XF86XK_LAUNCH4","DOM_VK_XF86XK_LAUNCH5","DOM_VK_XF86XK_LAUNCH6","DOM_VK_XF86XK_LAUNCH7","DOM_VK_XF86XK_LAUNCH8","DOM_VK_XF86XK_LAUNCH9","DOM_VK_XF86XK_LAUNCH_A","DOM_VK_XF86XK_LAUNCH_B","DOM_VK_XF86XK_LAUNCH_C","DOM_VK_XF86XK_LAUNCH_D","DOM_VK_XF86XK_LAUNCH_E","DOM_VK_XF86XK_LAUNCH_F","DOM_VK_XF86XK_LIGHT_BULB","DOM_VK_XF86XK_LOG_OFF","DOM_VK_XF86XK_MAIL","DOM_VK_XF86XK_MAIL_FORWARD","DOM_VK_XF86XK_MARKET","DOM_VK_XF86XK_MEETING","DOM_VK_XF86XK_MEMO","DOM_VK_XF86XK_MENU_KB","DOM_VK_XF86XK_MENU_PB","DOM_VK_XF86XK_MESSENGER","DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN","DOM_VK_XF86XK_MON_BRIGHTNESS_UP","DOM_VK_XF86XK_MUSIC","DOM_VK_XF86XK_MY_COMPUTER","DOM_VK_XF86XK_MY_SITES","DOM_VK_XF86XK_NEW","DOM_VK_XF86XK_NEWS","DOM_VK_XF86XK_OFFICE_HOME","DOM_VK_XF86XK_OPEN","DOM_VK_XF86XK_OPEN_URL","DOM_VK_XF86XK_OPTION","DOM_VK_XF86XK_PASTE","DOM_VK_XF86XK_PHONE","DOM_VK_XF86XK_PICTURES","DOM_VK_XF86XK_POWER_DOWN","DOM_VK_XF86XK_POWER_OFF","DOM_VK_XF86XK_RED","DOM_VK_XF86XK_REFRESH","DOM_VK_XF86XK_RELOAD","DOM_VK_XF86XK_REPLY","DOM_VK_XF86XK_ROCKER_DOWN","DOM_VK_XF86XK_ROCKER_ENTER","DOM_VK_XF86XK_ROCKER_UP","DOM_VK_XF86XK_ROTATE_WINDOWS","DOM_VK_XF86XK_ROTATION_KB","DOM_VK_XF86XK_ROTATION_PB","DOM_VK_XF86XK_SAVE","DOM_VK_XF86XK_SCREEN_SAVER","DOM_VK_XF86XK_SCROLL_CLICK","DOM_VK_XF86XK_SCROLL_DOWN","DOM_VK_XF86XK_SCROLL_UP","DOM_VK_XF86XK_SEARCH","DOM_VK_XF86XK_SEND","DOM_VK_XF86XK_SHOP","DOM_VK_XF86XK_SPELL","DOM_VK_XF86XK_SPLIT_SCREEN","DOM_VK_XF86XK_STANDBY","DOM_VK_XF86XK_START","DOM_VK_XF86XK_STOP","DOM_VK_XF86XK_SUBTITLE","DOM_VK_XF86XK_SUPPORT","DOM_VK_XF86XK_SUSPEND","DOM_VK_XF86XK_TASK_PANE","DOM_VK_XF86XK_TERMINAL","DOM_VK_XF86XK_TIME","DOM_VK_XF86XK_TOOLS","DOM_VK_XF86XK_TOP_MENU","DOM_VK_XF86XK_TO_DO_LIST","DOM_VK_XF86XK_TRAVEL","DOM_VK_XF86XK_USER1KB","DOM_VK_XF86XK_USER2KB","DOM_VK_XF86XK_USER_PB","DOM_VK_XF86XK_UWB","DOM_VK_XF86XK_VENDOR_HOME","DOM_VK_XF86XK_VIDEO","DOM_VK_XF86XK_VIEW","DOM_VK_XF86XK_WAKE_UP","DOM_VK_XF86XK_WEB_CAM","DOM_VK_XF86XK_WHEEL_BUTTON","DOM_VK_XF86XK_WLAN","DOM_VK_XF86XK_WORD","DOM_VK_XF86XK_WWW","DOM_VK_XF86XK_XFER","DOM_VK_XF86XK_YELLOW","DOM_VK_XF86XK_ZOOM_IN","DOM_VK_XF86XK_ZOOM_OUT","DOM_VK_Y","DOM_VK_Z","DOM_VK_ZOOM","DONE","DONT_CARE","DOWNLOADING","DRAGDROP","DST_ALPHA","DST_COLOR","DYNAMIC_DRAW","DataChannel","DataTransfer","DataTransferItem","DataTransferItemList","DataView","Date","DateTimeFormat","DelayNode","DesktopNotification","DesktopNotificationCenter","DeviceLightEvent","DeviceMotionEvent","DeviceOrientationEvent","DeviceProximityEvent","DeviceStorage","DeviceStorageChangeEvent","Document","DocumentFragment","DocumentType","DragEvent","DynamicsCompressorNode","E","ELEMENT_ARRAY_BUFFER","ELEMENT_ARRAY_BUFFER_BINDING","ELEMENT_NODE","EMPTY","ENCODING_ERR","ENDED","END_TO_END","END_TO_START","ENTITY_NODE","ENTITY_REFERENCE_NODE","EPSILON","EQUAL","EQUALPOWER","ERROR","EXPONENTIAL_DISTANCE","Element","ElementQuery","Entity","EntityReference","Error","ErrorEvent","EvalError","Event","EventException","EventSource","EventTarget","External","FASTEST","FIDOSDK","FILTER_ACCEPT","FILTER_INTERRUPT","FILTER_REJECT","FILTER_SKIP","FINISHED_STATE","FIRST_ORDERED_NODE_TYPE","FLOAT","FLOAT_MAT2","FLOAT_MAT3","FLOAT_MAT4","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FOCUS","FONT_FACE_RULE","FONT_FEATURE_VALUES_RULE","FRAGMENT_SHADER","FRAGMENT_SHADER_DERIVATIVE_HINT_OES","FRAMEBUFFER","FRAMEBUFFER_ATTACHMENT_OBJECT_NAME","FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE","FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE","FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL","FRAMEBUFFER_BINDING","FRAMEBUFFER_COMPLETE","FRAMEBUFFER_INCOMPLETE_ATTACHMENT","FRAMEBUFFER_INCOMPLETE_DIMENSIONS","FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT","FRAMEBUFFER_UNSUPPORTED","FRONT","FRONT_AND_BACK","FRONT_FACE","FUNC_ADD","FUNC_REVERSE_SUBTRACT","FUNC_SUBTRACT","Feed","FeedEntry","File","FileError","FileList","FileReader","FindInPage","Float32Array","Float64Array","FocusEvent","FontFace","FormData","Function","GENERATE_MIPMAP_HINT","GEQUAL","GREATER","GREEN_BITS","GainNode","Gamepad","GamepadButton","GamepadEvent","GestureEvent","HAVE_CURRENT_DATA","HAVE_ENOUGH_DATA","HAVE_FUTURE_DATA","HAVE_METADATA","HAVE_NOTHING","HEADERS_RECEIVED","HIDDEN","HIERARCHY_REQUEST_ERR","HIGHPASS","HIGHSHELF","HIGH_FLOAT","HIGH_INT","HORIZONTAL","HORIZONTAL_AXIS","HRTF","HTMLAllCollection","HTMLAnchorElement","HTMLAppletElement","HTMLAreaElement","HTMLAudioElement","HTMLBRElement","HTMLBaseElement","HTMLBaseFontElement","HTMLBlockquoteElement","HTMLBodyElement","HTMLButtonElement","HTMLCanvasElement","HTMLCollection","HTMLCommandElement","HTMLContentElement","HTMLDListElement","HTMLDataElement","HTMLDataListElement","HTMLDetailsElement","HTMLDialogElement","HTMLDirectoryElement","HTMLDivElement","HTMLDocument","HTMLElement","HTMLEmbedElement","HTMLFieldSetElement","HTMLFontElement","HTMLFormControlsCollection","HTMLFormElement","HTMLFrameElement","HTMLFrameSetElement","HTMLHRElement","HTMLHeadElement","HTMLHeadingElement","HTMLHtmlElement","HTMLIFrameElement","HTMLImageElement","HTMLInputElement","HTMLIsIndexElement","HTMLKeygenElement","HTMLLIElement","HTMLLabelElement","HTMLLegendElement","HTMLLinkElement","HTMLMapElement","HTMLMarqueeElement","HTMLMediaElement","HTMLMenuElement","HTMLMenuItemElement","HTMLMetaElement","HTMLMeterElement","HTMLModElement","HTMLOListElement","HTMLObjectElement","HTMLOptGroupElement","HTMLOptionElement","HTMLOptionsCollection","HTMLOutputElement","HTMLParagraphElement","HTMLParamElement","HTMLPictureElement","HTMLPreElement","HTMLProgressElement","HTMLPropertiesCollection","HTMLQuoteElement","HTMLScriptElement","HTMLSelectElement","HTMLShadowElement","HTMLSourceElement","HTMLSpanElement","HTMLStyleElement","HTMLTableCaptionElement","HTMLTableCellElement","HTMLTableColElement","HTMLTableElement","HTMLTableRowElement","HTMLTableSectionElement","HTMLTemplateElement","HTMLTextAreaElement","HTMLTimeElement","HTMLTitleElement","HTMLTrackElement","HTMLUListElement","HTMLUnknownElement","HTMLVideoElement","HashChangeEvent","Headers","History","ICE_CHECKING","ICE_CLOSED","ICE_COMPLETED","ICE_CONNECTED","ICE_FAILED","ICE_GATHERING","ICE_WAITING","IDBCursor","IDBCursorWithValue","IDBDatabase","IDBDatabaseException","IDBFactory","IDBFileHandle","IDBFileRequest","IDBIndex","IDBKeyRange","IDBMutableFile","IDBObjectStore","IDBOpenDBRequest","IDBRequest","IDBTransaction","IDBVersionChangeEvent","IDLE","IMPLEMENTATION_COLOR_READ_FORMAT","IMPLEMENTATION_COLOR_READ_TYPE","IMPORT_RULE","INCR","INCR_WRAP","INDEX_SIZE_ERR","INT","INT_VEC2","INT_VEC3","INT_VEC4","INUSE_ATTRIBUTE_ERR","INVALID_ACCESS_ERR","INVALID_CHARACTER_ERR","INVALID_ENUM","INVALID_EXPRESSION_ERR","INVALID_FRAMEBUFFER_OPERATION","INVALID_MODIFICATION_ERR","INVALID_NODE_TYPE_ERR","INVALID_OPERATION","INVALID_STATE_ERR","INVALID_VALUE","INVERSE_DISTANCE","INVERT","IceCandidate","Image","ImageBitmap","ImageData","Infinity","InputEvent","InputMethodContext","InstallTrigger","Int16Array","Int32Array","Int8Array","Intent","InternalError","Intl","IsSearchProviderInstalled","Iterator","JSON","KEEP","KEYDOWN","KEYFRAMES_RULE","KEYFRAME_RULE","KEYPRESS","KEYUP","KeyEvent","KeyboardEvent","LENGTHADJUST_SPACING","LENGTHADJUST_SPACINGANDGLYPHS","LENGTHADJUST_UNKNOWN","LEQUAL","LESS","LINEAR","LINEAR_DISTANCE","LINEAR_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","LINES","LINE_LOOP","LINE_STRIP","LINE_WIDTH","LINK_STATUS","LIVE","LN10","LN2","LOADED","LOADING","LOG10E","LOG2E","LOWPASS","LOWSHELF","LOW_FLOAT","LOW_INT","LSException","LSParserFilter","LUMINANCE","LUMINANCE_ALPHA","LocalMediaStream","Location","MAX_COMBINED_TEXTURE_IMAGE_UNITS","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_FRAGMENT_UNIFORM_VECTORS","MAX_RENDERBUFFER_SIZE","MAX_SAFE_INTEGER","MAX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_MAX_ANISOTROPY_EXT","MAX_TEXTURE_SIZE","MAX_VALUE","MAX_VARYING_VECTORS","MAX_VERTEX_ATTRIBS","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_VERTEX_UNIFORM_VECTORS","MAX_VIEWPORT_DIMS","MEDIA_ERR_ABORTED","MEDIA_ERR_DECODE","MEDIA_ERR_ENCRYPTED","MEDIA_ERR_NETWORK","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_KEYERR_CLIENT","MEDIA_KEYERR_DOMAIN","MEDIA_KEYERR_HARDWARECHANGE","MEDIA_KEYERR_OUTPUT","MEDIA_KEYERR_SERVICE","MEDIA_KEYERR_UNKNOWN","MEDIA_RULE","MEDIUM_FLOAT","MEDIUM_INT","META_MASK","MIN_SAFE_INTEGER","MIN_VALUE","MIRRORED_REPEAT","MODE_ASYNCHRONOUS","MODE_SYNCHRONOUS","MODIFICATION","MOUSEDOWN","MOUSEDRAG","MOUSEMOVE","MOUSEOUT","MOUSEOVER","MOUSEUP","MOZ_KEYFRAMES_RULE","MOZ_KEYFRAME_RULE","MOZ_SOURCE_CURSOR","MOZ_SOURCE_ERASER","MOZ_SOURCE_KEYBOARD","MOZ_SOURCE_MOUSE","MOZ_SOURCE_PEN","MOZ_SOURCE_TOUCH","MOZ_SOURCE_UNKNOWN","MSGESTURE_FLAG_BEGIN","MSGESTURE_FLAG_CANCEL","MSGESTURE_FLAG_END","MSGESTURE_FLAG_INERTIA","MSGESTURE_FLAG_NONE","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_PEN","MSPOINTER_TYPE_TOUCH","MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE","MS_ASYNC_CALLBACK_STATUS_CANCEL","MS_ASYNC_CALLBACK_STATUS_CHOOSEANY","MS_ASYNC_CALLBACK_STATUS_ERROR","MS_ASYNC_CALLBACK_STATUS_JOIN","MS_ASYNC_OP_STATUS_CANCELED","MS_ASYNC_OP_STATUS_ERROR","MS_ASYNC_OP_STATUS_SUCCESS","MS_MANIPULATION_STATE_ACTIVE","MS_MANIPULATION_STATE_CANCELLED","MS_MANIPULATION_STATE_COMMITTED","MS_MANIPULATION_STATE_DRAGGING","MS_MANIPULATION_STATE_INERTIA","MS_MANIPULATION_STATE_PRESELECT","MS_MANIPULATION_STATE_SELECTING","MS_MANIPULATION_STATE_STOPPED","MS_MEDIA_ERR_ENCRYPTED","MS_MEDIA_KEYERR_CLIENT","MS_MEDIA_KEYERR_DOMAIN","MS_MEDIA_KEYERR_HARDWARECHANGE","MS_MEDIA_KEYERR_OUTPUT","MS_MEDIA_KEYERR_SERVICE","MS_MEDIA_KEYERR_UNKNOWN","Map","Math","MediaController","MediaDevices","MediaElementAudioSourceNode","MediaEncryptedEvent","MediaError","MediaKeyError","MediaKeyEvent","MediaKeyMessageEvent","MediaKeyNeededEvent","MediaKeySession","MediaKeyStatusMap","MediaKeySystemAccess","MediaKeys","MediaList","MediaQueryList","MediaQueryListEvent","MediaRecorder","MediaSource","MediaStream","MediaStreamAudioDestinationNode","MediaStreamAudioSourceNode","MediaStreamEvent","MediaStreamTrack","MediaStreamTrackEvent","MessageChannel","MessageEvent","MessagePort","Methods","MimeType","MimeTypeArray","MouseEvent","MouseScrollEvent","MozAnimation","MozAnimationDelay","MozAnimationDirection","MozAnimationDuration","MozAnimationFillMode","MozAnimationIterationCount","MozAnimationName","MozAnimationPlayState","MozAnimationTimingFunction","MozAppearance","MozBackfaceVisibility","MozBinding","MozBorderBottomColors","MozBorderEnd","MozBorderEndColor","MozBorderEndStyle","MozBorderEndWidth","MozBorderImage","MozBorderLeftColors","MozBorderRightColors","MozBorderStart","MozBorderStartColor","MozBorderStartStyle","MozBorderStartWidth","MozBorderTopColors","MozBoxAlign","MozBoxDirection","MozBoxFlex","MozBoxOrdinalGroup","MozBoxOrient","MozBoxPack","MozBoxSizing","MozCSSKeyframeRule","MozCSSKeyframesRule","MozColumnCount","MozColumnFill","MozColumnGap","MozColumnRule","MozColumnRuleColor","MozColumnRuleStyle","MozColumnRuleWidth","MozColumnWidth","MozColumns","MozContactChangeEvent","MozFloatEdge","MozFontFeatureSettings","MozFontLanguageOverride","MozForceBrokenImageIcon","MozHyphens","MozImageRegion","MozMarginEnd","MozMarginStart","MozMmsEvent","MozMmsMessage","MozMobileMessageThread","MozOSXFontSmoothing","MozOrient","MozOutlineRadius","MozOutlineRadiusBottomleft","MozOutlineRadiusBottomright","MozOutlineRadiusTopleft","MozOutlineRadiusTopright","MozPaddingEnd","MozPaddingStart","MozPerspective","MozPerspectiveOrigin","MozPowerManager","MozSettingsEvent","MozSmsEvent","MozSmsMessage","MozStackSizing","MozTabSize","MozTextAlignLast","MozTextDecorationColor","MozTextDecorationLine","MozTextDecorationStyle","MozTextSizeAdjust","MozTransform","MozTransformOrigin","MozTransformStyle","MozTransition","MozTransitionDelay","MozTransitionDuration","MozTransitionProperty","MozTransitionTimingFunction","MozUserFocus","MozUserInput","MozUserModify","MozUserSelect","MozWindowDragging","MozWindowShadow","MutationEvent","MutationObserver","MutationRecord","NAMESPACE_ERR","NAMESPACE_RULE","NEAREST","NEAREST_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","NEGATIVE_INFINITY","NETWORK_EMPTY","NETWORK_ERR","NETWORK_IDLE","NETWORK_LOADED","NETWORK_LOADING","NETWORK_NO_SOURCE","NEVER","NEW","NEXT","NEXT_NO_DUPLICATE","NICEST","NODE_AFTER","NODE_BEFORE","NODE_BEFORE_AND_AFTER","NODE_INSIDE","NONE","NON_TRANSIENT_ERR","NOTATION_NODE","NOTCH","NOTEQUAL","NOT_ALLOWED_ERR","NOT_FOUND_ERR","NOT_READABLE_ERR","NOT_SUPPORTED_ERR","NO_DATA_ALLOWED_ERR","NO_ERR","NO_ERROR","NO_MODIFICATION_ALLOWED_ERR","NUMBER_TYPE","NUM_COMPRESSED_TEXTURE_FORMATS","NaN","NamedNodeMap","Navigator","NearbyLinks","NetworkInformation","Node","NodeFilter","NodeIterator","NodeList","Notation","Notification","NotifyPaintEvent","Number","NumberFormat","OBSOLETE","ONE","ONE_MINUS_CONSTANT_ALPHA","ONE_MINUS_CONSTANT_COLOR","ONE_MINUS_DST_ALPHA","ONE_MINUS_DST_COLOR","ONE_MINUS_SRC_ALPHA","ONE_MINUS_SRC_COLOR","OPEN","OPENED","OPENING","ORDERED_NODE_ITERATOR_TYPE","ORDERED_NODE_SNAPSHOT_TYPE","OUT_OF_MEMORY","Object","OfflineAudioCompletionEvent","OfflineAudioContext","OfflineResourceList","Option","OscillatorNode","OverflowEvent","PACK_ALIGNMENT","PAGE_RULE","PARSE_ERR","PATHSEG_ARC_ABS","PATHSEG_ARC_REL","PATHSEG_CLOSEPATH","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","PATHSEG_LINETO_ABS","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_REL","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_MOVETO_ABS","PATHSEG_MOVETO_REL","PATHSEG_UNKNOWN","PATH_EXISTS_ERR","PEAKING","PERMISSION_DENIED","PERSISTENT","PI","PLAYING_STATE","POINTS","POLYGON_OFFSET_FACTOR","POLYGON_OFFSET_FILL","POLYGON_OFFSET_UNITS","POSITION_UNAVAILABLE","POSITIVE_INFINITY","PREV","PREV_NO_DUPLICATE","PROCESSING_INSTRUCTION_NODE","PageChangeEvent","PageTransitionEvent","PaintRequest","PaintRequestList","PannerNode","Path2D","Performance","PerformanceEntry","PerformanceMark","PerformanceMeasure","PerformanceNavigation","PerformanceResourceTiming","PerformanceTiming","PeriodicWave","Plugin","PluginArray","PopStateEvent","PopupBlockedEvent","ProcessingInstruction","ProgressEvent","Promise","PropertyNodeList","Proxy","PushManager","PushSubscription","Q","QUOTA_ERR","QUOTA_EXCEEDED_ERR","QueryInterface","READ_ONLY","READ_ONLY_ERR","READ_WRITE","RED_BITS","REMOVAL","RENDERBUFFER","RENDERBUFFER_ALPHA_SIZE","RENDERBUFFER_BINDING","RENDERBUFFER_BLUE_SIZE","RENDERBUFFER_DEPTH_SIZE","RENDERBUFFER_GREEN_SIZE","RENDERBUFFER_HEIGHT","RENDERBUFFER_INTERNAL_FORMAT","RENDERBUFFER_RED_SIZE","RENDERBUFFER_STENCIL_SIZE","RENDERBUFFER_WIDTH","RENDERER","RENDERING_INTENT_ABSOLUTE_COLORIMETRIC","RENDERING_INTENT_AUTO","RENDERING_INTENT_PERCEPTUAL","RENDERING_INTENT_RELATIVE_COLORIMETRIC","RENDERING_INTENT_SATURATION","RENDERING_INTENT_UNKNOWN","REPEAT","REPLACE","RGB","RGB565","RGB5_A1","RGBA","RGBA4","RGBColor","ROTATION_CLOCKWISE","ROTATION_COUNTERCLOCKWISE","RTCDataChannelEvent","RTCIceCandidate","RTCPeerConnectionIceEvent","RTCRtpReceiver","RTCRtpSender","RTCSessionDescription","RTCStatsReport","RadioNodeList","Range","RangeError","RangeException","RecordErrorEvent","Rect","ReferenceError","RegExp","Request","Response","SAMPLER_2D","SAMPLER_CUBE","SAMPLES","SAMPLE_ALPHA_TO_COVERAGE","SAMPLE_BUFFERS","SAMPLE_COVERAGE","SAMPLE_COVERAGE_INVERT","SAMPLE_COVERAGE_VALUE","SAWTOOTH","SCHEDULED_STATE","SCISSOR_BOX","SCISSOR_TEST","SCROLL_PAGE_DOWN","SCROLL_PAGE_UP","SDP_ANSWER","SDP_OFFER","SDP_PRANSWER","SECURITY_ERR","SELECT","SERIALIZE_ERR","SEVERITY_ERROR","SEVERITY_FATAL_ERROR","SEVERITY_WARNING","SHADER_COMPILER","SHADER_TYPE","SHADING_LANGUAGE_VERSION","SHIFT_MASK","SHORT","SHOWING","SHOW_ALL","SHOW_ATTRIBUTE","SHOW_CDATA_SECTION","SHOW_COMMENT","SHOW_DOCUMENT","SHOW_DOCUMENT_FRAGMENT","SHOW_DOCUMENT_TYPE","SHOW_ELEMENT","SHOW_ENTITY","SHOW_ENTITY_REFERENCE","SHOW_NOTATION","SHOW_PROCESSING_INSTRUCTION","SHOW_TEXT","SINE","SOUNDFIELD","SQLException","SQRT1_2","SQRT2","SQUARE","SRC_ALPHA","SRC_ALPHA_SATURATE","SRC_COLOR","START_TO_END","START_TO_START","STATIC_DRAW","STENCIL_ATTACHMENT","STENCIL_BACK_FAIL","STENCIL_BACK_FUNC","STENCIL_BACK_PASS_DEPTH_FAIL","STENCIL_BACK_PASS_DEPTH_PASS","STENCIL_BACK_REF","STENCIL_BACK_VALUE_MASK","STENCIL_BACK_WRITEMASK","STENCIL_BITS","STENCIL_BUFFER_BIT","STENCIL_CLEAR_VALUE","STENCIL_FAIL","STENCIL_FUNC","STENCIL_INDEX","STENCIL_INDEX8","STENCIL_PASS_DEPTH_FAIL","STENCIL_PASS_DEPTH_PASS","STENCIL_REF","STENCIL_TEST","STENCIL_VALUE_MASK","STENCIL_WRITEMASK","STREAM_DRAW","STRING_TYPE","STYLE_RULE","SUBPIXEL_BITS","SUPPORTS_RULE","SVGAElement","SVGAltGlyphDefElement","SVGAltGlyphElement","SVGAltGlyphItemElement","SVGAngle","SVGAnimateColorElement","SVGAnimateElement","SVGAnimateMotionElement","SVGAnimateTransformElement","SVGAnimatedAngle","SVGAnimatedBoolean","SVGAnimatedEnumeration","SVGAnimatedInteger","SVGAnimatedLength","SVGAnimatedLengthList","SVGAnimatedNumber","SVGAnimatedNumberList","SVGAnimatedPreserveAspectRatio","SVGAnimatedRect","SVGAnimatedString","SVGAnimatedTransformList","SVGAnimationElement","SVGCircleElement","SVGClipPathElement","SVGColor","SVGComponentTransferFunctionElement","SVGCursorElement","SVGDefsElement","SVGDescElement","SVGDiscardElement","SVGDocument","SVGElement","SVGElementInstance","SVGElementInstanceList","SVGEllipseElement","SVGException","SVGFEBlendElement","SVGFEColorMatrixElement","SVGFEComponentTransferElement","SVGFECompositeElement","SVGFEConvolveMatrixElement","SVGFEDiffuseLightingElement","SVGFEDisplacementMapElement","SVGFEDistantLightElement","SVGFEDropShadowElement","SVGFEFloodElement","SVGFEFuncAElement","SVGFEFuncBElement","SVGFEFuncGElement","SVGFEFuncRElement","SVGFEGaussianBlurElement","SVGFEImageElement","SVGFEMergeElement","SVGFEMergeNodeElement","SVGFEMorphologyElement","SVGFEOffsetElement","SVGFEPointLightElement","SVGFESpecularLightingElement","SVGFESpotLightElement","SVGFETileElement","SVGFETurbulenceElement","SVGFilterElement","SVGFontElement","SVGFontFaceElement","SVGFontFaceFormatElement","SVGFontFaceNameElement","SVGFontFaceSrcElement","SVGFontFaceUriElement","SVGForeignObjectElement","SVGGElement","SVGGeometryElement","SVGGlyphElement","SVGGlyphRefElement","SVGGradientElement","SVGGraphicsElement","SVGHKernElement","SVGImageElement","SVGLength","SVGLengthList","SVGLineElement","SVGLinearGradientElement","SVGMPathElement","SVGMarkerElement","SVGMaskElement","SVGMatrix","SVGMetadataElement","SVGMissingGlyphElement","SVGNumber","SVGNumberList","SVGPaint","SVGPathElement","SVGPathSeg","SVGPathSegArcAbs","SVGPathSegArcRel","SVGPathSegClosePath","SVGPathSegCurvetoCubicAbs","SVGPathSegCurvetoCubicRel","SVGPathSegCurvetoCubicSmoothAbs","SVGPathSegCurvetoCubicSmoothRel","SVGPathSegCurvetoQuadraticAbs","SVGPathSegCurvetoQuadraticRel","SVGPathSegCurvetoQuadraticSmoothAbs","SVGPathSegCurvetoQuadraticSmoothRel","SVGPathSegLinetoAbs","SVGPathSegLinetoHorizontalAbs","SVGPathSegLinetoHorizontalRel","SVGPathSegLinetoRel","SVGPathSegLinetoVerticalAbs","SVGPathSegLinetoVerticalRel","SVGPathSegList","SVGPathSegMovetoAbs","SVGPathSegMovetoRel","SVGPatternElement","SVGPoint","SVGPointList","SVGPolygonElement","SVGPolylineElement","SVGPreserveAspectRatio","SVGRadialGradientElement","SVGRect","SVGRectElement","SVGRenderingIntent","SVGSVGElement","SVGScriptElement","SVGSetElement","SVGStopElement","SVGStringList","SVGStyleElement","SVGSwitchElement","SVGSymbolElement","SVGTRefElement","SVGTSpanElement","SVGTextContentElement","SVGTextElement","SVGTextPathElement","SVGTextPositioningElement","SVGTitleElement","SVGTransform","SVGTransformList","SVGUnitTypes","SVGUseElement","SVGVKernElement","SVGViewElement","SVGViewSpec","SVGZoomAndPan","SVGZoomEvent","SVG_ANGLETYPE_DEG","SVG_ANGLETYPE_GRAD","SVG_ANGLETYPE_RAD","SVG_ANGLETYPE_UNKNOWN","SVG_ANGLETYPE_UNSPECIFIED","SVG_CHANNEL_A","SVG_CHANNEL_B","SVG_CHANNEL_G","SVG_CHANNEL_R","SVG_CHANNEL_UNKNOWN","SVG_COLORTYPE_CURRENTCOLOR","SVG_COLORTYPE_RGBCOLOR","SVG_COLORTYPE_RGBCOLOR_ICCCOLOR","SVG_COLORTYPE_UNKNOWN","SVG_EDGEMODE_DUPLICATE","SVG_EDGEMODE_NONE","SVG_EDGEMODE_UNKNOWN","SVG_EDGEMODE_WRAP","SVG_FEBLEND_MODE_COLOR","SVG_FEBLEND_MODE_COLOR_BURN","SVG_FEBLEND_MODE_COLOR_DODGE","SVG_FEBLEND_MODE_DARKEN","SVG_FEBLEND_MODE_DIFFERENCE","SVG_FEBLEND_MODE_EXCLUSION","SVG_FEBLEND_MODE_HARD_LIGHT","SVG_FEBLEND_MODE_HUE","SVG_FEBLEND_MODE_LIGHTEN","SVG_FEBLEND_MODE_LUMINOSITY","SVG_FEBLEND_MODE_MULTIPLY","SVG_FEBLEND_MODE_NORMAL","SVG_FEBLEND_MODE_OVERLAY","SVG_FEBLEND_MODE_SATURATION","SVG_FEBLEND_MODE_SCREEN","SVG_FEBLEND_MODE_SOFT_LIGHT","SVG_FEBLEND_MODE_UNKNOWN","SVG_FECOLORMATRIX_TYPE_HUEROTATE","SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA","SVG_FECOLORMATRIX_TYPE_MATRIX","SVG_FECOLORMATRIX_TYPE_SATURATE","SVG_FECOLORMATRIX_TYPE_UNKNOWN","SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE","SVG_FECOMPONENTTRANSFER_TYPE_GAMMA","SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY","SVG_FECOMPONENTTRANSFER_TYPE_LINEAR","SVG_FECOMPONENTTRANSFER_TYPE_TABLE","SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_ARITHMETIC","SVG_FECOMPOSITE_OPERATOR_ATOP","SVG_FECOMPOSITE_OPERATOR_IN","SVG_FECOMPOSITE_OPERATOR_OUT","SVG_FECOMPOSITE_OPERATOR_OVER","SVG_FECOMPOSITE_OPERATOR_UNKNOWN","SVG_FECOMPOSITE_OPERATOR_XOR","SVG_INVALID_VALUE_ERR","SVG_LENGTHTYPE_CM","SVG_LENGTHTYPE_EMS","SVG_LENGTHTYPE_EXS","SVG_LENGTHTYPE_IN","SVG_LENGTHTYPE_MM","SVG_LENGTHTYPE_NUMBER","SVG_LENGTHTYPE_PC","SVG_LENGTHTYPE_PERCENTAGE","SVG_LENGTHTYPE_PT","SVG_LENGTHTYPE_PX","SVG_LENGTHTYPE_UNKNOWN","SVG_MARKERUNITS_STROKEWIDTH","SVG_MARKERUNITS_UNKNOWN","SVG_MARKERUNITS_USERSPACEONUSE","SVG_MARKER_ORIENT_ANGLE","SVG_MARKER_ORIENT_AUTO","SVG_MARKER_ORIENT_UNKNOWN","SVG_MASKTYPE_ALPHA","SVG_MASKTYPE_LUMINANCE","SVG_MATRIX_NOT_INVERTABLE","SVG_MEETORSLICE_MEET","SVG_MEETORSLICE_SLICE","SVG_MEETORSLICE_UNKNOWN","SVG_MORPHOLOGY_OPERATOR_DILATE","SVG_MORPHOLOGY_OPERATOR_ERODE","SVG_MORPHOLOGY_OPERATOR_UNKNOWN","SVG_PAINTTYPE_CURRENTCOLOR","SVG_PAINTTYPE_NONE","SVG_PAINTTYPE_RGBCOLOR","SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR","SVG_PAINTTYPE_UNKNOWN","SVG_PAINTTYPE_URI","SVG_PAINTTYPE_URI_CURRENTCOLOR","SVG_PAINTTYPE_URI_NONE","SVG_PAINTTYPE_URI_RGBCOLOR","SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR","SVG_PRESERVEASPECTRATIO_NONE","SVG_PRESERVEASPECTRATIO_UNKNOWN","SVG_PRESERVEASPECTRATIO_XMAXYMAX","SVG_PRESERVEASPECTRATIO_XMAXYMID","SVG_PRESERVEASPECTRATIO_XMAXYMIN","SVG_PRESERVEASPECTRATIO_XMIDYMAX","SVG_PRESERVEASPECTRATIO_XMIDYMID","SVG_PRESERVEASPECTRATIO_XMIDYMIN","SVG_PRESERVEASPECTRATIO_XMINYMAX","SVG_PRESERVEASPECTRATIO_XMINYMID","SVG_PRESERVEASPECTRATIO_XMINYMIN","SVG_SPREADMETHOD_PAD","SVG_SPREADMETHOD_REFLECT","SVG_SPREADMETHOD_REPEAT","SVG_SPREADMETHOD_UNKNOWN","SVG_STITCHTYPE_NOSTITCH","SVG_STITCHTYPE_STITCH","SVG_STITCHTYPE_UNKNOWN","SVG_TRANSFORM_MATRIX","SVG_TRANSFORM_ROTATE","SVG_TRANSFORM_SCALE","SVG_TRANSFORM_SKEWX","SVG_TRANSFORM_SKEWY","SVG_TRANSFORM_TRANSLATE","SVG_TRANSFORM_UNKNOWN","SVG_TURBULENCE_TYPE_FRACTALNOISE","SVG_TURBULENCE_TYPE_TURBULENCE","SVG_TURBULENCE_TYPE_UNKNOWN","SVG_UNIT_TYPE_OBJECTBOUNDINGBOX","SVG_UNIT_TYPE_UNKNOWN","SVG_UNIT_TYPE_USERSPACEONUSE","SVG_WRONG_TYPE_ERR","SVG_ZOOMANDPAN_DISABLE","SVG_ZOOMANDPAN_MAGNIFY","SVG_ZOOMANDPAN_UNKNOWN","SYNTAX_ERR","SavedPages","Screen","ScreenOrientation","Script","ScriptProcessorNode","ScrollAreaEvent","SecurityPolicyViolationEvent","Selection","ServiceWorker","ServiceWorkerContainer","ServiceWorkerRegistration","SessionDescription","Set","ShadowRoot","SharedWorker","SimpleGestureEvent","SpeechSynthesisEvent","SpeechSynthesisUtterance","StopIteration","Storage","StorageEvent","String","StyleSheet","StyleSheetList","SubtleCrypto","Symbol","SyntaxError","TEMPORARY","TEXTPATH_METHODTYPE_ALIGN","TEXTPATH_METHODTYPE_STRETCH","TEXTPATH_METHODTYPE_UNKNOWN","TEXTPATH_SPACINGTYPE_AUTO","TEXTPATH_SPACINGTYPE_EXACT","TEXTPATH_SPACINGTYPE_UNKNOWN","TEXTURE","TEXTURE0","TEXTURE1","TEXTURE10","TEXTURE11","TEXTURE12","TEXTURE13","TEXTURE14","TEXTURE15","TEXTURE16","TEXTURE17","TEXTURE18","TEXTURE19","TEXTURE2","TEXTURE20","TEXTURE21","TEXTURE22","TEXTURE23","TEXTURE24","TEXTURE25","TEXTURE26","TEXTURE27","TEXTURE28","TEXTURE29","TEXTURE3","TEXTURE30","TEXTURE31","TEXTURE4","TEXTURE5","TEXTURE6","TEXTURE7","TEXTURE8","TEXTURE9","TEXTURE_2D","TEXTURE_BINDING_2D","TEXTURE_BINDING_CUBE_MAP","TEXTURE_CUBE_MAP","TEXTURE_CUBE_MAP_NEGATIVE_X","TEXTURE_CUBE_MAP_NEGATIVE_Y","TEXTURE_CUBE_MAP_NEGATIVE_Z","TEXTURE_CUBE_MAP_POSITIVE_X","TEXTURE_CUBE_MAP_POSITIVE_Y","TEXTURE_CUBE_MAP_POSITIVE_Z","TEXTURE_MAG_FILTER","TEXTURE_MAX_ANISOTROPY_EXT","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXT_NODE","TIMEOUT","TIMEOUT_ERR","TOO_LARGE_ERR","TRANSACTION_INACTIVE_ERR","TRIANGLE","TRIANGLES","TRIANGLE_FAN","TRIANGLE_STRIP","TYPE_BACK_FORWARD","TYPE_ERR","TYPE_MISMATCH_ERR","TYPE_NAVIGATE","TYPE_RELOAD","TYPE_RESERVED","Text","TextDecoder","TextEncoder","TextEvent","TextMetrics","TextTrack","TextTrackCue","TextTrackCueList","TextTrackList","TimeEvent","TimeRanges","Touch","TouchEvent","TouchList","TrackEvent","TransitionEvent","TreeWalker","TypeError","UIEvent","UNCACHED","UNKNOWN_ERR","UNKNOWN_RULE","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","UNORDERED_NODE_ITERATOR_TYPE","UNORDERED_NODE_SNAPSHOT_TYPE","UNPACK_ALIGNMENT","UNPACK_COLORSPACE_CONVERSION_WEBGL","UNPACK_FLIP_Y_WEBGL","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNSCHEDULED_STATE","UNSENT","UNSIGNED_BYTE","UNSIGNED_INT","UNSIGNED_SHORT","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","UNSPECIFIED_EVENT_TYPE_ERR","UPDATEREADY","URIError","URL","URLSearchParams","URLUnencoded","URL_MISMATCH_ERR","UTC","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","UserMessageHandler","UserMessageHandlersNamespace","UserProximityEvent","VALIDATE_STATUS","VALIDATION_ERR","VARIABLES_RULE","VENDOR","VERSION","VERSION_CHANGE","VERSION_ERR","VERTEX_ATTRIB_ARRAY_BUFFER_BINDING","VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE","VERTEX_ATTRIB_ARRAY_ENABLED","VERTEX_ATTRIB_ARRAY_NORMALIZED","VERTEX_ATTRIB_ARRAY_POINTER","VERTEX_ATTRIB_ARRAY_SIZE","VERTEX_ATTRIB_ARRAY_STRIDE","VERTEX_ATTRIB_ARRAY_TYPE","VERTEX_SHADER","VERTICAL","VERTICAL_AXIS","VER_ERR","VIEWPORT","VIEWPORT_RULE","VTTCue","VTTRegion","ValidityState","VideoStreamTrack","WEBKIT_FILTER_RULE","WEBKIT_KEYFRAMES_RULE","WEBKIT_KEYFRAME_RULE","WEBKIT_REGION_RULE","WRONG_DOCUMENT_ERR","WaveShaperNode","WeakMap","WeakSet","WebGLActiveInfo","WebGLBuffer","WebGLContextEvent","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLRenderingContext","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArray","WebKitAnimationEvent","WebKitBlobBuilder","WebKitCSSFilterRule","WebKitCSSFilterValue","WebKitCSSKeyframeRule","WebKitCSSKeyframesRule","WebKitCSSMatrix","WebKitCSSRegionRule","WebKitCSSTransformValue","WebKitDataCue","WebKitGamepad","WebKitMediaKeyError","WebKitMediaKeyMessageEvent","WebKitMediaKeySession","WebKitMediaKeys","WebKitMediaSource","WebKitMutationObserver","WebKitNamespace","WebKitPlaybackTargetAvailabilityEvent","WebKitPoint","WebKitShadowRoot","WebKitSourceBuffer","WebKitSourceBufferList","WebKitTransitionEvent","WebSocket","WheelEvent","Window","Worker","XMLDocument","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestException","XMLHttpRequestProgressEvent","XMLHttpRequestUpload","XMLSerializer","XMLStylesheetProcessingInstruction","XPathEvaluator","XPathException","XPathExpression","XPathNSResolver","XPathResult","XSLTProcessor","ZERO","_XD0M_","_YD0M_","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","__opera","__proto__","_browserjsran","a","aLink","abbr","abort","abs","absolute","acceleration","accelerationIncludingGravity","accelerator","accept","acceptCharset","acceptNode","accessKey","accessKeyLabel","accuracy","acos","acosh","action","actionURL","active","activeCues","activeElement","activeSourceBuffers","activeSourceCount","activeTexture","add","addBehavior","addCandidate","addColorStop","addCue","addElement","addEventListener","addFilter","addFromString","addFromUri","addIceCandidate","addImport","addListener","addNamed","addPageRule","addPath","addPointer","addRange","addRegion","addRule","addSearchEngine","addSourceBuffer","addStream","addTextTrack","addTrack","addWakeLockListener","addedNodes","additionalName","additiveSymbols","addons","adoptNode","adr","advance","alert","algorithm","align","align-content","align-items","align-self","alignContent","alignItems","alignSelf","alignmentBaseline","alinkColor","all","allSettled","allowFullscreen","allowedDirections","alpha","alt","altGraphKey","altHtml","altKey","altLeft","altitude","altitudeAccuracy","amplitude","ancestorOrigins","anchor","anchorNode","anchorOffset","anchors","angle","animVal","animate","animatedInstanceRoot","animatedNormalizedPathSegList","animatedPathSegList","animatedPoints","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","animationDelay","animationDirection","animationDuration","animationFillMode","animationIterationCount","animationName","animationPlayState","animationStartTime","animationTimingFunction","animationsPaused","anniversary","any","app","appCodeName","appMinorVersion","appName","appNotifications","appVersion","append","appendBuffer","appendChild","appendData","appendItem","appendMedium","appendNamed","appendRule","appendStream","appendWindowEnd","appendWindowStart","applets","applicationCache","apply","applyElement","arc","arcTo","archive","areas","arguments","arrayBuffer","asin","asinh","assert","assign","async","atEnd","atan","atan2","atanh","atob","attachEvent","attachShader","attachShadow","attachments","attack","attrChange","attrName","attributeFilter","attributeName","attributeNamespace","attributeOldValue","attributes","audioTracks","autoIncrement","autobuffer","autocapitalize","autocomplete","autocorrect","autofocus","autoplay","availHeight","availLeft","availTop","availWidth","availability","available","aversion","axes","axis","azimuth","b","back","backface-visibility","backfaceVisibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","backgroundAttachment","backgroundBlendMode","backgroundClip","backgroundColor","backgroundImage","backgroundOrigin","backgroundPosition","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundSize","badInput","balance","baseFrequencyX","baseFrequencyY","baseNode","baseOffset","baseURI","baseVal","baselineShift","battery","bday","beginElement","beginElementAt","beginPath","behavior","behaviorCookie","behaviorPart","behaviorUrns","beta","bezierCurveTo","bgColor","bgProperties","bias","big","binaryType","bind","bindAttribLocation","bindBuffer","bindFramebuffer","bindRenderbuffer","bindTexture","blendColor","blendEquation","blendEquationSeparate","blendFunc","blendFuncSeparate","blink","blob","blockDirection","blue","blur","body","bodyUsed","bold","bookmarks","booleanValue","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","borderBottom","borderBottomColor","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStyle","borderBottomWidth","borderCollapse","borderColor","borderColorDark","borderColorLight","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","borderLeft","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRadius","borderRight","borderRightColor","borderRightStyle","borderRightWidth","borderSpacing","borderStyle","borderTop","borderTopColor","borderTopLeftRadius","borderTopRightRadius","borderTopStyle","borderTopWidth","borderWidth","bottom","bottomMargin","bound","boundElements","boundingClientRect","boundingHeight","boundingLeft","boundingTop","boundingWidth","bounds","box-decoration-break","box-shadow","box-sizing","boxDecorationBreak","boxShadow","boxSizing","breakAfter","breakBefore","breakInside","browserLanguage","btoa","bubbles","buffer","bufferData","bufferDepth","bufferSize","bufferSubData","buffered","bufferedAmount","buildID","buildNumber","button","buttonID","buttons","byteLength","byteOffset","c","call","caller","canBeFormatted","canBeMounted","canBeShared","canHaveChildren","canHaveHTML","canPlayType","cancel","cancelAnimationFrame","cancelBubble","cancelScheduledValues","cancelable","candidate","canvas","caption","caption-side","captionSide","capture","captureEvents","captureStackTrace","caretPositionFromPoint","caretRangeFromPoint","cast","catch","category","cbrt","cd","ceil","cellIndex","cellPadding","cellSpacing","cells","ch","chOff","chain","challenge","changedTouches","channel","channelCount","channelCountMode","channelInterpretation","char","charAt","charCode","charCodeAt","charIndex","characterData","characterDataOldValue","characterSet","charging","chargingTime","charset","checkEnclosure","checkFramebufferStatus","checkIntersection","checkValidity","checked","childElementCount","childList","childNodes","children","chrome","ciphertext","cite","classList","className","classid","clear","clearAttributes","clearColor","clearData","clearDepth","clearImmediate","clearInterval","clearMarks","clearMeasures","clearParameters","clearRect","clearResourceTimings","clearShadow","clearStencil","clearTimeout","clearWatch","click","clickCount","clientHeight","clientInformation","clientLeft","clientRect","clientRects","clientTop","clientWidth","clientX","clientY","clip","clip-path","clip-rule","clipBottom","clipLeft","clipPath","clipPathUnits","clipRight","clipRule","clipTop","clipboardData","clone","cloneContents","cloneNode","cloneRange","close","closePath","closed","closest","clz","clz32","cmp","code","codeBase","codePointAt","codeType","colSpan","collapse","collapseToEnd","collapseToStart","collapsed","collect","colno","color","color-interpolation","color-interpolation-filters","colorDepth","colorInterpolation","colorInterpolationFilters","colorMask","colorType","cols","columnCount","columnFill","columnGap","columnNumber","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","columnWidth","columns","command","commitPreferences","commonAncestorContainer","compact","compareBoundaryPoints","compareDocumentPosition","compareEndPoints","compareNode","comparePoint","compatMode","compatible","compile","compileShader","complete","componentFromPoint","compositionEndOffset","compositionStartOffset","compressedTexImage2D","compressedTexSubImage2D","concat","conditionText","coneInnerAngle","coneOuterAngle","coneOuterGain","confirm","confirmComposition","confirmSiteSpecificTrackingException","confirmWebWideTrackingException","connect","connectEnd","connectStart","connected","connection","connectionSpeed","console","consolidate","constrictionActive","constructor","contactID","contains","containsNode","content","contentDocument","contentEditable","contentOverflow","contentScriptType","contentStyleType","contentType","contentWindow","context","contextMenu","contextmenu","continue","continuous","control","controller","controls","convertToSpecifiedUnits","cookie","cookieEnabled","coords","copyFromChannel","copyTexImage2D","copyTexSubImage2D","copyToChannel","copyWithin","correspondingElement","correspondingUseElement","cos","cosh","count","counter-increment","counter-reset","counterIncrement","counterReset","cpuClass","cpuSleepAllowed","create","createAnalyser","createAnswer","createAttribute","createAttributeNS","createBiquadFilter","createBuffer","createBufferSource","createCDATASection","createCSSStyleSheet","createCaption","createChannelMerger","createChannelSplitter","createComment","createContextualFragment","createControlRange","createConvolver","createDTMFSender","createDataChannel","createDelay","createDelayNode","createDocument","createDocumentFragment","createDocumentType","createDynamicsCompressor","createElement","createElementNS","createEntityReference","createEvent","createEventObject","createExpression","createFramebuffer","createFunction","createGain","createGainNode","createHTMLDocument","createImageBitmap","createImageData","createIndex","createJavaScriptNode","createLinearGradient","createMediaElementSource","createMediaKeys","createMediaStreamDestination","createMediaStreamSource","createMutableFile","createNSResolver","createNodeIterator","createNotification","createObjectStore","createObjectURL","createOffer","createOscillator","createPanner","createPattern","createPeriodicWave","createPopup","createProcessingInstruction","createProgram","createRadialGradient","createRange","createRangeCollection","createRenderbuffer","createSVGAngle","createSVGLength","createSVGMatrix","createSVGNumber","createSVGPathSegArcAbs","createSVGPathSegArcRel","createSVGPathSegClosePath","createSVGPathSegCurvetoCubicAbs","createSVGPathSegCurvetoCubicRel","createSVGPathSegCurvetoCubicSmoothAbs","createSVGPathSegCurvetoCubicSmoothRel","createSVGPathSegCurvetoQuadraticAbs","createSVGPathSegCurvetoQuadraticRel","createSVGPathSegCurvetoQuadraticSmoothAbs","createSVGPathSegCurvetoQuadraticSmoothRel","createSVGPathSegLinetoAbs","createSVGPathSegLinetoHorizontalAbs","createSVGPathSegLinetoHorizontalRel","createSVGPathSegLinetoRel","createSVGPathSegLinetoVerticalAbs","createSVGPathSegLinetoVerticalRel","createSVGPathSegMovetoAbs","createSVGPathSegMovetoRel","createSVGPoint","createSVGRect","createSVGTransform","createSVGTransformFromMatrix","createScriptProcessor","createSession","createShader","createShadowRoot","createStereoPanner","createStyleSheet","createTBody","createTFoot","createTHead","createTextNode","createTextRange","createTexture","createTouch","createTouchList","createTreeWalker","createWaveShaper","creationTime","crossOrigin","crypto","csi","cssFloat","cssRules","cssText","cssValueType","ctrlKey","ctrlLeft","cues","cullFace","currentNode","currentPage","currentScale","currentScript","currentSrc","currentState","currentStyle","currentTarget","currentTime","currentTranslate","currentView","cursor","curve","customError","cx","cy","d","data","dataFld","dataFormatAs","dataPageSize","dataSrc","dataTransfer","database","dataset","dateTime","db","debug","debuggerEnabled","declare","decode","decodeAudioData","decodeURI","decodeURIComponent","decodingInfo","decrypt","default","defaultCharset","defaultChecked","defaultMuted","defaultPlaybackRate","defaultPrevented","defaultSelected","defaultStatus","defaultURL","defaultValue","defaultView","defaultstatus","defer","defineMagicFunction","defineMagicVariable","defineProperties","defineProperty","delayTime","delete","deleteBuffer","deleteCaption","deleteCell","deleteContents","deleteData","deleteDatabase","deleteFramebuffer","deleteFromDocument","deleteIndex","deleteMedium","deleteObjectStore","deleteProgram","deleteRenderbuffer","deleteRow","deleteRule","deleteShader","deleteTFoot","deleteTHead","deleteTexture","deliverChangeRecords","delivery","deliveryInfo","deliveryStatus","deliveryTimestamp","delta","deltaMode","deltaX","deltaY","deltaZ","depthFunc","depthMask","depthRange","deriveBits","deriveKey","description","deselectAll","designMode","destination","destinationURL","detach","detachEvent","detachShader","detail","detune","devicePixelRatio","deviceXDPI","deviceYDPI","diffuseConstant","digest","dimensions","dir","dirName","direction","dirxml","disable","disableVertexAttribArray","disabled","dischargingTime","disconnect","dispatchEvent","display","distanceModel","divisor","djsapi","djsproxy","doImport","doNotTrack","doScroll","doctype","document","documentElement","documentMode","documentURI","dolphin","dolphinGameCenter","dolphininfo","dolphinmeta","domComplete","domContentLoadedEventEnd","domContentLoadedEventStart","domInteractive","domLoading","domain","domainLookupEnd","domainLookupStart","dominant-baseline","dominantBaseline","done","dopplerFactor","download","dragDrop","draggable","drawArrays","drawArraysInstancedANGLE","drawCustomFocusRing","drawElements","drawElementsInstancedANGLE","drawFocusIfNeeded","drawImage","drawImageFromRect","drawSystemFocusRing","drawingBufferHeight","drawingBufferWidth","dropEffect","droppedVideoFrames","dropzone","dump","duplicate","duration","dvname","dvnum","dx","dy","dynsrc","e","edgeMode","effectAllowed","elapsedTime","elementFromPoint","elements","elevation","ellipse","email","embeds","empty","empty-cells","emptyCells","enable","enableBackground","enableStyleSheetsForSet","enableVertexAttribArray","enabled","enabledPlugin","encode","encodeURI","encodeURIComponent","encoding","encrypt","enctype","end","endContainer","endElement","endElementAt","endOfStream","endOffset","endTime","ended","endsWith","entities","entries","entryType","enumerate","enumerateEditable","error","errorCode","escape","eval","evaluate","event","eventPhase","every","exception","exec","execCommand","execCommandShowHelp","execScript","exitFullscreen","exitPointerLock","exp","expand","expandEntityReferences","expando","expansion","expiryDate","explicitOriginalTarget","expm1","exponent","exponentialRampToValueAtTime","exportKey","extend","extensions","extentNode","extentOffset","external","externalResourcesRequired","extractContents","extractable","f","face","factoryReset","fallback","familyName","farthestViewportElement","fastSeek","fatal","fetch","fetchStart","fftSize","fgColor","fileCreatedDate","fileHandle","fileModifiedDate","fileName","fileSize","fileUpdatedDate","filename","files","fill","fill-opacity","fill-rule","fillOpacity","fillRect","fillRule","fillStyle","fillText","filter","filterResX","filterResY","filterUnits","filters","finally","find","findIndex","findRule","findText","finish","fireEvent","firstChild","firstElementChild","firstPage","fixed","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","flexBasis","flexDirection","flexFlow","flexGrow","flexShrink","flexWrap","flipX","flipY","float","flood-color","flood-opacity","floodColor","floodOpacity","floor","flush","focus","focusNode","focusOffset","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","fontFamily","fontFeatureSettings","fontKerning","fontLanguageOverride","fontSize","fontSizeAdjust","fontSmoothingEnabled","fontStretch","fontStyle","fontSynthesis","fontVariant","fontVariantAlternates","fontVariantCaps","fontVariantEastAsian","fontVariantLigatures","fontVariantNumeric","fontVariantPosition","fontWeight","fontcolor","fonts","fontsize","for","forEach","forceRedraw","form","formAction","formEnctype","formMethod","formNoValidate","formTarget","format","formatToParts","forms","forward","fr","frame","frameBorder","frameElement","frameSpacing","framebufferRenderbuffer","framebufferTexture2D","frames","freeSpace","freeze","frequency","frequencyBinCount","from","fromCharCode","fromCodePoint","fromElement","frontFace","fround","fullScreen","fullscreenElement","fullscreenEnabled","fx","fy","gain","gamepad","gamma","genderIdentity","generateKey","generateMipmap","generateRequest","geolocation","gestureObject","get","getActiveAttrib","getActiveUniform","getAdjacentText","getAll","getAllResponseHeaders","getAsFile","getAsString","getAttachedShaders","getAttribLocation","getAttribute","getAttributeNS","getAttributeNode","getAttributeNodeNS","getAudioTracks","getBBox","getBattery","getBlob","getBookmark","getBoundingClientRect","getBufferParameter","getByteFrequencyData","getByteTimeDomainData","getCSSCanvasContext","getCTM","getCandidateWindowClientRect","getChannelData","getCharNumAtPosition","getClientRect","getClientRects","getCompositionAlternatives","getComputedStyle","getComputedTextLength","getConfiguration","getContext","getContextAttributes","getCounterValue","getCueAsHTML","getCueById","getCurrentPosition","getCurrentTime","getData","getDatabaseNames","getDate","getDay","getDefaultComputedStyle","getDestinationInsertionPoints","getDistributedNodes","getEditable","getElementById","getElementsByClassName","getElementsByName","getElementsByTagName","getElementsByTagNameNS","getEnclosureList","getEndPositionOfChar","getEntries","getEntriesByName","getEntriesByType","getError","getExtension","getExtentOfChar","getFeature","getFile","getFloat32","getFloat64","getFloatFrequencyData","getFloatTimeDomainData","getFloatValue","getFramebufferAttachmentParameter","getFrequencyResponse","getFullYear","getGamepads","getHours","getImageData","getInt16","getInt32","getInt8","getIntersectionList","getItem","getItems","getKey","getLineDash","getLocalStreams","getMarks","getMatchedCSSRules","getMeasures","getMetadata","getMilliseconds","getMinutes","getModifierState","getMonth","getNamedItem","getNamedItemNS","getNotifier","getNumberOfChars","getOverrideHistoryNavigationMode","getOverrideStyle","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","getParameter","getPathSegAtLength","getPointAtLength","getPreference","getPreferenceDefault","getPresentationAttribute","getPreventDefault","getProgramInfoLog","getProgramParameter","getPropertyCSSValue","getPropertyPriority","getPropertyShorthand","getPropertyValue","getPrototypeOf","getRGBColorValue","getRandomValues","getRangeAt","getReceivers","getRectValue","getRegistration","getRemoteStreams","getRenderbufferParameter","getResponseHeader","getRoot","getRotationOfChar","getSVGDocument","getScreenCTM","getSeconds","getSelection","getSenders","getShaderInfoLog","getShaderParameter","getShaderPrecisionFormat","getShaderSource","getSimpleDuration","getSiteIcons","getSources","getSpeculativeParserUrls","getStartPositionOfChar","getStartTime","getStats","getStorageUpdates","getStreamById","getStringValue","getSubStringLength","getSubscription","getSupportedExtensions","getTexParameter","getTime","getTimezoneOffset","getTotalLength","getTrackById","getTracks","getTransformToElement","getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","getUint16","getUint32","getUint8","getUniform","getUniformLocation","getUserMedia","getValues","getVarDate","getVariableValue","getVertexAttrib","getVertexAttribOffset","getVideoPlaybackQuality","getVideoTracks","getWakeLockState","getYear","givenName","global","globalAlpha","globalCompositeOperation","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","go","gradientTransform","gradientUnits","grammars","green","group","groupCollapsed","groupEnd","hardwareConcurrency","has","hasAttribute","hasAttributeNS","hasAttributes","hasChildNodes","hasComposition","hasExtension","hasFeature","hasFocus","hasLayout","hasOwnProperty","hash","head","headers","heading","height","hidden","hide","hideFocus","high","hint","history","honorificPrefix","honorificSuffix","horizontalOverflow","host","hostname","href","hreflang","hspace","html5TagCheckInerface","htmlFor","htmlText","httpEquiv","hwTimestamp","hypot","iccId","iceConnectionState","iceGatheringState","icon","id","identifier","identity","ignoreBOM","ignoreCase","image-orientation","image-rendering","imageOrientation","imageRendering","images","ime-mode","imeMode","implementation","importKey","importNode","importStylesheet","imports","impp","imul","in1","in2","inBandMetadataTrackDispatchType","inRange","includes","incremental","indeterminate","index","indexNames","indexOf","indexedDB","inertiaDestinationX","inertiaDestinationY","info","init","initAnimationEvent","initBeforeLoadEvent","initClipboardEvent","initCloseEvent","initCommandEvent","initCompositionEvent","initCustomEvent","initData","initDeviceMotionEvent","initDeviceOrientationEvent","initDragEvent","initErrorEvent","initEvent","initFocusEvent","initGestureEvent","initHashChangeEvent","initKeyEvent","initKeyboardEvent","initMSManipulationEvent","initMessageEvent","initMouseEvent","initMouseScrollEvent","initMouseWheelEvent","initMutationEvent","initNSMouseEvent","initOverflowEvent","initPageEvent","initPageTransitionEvent","initPointerEvent","initPopStateEvent","initProgressEvent","initScrollAreaEvent","initSimpleGestureEvent","initStorageEvent","initTextEvent","initTimeEvent","initTouchEvent","initTransitionEvent","initUIEvent","initWebKitAnimationEvent","initWebKitTransitionEvent","initWebKitWheelEvent","initWheelEvent","initialTime","initialize","initiatorType","inner","innerHTML","innerHeight","innerText","innerWidth","input","inputBuffer","inputEncoding","inputMethod","insertAdjacentElement","insertAdjacentHTML","insertAdjacentText","insertBefore","insertCell","insertData","insertItemBefore","insertNode","insertRow","insertRule","instanceRoot","intercept","interimResults","internalSubset","intersectsNode","interval","invalidIteratorState","inverse","invertSelf","is","is2D","isAlternate","isArray","isBingCurrentSearchDefault","isBuffer","isCandidateWindowVisible","isChar","isCollapsed","isComposing","isContentEditable","isContentHandlerRegistered","isContextLost","isDefaultNamespace","isDisabled","isEnabled","isEqual","isEqualNode","isExtensible","isFinite","isFramebuffer","isFrozen","isGenerator","isId","isInjected","isInteger","isMap","isMultiLine","isNaN","isOpen","isPointInFill","isPointInPath","isPointInRange","isPointInStroke","isPrefAlternate","isPrimary","isProgram","isPropertyImplicit","isProtocolHandlerRegistered","isPrototypeOf","isRenderbuffer","isSafeInteger","isSameNode","isSealed","isShader","isSupported","isTextEdit","isTexture","isTrusted","isTypeSupported","isView","isolation","italics","item","itemId","itemProp","itemRef","itemScope","itemType","itemValue","iterateNext","iterator","javaEnabled","jobTitle","join","json","justify-content","justifyContent","k1","k2","k3","k4","kernelMatrix","kernelUnitLengthX","kernelUnitLengthY","kerning","key","keyCode","keyFor","keyIdentifier","keyLightEnabled","keyLocation","keyPath","keySystem","keyText","keyUsage","keys","keytype","kind","knee","label","labels","lang","language","languages","largeArcFlag","lastChild","lastElementChild","lastEventId","lastIndex","lastIndexOf","lastMatch","lastMessageSubject","lastMessageType","lastModified","lastModifiedDate","lastPage","lastParen","lastState","lastStyleSheetSet","latitude","layerX","layerY","layoutFlow","layoutGrid","layoutGridChar","layoutGridLine","layoutGridMode","layoutGridType","lbound","left","leftContext","leftMargin","length","lengthAdjust","lengthComputable","letter-spacing","letterSpacing","level","lighting-color","lightingColor","limitingConeAngle","line","line-height","lineAlign","lineBreak","lineCap","lineDashOffset","lineHeight","lineJoin","lineNumber","lineTo","lineWidth","linearRampToValueAtTime","lineno","link","linkColor","linkProgram","links","list","list-style","list-style-image","list-style-position","list-style-type","listStyle","listStyleImage","listStylePosition","listStyleType","listener","load","loadEventEnd","loadEventStart","loadTimes","loaded","localDescription","localName","localStorage","locale","localeCompare","location","locationbar","lock","lockedFile","log","log10","log1p","log2","logicalXDPI","logicalYDPI","longDesc","longitude","lookupNamespaceURI","lookupPrefix","loop","loopEnd","loopStart","looping","low","lower","lowerBound","lowerOpen","lowsrc","m11","m12","m13","m14","m21","m22","m23","m24","m31","m32","m33","m34","m41","m42","m43","m44","manifest","map","mapping","margin","margin-bottom","margin-left","margin-right","margin-top","marginBottom","marginHeight","marginLeft","marginRight","marginTop","marginWidth","mark","marker","marker-end","marker-mid","marker-offset","marker-start","markerEnd","markerHeight","markerMid","markerOffset","markerStart","markerUnits","markerWidth","marks","mask","mask-type","maskContentUnits","maskType","maskUnits","match","matchMedia","matchMedium","matches","matrix","matrixTransform","max","max-height","max-width","maxAlternatives","maxChannelCount","maxConnectionsPerServer","maxDecibels","maxDistance","maxHeight","maxLength","maxTouchPoints","maxValue","maxWidth","measure","measureText","media","mediaCapabilities","mediaDevices","mediaElement","mediaGroup","mediaKeys","mediaText","meetOrSlice","memory","menubar","mergeAttributes","message","messageClass","messageHandlers","metaKey","method","mimeType","mimeTypes","min","min-height","min-width","minDecibels","minHeight","minValue","minWidth","miterLimit","mix-blend-mode","mixBlendMode","mode","modify","mount","move","moveBy","moveEnd","moveFirst","moveFocusDown","moveFocusLeft","moveFocusRight","moveFocusUp","moveNext","moveRow","moveStart","moveTo","moveToBookmark","moveToElementText","moveToPoint","mozAdd","mozAnimationStartTime","mozAnon","mozApps","mozAudioCaptured","mozAudioChannelType","mozAutoplayEnabled","mozCancelAnimationFrame","mozCancelFullScreen","mozCancelRequestAnimationFrame","mozCaptureStream","mozCaptureStreamUntilEnded","mozClearDataAt","mozContact","mozContacts","mozCreateFileHandle","mozCurrentTransform","mozCurrentTransformInverse","mozCursor","mozDash","mozDashOffset","mozDecodedFrames","mozExitPointerLock","mozFillRule","mozFragmentEnd","mozFrameDelay","mozFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozGetAll","mozGetAllKeys","mozGetAsFile","mozGetDataAt","mozGetMetadata","mozGetUserMedia","mozHasAudio","mozHasItem","mozHidden","mozImageSmoothingEnabled","mozIndexedDB","mozInnerScreenX","mozInnerScreenY","mozInputSource","mozIsTextField","mozItem","mozItemCount","mozItems","mozLength","mozLockOrientation","mozMatchesSelector","mozMovementX","mozMovementY","mozOpaque","mozOrientation","mozPaintCount","mozPaintedFrames","mozParsedFrames","mozPay","mozPointerLockElement","mozPresentedFrames","mozPreservesPitch","mozPressure","mozPrintCallback","mozRTCIceCandidate","mozRTCPeerConnection","mozRTCSessionDescription","mozRemove","mozRequestAnimationFrame","mozRequestFullScreen","mozRequestPointerLock","mozSetDataAt","mozSetImageElement","mozSourceNode","mozSrcObject","mozSystem","mozTCPSocket","mozTextStyle","mozTypesAt","mozUnlockOrientation","mozUserCancelled","mozVisibilityState","msAnimation","msAnimationDelay","msAnimationDirection","msAnimationDuration","msAnimationFillMode","msAnimationIterationCount","msAnimationName","msAnimationPlayState","msAnimationStartTime","msAnimationTimingFunction","msBackfaceVisibility","msBlockProgression","msCSSOMElementFloatMetrics","msCaching","msCachingEnabled","msCancelRequestAnimationFrame","msCapsLockWarningOff","msClearImmediate","msClose","msContentZoomChaining","msContentZoomFactor","msContentZoomLimit","msContentZoomLimitMax","msContentZoomLimitMin","msContentZoomSnap","msContentZoomSnapPoints","msContentZoomSnapType","msContentZooming","msConvertURL","msCrypto","msDoNotTrack","msElementsFromPoint","msElementsFromRect","msExitFullscreen","msExtendedCode","msFillRule","msFirstPaint","msFlex","msFlexAlign","msFlexDirection","msFlexFlow","msFlexItemAlign","msFlexLinePack","msFlexNegative","msFlexOrder","msFlexPack","msFlexPositive","msFlexPreferredSize","msFlexWrap","msFlowFrom","msFlowInto","msFontFeatureSettings","msFullscreenElement","msFullscreenEnabled","msGetInputContext","msGetRegionContent","msGetUntransformedBounds","msGraphicsTrustStatus","msGridColumn","msGridColumnAlign","msGridColumnSpan","msGridColumns","msGridRow","msGridRowAlign","msGridRowSpan","msGridRows","msHidden","msHighContrastAdjust","msHyphenateLimitChars","msHyphenateLimitLines","msHyphenateLimitZone","msHyphens","msImageSmoothingEnabled","msImeAlign","msIndexedDB","msInterpolationMode","msIsStaticHTML","msKeySystem","msKeys","msLaunchUri","msLockOrientation","msManipulationViewsEnabled","msMatchMedia","msMatchesSelector","msMaxTouchPoints","msOrientation","msOverflowStyle","msPerspective","msPerspectiveOrigin","msPlayToDisabled","msPlayToPreferredSourceUri","msPlayToPrimary","msPointerEnabled","msRegionOverflow","msReleasePointerCapture","msRequestAnimationFrame","msRequestFullscreen","msSaveBlob","msSaveOrOpenBlob","msScrollChaining","msScrollLimit","msScrollLimitXMax","msScrollLimitXMin","msScrollLimitYMax","msScrollLimitYMin","msScrollRails","msScrollSnapPointsX","msScrollSnapPointsY","msScrollSnapType","msScrollSnapX","msScrollSnapY","msScrollTranslation","msSetImmediate","msSetMediaKeys","msSetPointerCapture","msTextCombineHorizontal","msTextSizeAdjust","msToBlob","msTouchAction","msTouchSelect","msTraceAsyncCallbackCompleted","msTraceAsyncCallbackStarting","msTraceAsyncOperationCompleted","msTraceAsyncOperationStarting","msTransform","msTransformOrigin","msTransformStyle","msTransition","msTransitionDelay","msTransitionDuration","msTransitionProperty","msTransitionTimingFunction","msUnlockOrientation","msUpdateAsyncCallbackRelation","msUserSelect","msVisibilityState","msWrapFlow","msWrapMargin","msWrapThrough","msWriteProfilerMark","msZoom","msZoomTo","mt","multiEntry","multiSelectionObj","multiline","multiple","multiply","multiplySelf","mutableFile","muted","n","name","nameProp","namedItem","namedRecordset","names","namespaceURI","namespaces","naturalHeight","naturalWidth","navigate","navigation","navigationMode","navigationStart","navigator","near","nearestViewportElement","negative","netscape","networkState","newScale","newTranslate","newURL","newValue","newValueSpecifiedUnits","newVersion","newhome","next","nextElementSibling","nextNode","nextPage","nextSibling","nickname","noHref","noResize","noShade","noValidate","noWrap","nodeName","nodeType","nodeValue","normalize","normalizedPathSegList","notationName","notations","note","noteGrainOn","noteOff","noteOn","now","numOctaves","number","numberOfChannels","numberOfInputs","numberOfItems","numberOfOutputs","numberValue","oMatchesSelector","object","object-fit","object-position","objectFit","objectPosition","objectStore","objectStoreNames","observe","of","offscreenBuffering","offset","offsetHeight","offsetLeft","offsetNode","offsetParent","offsetTop","offsetWidth","offsetX","offsetY","ok","oldURL","oldValue","oldVersion","olderShadowRoot","onLine","onabort","onactivate","onactive","onaddstream","onaddtrack","onafterprint","onafterscriptexecute","onafterupdate","onaudioend","onaudioprocess","onaudiostart","onautocomplete","onautocompleteerror","onbeforeactivate","onbeforecopy","onbeforecut","onbeforedeactivate","onbeforeeditfocus","onbeforepaste","onbeforeprint","onbeforescriptexecute","onbeforeunload","onbeforeupdate","onblocked","onblur","onbounce","onboundary","oncached","oncancel","oncandidatewindowhide","oncandidatewindowshow","oncandidatewindowupdate","oncanplay","oncanplaythrough","once","oncellchange","onchange","onchargingchange","onchargingtimechange","onchecking","onclick","onclose","oncompassneedscalibration","oncomplete","oncontextmenu","oncontrolselect","oncopy","oncuechange","oncut","ondataavailable","ondatachannel","ondatasetchanged","ondatasetcomplete","ondblclick","ondeactivate","ondevicelight","ondevicemotion","ondeviceorientation","ondeviceproximity","ondischargingtimechange","ondisplay","ondownloading","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onencrypted","onend","onended","onenter","onerror","onerrorupdate","onexit","onfilterchange","onfinish","onfocus","onfocusin","onfocusout","onfullscreenchange","onfullscreenerror","ongesturechange","ongestureend","ongesturestart","ongotpointercapture","onhashchange","onhelp","onicecandidate","oniceconnectionstatechange","oninactive","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onlayoutcomplete","onlevelchange","onload","onloadeddata","onloadedmetadata","onloadend","onloadstart","onlosecapture","onlostpointercapture","only","onmark","onmessage","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onmove","onmoveend","onmovestart","onmozfullscreenchange","onmozfullscreenerror","onmozorientationchange","onmozpointerlockchange","onmozpointerlockerror","onmscontentzoom","onmsfullscreenchange","onmsfullscreenerror","onmsgesturechange","onmsgesturedoubletap","onmsgestureend","onmsgesturehold","onmsgesturestart","onmsgesturetap","onmsgotpointercapture","onmsinertiastart","onmslostpointercapture","onmsmanipulationstatechanged","onmsneedkey","onmsorientationchange","onmspointercancel","onmspointerdown","onmspointerenter","onmspointerhover","onmspointerleave","onmspointermove","onmspointerout","onmspointerover","onmspointerup","onmssitemodejumplistitemremoved","onmsthumbnailclick","onnegotiationneeded","onnomatch","onnoupdate","onobsolete","onoffline","ononline","onopen","onorientationchange","onpagechange","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpluginstreamstart","onpointercancel","onpointerdown","onpointerenter","onpointerleave","onpointerlockchange","onpointerlockerror","onpointermove","onpointerout","onpointerover","onpointerup","onpopstate","onprogress","onpropertychange","onratechange","onreadystatechange","onremovestream","onremovetrack","onreset","onresize","onresizeend","onresizestart","onresourcetimingbufferfull","onresult","onresume","onrowenter","onrowexit","onrowsdelete","onrowsinserted","onscroll","onsearch","onseeked","onseeking","onselect","onselectionchange","onselectstart","onshow","onsignalingstatechange","onsoundend","onsoundstart","onspeechend","onspeechstart","onstalled","onstart","onstatechange","onstop","onstorage","onstoragecommit","onsubmit","onsuccess","onsuspend","ontextinput","ontimeout","ontimeupdate","ontoggle","ontouchcancel","ontouchend","ontouchmove","ontouchstart","ontransitionend","onunload","onupdateready","onupgradeneeded","onuserproximity","onversionchange","onvoiceschanged","onvolumechange","onwaiting","onwarning","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkitcurrentplaybacktargetiswirelesschanged","onwebkitfullscreenchange","onwebkitfullscreenerror","onwebkitkeyadded","onwebkitkeyerror","onwebkitkeymessage","onwebkitneedkey","onwebkitorientationchange","onwebkitplaybacktargetavailabilitychanged","onwebkitpointerlockchange","onwebkitpointerlockerror","onwebkitresourcetimingbufferfull","onwebkittransitionend","onwheel","onzoom","opacity","open","openCursor","openDatabase","openKeyCursor","opener","opera","operationType","operator","opr","optimum","options","order","orderX","orderY","ordered","org","orient","orientAngle","orientType","orientation","origin","originalTarget","orphans","oscpu","outerHTML","outerHeight","outerText","outerWidth","outline","outline-color","outline-offset","outline-style","outline-width","outlineColor","outlineOffset","outlineStyle","outlineWidth","outputBuffer","overflow","overflow-x","overflow-y","overflowX","overflowY","overrideMimeType","oversample","ownerDocument","ownerElement","ownerNode","ownerRule","ownerSVGElement","owningElement","p1","p2","p3","p4","pad","padding","padding-bottom","padding-left","padding-right","padding-top","paddingBottom","paddingLeft","paddingRight","paddingTop","page","page-break-after","page-break-before","page-break-inside","pageBreakAfter","pageBreakBefore","pageBreakInside","pageCount","pageX","pageXOffset","pageY","pageYOffset","pages","paint-order","paintOrder","paintRequests","paintType","palette","panningModel","parent","parentElement","parentNode","parentRule","parentStyleSheet","parentTextEdit","parentWindow","parse","parseFloat","parseFromString","parseInt","participants","passive","password","pasteHTML","path","pathLength","pathSegList","pathSegType","pathSegTypeAsLetter","pathname","pattern","patternContentUnits","patternMismatch","patternTransform","patternUnits","pause","pauseAnimations","pauseOnExit","paused","pending","performance","permission","persisted","personalbar","perspective","perspective-origin","perspectiveOrigin","phoneticFamilyName","phoneticGivenName","photo","ping","pitch","pixelBottom","pixelDepth","pixelHeight","pixelLeft","pixelRight","pixelStorei","pixelTop","pixelUnitToMillimeterX","pixelUnitToMillimeterY","pixelWidth","placeholder","platform","play","playbackRate","playbackState","playbackTime","played","plugins","pluginspage","pname","pointer-events","pointerBeforeReferenceNode","pointerEnabled","pointerEvents","pointerId","pointerLockElement","pointerType","points","pointsAtX","pointsAtY","pointsAtZ","polygonOffset","pop","popupWindowFeatures","popupWindowName","popupWindowURI","port","port1","port2","ports","posBottom","posHeight","posLeft","posRight","posTop","posWidth","position","positionAlign","postError","postMessage","poster","pow","powerOff","preMultiplySelf","precision","preferredStyleSheetSet","preferredStylesheetSet","prefix","preload","prepend","preserveAlpha","preserveAspectRatio","preserveAspectRatioString","pressed","pressure","prevValue","preventDefault","preventExtensions","previousElementSibling","previousNode","previousPage","previousScale","previousSibling","previousTranslate","primaryKey","primitiveType","primitiveUnits","principals","print","privateKey","probablySupportsContext","process","processIceMessage","product","productSub","profile","profileEnd","profiles","prompt","properties","propertyIsEnumerable","propertyName","protocol","protocolLong","prototype","pseudoClass","pseudoElement","publicId","publicKey","published","push","pushNotification","pushState","put","putImageData","quadraticCurveTo","qualifier","queryCommandEnabled","queryCommandIndeterm","queryCommandState","queryCommandSupported","queryCommandText","queryCommandValue","querySelector","querySelectorAll","quote","quotes","r","r1","r2","race","radiogroup","radiusX","radiusY","random","range","rangeCount","rangeMax","rangeMin","rangeOffset","rangeOverflow","rangeParent","rangeUnderflow","rate","ratio","raw","read","readAsArrayBuffer","readAsBinaryString","readAsBlob","readAsDataURL","readAsText","readOnly","readPixels","readReportRequested","readyState","reason","reboot","receiver","receivers","recordNumber","recordset","rect","red","redirectCount","redirectEnd","redirectStart","reduce","reduceRight","reduction","refDistance","refX","refY","referenceNode","referrer","refresh","region","regionAnchorX","regionAnchorY","regionId","regions","register","registerContentHandler","registerElement","registerProtocolHandler","reject","rel","relList","relatedNode","relatedTarget","release","releaseCapture","releaseEvents","releasePointerCapture","releaseShaderCompiler","reliable","reload","remainingSpace","remoteDescription","remove","removeAllRanges","removeAttribute","removeAttributeNS","removeAttributeNode","removeBehavior","removeChild","removeCue","removeEventListener","removeFilter","removeImport","removeItem","removeListener","removeNamedItem","removeNamedItemNS","removeNode","removeParameter","removeProperty","removeRange","removeRegion","removeRule","removeSiteSpecificTrackingException","removeSourceBuffer","removeStream","removeTrack","removeVariable","removeWakeLockListener","removeWebWideTrackingException","removedNodes","renderbufferStorage","renderedBuffer","renderingMode","repeat","replace","replaceAdjacentText","replaceChild","replaceData","replaceId","replaceItem","replaceNode","replaceState","replaceTrack","replaceWholeText","reportValidity","requestAnimationFrame","requestAutocomplete","requestData","requestFullscreen","requestMediaKeySystemAccess","requestPermission","requestPointerLock","requestStart","requestingWindow","required","requiredExtensions","requiredFeatures","reset","resetTransform","resize","resizeBy","resizeTo","resolve","response","responseBody","responseEnd","responseStart","responseText","responseType","responseURL","responseXML","restore","result","resultType","resume","returnValue","rev","reverse","reversed","revocable","revokeObjectURL","rgbColor","right","rightContext","rightMargin","rolloffFactor","root","rootElement","rotate","rotateAxisAngle","rotateAxisAngleSelf","rotateFromVector","rotateFromVectorSelf","rotateSelf","rotation","rotationRate","round","rowIndex","rowSpan","rows","rubyAlign","rubyOverhang","rubyPosition","rules","runtime","runtimeStyle","rx","ry","safari","sampleCoverage","sampleRate","sandbox","save","scale","scale3d","scale3dSelf","scaleNonUniform","scaleNonUniformSelf","scaleSelf","scheme","scissor","scope","scopeName","scoped","screen","screenBrightness","screenEnabled","screenLeft","screenPixelToMillimeterX","screenPixelToMillimeterY","screenTop","screenX","screenY","scripts","scroll","scroll-behavior","scrollAmount","scrollBehavior","scrollBy","scrollByLines","scrollByPages","scrollDelay","scrollHeight","scrollIntoView","scrollIntoViewIfNeeded","scrollLeft","scrollLeftMax","scrollMaxX","scrollMaxY","scrollTo","scrollTop","scrollTopMax","scrollWidth","scrollX","scrollY","scrollbar3dLightColor","scrollbarArrowColor","scrollbarBaseColor","scrollbarDarkShadowColor","scrollbarFaceColor","scrollbarHighlightColor","scrollbarShadowColor","scrollbarTrackColor","scrollbars","scrolling","sdp","sdpMLineIndex","sdpMid","seal","search","searchBox","searchBoxJavaBridge_","searchParams","sectionRowIndex","secureConnectionStart","security","seed","seekable","seeking","select","selectAllChildren","selectNode","selectNodeContents","selectNodes","selectSingleNode","selectSubString","selected","selectedIndex","selectedOptions","selectedStyleSheetSet","selectedStylesheetSet","selection","selectionDirection","selectionEnd","selectionStart","selector","selectorText","self","send","sendAsBinary","sendBeacon","sender","sentTimestamp","separator","serializeToString","serviceWorker","sessionId","sessionStorage","set","setActive","setAlpha","setAttribute","setAttributeNS","setAttributeNode","setAttributeNodeNS","setBaseAndExtent","setBingCurrentSearchDefault","setCapture","setColor","setCompositeOperation","setCurrentTime","setCustomValidity","setData","setDate","setDragImage","setEnd","setEndAfter","setEndBefore","setEndPoint","setFillColor","setFilterRes","setFloat32","setFloat64","setFloatValue","setFullYear","setHours","setImmediate","setInt16","setInt32","setInt8","setInterval","setItem","setLineCap","setLineDash","setLineJoin","setLineWidth","setLocalDescription","setMatrix","setMatrixValue","setMediaKeys","setMilliseconds","setMinutes","setMiterLimit","setMonth","setNamedItem","setNamedItemNS","setNonUserCodeExceptions","setOrientToAngle","setOrientToAuto","setOrientation","setOverrideHistoryNavigationMode","setPaint","setParameter","setPeriodicWave","setPointerCapture","setPosition","setPreference","setProperty","setPrototypeOf","setRGBColor","setRGBColorICCColor","setRadius","setRangeText","setRemoteDescription","setRequestHeader","setResizable","setResourceTimingBufferSize","setRotate","setScale","setSeconds","setSelectionRange","setServerCertificate","setShadow","setSkewX","setSkewY","setStart","setStartAfter","setStartBefore","setStdDeviation","setStringValue","setStrokeColor","setSuggestResult","setTargetAtTime","setTargetValueAtTime","setTime","setTimeout","setTransform","setTranslate","setUTCDate","setUTCFullYear","setUTCHours","setUTCMilliseconds","setUTCMinutes","setUTCMonth","setUTCSeconds","setUint16","setUint32","setUint8","setUri","setValueAtTime","setValueCurveAtTime","setVariable","setVelocity","setVersion","setYear","settingName","settingValue","sex","shaderSource","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","shadowRoot","shape","shape-rendering","shapeRendering","sheet","shift","shiftKey","shiftLeft","show","showHelp","showModal","showModalDialog","showModelessDialog","showNotification","sidebar","sign","signalingState","sin","singleNodeValue","sinh","size","sizeToContent","sizes","skewX","skewXSelf","skewY","skewYSelf","slice","slope","small","smil","smooth","smoothingTimeConstant","snapToLines","snapshotItem","snapshotLength","some","sort","source","sourceBuffer","sourceBuffers","sourceIndex","spacing","span","speakAs","speaking","specified","specularConstant","specularExponent","speechSynthesis","speed","speedOfSound","spellcheck","splice","split","splitText","spreadMethod","sqrt","src","srcElement","srcFilter","srcUrn","srcdoc","srclang","srcset","stack","stackTraceLimit","stacktrace","standalone","standby","start","startContainer","startIce","startOffset","startRendering","startTime","startsWith","state","status","statusMessage","statusText","statusbar","stdDeviationX","stdDeviationY","stencilFunc","stencilFuncSeparate","stencilMask","stencilMaskSeparate","stencilOp","stencilOpSeparate","step","stepDown","stepMismatch","stepUp","sticky","stitchTiles","stop","stop-color","stop-opacity","stopColor","stopImmediatePropagation","stopOpacity","stopPropagation","storageArea","storageName","storageStatus","storeSiteSpecificTrackingException","storeWebWideTrackingException","stpVersion","stream","strike","stringValue","stringify","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeRect","strokeStyle","strokeText","strokeWidth","style","styleFloat","styleMedia","styleSheet","styleSheetSets","styleSheets","sub","subarray","subject","submit","subscribe","substr","substring","substringData","subtle","subtree","suffix","suffixes","summary","sup","supports","surfaceScale","surroundContents","suspend","suspendRedraw","swapCache","swapNode","sweepFlag","symbols","system","systemCode","systemId","systemLanguage","systemXDPI","systemYDPI","tBodies","tFoot","tHead","tabIndex","table","table-layout","tableLayout","tableValues","tag","tagName","tagUrn","tags","taintEnabled","takeRecords","tan","tanh","target","targetElement","targetTouches","targetX","targetY","tel","terminate","test","texImage2D","texParameterf","texParameteri","texSubImage2D","text","text-align","text-anchor","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","textAlign","textAlignLast","textAnchor","textAutospace","textBaseline","textContent","textDecoration","textDecorationBlink","textDecorationColor","textDecorationLine","textDecorationLineThrough","textDecorationNone","textDecorationOverline","textDecorationStyle","textDecorationUnderline","textIndent","textJustify","textJustifyTrim","textKashida","textKashidaSpace","textLength","textOverflow","textRendering","textShadow","textTracks","textTransform","textUnderlinePosition","then","threadId","threshold","tiltX","tiltY","time","timeEnd","timeStamp","timeout","timestamp","timestampOffset","timing","title","toArray","toBlob","toDataURL","toDateString","toElement","toExponential","toFixed","toFloat32Array","toFloat64Array","toGMTString","toISOString","toJSON","toLocaleDateString","toLocaleFormat","toLocaleLowerCase","toLocaleString","toLocaleTimeString","toLocaleUpperCase","toLowerCase","toMethod","toPrecision","toSdp","toSource","toStaticHTML","toString","toStringTag","toTimeString","toUTCString","toUpperCase","toggle","toggleLongPressEnabled","tooLong","toolbar","top","topMargin","total","totalFrameDelay","totalVideoFrames","touchAction","touches","trace","track","transaction","transactions","transform","transform-origin","transform-style","transformOrigin","transformPoint","transformString","transformStyle","transformToDocument","transformToFragment","transition","transition-delay","transition-duration","transition-property","transition-timing-function","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","translate","translateSelf","translationX","translationY","trim","trimLeft","trimRight","trueSpeed","trunc","truncate","type","typeDetail","typeMismatch","typeMustMatch","types","ubound","undefined","unescape","uneval","unicode-bidi","unicodeBidi","uniform1f","uniform1fv","uniform1i","uniform1iv","uniform2f","uniform2fv","uniform2i","uniform2iv","uniform3f","uniform3fv","uniform3i","uniform3iv","uniform4f","uniform4fv","uniform4i","uniform4iv","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","unique","uniqueID","uniqueNumber","unitType","units","unloadEventEnd","unloadEventStart","unlock","unmount","unobserve","unpause","unpauseAnimations","unreadCount","unregister","unregisterContentHandler","unregisterProtocolHandler","unscopables","unselectable","unshift","unsubscribe","unsuspendRedraw","unsuspendRedrawAll","unwatch","unwrapKey","update","updateCommands","updateIce","updateInterval","updateSettings","updated","updating","upload","upper","upperBound","upperOpen","uri","url","urn","urns","usages","useCurrentView","useMap","useProgram","usedSpace","userAgent","userLanguage","username","v8BreakIterator","vAlign","vLink","valid","validateProgram","validationMessage","validity","value","valueAsDate","valueAsNumber","valueAsString","valueInSpecifiedUnits","valueMissing","valueOf","valueText","valueType","values","vector-effect","vectorEffect","velocityAngular","velocityExpansion","velocityX","velocityY","vendor","vendorSub","verify","version","vertexAttrib1f","vertexAttrib1fv","vertexAttrib2f","vertexAttrib2fv","vertexAttrib3f","vertexAttrib3fv","vertexAttrib4f","vertexAttrib4fv","vertexAttribDivisorANGLE","vertexAttribPointer","vertical","vertical-align","verticalAlign","verticalOverflow","vibrate","videoHeight","videoTracks","videoWidth","view","viewBox","viewBoxString","viewTarget","viewTargetString","viewport","viewportAnchorX","viewportAnchorY","viewportElement","visibility","visibilityState","visible","vlinkColor","voice","volume","vrml","vspace","w","wand","warn","wasClean","watch","watchPosition","webdriver","webkitAddKey","webkitAnimation","webkitAnimationDelay","webkitAnimationDirection","webkitAnimationDuration","webkitAnimationFillMode","webkitAnimationIterationCount","webkitAnimationName","webkitAnimationPlayState","webkitAnimationTimingFunction","webkitAppearance","webkitAudioContext","webkitAudioDecodedByteCount","webkitAudioPannerNode","webkitBackfaceVisibility","webkitBackground","webkitBackgroundAttachment","webkitBackgroundClip","webkitBackgroundColor","webkitBackgroundImage","webkitBackgroundOrigin","webkitBackgroundPosition","webkitBackgroundPositionX","webkitBackgroundPositionY","webkitBackgroundRepeat","webkitBackgroundSize","webkitBackingStorePixelRatio","webkitBorderImage","webkitBorderImageOutset","webkitBorderImageRepeat","webkitBorderImageSlice","webkitBorderImageSource","webkitBorderImageWidth","webkitBoxAlign","webkitBoxDirection","webkitBoxFlex","webkitBoxOrdinalGroup","webkitBoxOrient","webkitBoxPack","webkitBoxSizing","webkitCancelAnimationFrame","webkitCancelFullScreen","webkitCancelKeyRequest","webkitCancelRequestAnimationFrame","webkitClearResourceTimings","webkitClosedCaptionsVisible","webkitConvertPointFromNodeToPage","webkitConvertPointFromPageToNode","webkitCreateShadowRoot","webkitCurrentFullScreenElement","webkitCurrentPlaybackTargetIsWireless","webkitDirectionInvertedFromDevice","webkitDisplayingFullscreen","webkitEnterFullScreen","webkitEnterFullscreen","webkitExitFullScreen","webkitExitFullscreen","webkitExitPointerLock","webkitFullScreenKeyboardInputAllowed","webkitFullscreenElement","webkitFullscreenEnabled","webkitGenerateKeyRequest","webkitGetAsEntry","webkitGetDatabaseNames","webkitGetEntries","webkitGetEntriesByName","webkitGetEntriesByType","webkitGetFlowByName","webkitGetGamepads","webkitGetImageDataHD","webkitGetNamedFlows","webkitGetRegionFlowRanges","webkitGetUserMedia","webkitHasClosedCaptions","webkitHidden","webkitIDBCursor","webkitIDBDatabase","webkitIDBDatabaseError","webkitIDBDatabaseException","webkitIDBFactory","webkitIDBIndex","webkitIDBKeyRange","webkitIDBObjectStore","webkitIDBRequest","webkitIDBTransaction","webkitImageSmoothingEnabled","webkitIndexedDB","webkitInitMessageEvent","webkitIsFullScreen","webkitKeys","webkitLineDashOffset","webkitLockOrientation","webkitMatchesSelector","webkitMediaStream","webkitNotifications","webkitOfflineAudioContext","webkitOrientation","webkitPeerConnection00","webkitPersistentStorage","webkitPointerLockElement","webkitPostMessage","webkitPreservesPitch","webkitPutImageDataHD","webkitRTCPeerConnection","webkitRegionOverset","webkitRequestAnimationFrame","webkitRequestFileSystem","webkitRequestFullScreen","webkitRequestFullscreen","webkitRequestPointerLock","webkitResolveLocalFileSystemURL","webkitSetMediaKeys","webkitSetResourceTimingBufferSize","webkitShadowRoot","webkitShowPlaybackTargetPicker","webkitSlice","webkitSpeechGrammar","webkitSpeechGrammarList","webkitSpeechRecognition","webkitSpeechRecognitionError","webkitSpeechRecognitionEvent","webkitStorageInfo","webkitSupportsFullscreen","webkitTemporaryStorage","webkitTextSizeAdjust","webkitTransform","webkitTransformOrigin","webkitTransition","webkitTransitionDelay","webkitTransitionDuration","webkitTransitionProperty","webkitTransitionTimingFunction","webkitURL","webkitUnlockOrientation","webkitUserSelect","webkitVideoDecodedByteCount","webkitVisibilityState","webkitWirelessVideoPlaybackDisabled","webkitdropzone","webstore","weight","whatToShow","wheelDelta","wheelDeltaX","wheelDeltaY","which","white-space","whiteSpace","wholeText","widows","width","will-change","willChange","willValidate","window","withCredentials","word-break","word-spacing","word-wrap","wordBreak","wordSpacing","wordWrap","wrap","wrapKey","write","writeln","writingMode","x","x1","x2","xChannelSelector","xmlEncoding","xmlStandalone","xmlVersion","xmlbase","xmllang","xmlspace","y","y1","y2","yChannelSelector","yandex","z","z-index","zIndex","zoom","zoomAndPan","zoomRectScreen"]')},9385:e=>{e.exports=require("@javascript-obfuscator/escodegen")},6054:e=>{e.exports=require("acorn")},2242:e=>{e.exports=require("chalk")},3434:e=>{e.exports=require("chance")},516:e=>{e.exports=require("class-validator")},8:e=>{e.exports=require("eslint-scope")},4523:e=>{e.exports=require("estraverse")},9553:e=>{e.exports=require("eventemitter3")},3142:e=>{e.exports=require("fast-deep-equal")},2991:e=>{e.exports=require("inversify")},5667:e=>{e.exports=require("js-string-escape")},204:e=>{e.exports=require("md5")},9906:e=>{e.exports=require("reflect-metadata")},8655:e=>{e.exports=require("string-template")},6094:e=>{e.exports=require("stringz")}},t={};return function r(o){if(t[o])return t[o].exports;var n=t[o]={exports:{}};return e[o].call(n.exports,n,n.exports,r),n.exports}(3254)})(); +/*! +Copyright (C) 2016-2020 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. +*/ + +require("source-map-support").install(); + + +module.exports = +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./index.ts": +/*!******************!*\ + !*** ./index.ts ***! + \******************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: __webpack_exports__, module, __webpack_require__ */ +/***/ ((module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +const JavaScriptObfuscatorFacade_1 = __webpack_require__(/*! ./src/JavaScriptObfuscatorFacade */ "./src/JavaScriptObfuscatorFacade.ts"); +module.exports = JavaScriptObfuscatorFacade_1.JavaScriptObfuscator; + + +/***/ }), + +/***/ "./src/ASTParserFacade.ts": +/*!********************************!*\ + !*** ./src/ASTParserFacade.ts ***! + \********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ASTParserFacade = void 0; +const acorn = __importStar(__webpack_require__(/*! acorn */ "acorn")); +const chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk")); +class ASTParserFacade { + static parse(sourceCode, config) { + const sourceTypeLength = ASTParserFacade.sourceTypes.length; + for (let i = 0; i < sourceTypeLength; i++) { + try { + return ASTParserFacade.parseType(sourceCode, config, ASTParserFacade.sourceTypes[i]); + } + catch (error) { + if (i < sourceTypeLength - 1) { + continue; + } + throw new Error(ASTParserFacade.processParsingError(sourceCode, error.message, error.loc)); + } + } + throw new Error('Acorn parsing error'); + } + static parseType(sourceCode, inputConfig, sourceType) { + const comments = []; + const config = Object.assign(Object.assign({}, inputConfig), { onComment: comments, sourceType }); + const program = acorn + .parse(sourceCode, config); + if (comments.length) { + program.comments = comments; + } + return program; + } + static processParsingError(sourceCode, errorMessage, position) { + if (!position || !position.line || !position.column) { + throw new Error(errorMessage); + } + const sourceCodeLines = sourceCode.split(/\r?\n/); + const errorLine = sourceCodeLines[position.line - 1]; + if (!errorLine) { + throw new Error(errorMessage); + } + const startErrorIndex = Math.max(0, position.column - ASTParserFacade.nearestSymbolsCount); + const endErrorIndex = Math.min(errorLine.length, position.column + ASTParserFacade.nearestSymbolsCount); + const formattedPointer = ASTParserFacade.colorError('>'); + const formattedCodeSlice = `...${errorLine.slice(startErrorIndex, endErrorIndex).replace(/^\s+/, '')}...`; + throw new Error(`ERROR at line ${position.line}: ${errorMessage}\n${formattedPointer} ${formattedCodeSlice}`); + } +} +exports.ASTParserFacade = ASTParserFacade; +ASTParserFacade.colorError = chalk_1.default.red; +ASTParserFacade.nearestSymbolsCount = 15; +ASTParserFacade.sourceTypes = [ + 'script', + 'module' +]; + + +/***/ }), + +/***/ "./src/JavaScriptObfuscator.ts": +/*!*************************************!*\ + !*** ./src/JavaScriptObfuscator.ts ***! + \*************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var JavaScriptObfuscator_1, _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.JavaScriptObfuscator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ./container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const escodegen = __importStar(__webpack_require__(/*! @javascript-obfuscator/escodegen */ "@javascript-obfuscator/escodegen")); +const TObfuscatedCodeFactory_1 = __webpack_require__(/*! ./types/container/source-code/TObfuscatedCodeFactory */ "./src/types/container/source-code/TObfuscatedCodeFactory.ts"); +const ICodeTransformersRunner_1 = __webpack_require__(/*! ./interfaces/code-transformers/ICodeTransformersRunner */ "./src/interfaces/code-transformers/ICodeTransformersRunner.ts"); +const ILogger_1 = __webpack_require__(/*! ./interfaces/logger/ILogger */ "./src/interfaces/logger/ILogger.ts"); +const IOptions_1 = __webpack_require__(/*! ./interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ./interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const INodeTransformersRunner_1 = __webpack_require__(/*! ./interfaces/node-transformers/INodeTransformersRunner */ "./src/interfaces/node-transformers/INodeTransformersRunner.ts"); +const CodeTransformer_1 = __webpack_require__(/*! ./enums/code-transformers/CodeTransformer */ "./src/enums/code-transformers/CodeTransformer.ts"); +const CodeTransformationStage_1 = __webpack_require__(/*! ./enums/code-transformers/CodeTransformationStage */ "./src/enums/code-transformers/CodeTransformationStage.ts"); +const LoggingMessage_1 = __webpack_require__(/*! ./enums/logger/LoggingMessage */ "./src/enums/logger/LoggingMessage.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ./enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ./enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const EcmaVersion_1 = __webpack_require__(/*! ./constants/EcmaVersion */ "./src/constants/EcmaVersion.ts"); +const ASTParserFacade_1 = __webpack_require__(/*! ./ASTParserFacade */ "./src/ASTParserFacade.ts"); +const NodeGuards_1 = __webpack_require__(/*! ./node/NodeGuards */ "./src/node/NodeGuards.ts"); +const Utils_1 = __webpack_require__(/*! ./utils/Utils */ "./src/utils/Utils.ts"); +let JavaScriptObfuscator = JavaScriptObfuscator_1 = class JavaScriptObfuscator { + constructor(codeTransformersRunner, nodeTransformersRunner, randomGenerator, obfuscatedCodeFactory, logger, options) { + this.codeTransformersRunner = codeTransformersRunner; + this.nodeTransformersRunner = nodeTransformersRunner; + this.randomGenerator = randomGenerator; + this.obfuscatedCodeFactory = obfuscatedCodeFactory; + this.logger = logger; + this.options = options; + } + obfuscate(sourceCode) { + if (typeof sourceCode !== 'string') { + sourceCode = ''; + } + const timeStart = Date.now(); + this.logger.info(LoggingMessage_1.LoggingMessage.Version, Utils_1.Utils.buildVersionMessage("2.9.0", 1605424519076)); + this.logger.info(LoggingMessage_1.LoggingMessage.ObfuscationStarted); + this.logger.info(LoggingMessage_1.LoggingMessage.RandomGeneratorSeed, this.randomGenerator.getInputSeed()); + sourceCode = this.runCodeTransformationStage(sourceCode, CodeTransformationStage_1.CodeTransformationStage.PreparingTransformers); + const astTree = this.parseCode(sourceCode); + const obfuscatedAstTree = this.transformAstTree(astTree); + const generatorOutput = this.generateCode(sourceCode, obfuscatedAstTree); + generatorOutput.code = this.runCodeTransformationStage(generatorOutput.code, CodeTransformationStage_1.CodeTransformationStage.FinalizingTransformers); + const obfuscationTime = (Date.now() - timeStart) / 1000; + this.logger.success(LoggingMessage_1.LoggingMessage.ObfuscationCompleted, obfuscationTime); + return this.getObfuscatedCode(generatorOutput); + } + parseCode(sourceCode) { + return ASTParserFacade_1.ASTParserFacade.parse(sourceCode, JavaScriptObfuscator_1.parseOptions); + } + transformAstTree(astTree) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Initializing); + const isEmptyAstTree = NodeGuards_1.NodeGuards.isProgramNode(astTree) + && !astTree.body.length + && !astTree.leadingComments + && !astTree.trailingComments; + if (isEmptyAstTree) { + this.logger.warn(LoggingMessage_1.LoggingMessage.EmptySourceCode); + return astTree; + } + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Preparing); + if (this.options.deadCodeInjection) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.DeadCodeInjection); + } + if (this.options.controlFlowFlattening) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.ControlFlowFlattening); + } + if (this.options.renameProperties) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.RenameProperties); + } + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Converting); + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers); + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.StringArray); + if (this.options.simplify) { + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Simplifying); + } + astTree = this.runNodeTransformationStage(astTree, NodeTransformationStage_1.NodeTransformationStage.Finalizing); + return astTree; + } + generateCode(sourceCode, astTree) { + const escodegenParams = Object.assign({}, JavaScriptObfuscator_1.escodegenParams); + if (this.options.sourceMap) { + escodegenParams.sourceMap = this.options.inputFileName || 'sourceMap'; + escodegenParams.sourceContent = sourceCode; + } + const generatorOutput = escodegen.generate(astTree, Object.assign(Object.assign({}, escodegenParams), { format: { + compact: this.options.compact + } })); + generatorOutput.map = generatorOutput.map ? generatorOutput.map.toString() : ''; + return generatorOutput; + } + getObfuscatedCode(generatorOutput) { + return this.obfuscatedCodeFactory(generatorOutput.code, generatorOutput.map); + } + runCodeTransformationStage(code, codeTransformationStage) { + this.logger.info(LoggingMessage_1.LoggingMessage.CodeTransformationStage, codeTransformationStage); + return this.codeTransformersRunner.transform(code, JavaScriptObfuscator_1.codeTransformersList, codeTransformationStage); + } + runNodeTransformationStage(astTree, nodeTransformationStage) { + this.logger.info(LoggingMessage_1.LoggingMessage.NodeTransformationStage, nodeTransformationStage); + return this.nodeTransformersRunner.transform(astTree, JavaScriptObfuscator_1.nodeTransformersList, nodeTransformationStage); + } +}; +JavaScriptObfuscator.parseOptions = { + ecmaVersion: EcmaVersion_1.ecmaVersion, + allowHashBang: true, + allowImportExportEverywhere: true, + allowReturnOutsideFunction: true, + locations: true, + ranges: true +}; +JavaScriptObfuscator.escodegenParams = { + comment: true, + verbatim: 'x-verbatim-property', + sourceMapWithCode: true +}; +JavaScriptObfuscator.codeTransformersList = [ + CodeTransformer_1.CodeTransformer.HashbangOperatorTransformer +]; +JavaScriptObfuscator.nodeTransformersList = [ + NodeTransformer_1.NodeTransformer.BooleanLiteralTransformer, + NodeTransformer_1.NodeTransformer.BlockStatementControlFlowTransformer, + NodeTransformer_1.NodeTransformer.BlockStatementSimplifyTransformer, + NodeTransformer_1.NodeTransformer.CommentsTransformer, + NodeTransformer_1.NodeTransformer.CustomCodeHelpersTransformer, + NodeTransformer_1.NodeTransformer.DeadCodeInjectionTransformer, + NodeTransformer_1.NodeTransformer.EscapeSequenceTransformer, + NodeTransformer_1.NodeTransformer.EvalCallExpressionTransformer, + NodeTransformer_1.NodeTransformer.ExportSpecifierTransformer, + NodeTransformer_1.NodeTransformer.ExpressionStatementsMergeTransformer, + NodeTransformer_1.NodeTransformer.FunctionControlFlowTransformer, + NodeTransformer_1.NodeTransformer.IfStatementSimplifyTransformer, + NodeTransformer_1.NodeTransformer.LabeledStatementTransformer, + NodeTransformer_1.NodeTransformer.RenamePropertiesTransformer, + NodeTransformer_1.NodeTransformer.MemberExpressionTransformer, + NodeTransformer_1.NodeTransformer.MetadataTransformer, + NodeTransformer_1.NodeTransformer.MethodDefinitionTransformer, + NodeTransformer_1.NodeTransformer.NumberLiteralTransformer, + NodeTransformer_1.NodeTransformer.NumberToNumericalExpressionTransformer, + NodeTransformer_1.NodeTransformer.ObfuscatingGuardsTransformer, + NodeTransformer_1.NodeTransformer.ObjectExpressionKeysTransformer, + NodeTransformer_1.NodeTransformer.ObjectExpressionTransformer, + NodeTransformer_1.NodeTransformer.ObjectPatternPropertiesTransformer, + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.ScopeIdentifiersTransformer, + NodeTransformer_1.NodeTransformer.SplitStringTransformer, + NodeTransformer_1.NodeTransformer.StringArrayScopeCallsWrapperTransformer, + NodeTransformer_1.NodeTransformer.StringArrayTransformer, + NodeTransformer_1.NodeTransformer.TemplateLiteralTransformer, + NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer +]; +JavaScriptObfuscator = JavaScriptObfuscator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformersRunner)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformersRunner)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObfuscatedCode)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ILogger)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof ICodeTransformersRunner_1.ICodeTransformersRunner !== "undefined" && ICodeTransformersRunner_1.ICodeTransformersRunner) === "function" ? _a : Object, typeof (_b = typeof INodeTransformersRunner_1.INodeTransformersRunner !== "undefined" && INodeTransformersRunner_1.INodeTransformersRunner) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof TObfuscatedCodeFactory_1.TObfuscatedCodeFactory !== "undefined" && TObfuscatedCodeFactory_1.TObfuscatedCodeFactory) === "function" ? _d : Object, typeof (_e = typeof ILogger_1.ILogger !== "undefined" && ILogger_1.ILogger) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], JavaScriptObfuscator); +exports.JavaScriptObfuscator = JavaScriptObfuscator; + + +/***/ }), + +/***/ "./src/JavaScriptObfuscatorFacade.ts": +/*!*******************************************!*\ + !*** ./src/JavaScriptObfuscatorFacade.ts ***! + \*******************************************/ +/*! flagged exports */ +/*! export JavaScriptObfuscator [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.JavaScriptObfuscator = void 0; +__webpack_require__(/*! reflect-metadata */ "reflect-metadata"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ./container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const InversifyContainerFacade_1 = __webpack_require__(/*! ./container/InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const Options_1 = __webpack_require__(/*! ./options/Options */ "./src/options/Options.ts"); +const Utils_1 = __webpack_require__(/*! ./utils/Utils */ "./src/utils/Utils.ts"); +class JavaScriptObfuscatorFacade { + static obfuscate(sourceCode, inputOptions = {}) { + const inversifyContainerFacade = new InversifyContainerFacade_1.InversifyContainerFacade(); + inversifyContainerFacade.load(sourceCode, '', inputOptions); + const javaScriptObfuscator = inversifyContainerFacade + .get(ServiceIdentifiers_1.ServiceIdentifiers.IJavaScriptObfuscator); + const obfuscatedCode = javaScriptObfuscator.obfuscate(sourceCode); + inversifyContainerFacade.unload(); + return obfuscatedCode; + } + static obfuscateMultiple(sourceCodesObject, inputOptions = {}) { + if (typeof sourceCodesObject !== 'object') { + throw new Error('Source codes object should be a plain object'); + } + return Object + .keys(sourceCodesObject) + .reduce((acc, sourceCodeIdentifier, index) => { + const identifiersPrefix = Utils_1.Utils.getIdentifiersPrefixForMultipleSources(inputOptions.identifiersPrefix, index); + const sourceCode = sourceCodesObject[sourceCodeIdentifier]; + const sourceCodeOptions = Object.assign(Object.assign({}, inputOptions), { identifiersPrefix }); + return Object.assign(Object.assign({}, acc), { [sourceCodeIdentifier]: JavaScriptObfuscatorFacade.obfuscate(sourceCode, sourceCodeOptions) }); + }, {}); + } + static getOptionsByPreset(optionsPreset) { + return Options_1.Options.getOptionsByPreset(optionsPreset); + } +} +exports.JavaScriptObfuscator = JavaScriptObfuscatorFacade; +JavaScriptObfuscatorFacade.version = (_a = "2.9.0") !== null && _a !== void 0 ? _a : 'unknown'; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.ts": +/*!******************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.ts ***! + \******************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CallsGraphAnalyzer_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallsGraphAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TCalleeDataExtractorFactory_1 = __webpack_require__(/*! ../../types/container/calls-graph-analyzer/TCalleeDataExtractorFactory */ "./src/types/container/calls-graph-analyzer/TCalleeDataExtractorFactory.ts"); +const CalleeDataExtractor_1 = __webpack_require__(/*! ../../enums/analyzers/calls-graph-analyzer/CalleeDataExtractor */ "./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let CallsGraphAnalyzer = CallsGraphAnalyzer_1 = class CallsGraphAnalyzer { + constructor(calleeDataExtractorFactory) { + this.calleeDataExtractorFactory = calleeDataExtractorFactory; + } + static getLimitIndex(blockScopeBodyLength) { + const lastIndex = blockScopeBodyLength - 1; + const limitThresholdActivationIndex = CallsGraphAnalyzer_1.limitThresholdActivationLength - 1; + let limitIndex = lastIndex; + if (lastIndex > limitThresholdActivationIndex) { + limitIndex = Math.round(limitThresholdActivationIndex + (lastIndex * CallsGraphAnalyzer_1.limitThreshold)); + if (limitIndex > lastIndex) { + limitIndex = lastIndex; + } + } + return limitIndex; + } + analyze(astTree) { + return this.analyzeRecursive(astTree.body); + } + analyzeRecursive(blockScopeBody) { + const limitIndex = CallsGraphAnalyzer_1.getLimitIndex(blockScopeBody.length); + const callsGraphData = []; + const blockScopeBodyLength = blockScopeBody.length; + for (let index = 0; index < blockScopeBodyLength; index++) { + if (index > limitIndex) { + break; + } + const blockScopeBodyNode = blockScopeBody[index]; + estraverse.traverse(blockScopeBodyNode, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isCallExpressionNode(node)) { + return; + } + if (blockScopeBodyNode.parentNode !== NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(node)) { + return estraverse.VisitorOption.Skip; + } + this.analyzeCallExpressionNode(callsGraphData, blockScopeBody, node); + } + }); + } + return callsGraphData; + } + analyzeCallExpressionNode(callsGraphData, blockScopeBody, callExpressionNode) { + CallsGraphAnalyzer_1.calleeDataExtractorsList.forEach((calleeDataExtractorName) => { + const calleeData = this.calleeDataExtractorFactory(calleeDataExtractorName) + .extract(blockScopeBody, callExpressionNode.callee); + if (!calleeData) { + return; + } + callsGraphData.push(Object.assign(Object.assign({}, calleeData), { callsGraph: this.analyzeRecursive(calleeData.callee.body) })); + }); + } +}; +CallsGraphAnalyzer.calleeDataExtractorsList = [ + CalleeDataExtractor_1.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor, + CalleeDataExtractor_1.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor, + CalleeDataExtractor_1.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor +]; +CallsGraphAnalyzer.limitThresholdActivationLength = 25; +CallsGraphAnalyzer.limitThreshold = 0.002; +CallsGraphAnalyzer = CallsGraphAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICalleeDataExtractor)), + __metadata("design:paramtypes", [typeof (_a = typeof TCalleeDataExtractorFactory_1.TCalleeDataExtractorFactory !== "undefined" && TCalleeDataExtractorFactory_1.TCalleeDataExtractorFactory) === "function" ? _a : Object]) +], CallsGraphAnalyzer); +exports.CallsGraphAnalyzer = CallsGraphAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts": +/*!**************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts ***! + \**************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +let AbstractCalleeDataExtractor = class AbstractCalleeDataExtractor { +}; +AbstractCalleeDataExtractor = __decorate([ + inversify_1.injectable() +], AbstractCalleeDataExtractor); +exports.AbstractCalleeDataExtractor = AbstractCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts ***! + \*************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FunctionDeclarationCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const AbstractCalleeDataExtractor_1 = __webpack_require__(/*! ./AbstractCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let FunctionDeclarationCalleeDataExtractor = class FunctionDeclarationCalleeDataExtractor extends AbstractCalleeDataExtractor_1.AbstractCalleeDataExtractor { + extract(blockScopeBody, callee) { + if (!NodeGuards_1.NodeGuards.isIdentifierNode(callee)) { + return null; + } + const calleeBlockStatement = this.getCalleeBlockStatement(NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(blockScopeBody[0]), callee.name); + if (!calleeBlockStatement) { + return null; + } + return { + callee: calleeBlockStatement, + name: callee.name + }; + } + getCalleeBlockStatement(targetNode, name) { + let calleeBlockStatement = null; + estraverse.traverse(targetNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) && node.id.name === name) { + calleeBlockStatement = node.body; + return estraverse.VisitorOption.Break; + } + } + }); + return calleeBlockStatement; + } +}; +FunctionDeclarationCalleeDataExtractor = __decorate([ + inversify_1.injectable() +], FunctionDeclarationCalleeDataExtractor); +exports.FunctionDeclarationCalleeDataExtractor = FunctionDeclarationCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts": +/*!************************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts ***! + \************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FunctionExpressionCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const AbstractCalleeDataExtractor_1 = __webpack_require__(/*! ./AbstractCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let FunctionExpressionCalleeDataExtractor = class FunctionExpressionCalleeDataExtractor extends AbstractCalleeDataExtractor_1.AbstractCalleeDataExtractor { + extract(blockScopeBody, callee) { + let calleeName = null; + let calleeBlockStatement = null; + if (NodeGuards_1.NodeGuards.isIdentifierNode(callee)) { + calleeName = callee.name; + calleeBlockStatement = this.getCalleeBlockStatement(NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(blockScopeBody[0]), callee.name); + } + else if (NodeGuards_1.NodeGuards.isFunctionExpressionNode(callee)) { + calleeName = null; + calleeBlockStatement = callee.body; + } + if (!calleeBlockStatement) { + return null; + } + return { + callee: calleeBlockStatement, + name: calleeName + }; + } + getCalleeBlockStatement(targetNode, name) { + let calleeBlockStatement = null; + estraverse.traverse(targetNode, { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) && + parentNode && + NodeGuards_1.NodeGuards.isVariableDeclaratorNode(parentNode) && + NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.id) && + parentNode.id.name === name) { + calleeBlockStatement = node.body; + return estraverse.VisitorOption.Break; + } + } + }); + return calleeBlockStatement; + } +}; +FunctionExpressionCalleeDataExtractor = __decorate([ + inversify_1.injectable() +], FunctionExpressionCalleeDataExtractor); +exports.FunctionExpressionCalleeDataExtractor = FunctionExpressionCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor.ts": +/*!**********************************************************************************************************!*\ + !*** ./src/analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor.ts ***! + \**********************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var ObjectExpressionCalleeDataExtractor_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionCalleeDataExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const AbstractCalleeDataExtractor_1 = __webpack_require__(/*! ./AbstractCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/AbstractCalleeDataExtractor.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor_1 = class ObjectExpressionCalleeDataExtractor extends AbstractCalleeDataExtractor_1.AbstractCalleeDataExtractor { + static isValidTargetPropertyNode(propertyNode, nextItemInCallsChain) { + if (!propertyNode.key) { + return false; + } + const isTargetPropertyNodeWithIdentifierKey = NodeGuards_1.NodeGuards.isIdentifierNode(propertyNode.key) && propertyNode.key.name === nextItemInCallsChain; + const isTargetPropertyNodeWithLiteralKey = NodeGuards_1.NodeGuards.isLiteralNode(propertyNode.key) && + Boolean(propertyNode.key.value) && + propertyNode.key.value === nextItemInCallsChain; + return isTargetPropertyNodeWithIdentifierKey || isTargetPropertyNodeWithLiteralKey; + } + extract(blockScopeBody, callee) { + if (!NodeGuards_1.NodeGuards.isMemberExpressionNode(callee)) { + return null; + } + const objectMembersCallsChain = this.createObjectMembersCallsChain([], callee); + if (!objectMembersCallsChain.length) { + return null; + } + const functionExpressionName = objectMembersCallsChain[objectMembersCallsChain.length - 1]; + const calleeBlockStatement = this.getCalleeBlockStatement(NodeStatementUtils_1.NodeStatementUtils.getParentNodeWithStatements(blockScopeBody[0]), objectMembersCallsChain); + if (!calleeBlockStatement) { + return null; + } + return { + callee: calleeBlockStatement, + name: functionExpressionName + }; + } + createObjectMembersCallsChain(currentChain, memberExpression) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(memberExpression.property) && !memberExpression.computed) { + currentChain.unshift(memberExpression.property.name); + } + else if (NodeGuards_1.NodeGuards.isLiteralNode(memberExpression.property) && + (typeof memberExpression.property.value === 'string' || + typeof memberExpression.property.value === 'number')) { + currentChain.unshift(memberExpression.property.value); + } + else { + return currentChain; + } + if (NodeGuards_1.NodeGuards.isMemberExpressionNode(memberExpression.object)) { + return this.createObjectMembersCallsChain(currentChain, memberExpression.object); + } + else if (NodeGuards_1.NodeGuards.isIdentifierNode(memberExpression.object)) { + currentChain.unshift(memberExpression.object.name); + } + return currentChain; + } + getCalleeBlockStatement(targetNode, objectMembersCallsChain) { + const objectName = objectMembersCallsChain.shift(); + if (!objectName) { + return null; + } + let calleeBlockStatement = null; + estraverse.traverse(targetNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isVariableDeclaratorNode(node) && + NodeGuards_1.NodeGuards.isIdentifierNode(node.id) && + node.init && + NodeGuards_1.NodeGuards.isObjectExpressionNode(node.init) && + node.id.name === objectName) { + calleeBlockStatement = this.findCalleeBlockStatement(node.init.properties, objectMembersCallsChain); + return estraverse.VisitorOption.Break; + } + } + }); + return calleeBlockStatement; + } + findCalleeBlockStatement(objectExpressionProperties, objectMembersCallsChain) { + const nextItemInCallsChain = objectMembersCallsChain.shift(); + if (!nextItemInCallsChain) { + return null; + } + for (const propertyNode of objectExpressionProperties) { + if (!NodeGuards_1.NodeGuards.isPropertyNode(propertyNode)) { + continue; + } + if (!ObjectExpressionCalleeDataExtractor_1.isValidTargetPropertyNode(propertyNode, nextItemInCallsChain)) { + continue; + } + if (NodeGuards_1.NodeGuards.isObjectExpressionNode(propertyNode.value)) { + return this.findCalleeBlockStatement(propertyNode.value.properties, objectMembersCallsChain); + } + if (NodeGuards_1.NodeGuards.isFunctionExpressionNode(propertyNode.value)) { + return propertyNode.value.body; + } + } + return null; + } +}; +ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor_1 = __decorate([ + inversify_1.injectable() +], ObjectExpressionCalleeDataExtractor); +exports.ObjectExpressionCalleeDataExtractor = ObjectExpressionCalleeDataExtractor; + + +/***/ }), + +/***/ "./src/analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer.ts": +/*!*************************************************************************************************!*\ + !*** ./src/analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer.ts ***! + \*************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var NumberNumericalExpressionAnalyzer_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberNumericalExpressionAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let NumberNumericalExpressionAnalyzer = NumberNumericalExpressionAnalyzer_1 = class NumberNumericalExpressionAnalyzer { + constructor(randomGenerator) { + this.numberFactorsMap = new Map(); + this.randomGenerator = randomGenerator; + } + analyze(number) { + if (isNaN(number)) { + throw new Error('Given value is NaN'); + } + if (NumberUtils_1.NumberUtils.isUnsafeNumber(number)) { + return [number]; + } + const additionParts = this.generateAdditionParts(number); + return additionParts.map((addition) => this.mixWithMultiplyParts(addition)); + } + generateAdditionParts(number) { + const additionParts = []; + const upperNumberLimit = Math.min(Math.abs(number * 2), Number.MAX_SAFE_INTEGER); + const from = Math.min(-10000, -upperNumberLimit); + const to = Math.max(10000, upperNumberLimit); + let temporarySum = 0; + for (let i = 0; i < NumberNumericalExpressionAnalyzer_1.additionalParts; i++) { + if (i < NumberNumericalExpressionAnalyzer_1.additionalParts - 1) { + let addition = this.randomGenerator.getRandomInteger(from, to); + const isUnsafeCombination = NumberUtils_1.NumberUtils.isUnsafeNumber(temporarySum + addition); + if (isUnsafeCombination) { + addition = -addition; + } + additionParts.push(addition); + temporarySum += addition; + } + else { + const combination = number - temporarySum; + const isUnsafeCombination = NumberUtils_1.NumberUtils.isUnsafeNumber(combination); + if (isUnsafeCombination) { + additionParts.push(0 - temporarySum); + additionParts.push(number); + } + else { + additionParts.push(combination); + } + } + } + return additionParts; + } + mixWithMultiplyParts(number) { + var _a; + const shouldMixWithMultiplyParts = this.randomGenerator.getMathRandom() > 0.5; + if (!shouldMixWithMultiplyParts || number === 0) { + return number; + } + let factors = (_a = this.numberFactorsMap.get(number)) !== null && _a !== void 0 ? _a : null; + if (!factors) { + factors = NumberUtils_1.NumberUtils.getFactors(number); + this.numberFactorsMap.set(number, factors); + } + if (!factors.length) { + return number; + } + const factor = factors[this.randomGenerator.getRandomInteger(0, factors.length - 1)]; + return [factor, number / factor]; + } +}; +NumberNumericalExpressionAnalyzer.additionalParts = 3; +NumberNumericalExpressionAnalyzer = NumberNumericalExpressionAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], NumberNumericalExpressionAnalyzer); +exports.NumberNumericalExpressionAnalyzer = NumberNumericalExpressionAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer.ts": +/*!**************************************************************************************************!*\ + !*** ./src/analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer.ts ***! + \**************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var PrevailingKindOfVariablesAnalyzer_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.PrevailingKindOfVariablesAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let PrevailingKindOfVariablesAnalyzer = PrevailingKindOfVariablesAnalyzer_1 = class PrevailingKindOfVariablesAnalyzer { + constructor(arrayUtils) { + this.prevailingKindOfVariables = PrevailingKindOfVariablesAnalyzer_1.defaultKindOfVariables; + this.arrayUtils = arrayUtils; + } + analyze(astTree) { + var _a; + const variableKinds = []; + estraverse.traverse(astTree, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isVariableDeclarationNode(node)) { + return; + } + variableKinds.push(node.kind); + } + }); + this.prevailingKindOfVariables = (_a = this.arrayUtils.findMostOccurringElement(variableKinds)) !== null && _a !== void 0 ? _a : PrevailingKindOfVariablesAnalyzer_1.defaultKindOfVariables; + } + getPrevailingKind() { + return this.prevailingKindOfVariables; + } +}; +PrevailingKindOfVariablesAnalyzer.defaultKindOfVariables = 'var'; +PrevailingKindOfVariablesAnalyzer = PrevailingKindOfVariablesAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _a : Object]) +], PrevailingKindOfVariablesAnalyzer); +exports.PrevailingKindOfVariablesAnalyzer = PrevailingKindOfVariablesAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/scope-analyzer/ScopeAnalyzer.ts": +/*!*******************************************************!*\ + !*** ./src/analyzers/scope-analyzer/ScopeAnalyzer.ts ***! + \*******************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var ScopeAnalyzer_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const eslintScope = __importStar(__webpack_require__(/*! eslint-scope */ "eslint-scope")); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const EcmaVersion_1 = __webpack_require__(/*! ../../constants/EcmaVersion */ "./src/constants/EcmaVersion.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ScopeAnalyzer = ScopeAnalyzer_1 = class ScopeAnalyzer { + constructor() { + this.scopeManager = null; + } + static attachMissingRanges(astTree) { + estraverse.replace(astTree, { + enter: (node, parentNode) => { + var _a, _b, _c, _d; + if (!node.range) { + node.range = [ + (_b = (_a = parentNode === null || parentNode === void 0 ? void 0 : parentNode.range) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : ScopeAnalyzer_1.emptyRangeValue, + (_d = (_c = parentNode === null || parentNode === void 0 ? void 0 : parentNode.range) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : ScopeAnalyzer_1.emptyRangeValue + ]; + } + return node; + } + }); + } + static isRootNode(node) { + return NodeGuards_1.NodeGuards.isProgramNode(node) || node.parentNode === node; + } + analyze(astTree) { + const sourceTypeLength = ScopeAnalyzer_1.sourceTypes.length; + ScopeAnalyzer_1.attachMissingRanges(astTree); + for (let i = 0; i < sourceTypeLength; i++) { + try { + this.scopeManager = eslintScope.analyze(astTree, Object.assign(Object.assign({}, ScopeAnalyzer_1.eslintScopeOptions), { sourceType: ScopeAnalyzer_1.sourceTypes[i] })); + return; + } + catch (error) { + if (i < sourceTypeLength - 1) { + continue; + } + throw new Error(error); + } + } + throw new Error('Scope analyzing error'); + } + acquireScope(node) { + if (!this.scopeManager) { + throw new Error('Scope manager is not defined'); + } + const scope = this.scopeManager.acquire(node, ScopeAnalyzer_1.isRootNode(node)); + if (!scope) { + throw new Error('Cannot acquire scope for node'); + } + this.sanitizeScopes(scope); + return scope; + } + sanitizeScopes(scope) { + scope.childScopes.forEach((childScope) => { + if (childScope.type === 'class' && childScope.upper) { + if (!childScope.variables.length) { + return; + } + const classNameVariable = childScope.variables[0]; + const upperVariable = childScope.upper.variables + .find((variable) => { + const isValidClassNameVariable = classNameVariable.defs + .some((definition) => definition.type === 'ClassName'); + return isValidClassNameVariable && variable.name === classNameVariable.name; + }); + upperVariable === null || upperVariable === void 0 ? void 0 : upperVariable.references.push(...childScope.variables[0].references); + } + }); + for (const childScope of scope.childScopes) { + this.sanitizeScopes(childScope); + } + } +}; +ScopeAnalyzer.eslintScopeOptions = { + ecmaVersion: EcmaVersion_1.ecmaVersion, + optimistic: true +}; +ScopeAnalyzer.sourceTypes = [ + 'script', + 'module' +]; +ScopeAnalyzer.emptyRangeValue = 0; +ScopeAnalyzer = ScopeAnalyzer_1 = __decorate([ + inversify_1.injectable() +], ScopeAnalyzer); +exports.ScopeAnalyzer = ScopeAnalyzer; + + +/***/ }), + +/***/ "./src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts": +/*!***********************************************************************************!*\ + !*** ./src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayStorageAnalyzer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayStorageAnalyzer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let StringArrayStorageAnalyzer = StringArrayStorageAnalyzer_1 = class StringArrayStorageAnalyzer { + constructor(stringArrayStorage, randomGenerator, options) { + this.stringArrayStorageData = new Map(); + this.stringArrayStorage = stringArrayStorage; + this.randomGenerator = randomGenerator; + this.options = options; + } + analyze(astTree) { + if (!this.options.stringArray) { + return; + } + estraverse.traverse(astTree, { + enter: (node, parentNode) => { + if (!parentNode) { + return; + } + if (NodeMetadata_1.NodeMetadata.isIgnoredNode(node)) { + return estraverse.VisitorOption.Skip; + } + if (!NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return; + } + this.analyzeLiteralNode(node, parentNode); + } + }); + } + getItemDataForLiteralNode(literalNode) { + return this.stringArrayStorageData.get(literalNode); + } + analyzeLiteralNode(literalNode, parentNode) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode)) { + return; + } + if (NodeLiteralUtils_1.NodeLiteralUtils.isProhibitedLiteralNode(literalNode, parentNode)) { + return; + } + if (!this.shouldAddValueToStringArray(literalNode)) { + return; + } + this.stringArrayStorageData.set(literalNode, this.stringArrayStorage.getOrThrow(literalNode.value)); + } + shouldAddValueToStringArray(literalNode) { + const isForceTransformNode = NodeMetadata_1.NodeMetadata.isForceTransformNode(literalNode); + if (isForceTransformNode) { + return true; + } + return literalNode.value.length >= StringArrayStorageAnalyzer_1.minimumLengthForStringArray + && this.randomGenerator.getMathRandom() <= this.options.stringArrayThreshold; + } +}; +StringArrayStorageAnalyzer.minimumLengthForStringArray = 3; +StringArrayStorageAnalyzer = StringArrayStorageAnalyzer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], StringArrayStorageAnalyzer); +exports.StringArrayStorageAnalyzer = StringArrayStorageAnalyzer; + + +/***/ }), + +/***/ "./src/code-transformers/AbstractCodeTransformer.ts": +/*!**********************************************************!*\ + !*** ./src/code-transformers/AbstractCodeTransformer.ts ***! + \**********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCodeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractCodeTransformer = class AbstractCodeTransformer { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } +}; +AbstractCodeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractCodeTransformer); +exports.AbstractCodeTransformer = AbstractCodeTransformer; + + +/***/ }), + +/***/ "./src/code-transformers/CodeTransformerNamesGroupsBuilder.ts": +/*!********************************************************************!*\ + !*** ./src/code-transformers/CodeTransformerNamesGroupsBuilder.ts ***! + \********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformerNamesGroupsBuilder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AbstractTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../utils/AbstractTransformerNamesGroupsBuilder */ "./src/utils/AbstractTransformerNamesGroupsBuilder.ts"); +let CodeTransformerNamesGroupsBuilder = class CodeTransformerNamesGroupsBuilder extends AbstractTransformerNamesGroupsBuilder_1.AbstractTransformerNamesGroupsBuilder { +}; +CodeTransformerNamesGroupsBuilder = __decorate([ + inversify_1.injectable() +], CodeTransformerNamesGroupsBuilder); +exports.CodeTransformerNamesGroupsBuilder = CodeTransformerNamesGroupsBuilder; + + +/***/ }), + +/***/ "./src/code-transformers/CodeTransformersRunner.ts": +/*!*********************************************************!*\ + !*** ./src/code-transformers/CodeTransformersRunner.ts ***! + \*********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformersRunner = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCodeTransformerFactory_1 = __webpack_require__(/*! ../types/container/code-transformers/TCodeTransformerFactory */ "./src/types/container/code-transformers/TCodeTransformerFactory.ts"); +const ITransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../interfaces/utils/ITransformerNamesGroupsBuilder */ "./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts"); +let CodeTransformersRunner = class CodeTransformersRunner { + constructor(codeTransformerFactory, codeTransformerNamesGroupsBuilder) { + this.codeTransformerFactory = codeTransformerFactory; + this.codeTransformerNamesGroupsBuilder = codeTransformerNamesGroupsBuilder; + } + transform(code, codeTransformerNames, codeTransformationStage) { + if (!codeTransformerNames.length) { + return code; + } + const normalizedCodeTransformers = this.buildNormalizedCodeTransformers(codeTransformerNames, codeTransformationStage); + const codeTransformerNamesGroups = this.codeTransformerNamesGroupsBuilder.build(normalizedCodeTransformers); + for (const nodeTransformerNamesGroup of codeTransformerNamesGroups) { + for (const nodeTransformerName of nodeTransformerNamesGroup) { + const codeTransformer = normalizedCodeTransformers[nodeTransformerName]; + code = codeTransformer.transformCode(code, codeTransformationStage); + } + } + return code; + } + buildNormalizedCodeTransformers(codeTransformerNames, codeTransformationStage) { + return codeTransformerNames + .reduce((acc, codeTransformerName) => { + const codeTransformer = this.codeTransformerFactory(codeTransformerName); + return Object.assign(Object.assign({}, acc), { [codeTransformerName]: codeTransformer }); + }, {}); + } +}; +CodeTransformersRunner = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICodeTransformer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder)), + __metadata("design:paramtypes", [typeof (_a = typeof TCodeTransformerFactory_1.TCodeTransformerFactory !== "undefined" && TCodeTransformerFactory_1.TCodeTransformerFactory) === "function" ? _a : Object, typeof (_b = typeof ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder !== "undefined" && ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder) === "function" ? _b : Object]) +], CodeTransformersRunner); +exports.CodeTransformersRunner = CodeTransformersRunner; + + +/***/ }), + +/***/ "./src/code-transformers/preparing-transformers/HashbangOperatorTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/code-transformers/preparing-transformers/HashbangOperatorTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HashbangOperatorTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const CodeTransformationStage_1 = __webpack_require__(/*! ../../enums/code-transformers/CodeTransformationStage */ "./src/enums/code-transformers/CodeTransformationStage.ts"); +const AbstractCodeTransformer_1 = __webpack_require__(/*! ../AbstractCodeTransformer */ "./src/code-transformers/AbstractCodeTransformer.ts"); +let HashbangOperatorTransformer = class HashbangOperatorTransformer extends AbstractCodeTransformer_1.AbstractCodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.hashbangOperatorLine = null; + } + transformCode(code, codeTransformationStage) { + switch (codeTransformationStage) { + case CodeTransformationStage_1.CodeTransformationStage.PreparingTransformers: + return this.removeAndSaveHashbangOperatorLine(code); + case CodeTransformationStage_1.CodeTransformationStage.FinalizingTransformers: + return this.appendSavedHashbangOperatorLine(code); + default: + return code; + } + } + removeAndSaveHashbangOperatorLine(code) { + return code + .replace(/^#!.*$(\r?\n)*/m, (substring) => { + if (substring) { + this.hashbangOperatorLine = substring; + } + return ''; + }) + .trim(); + } + appendSavedHashbangOperatorLine(code) { + var _a; + return `${(_a = this.hashbangOperatorLine) !== null && _a !== void 0 ? _a : ''}${code}`; + } +}; +HashbangOperatorTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], HashbangOperatorTransformer); +exports.HashbangOperatorTransformer = HashbangOperatorTransformer; + + +/***/ }), + +/***/ "./src/constants/AlphabetString.ts": +/*!*****************************************!*\ + !*** ./src/constants/AlphabetString.ts ***! + \*****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export alphabetString [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.alphabetString = void 0; +exports.alphabetString = 'abcdefghijklmnopqrstuvwxyz'; + + +/***/ }), + +/***/ "./src/constants/AlphabetStringUppercase.ts": +/*!**************************************************!*\ + !*** ./src/constants/AlphabetStringUppercase.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export alphabetStringUppercase [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.alphabetStringUppercase = void 0; +const AlphabetString_1 = __webpack_require__(/*! ./AlphabetString */ "./src/constants/AlphabetString.ts"); +exports.alphabetStringUppercase = AlphabetString_1.alphabetString.toUpperCase(); + + +/***/ }), + +/***/ "./src/constants/Base64Alphabet.ts": +/*!*****************************************!*\ + !*** ./src/constants/Base64Alphabet.ts ***! + \*****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export base64alphabet [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.base64alphabet = void 0; +const AlphabetStringUppercase_1 = __webpack_require__(/*! ./AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const AlphabetString_1 = __webpack_require__(/*! ./AlphabetString */ "./src/constants/AlphabetString.ts"); +const NumbersString_1 = __webpack_require__(/*! ./NumbersString */ "./src/constants/NumbersString.ts"); +exports.base64alphabet = `${AlphabetStringUppercase_1.alphabetStringUppercase}${AlphabetString_1.alphabetString}${NumbersString_1.numbersString}+/=`; + + +/***/ }), + +/***/ "./src/constants/Base64AlphabetSwapped.ts": +/*!************************************************!*\ + !*** ./src/constants/Base64AlphabetSwapped.ts ***! + \************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export base64alphabetSwapped [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.base64alphabetSwapped = void 0; +const AlphabetStringUppercase_1 = __webpack_require__(/*! ./AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const AlphabetString_1 = __webpack_require__(/*! ./AlphabetString */ "./src/constants/AlphabetString.ts"); +const NumbersString_1 = __webpack_require__(/*! ./NumbersString */ "./src/constants/NumbersString.ts"); +exports.base64alphabetSwapped = `${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}${NumbersString_1.numbersString}+/=`; + + +/***/ }), + +/***/ "./src/constants/EcmaVersion.ts": +/*!**************************************!*\ + !*** ./src/constants/EcmaVersion.ts ***! + \**************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export ecmaVersion [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ecmaVersion = void 0; +exports.ecmaVersion = 12; + + +/***/ }), + +/***/ "./src/constants/NumbersString.ts": +/*!****************************************!*\ + !*** ./src/constants/NumbersString.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export numbersString [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.numbersString = void 0; +exports.numbersString = '0123456789'; + + +/***/ }), + +/***/ "./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts": +/*!************************************************************************************************************************!*\ + !*** ./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts ***! + \************************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export stringArrayRootCallsWrapperParametersDefaultCount [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.stringArrayRootCallsWrapperParametersDefaultCount = void 0; +exports.stringArrayRootCallsWrapperParametersDefaultCount = 2; + + +/***/ }), + +/***/ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts": +/*!*********************************************************************************************************************!*\ + !*** ./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts ***! + \*********************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export stringArrayScopeCallsWrapperParametersMaxCount [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.stringArrayScopeCallsWrapperParametersMaxCount = void 0; +exports.stringArrayScopeCallsWrapperParametersMaxCount = 5; + + +/***/ }), + +/***/ "./src/container/InversifyContainerFacade.ts": +/*!***************************************************!*\ + !*** ./src/container/InversifyContainerFacade.ts ***! + \***************************************************/ +/*! flagged exports */ +/*! export InversifyContainerFacade [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.InversifyContainerFacade = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ./ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const AnalyzersModule_1 = __webpack_require__(/*! ./modules/analyzers/AnalyzersModule */ "./src/container/modules/analyzers/AnalyzersModule.ts"); +const CodeTransformersModule_1 = __webpack_require__(/*! ./modules/code-transformers/CodeTransformersModule */ "./src/container/modules/code-transformers/CodeTransformersModule.ts"); +const ControlFlowTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/ControlFlowTransformersModule */ "./src/container/modules/node-transformers/ControlFlowTransformersModule.ts"); +const ConvertingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/ConvertingTransformersModule */ "./src/container/modules/node-transformers/ConvertingTransformersModule.ts"); +const CustomCodeHelpersModule_1 = __webpack_require__(/*! ./modules/custom-code-helpers/CustomCodeHelpersModule */ "./src/container/modules/custom-code-helpers/CustomCodeHelpersModule.ts"); +const CustomNodesModule_1 = __webpack_require__(/*! ./modules/custom-nodes/CustomNodesModule */ "./src/container/modules/custom-nodes/CustomNodesModule.ts"); +const DeadCodeInjectionTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/DeadCodeInjectionTransformersModule */ "./src/container/modules/node-transformers/DeadCodeInjectionTransformersModule.ts"); +const FinalizingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/FinalizingTransformersModule */ "./src/container/modules/node-transformers/FinalizingTransformersModule.ts"); +const GeneratorsModule_1 = __webpack_require__(/*! ./modules/generators/GeneratorsModule */ "./src/container/modules/generators/GeneratorsModule.ts"); +const InitializingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/InitializingTransformersModule */ "./src/container/modules/node-transformers/InitializingTransformersModule.ts"); +const NodeModule_1 = __webpack_require__(/*! ./modules/node/NodeModule */ "./src/container/modules/node/NodeModule.ts"); +const NodeTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/NodeTransformersModule */ "./src/container/modules/node-transformers/NodeTransformersModule.ts"); +const OptionsModule_1 = __webpack_require__(/*! ./modules/options/OptionsModule */ "./src/container/modules/options/OptionsModule.ts"); +const PreparingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/PreparingTransformersModule */ "./src/container/modules/node-transformers/PreparingTransformersModule.ts"); +const RenameIdentifiersTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/RenameIdentifiersTransformersModule */ "./src/container/modules/node-transformers/RenameIdentifiersTransformersModule.ts"); +const RenamePropertiesTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/RenamePropertiesTransformersModule */ "./src/container/modules/node-transformers/RenamePropertiesTransformersModule.ts"); +const SimplifyingTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/SimplifyingTransformersModule */ "./src/container/modules/node-transformers/SimplifyingTransformersModule.ts"); +const StoragesModule_1 = __webpack_require__(/*! ./modules/storages/StoragesModule */ "./src/container/modules/storages/StoragesModule.ts"); +const StringArrayTransformersModule_1 = __webpack_require__(/*! ./modules/node-transformers/StringArrayTransformersModule */ "./src/container/modules/node-transformers/StringArrayTransformersModule.ts"); +const UtilsModule_1 = __webpack_require__(/*! ./modules/utils/UtilsModule */ "./src/container/modules/utils/UtilsModule.ts"); +const CodeTransformersRunner_1 = __webpack_require__(/*! ../code-transformers/CodeTransformersRunner */ "./src/code-transformers/CodeTransformersRunner.ts"); +const JavaScriptObfuscator_1 = __webpack_require__(/*! ../JavaScriptObfuscator */ "./src/JavaScriptObfuscator.ts"); +const Logger_1 = __webpack_require__(/*! ../logger/Logger */ "./src/logger/Logger.ts"); +const NodeTransformersRunner_1 = __webpack_require__(/*! ../node-transformers/NodeTransformersRunner */ "./src/node-transformers/NodeTransformersRunner.ts"); +const ObfuscationEventEmitter_1 = __webpack_require__(/*! ../event-emitters/ObfuscationEventEmitter */ "./src/event-emitters/ObfuscationEventEmitter.ts"); +const ObfuscatedCode_1 = __webpack_require__(/*! ../source-code/ObfuscatedCode */ "./src/source-code/ObfuscatedCode.ts"); +const SourceCode_1 = __webpack_require__(/*! ../source-code/SourceCode */ "./src/source-code/SourceCode.ts"); +class InversifyContainerFacade { + constructor() { + this.container = new inversify_1.Container(); + } + static getFactory(serviceIdentifier) { + return (context) => { + return (bindingName) => { + return context.container.getNamed(serviceIdentifier, bindingName); + }; + }; + } + static getCacheFactory(serviceIdentifier) { + return (context) => { + const cache = new Map(); + return (bindingName) => { + if (cache.has(bindingName)) { + return cache.get(bindingName); + } + const object = context.container.getNamed(serviceIdentifier, bindingName); + cache.set(bindingName, object); + return object; + }; + }; + } + static getConstructorFactory(serviceIdentifier, ...dependencies) { + return (context) => { + const cache = new Map(); + const cachedDependencies = []; + return (bindingName) => { + dependencies.forEach((dependency, index) => { + if (!cachedDependencies[index]) { + cachedDependencies[index] = context.container.get(dependency); + } + }); + if (cache.has(bindingName)) { + return new (cache.get(bindingName))(...cachedDependencies); + } + const constructor = context.container + .getNamed(serviceIdentifier, bindingName); + cache.set(bindingName, constructor); + return new constructor(...cachedDependencies); + }; + }; + } + get(serviceIdentifier) { + return this.container.get(serviceIdentifier); + } + getNamed(serviceIdentifier, named) { + return this.container.getNamed(serviceIdentifier, named); + } + load(sourceCode, sourceMap, options) { + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.ISourceCode) + .toDynamicValue(() => new SourceCode_1.SourceCode(sourceCode, sourceMap)) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.TInputOptions) + .toDynamicValue(() => options) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.ILogger) + .to(Logger_1.Logger) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.IJavaScriptObfuscator) + .to(JavaScriptObfuscator_1.JavaScriptObfuscator) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformersRunner) + .to(CodeTransformersRunner_1.CodeTransformersRunner) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformersRunner) + .to(NodeTransformersRunner_1.NodeTransformersRunner) + .inSingletonScope(); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscatedCode) + .to(ObfuscatedCode_1.ObfuscatedCode); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObfuscatedCode) + .toFactory((context) => { + return (obfuscatedCodeAsString, sourceMapAsString) => { + const obfuscatedCode = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscatedCode); + obfuscatedCode.initialize(obfuscatedCodeAsString, sourceMapAsString); + return obfuscatedCode; + }; + }); + this.container + .bind(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscationEventEmitter) + .to(ObfuscationEventEmitter_1.ObfuscationEventEmitter) + .inSingletonScope(); + this.container.load(AnalyzersModule_1.analyzersModule); + this.container.load(CodeTransformersModule_1.codeTransformersModule); + this.container.load(ControlFlowTransformersModule_1.controlFlowTransformersModule); + this.container.load(ConvertingTransformersModule_1.convertingTransformersModule); + this.container.load(CustomCodeHelpersModule_1.customCodeHelpersModule); + this.container.load(CustomNodesModule_1.customNodesModule); + this.container.load(DeadCodeInjectionTransformersModule_1.deadCodeInjectionTransformersModule); + this.container.load(FinalizingTransformersModule_1.finalizingTransformersModule); + this.container.load(GeneratorsModule_1.generatorsModule); + this.container.load(InitializingTransformersModule_1.initializingTransformersModule); + this.container.load(NodeModule_1.nodeModule); + this.container.load(NodeTransformersModule_1.nodeTransformersModule); + this.container.load(OptionsModule_1.optionsModule); + this.container.load(PreparingTransformersModule_1.preparingTransformersModule); + this.container.load(RenameIdentifiersTransformersModule_1.renameIdentifiersTransformersModule); + this.container.load(RenamePropertiesTransformersModule_1.renamePropertiesTransformersModule); + this.container.load(SimplifyingTransformersModule_1.simplifyingTransformersModule); + this.container.load(StoragesModule_1.storagesModule); + this.container.load(StringArrayTransformersModule_1.stringArrayTransformersModule); + this.container.load(UtilsModule_1.utilsModule); + } + unload() { + this.container.unbindAll(); + } +} +exports.InversifyContainerFacade = InversifyContainerFacade; + + +/***/ }), + +/***/ "./src/container/ServiceIdentifiers.ts": +/*!*********************************************!*\ + !*** ./src/container/ServiceIdentifiers.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export ServiceIdentifiers [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ServiceIdentifiers = void 0; +var ServiceIdentifiers; +(function (ServiceIdentifiers) { + ServiceIdentifiers["Factory__ICalleeDataExtractor"] = "Factory"; + ServiceIdentifiers["Factory__ICodeTransformer"] = "Factory"; + ServiceIdentifiers["Factory__IControlFlowCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IControlFlowReplacer"] = "Factory"; + ServiceIdentifiers["Factory__ICustomCodeHelper"] = "Factory"; + ServiceIdentifiers["Factory__ICustomCodeHelperGroup"] = "Factory"; + ServiceIdentifiers["Factory__IDeadCodeInjectionCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IIdentifierNamesGenerator"] = "Factory"; + ServiceIdentifiers["Factory__INodeGuard"] = "Factory"; + ServiceIdentifiers["Factory__INodeTransformer"] = "Factory"; + ServiceIdentifiers["Factory__IObfuscatedCode"] = "Factory"; + ServiceIdentifiers["Factory__IObjectExpressionKeysTransformerCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IObjectExpressionExtractor"] = "Factory"; + ServiceIdentifiers["Factory__IStringArrayCustomNode"] = "Factory"; + ServiceIdentifiers["Factory__IStringArrayIndexNode"] = "Factory"; + ServiceIdentifiers["Factory__TControlFlowStorage"] = "Factory"; + ServiceIdentifiers["IArrayUtils"] = "IArrayUtils"; + ServiceIdentifiers["ICalleeDataExtractor"] = "ICalleeDataExtractor"; + ServiceIdentifiers["ICallsGraphAnalyzer"] = "ICallsGraphAnalyzer"; + ServiceIdentifiers["ICodeTransformer"] = "ICodeTransformer"; + ServiceIdentifiers["ICodeTransformerNamesGroupsBuilder"] = "ICodeTransformerNamesGroupsBuilder"; + ServiceIdentifiers["ICodeTransformersRunner"] = "ICodeTransformersRunner"; + ServiceIdentifiers["ICryptUtils"] = "ICryptUtils"; + ServiceIdentifiers["ICryptUtilsSwappedAlphabet"] = "ICryptUtilsSwappedAlphabet"; + ServiceIdentifiers["ICustomCodeHelper"] = "ICustomCodeHelper"; + ServiceIdentifiers["ICustomCodeHelperGroup"] = "ICustomCodeHelperGroup"; + ServiceIdentifiers["IControlFlowReplacer"] = "IControlFlowReplacer"; + ServiceIdentifiers["ICustomCodeHelperFormatter"] = "ICustomCodeHelperFormatter"; + ServiceIdentifiers["ICustomCodeHelperObfuscator"] = "ICustomCodeHelperObfuscator"; + ServiceIdentifiers["IEscapeSequenceEncoder"] = "IEscapeSequenceEncoder"; + ServiceIdentifiers["IIdentifierNamesGenerator"] = "IIdentifierNamesGenerator"; + ServiceIdentifiers["IIdentifierReplacer"] = "IIdentifierReplacer"; + ServiceIdentifiers["IJavaScriptObfuscator"] = "IJavaScriptObfuscator"; + ServiceIdentifiers["ILevelledTopologicalSorter"] = "ILevelledTopologicalSorter"; + ServiceIdentifiers["ILiteralNodesCacheStorage"] = "ILiteralNodesCacheStorage"; + ServiceIdentifiers["ILogger"] = "ILogger"; + ServiceIdentifiers["INodeGuard"] = "INodeGuard"; + ServiceIdentifiers["INodeTransformer"] = "INodeTransformer"; + ServiceIdentifiers["INodeTransformerNamesGroupsBuilder"] = "INodeTransformerNamesGroupsBuilder"; + ServiceIdentifiers["INodeTransformersRunner"] = "INodeTransformersRunner"; + ServiceIdentifiers["INumberNumericalExpressionAnalyzer"] = "INumberNumericalExpressionAnalyzer"; + ServiceIdentifiers["IObfuscationEventEmitter"] = "IObfuscationEventEmitter"; + ServiceIdentifiers["IObfuscatedCode"] = "IObfuscatedCode"; + ServiceIdentifiers["IOptions"] = "IOptions"; + ServiceIdentifiers["IOptionsNormalizer"] = "IOptionsNormalizer"; + ServiceIdentifiers["IPrevailingKindOfVariablesAnalyzer"] = "IPrevailingKindOfVariablesAnalyzer"; + ServiceIdentifiers["IObjectExpressionExtractor"] = "IObjectExpressionExtractor"; + ServiceIdentifiers["IRandomGenerator"] = "IRandomGenerator"; + ServiceIdentifiers["IRenamePropertiesReplacer"] = "IRenamePropertiesReplacer"; + ServiceIdentifiers["IScopeIdentifiersTraverser"] = "IScopeIdentifiersTraverser"; + ServiceIdentifiers["ISourceCode"] = "ISourceCode"; + ServiceIdentifiers["IScopeAnalyzer"] = "IScopeAnalyzer"; + ServiceIdentifiers["IStringArrayIndexNode"] = "IStringArrayIndexNode"; + ServiceIdentifiers["IStringArrayScopeCallsWrapperLexicalScopeDataStorage"] = "IStringArrayScopeCallsWrapperLexicalScopeDataStorage"; + ServiceIdentifiers["IStringArrayScopeCallsWrapperNamesDataStorage"] = "IStringArrayScopeCallsWrapperNamesDataStorage"; + ServiceIdentifiers["IStringArrayStorage"] = "IStringArrayStorage"; + ServiceIdentifiers["IStringArrayStorageAnalyzer"] = "IStringArrayStorageAnalyzer"; + ServiceIdentifiers["IVisitedLexicalScopeNodesStackStorage"] = "IVisitedLexicalScopeNodesStackStorage"; + ServiceIdentifiers["Newable__ICustomNode"] = "Newable"; + ServiceIdentifiers["Newable__TControlFlowStorage"] = "Newable"; + ServiceIdentifiers["TCustomNodeGroupStorage"] = "TCustomNodeGroupStorage"; + ServiceIdentifiers["TInputOptions"] = "TInputOptions"; +})(ServiceIdentifiers = exports.ServiceIdentifiers || (exports.ServiceIdentifiers = {})); + + +/***/ }), + +/***/ "./src/container/modules/analyzers/AnalyzersModule.ts": +/*!************************************************************!*\ + !*** ./src/container/modules/analyzers/AnalyzersModule.ts ***! + \************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export analyzersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.analyzersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const CalleeDataExtractor_1 = __webpack_require__(/*! ../../../enums/analyzers/calls-graph-analyzer/CalleeDataExtractor */ "./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts"); +const CallsGraphAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/CallsGraphAnalyzer */ "./src/analyzers/calls-graph-analyzer/CallsGraphAnalyzer.ts"); +const FunctionDeclarationCalleeDataExtractor_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionDeclarationCalleeDataExtractor.ts"); +const FunctionExpressionCalleeDataExtractor_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/FunctionExpressionCalleeDataExtractor.ts"); +const NumberNumericalExpressionAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer */ "./src/analyzers/number-numerical-expression-analyzer/NumberNumericalExpressionAnalyzer.ts"); +const ObjectExpressionCalleeDataExtractor_1 = __webpack_require__(/*! ../../../analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor */ "./src/analyzers/calls-graph-analyzer/callee-data-extractors/ObjectExpressionCalleeDataExtractor.ts"); +const PrevailingKindOfVariablesAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer */ "./src/analyzers/prevailing-kind-of-variables-analyzer/PrevailingKindOfVariablesAnalyzer.ts"); +const ScopeAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/scope-analyzer/ScopeAnalyzer */ "./src/analyzers/scope-analyzer/ScopeAnalyzer.ts"); +const StringArrayStorageAnalyzer_1 = __webpack_require__(/*! ../../../analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer */ "./src/analyzers/string-array-storage-analyzer/StringArrayStorageAnalyzer.ts"); +exports.analyzersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICallsGraphAnalyzer) + .to(CallsGraphAnalyzer_1.CallsGraphAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INumberNumericalExpressionAnalyzer) + .to(NumberNumericalExpressionAnalyzer_1.NumberNumericalExpressionAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer) + .to(PrevailingKindOfVariablesAnalyzer_1.PrevailingKindOfVariablesAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IScopeAnalyzer) + .to(ScopeAnalyzer_1.ScopeAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorageAnalyzer) + .to(StringArrayStorageAnalyzer_1.StringArrayStorageAnalyzer) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor) + .to(FunctionDeclarationCalleeDataExtractor_1.FunctionDeclarationCalleeDataExtractor) + .whenTargetNamed(CalleeDataExtractor_1.CalleeDataExtractor.FunctionDeclarationCalleeDataExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor) + .to(FunctionExpressionCalleeDataExtractor_1.FunctionExpressionCalleeDataExtractor) + .whenTargetNamed(CalleeDataExtractor_1.CalleeDataExtractor.FunctionExpressionCalleeDataExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor) + .to(ObjectExpressionCalleeDataExtractor_1.ObjectExpressionCalleeDataExtractor) + .whenTargetNamed(CalleeDataExtractor_1.CalleeDataExtractor.ObjectExpressionCalleeDataExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICalleeDataExtractor) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICalleeDataExtractor)); +}); + + +/***/ }), + +/***/ "./src/container/modules/code-transformers/CodeTransformersModule.ts": +/*!***************************************************************************!*\ + !*** ./src/container/modules/code-transformers/CodeTransformersModule.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export codeTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.codeTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const CodeTransformer_1 = __webpack_require__(/*! ../../../enums/code-transformers/CodeTransformer */ "./src/enums/code-transformers/CodeTransformer.ts"); +const CodeTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../../../code-transformers/CodeTransformerNamesGroupsBuilder */ "./src/code-transformers/CodeTransformerNamesGroupsBuilder.ts"); +const HashbangOperatorTransformer_1 = __webpack_require__(/*! ../../../code-transformers/preparing-transformers/HashbangOperatorTransformer */ "./src/code-transformers/preparing-transformers/HashbangOperatorTransformer.ts"); +exports.codeTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICodeTransformer) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformer)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformerNamesGroupsBuilder) + .to(CodeTransformerNamesGroupsBuilder_1.CodeTransformerNamesGroupsBuilder) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICodeTransformer) + .to(HashbangOperatorTransformer_1.HashbangOperatorTransformer) + .whenTargetNamed(CodeTransformer_1.CodeTransformer.HashbangOperatorTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/custom-code-helpers/CustomCodeHelpersModule.ts": +/*!******************************************************************************!*\ + !*** ./src/container/modules/custom-code-helpers/CustomCodeHelpersModule.ts ***! + \******************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export customCodeHelpersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.customCodeHelpersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const CustomCodeHelperGroup_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelperGroup */ "./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts"); +const ConsoleOutputCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup */ "./src/custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup.ts"); +const DebugProtectionCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup */ "./src/custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup.ts"); +const DomainLockCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup */ "./src/custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup.ts"); +const SelfDefendingCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup */ "./src/custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup.ts"); +const StringArrayCodeHelperGroup_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/group/StringArrayCodeHelperGroup */ "./src/custom-code-helpers/string-array/group/StringArrayCodeHelperGroup.ts"); +const ConsoleOutputDisableCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper */ "./src/custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper.ts"); +const CustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../custom-code-helpers/CustomCodeHelperFormatter */ "./src/custom-code-helpers/CustomCodeHelperFormatter.ts"); +const CustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../../custom-code-helpers/CustomCodeHelperObfuscator */ "./src/custom-code-helpers/CustomCodeHelperObfuscator.ts"); +const DebugProtectionFunctionCallCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper */ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper.ts"); +const DebugProtectionFunctionIntervalCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper */ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper.ts"); +const DebugProtectionFunctionCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper */ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper.ts"); +const DomainLockCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/domain-lock/DomainLockCodeHelper */ "./src/custom-code-helpers/domain-lock/DomainLockCodeHelper.ts"); +const CallsControllerFunctionCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper */ "./src/custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper.ts"); +const SelfDefendingUnicodeCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper */ "./src/custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper.ts"); +const StringArrayCallsWrapperCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts"); +const StringArrayCallsWrapperBase64CodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper.ts"); +const StringArrayCallsWrapperRc4CodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper.ts"); +const StringArrayCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCodeHelper.ts"); +const StringArrayRotateFunctionCodeHelper_1 = __webpack_require__(/*! ../../../custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper.ts"); +exports.customCodeHelpersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(ConsoleOutputDisableCodeHelper_1.ConsoleOutputDisableCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DebugProtectionFunctionCallCodeHelper_1.DebugProtectionFunctionCallCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DebugProtectionFunctionIntervalCodeHelper_1.DebugProtectionFunctionIntervalCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DebugProtectionFunctionCodeHelper_1.DebugProtectionFunctionCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(DomainLockCodeHelper_1.DomainLockCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.DomainLock); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(CallsControllerFunctionCodeHelper_1.CallsControllerFunctionCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(SelfDefendingUnicodeCodeHelper_1.SelfDefendingUnicodeCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCallsWrapperCodeHelper_1.StringArrayCallsWrapperCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapper); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCallsWrapperBase64CodeHelper_1.StringArrayCallsWrapperBase64CodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperBase64); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCallsWrapperRc4CodeHelper_1.StringArrayCallsWrapperRc4CodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperRc4); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayCodeHelper_1.StringArrayCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArray); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper) + .to(StringArrayRotateFunctionCodeHelper_1.StringArrayRotateFunctionCodeHelper) + .whenTargetNamed(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(ConsoleOutputCodeHelperGroup_1.ConsoleOutputCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.ConsoleOutput); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(DebugProtectionCodeHelperGroup_1.DebugProtectionCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.DebugProtection); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(DomainLockCustomCodeHelperGroup_1.DomainLockCustomCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.DomainLock); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(SelfDefendingCodeHelperGroup_1.SelfDefendingCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.SelfDefending); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup) + .to(StringArrayCodeHelperGroup_1.StringArrayCodeHelperGroup) + .whenTargetNamed(CustomCodeHelperGroup_1.CustomCodeHelperGroup.StringArray); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelper)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelperGroup) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getFactory(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperGroup)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter) + .to(CustomCodeHelperFormatter_1.CustomCodeHelperFormatter) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator) + .to(CustomCodeHelperObfuscator_1.CustomCodeHelperObfuscator) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/custom-nodes/CustomNodesModule.ts": +/*!*****************************************************************!*\ + !*** ./src/container/modules/custom-nodes/CustomNodesModule.ts ***! + \*****************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export customNodesModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.customNodesModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const DeadCodeInjectionCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/DeadCodeInjectionCustomNode */ "./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts"); +const ObjectExpressionKeysTransformerCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode */ "./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts"); +const StringArrayCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/StringArrayCustomNode */ "./src/enums/custom-nodes/StringArrayCustomNode.ts"); +const BinaryExpressionFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode */ "./src/custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode.ts"); +const BlockStatementControlFlowFlatteningNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode */ "./src/custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode.ts"); +const BlockStatementDeadCodeInjectionNode_1 = __webpack_require__(/*! ../../../custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode */ "./src/custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode.ts"); +const CallExpressionControlFlowStorageCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode.ts"); +const CallExpressionFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode */ "./src/custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode.ts"); +const ControlFlowStorageNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts"); +const ExpressionWithOperatorControlFlowStorageCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode.ts"); +const LogicalExpressionFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode */ "./src/custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode.ts"); +const ObjectExpressionVariableDeclarationHostNode_1 = __webpack_require__(/*! ../../../custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode */ "./src/custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode.ts"); +const StringArrayCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/StringArrayCallNode */ "./src/custom-nodes/string-array-nodes/StringArrayCallNode.ts"); +const StringArrayHexadecimalNumberIndexNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode.ts"); +const StringArrayHexadecimalNumericStringIndexNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode.ts"); +const StringArrayIndexNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode */ "./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts"); +const StringArrayScopeCallsWrapperFunctionNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode */ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts"); +const StringArrayScopeCallsWrapperVariableNode_1 = __webpack_require__(/*! ../../../custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode */ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts"); +const StringLiteralControlFlowStorageCallNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode */ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode.ts"); +const StringLiteralNode_1 = __webpack_require__(/*! ../../../custom-nodes/control-flow-flattening-nodes/StringLiteralNode */ "./src/custom-nodes/control-flow-flattening-nodes/StringLiteralNode.ts"); +exports.customNodesModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(BinaryExpressionFunctionNode_1.BinaryExpressionFunctionNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.BinaryExpressionFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(BlockStatementControlFlowFlatteningNode_1.BlockStatementControlFlowFlatteningNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(CallExpressionControlFlowStorageCallNode_1.CallExpressionControlFlowStorageCallNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(CallExpressionFunctionNode_1.CallExpressionFunctionNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(ControlFlowStorageNode_1.ControlFlowStorageNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.ControlFlowStorageNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(ExpressionWithOperatorControlFlowStorageCallNode_1.ExpressionWithOperatorControlFlowStorageCallNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(LogicalExpressionFunctionNode_1.LogicalExpressionFunctionNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.LogicalExpressionFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringLiteralNode_1.StringLiteralNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringLiteralControlFlowStorageCallNode_1.StringLiteralControlFlowStorageCallNode) + .whenTargetNamed(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(BlockStatementDeadCodeInjectionNode_1.BlockStatementDeadCodeInjectionNode) + .whenTargetNamed(DeadCodeInjectionCustomNode_1.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(ObjectExpressionVariableDeclarationHostNode_1.ObjectExpressionVariableDeclarationHostNode) + .whenTargetNamed(ObjectExpressionKeysTransformerCustomNode_1.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringArrayCallNode_1.StringArrayCallNode) + .whenTargetNamed(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayCallNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringArrayScopeCallsWrapperFunctionNode_1.StringArrayScopeCallsWrapperFunctionNode) + .whenTargetNamed(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode) + .toConstructor(StringArrayScopeCallsWrapperVariableNode_1.StringArrayScopeCallsWrapperVariableNode) + .whenTargetNamed(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayIndexNode) + .to(StringArrayHexadecimalNumberIndexNode_1.StringArrayHexadecimalNumberIndexNode) + .inSingletonScope() + .whenTargetNamed(StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayIndexNode) + .to(StringArrayHexadecimalNumericStringIndexNode_1.StringArrayHexadecimalNumericStringIndexNode) + .inSingletonScope() + .whenTargetNamed(StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayCustomNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getConstructorFactory(ServiceIdentifiers_1.ServiceIdentifiers.Newable__ICustomNode, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode, ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter, ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage, ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils, ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers_1.ServiceIdentifiers.IOptions)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayIndexNode)); +}); + + +/***/ }), + +/***/ "./src/container/modules/generators/GeneratorsModule.ts": +/*!**************************************************************!*\ + !*** ./src/container/modules/generators/GeneratorsModule.ts ***! + \**************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export generatorsModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.generatorsModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const DictionaryIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/DictionaryIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/DictionaryIdentifierNamesGenerator.ts"); +const HexadecimalIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.ts"); +const MangledIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/MangledIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts"); +const MangledShuffledIdentifierNamesGenerator_1 = __webpack_require__(/*! ../../../generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator.ts"); +exports.generatorsModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(DictionaryIdentifierNamesGenerator_1.DictionaryIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(HexadecimalIdentifierNamesGenerator_1.HexadecimalIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(MangledIdentifierNamesGenerator_1.MangledIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator) + .to(MangledShuffledIdentifierNamesGenerator_1.MangledShuffledIdentifierNamesGenerator) + .inSingletonScope() + .whenTargetNamed(IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator); + function identifierNameGeneratorFactory() { + let cachedIdentifierNamesGenerator = null; + return (context) => (options) => { + if (cachedIdentifierNamesGenerator) { + return cachedIdentifierNamesGenerator; + } + let identifierNamesGenerator; + switch (options.identifierNamesGenerator) { + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator); + break; + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator); + break; + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator); + break; + case IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator: + default: + identifierNamesGenerator = context.container.getNamed(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierNamesGenerator, IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator); + } + cachedIdentifierNamesGenerator = identifierNamesGenerator; + return identifierNamesGenerator; + }; + } + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator) + .toFactory(identifierNameGeneratorFactory()); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/ControlFlowTransformersModule.ts": +/*!**********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/ControlFlowTransformersModule.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export controlFlowTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.controlFlowTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ControlFlowReplacer_1 = __webpack_require__(/*! ../../../enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer */ "./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const BinaryExpressionControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts"); +const BlockStatementControlFlowTransformer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer */ "./src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts"); +const CallExpressionControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts"); +const FunctionControlFlowTransformer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/FunctionControlFlowTransformer */ "./src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts"); +const LogicalExpressionControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts"); +const StringLiteralControlFlowReplacer_1 = __webpack_require__(/*! ../../../node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts"); +exports.controlFlowTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(BlockStatementControlFlowTransformer_1.BlockStatementControlFlowTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.BlockStatementControlFlowTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(FunctionControlFlowTransformer_1.FunctionControlFlowTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.FunctionControlFlowTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(BinaryExpressionControlFlowReplacer_1.BinaryExpressionControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.BinaryExpressionControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(CallExpressionControlFlowReplacer_1.CallExpressionControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.CallExpressionControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(LogicalExpressionControlFlowReplacer_1.LogicalExpressionControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.LogicalExpressionControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer) + .to(StringLiteralControlFlowReplacer_1.StringLiteralControlFlowReplacer) + .whenTargetNamed(ControlFlowReplacer_1.ControlFlowReplacer.StringLiteralControlFlowReplacer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowReplacer) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.IControlFlowReplacer)); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/ConvertingTransformersModule.ts": +/*!*********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/ConvertingTransformersModule.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export convertingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.convertingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ObjectExpressionExtractor_1 = __webpack_require__(/*! ../../../enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor */ "./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts"); +const BasePropertiesExtractor_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor */ "./src/node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor.ts"); +const BooleanLiteralTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/BooleanLiteralTransformer */ "./src/node-transformers/converting-transformers/BooleanLiteralTransformer.ts"); +const ExportSpecifierTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ExportSpecifierTransformer */ "./src/node-transformers/converting-transformers/ExportSpecifierTransformer.ts"); +const MemberExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/MemberExpressionTransformer */ "./src/node-transformers/converting-transformers/MemberExpressionTransformer.ts"); +const MethodDefinitionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/MethodDefinitionTransformer */ "./src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts"); +const NumberLiteralTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/NumberLiteralTransformer */ "./src/node-transformers/converting-transformers/NumberLiteralTransformer.ts"); +const NumberToNumericalExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/NumberToNumericalExpressionTransformer */ "./src/node-transformers/converting-transformers/NumberToNumericalExpressionTransformer.ts"); +const ObjectExpressionKeysTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ObjectExpressionKeysTransformer */ "./src/node-transformers/converting-transformers/ObjectExpressionKeysTransformer.ts"); +const ObjectExpressionToVariableDeclarationExtractor_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor */ "./src/node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor.ts"); +const ObjectExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ObjectExpressionTransformer */ "./src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts"); +const ObjectPatternPropertiesTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/ObjectPatternPropertiesTransformer */ "./src/node-transformers/converting-transformers/ObjectPatternPropertiesTransformer.ts"); +const SplitStringTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/SplitStringTransformer */ "./src/node-transformers/converting-transformers/SplitStringTransformer.ts"); +const TemplateLiteralTransformer_1 = __webpack_require__(/*! ../../../node-transformers/converting-transformers/TemplateLiteralTransformer */ "./src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts"); +exports.convertingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(BooleanLiteralTransformer_1.BooleanLiteralTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.BooleanLiteralTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ExportSpecifierTransformer_1.ExportSpecifierTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ExportSpecifierTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(MemberExpressionTransformer_1.MemberExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.MemberExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(MethodDefinitionTransformer_1.MethodDefinitionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.MethodDefinitionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(NumberLiteralTransformer_1.NumberLiteralTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.NumberLiteralTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(NumberToNumericalExpressionTransformer_1.NumberToNumericalExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.NumberToNumericalExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObjectExpressionKeysTransformer_1.ObjectExpressionKeysTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObjectExpressionKeysTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObjectExpressionTransformer_1.ObjectExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObjectExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObjectPatternPropertiesTransformer_1.ObjectPatternPropertiesTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObjectPatternPropertiesTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(SplitStringTransformer_1.SplitStringTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.SplitStringTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(TemplateLiteralTransformer_1.TemplateLiteralTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.TemplateLiteralTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IObjectExpressionExtractor) + .to(ObjectExpressionToVariableDeclarationExtractor_1.ObjectExpressionToVariableDeclarationExtractor) + .whenTargetNamed(ObjectExpressionExtractor_1.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IObjectExpressionExtractor) + .to(BasePropertiesExtractor_1.BasePropertiesExtractor) + .whenTargetNamed(ObjectExpressionExtractor_1.ObjectExpressionExtractor.BasePropertiesExtractor); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionExtractor) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.IObjectExpressionExtractor)); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/DeadCodeInjectionTransformersModule.ts": +/*!****************************************************************************************!*\ + !*** ./src/container/modules/node-transformers/DeadCodeInjectionTransformersModule.ts ***! + \****************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export deadCodeInjectionTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.deadCodeInjectionTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const DeadCodeInjectionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer */ "./src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts"); +exports.deadCodeInjectionTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(DeadCodeInjectionTransformer_1.DeadCodeInjectionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.DeadCodeInjectionTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/FinalizingTransformersModule.ts": +/*!*********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/FinalizingTransformersModule.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export finalizingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.finalizingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const EscapeSequenceTransformer_1 = __webpack_require__(/*! ../../../node-transformers/finalizing-transformers/EscapeSequenceTransformer */ "./src/node-transformers/finalizing-transformers/EscapeSequenceTransformer.ts"); +exports.finalizingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(EscapeSequenceTransformer_1.EscapeSequenceTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.EscapeSequenceTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/InitializingTransformersModule.ts": +/*!***********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/InitializingTransformersModule.ts ***! + \***********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export initializingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.initializingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const CommentsTransformer_1 = __webpack_require__(/*! ../../../node-transformers/initializing-transformers/CommentsTransformer */ "./src/node-transformers/initializing-transformers/CommentsTransformer.ts"); +exports.initializingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(CommentsTransformer_1.CommentsTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.CommentsTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/NodeTransformersModule.ts": +/*!***************************************************************************!*\ + !*** ./src/container/modules/node-transformers/NodeTransformersModule.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export nodeTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.nodeTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../../../node-transformers/NodeTransformerNamesGroupsBuilder */ "./src/node-transformers/NodeTransformerNamesGroupsBuilder.ts"); +exports.nodeTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeTransformer) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer)); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder) + .to(NodeTransformerNamesGroupsBuilder_1.NodeTransformerNamesGroupsBuilder) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/PreparingTransformersModule.ts": +/*!********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/PreparingTransformersModule.ts ***! + \********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export preparingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.preparingTransformersModule = void 0; +const InversifyContainerFacade_1 = __webpack_require__(/*! ../../InversifyContainerFacade */ "./src/container/InversifyContainerFacade.ts"); +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ObfuscatingGuard_1 = __webpack_require__(/*! ../../../enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard */ "./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts"); +const BlackListObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts"); +const ConditionalCommentObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts"); +const CustomCodeHelpersTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/CustomCodeHelpersTransformer */ "./src/node-transformers/preparing-transformers/CustomCodeHelpersTransformer.ts"); +const EvalCallExpressionTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/EvalCallExpressionTransformer */ "./src/node-transformers/preparing-transformers/EvalCallExpressionTransformer.ts"); +const ForceTransformStringObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts"); +const IgnoredRequireImportObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard.ts"); +const MetadataTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/MetadataTransformer */ "./src/node-transformers/preparing-transformers/MetadataTransformer.ts"); +const ObfuscatingGuardsTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/ObfuscatingGuardsTransformer */ "./src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts"); +const ParentificationTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/ParentificationTransformer */ "./src/node-transformers/preparing-transformers/ParentificationTransformer.ts"); +const ReservedStringObfuscatingGuard_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts"); +const VariablePreserveTransformer_1 = __webpack_require__(/*! ../../../node-transformers/preparing-transformers/VariablePreserveTransformer */ "./src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts"); +exports.preparingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(CustomCodeHelpersTransformer_1.CustomCodeHelpersTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.CustomCodeHelpersTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(EvalCallExpressionTransformer_1.EvalCallExpressionTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.EvalCallExpressionTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(MetadataTransformer_1.MetadataTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.MetadataTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ObfuscatingGuardsTransformer_1.ObfuscatingGuardsTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ObfuscatingGuardsTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ParentificationTransformer_1.ParentificationTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ParentificationTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(VariablePreserveTransformer_1.VariablePreserveTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.VariablePreserveTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(BlackListObfuscatingGuard_1.BlackListObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.BlackListObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(ConditionalCommentObfuscatingGuard_1.ConditionalCommentObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.ConditionalCommentObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(ForceTransformStringObfuscatingGuard_1.ForceTransformStringObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.ForceTransformStringObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(IgnoredRequireImportObfuscatingGuard_1.IgnoredRequireImportObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard) + .to(ReservedStringObfuscatingGuard_1.ReservedStringObfuscatingGuard) + .inSingletonScope() + .whenTargetNamed(ObfuscatingGuard_1.ObfuscatingGuard.ReservedStringObfuscatingGuard); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeGuard) + .toFactory(InversifyContainerFacade_1.InversifyContainerFacade + .getCacheFactory(ServiceIdentifiers_1.ServiceIdentifiers.INodeGuard)); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/RenameIdentifiersTransformersModule.ts": +/*!****************************************************************************************!*\ + !*** ./src/container/modules/node-transformers/RenameIdentifiersTransformersModule.ts ***! + \****************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export renameIdentifiersTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.renameIdentifiersTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const IdentifierReplacer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer */ "./src/node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer.ts"); +const LabeledStatementTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/LabeledStatementTransformer */ "./src/node-transformers/rename-identifiers-transformers/LabeledStatementTransformer.ts"); +const ScopeIdentifiersTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer */ "./src/node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer.ts"); +const ScopeThroughIdentifiersTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer */ "./src/node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer.ts"); +exports.renameIdentifiersTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(LabeledStatementTransformer_1.LabeledStatementTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.LabeledStatementTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ScopeIdentifiersTransformer_1.ScopeIdentifiersTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ScopeIdentifiersTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ScopeThroughIdentifiersTransformer_1.ScopeThroughIdentifiersTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ScopeThroughIdentifiersTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer) + .to(IdentifierReplacer_1.IdentifierReplacer) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/RenamePropertiesTransformersModule.ts": +/*!***************************************************************************************!*\ + !*** ./src/container/modules/node-transformers/RenamePropertiesTransformersModule.ts ***! + \***************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export renamePropertiesTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.renamePropertiesTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const RenamePropertiesReplacer_1 = __webpack_require__(/*! ../../../node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer */ "./src/node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer.ts"); +const RenamePropertiesTransformer_1 = __webpack_require__(/*! ../../../node-transformers/rename-properties-transformers/RenamePropertiesTransformer */ "./src/node-transformers/rename-properties-transformers/RenamePropertiesTransformer.ts"); +exports.renamePropertiesTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(RenamePropertiesTransformer_1.RenamePropertiesTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.RenamePropertiesTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IRenamePropertiesReplacer) + .to(RenamePropertiesReplacer_1.RenamePropertiesReplacer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/SimplifyingTransformersModule.ts": +/*!**********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/SimplifyingTransformersModule.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export simplifyingTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.simplifyingTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const BlockStatementSimplifyTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer.ts"); +const ExpressionStatementsMergeTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer */ "./src/node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer.ts"); +const IfStatementSimplifyTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/IfStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/IfStatementSimplifyTransformer.ts"); +const VariableDeclarationsMergeTransformer_1 = __webpack_require__(/*! ../../../node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer */ "./src/node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer.ts"); +exports.simplifyingTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(BlockStatementSimplifyTransformer_1.BlockStatementSimplifyTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.BlockStatementSimplifyTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(ExpressionStatementsMergeTransformer_1.ExpressionStatementsMergeTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.ExpressionStatementsMergeTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(IfStatementSimplifyTransformer_1.IfStatementSimplifyTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.IfStatementSimplifyTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(VariableDeclarationsMergeTransformer_1.VariableDeclarationsMergeTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node-transformers/StringArrayTransformersModule.ts": +/*!**********************************************************************************!*\ + !*** ./src/container/modules/node-transformers/StringArrayTransformersModule.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export stringArrayTransformersModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.stringArrayTransformersModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const StringArrayScopeCallsWrapperTransformer_1 = __webpack_require__(/*! ../../../node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer */ "./src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts"); +const StringArrayTransformer_1 = __webpack_require__(/*! ../../../node-transformers/string-array-transformers/StringArrayTransformer */ "./src/node-transformers/string-array-transformers/StringArrayTransformer.ts"); +exports.stringArrayTransformersModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(StringArrayScopeCallsWrapperTransformer_1.StringArrayScopeCallsWrapperTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.StringArrayScopeCallsWrapperTransformer); + bind(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformer) + .to(StringArrayTransformer_1.StringArrayTransformer) + .whenTargetNamed(NodeTransformer_1.NodeTransformer.StringArrayTransformer); +}); + + +/***/ }), + +/***/ "./src/container/modules/node/NodeModule.ts": +/*!**************************************************!*\ + !*** ./src/container/modules/node/NodeModule.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export nodeModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.nodeModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../../node/ScopeIdentifiersTraverser */ "./src/node/ScopeIdentifiersTraverser.ts"); +exports.nodeModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser) + .to(ScopeIdentifiersTraverser_1.ScopeIdentifiersTraverser) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/options/OptionsModule.ts": +/*!********************************************************!*\ + !*** ./src/container/modules/options/OptionsModule.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export optionsModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.optionsModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const Options_1 = __webpack_require__(/*! ../../../options/Options */ "./src/options/Options.ts"); +const OptionsNormalizer_1 = __webpack_require__(/*! ../../../options/OptionsNormalizer */ "./src/options/OptionsNormalizer.ts"); +exports.optionsModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IOptions) + .to(Options_1.Options) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IOptionsNormalizer) + .to(OptionsNormalizer_1.OptionsNormalizer) + .inSingletonScope(); +}); + + +/***/ }), + +/***/ "./src/container/modules/storages/StoragesModule.ts": +/*!**********************************************************!*\ + !*** ./src/container/modules/storages/StoragesModule.ts ***! + \**********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export storagesModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.storagesModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ControlFlowStorage_1 = __webpack_require__(/*! ../../../storages/custom-nodes/ControlFlowStorage */ "./src/storages/custom-nodes/ControlFlowStorage.ts"); +const CustomCodeHelperGroupStorage_1 = __webpack_require__(/*! ../../../storages/custom-code-helpers/CustomCodeHelperGroupStorage */ "./src/storages/custom-code-helpers/CustomCodeHelperGroupStorage.ts"); +const LiteralNodesCacheStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/LiteralNodesCacheStorage */ "./src/storages/string-array-transformers/LiteralNodesCacheStorage.ts"); +const StringArrayScopeCallsWrapperLexicalScopeDataStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage */ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage.ts"); +const StringArrayScopeCallsWrapperNamesDataStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage */ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage.ts"); +const StringArrayStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/StringArrayStorage */ "./src/storages/string-array-transformers/StringArrayStorage.ts"); +const VisitedLexicalScopeNodesStackStorage_1 = __webpack_require__(/*! ../../../storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage */ "./src/storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage.ts"); +exports.storagesModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.TCustomNodeGroupStorage) + .to(CustomCodeHelperGroupStorage_1.CustomCodeHelperGroupStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ILiteralNodesCacheStorage) + .to(LiteralNodesCacheStorage_1.LiteralNodesCacheStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage) + .to(StringArrayStorage_1.StringArrayStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage) + .to(StringArrayScopeCallsWrapperLexicalScopeDataStorage_1.StringArrayScopeCallsWrapperLexicalScopeDataStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage) + .to(StringArrayScopeCallsWrapperNamesDataStorage_1.StringArrayScopeCallsWrapperNamesDataStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage) + .to(VisitedLexicalScopeNodesStackStorage_1.VisitedLexicalScopeNodesStackStorage) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Newable__TControlFlowStorage) + .toConstructor(ControlFlowStorage_1.ControlFlowStorage); + bind(ServiceIdentifiers_1.ServiceIdentifiers.Factory__TControlFlowStorage) + .toFactory((context) => { + return () => { + const constructor = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.Newable__TControlFlowStorage); + const randomGenerator = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator); + const options = context.container + .get(ServiceIdentifiers_1.ServiceIdentifiers.IOptions); + const storage = new constructor(randomGenerator, options); + storage.initialize(); + return storage; + }; + }); +}); + + +/***/ }), + +/***/ "./src/container/modules/utils/UtilsModule.ts": +/*!****************************************************!*\ + !*** ./src/container/modules/utils/UtilsModule.ts ***! + \****************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export utilsModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.utilsModule = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ArrayUtils_1 = __webpack_require__(/*! ../../../utils/ArrayUtils */ "./src/utils/ArrayUtils.ts"); +const CryptUtils_1 = __webpack_require__(/*! ../../../utils/CryptUtils */ "./src/utils/CryptUtils.ts"); +const CryptUtilsSwappedAlphabet_1 = __webpack_require__(/*! ../../../utils/CryptUtilsSwappedAlphabet */ "./src/utils/CryptUtilsSwappedAlphabet.ts"); +const EscapeSequenceEncoder_1 = __webpack_require__(/*! ../../../utils/EscapeSequenceEncoder */ "./src/utils/EscapeSequenceEncoder.ts"); +const LevelledTopologicalSorter_1 = __webpack_require__(/*! ../../../utils/LevelledTopologicalSorter */ "./src/utils/LevelledTopologicalSorter.ts"); +const RandomGenerator_1 = __webpack_require__(/*! ../../../utils/RandomGenerator */ "./src/utils/RandomGenerator.ts"); +exports.utilsModule = new inversify_1.ContainerModule((bind) => { + bind(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils) + .to(ArrayUtils_1.ArrayUtils) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator) + .to(RandomGenerator_1.RandomGenerator) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtils) + .to(CryptUtils_1.CryptUtils) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtilsSwappedAlphabet) + .to(CryptUtilsSwappedAlphabet_1.CryptUtilsSwappedAlphabet) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder) + .to(EscapeSequenceEncoder_1.EscapeSequenceEncoder) + .inSingletonScope(); + bind(ServiceIdentifiers_1.ServiceIdentifiers.ILevelledTopologicalSorter) + .to(LevelledTopologicalSorter_1.LevelledTopologicalSorter); +}); + + +/***/ }), + +/***/ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts": +/*!*************************************************************!*\ + !*** ./src/custom-code-helpers/AbstractCustomCodeHelper.ts ***! + \*************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var AbstractCustomCodeHelper_1, _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCustomCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const GlobalVariableTemplate1_1 = __webpack_require__(/*! ./common/templates/GlobalVariableTemplate1 */ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate1.ts"); +const GlobalVariableTemplate2_1 = __webpack_require__(/*! ./common/templates/GlobalVariableTemplate2 */ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate2.ts"); +let AbstractCustomCodeHelper = AbstractCustomCodeHelper_1 = class AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + this.cachedNode = null; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.customCodeHelperFormatter = customCodeHelperFormatter; + this.customCodeHelperObfuscator = customCodeHelperObfuscator; + this.randomGenerator = randomGenerator; + this.options = options; + } + getNode() { + if (!this.cachedNode) { + const codeHelperTemplate = this.getCodeHelperTemplate(); + this.cachedNode = this.customCodeHelperFormatter.formatStructure(this.getNodeStructure(codeHelperTemplate)); + } + return this.cachedNode; + } + getGlobalVariableTemplate() { + return this.randomGenerator + .getRandomGenerator() + .pickone(AbstractCustomCodeHelper_1.globalVariableTemplateFunctions); + } + getCodeHelperTemplate() { + return ''; + } +}; +AbstractCustomCodeHelper.globalVariableTemplateFunctions = [ + GlobalVariableTemplate1_1.GlobalVariableTemplate1(), + GlobalVariableTemplate2_1.GlobalVariableTemplate2() +]; +AbstractCustomCodeHelper = AbstractCustomCodeHelper_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], AbstractCustomCodeHelper); +exports.AbstractCustomCodeHelper = AbstractCustomCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts": +/*!******************************************************************!*\ + !*** ./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts ***! + \******************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCustomCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractCustomCodeHelperGroup = class AbstractCustomCodeHelperGroup { + constructor(identifierNamesGeneratorFactory, randomGenerator, options) { + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.randomGenerator = randomGenerator; + this.options = options; + } + getAppendEvent() { + return this.appendEvent; + } + getCustomCodeHelpers() { + return this.customCodeHelpers; + } + appendCustomNodeIfExist(customCodeHelperName, callback) { + const customCodeHelper = this.customCodeHelpers.get(customCodeHelperName); + if (!customCodeHelper) { + return; + } + callback(customCodeHelper); + } + getRandomCallsGraphIndex(callsGraphLength) { + return this.randomGenerator.getRandomInteger(0, Math.max(0, Math.round(callsGraphLength - 1))); + } +}; +AbstractCustomCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], AbstractCustomCodeHelperGroup); +exports.AbstractCustomCodeHelperGroup = AbstractCustomCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/CustomCodeHelperFormatter.ts": +/*!**************************************************************!*\ + !*** ./src/custom-code-helpers/CustomCodeHelperFormatter.ts ***! + \**************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperFormatter = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const string_template_1 = __importDefault(__webpack_require__(/*! string-template */ "string-template")); +const IPrevailingKindOfVariablesAnalyzer_1 = __webpack_require__(/*! ../interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer */ "./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CustomCodeHelperFormatter = class CustomCodeHelperFormatter { + constructor(prevailingKindOfVariablesAnalyzer) { + this.prevailingKindOfVariables = prevailingKindOfVariablesAnalyzer.getPrevailingKind(); + } + formatTemplate(template, mapping) { + return string_template_1.default(template, mapping); + } + formatStructure(statements) { + for (const statement of statements) { + estraverse.replace(statement, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isVariableDeclarationNode(node)) { + return; + } + if (this.prevailingKindOfVariables === 'var') { + node.kind = 'var'; + } + return node; + } + }); + } + return statements; + } +}; +CustomCodeHelperFormatter = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)), + __metadata("design:paramtypes", [typeof (_a = typeof IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer !== "undefined" && IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer) === "function" ? _a : Object]) +], CustomCodeHelperFormatter); +exports.CustomCodeHelperFormatter = CustomCodeHelperFormatter; + + +/***/ }), + +/***/ "./src/custom-code-helpers/CustomCodeHelperObfuscator.ts": +/*!***************************************************************!*\ + !*** ./src/custom-code-helpers/CustomCodeHelperObfuscator.ts ***! + \***************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperObfuscator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NoCustomNodes_1 = __webpack_require__(/*! ../options/presets/NoCustomNodes */ "./src/options/presets/NoCustomNodes.ts"); +const JavaScriptObfuscatorFacade_1 = __webpack_require__(/*! ../JavaScriptObfuscatorFacade */ "./src/JavaScriptObfuscatorFacade.ts"); +let CustomCodeHelperObfuscator = class CustomCodeHelperObfuscator { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } + obfuscateTemplate(template, additionalOptions = {}) { + return JavaScriptObfuscatorFacade_1.JavaScriptObfuscator.obfuscate(template, Object.assign(Object.assign(Object.assign({}, NoCustomNodes_1.NO_ADDITIONAL_NODES_PRESET), { identifierNamesGenerator: this.options.identifierNamesGenerator, identifiersDictionary: this.options.identifiersDictionary, numbersToExpressions: this.options.numbersToExpressions, simplify: this.options.simplify, seed: this.randomGenerator.getRawSeed() }), additionalOptions)).getObfuscatedCode(); + } +}; +CustomCodeHelperObfuscator = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], CustomCodeHelperObfuscator); +exports.CustomCodeHelperObfuscator = CustomCodeHelperObfuscator; + + +/***/ }), + +/***/ "./src/custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper.ts": +/*!***************************************************************************************!*\ + !*** ./src/custom-code-helpers/calls-controller/CallsControllerFunctionCodeHelper.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallsControllerFunctionCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SingleCallControllerTemplate_1 = __webpack_require__(/*! ../common/templates/SingleCallControllerTemplate */ "./src/custom-code-helpers/common/templates/SingleCallControllerTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let CallsControllerFunctionCodeHelper = class CallsControllerFunctionCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(appendEvent, callsControllerFunctionName) { + this.appendEvent = appendEvent; + this.callsControllerFunctionName = callsControllerFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + if (this.appendEvent === ObfuscationEvent_1.ObfuscationEvent.AfterObfuscation) { + return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(SingleCallControllerTemplate_1.SingleCallControllerTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName + })); + } + return this.customCodeHelperFormatter.formatTemplate(SingleCallControllerTemplate_1.SingleCallControllerTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], CallsControllerFunctionCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof ObfuscationEvent_1.ObfuscationEvent !== "undefined" && ObfuscationEvent_1.ObfuscationEvent) === "function" ? _a : Object) +], CallsControllerFunctionCodeHelper.prototype, "appendEvent", void 0); +CallsControllerFunctionCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], CallsControllerFunctionCodeHelper); +exports.CallsControllerFunctionCodeHelper = CallsControllerFunctionCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export GlobalVariableNoEvalTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobalVariableNoEvalTemplate = void 0; +function GlobalVariableNoEvalTemplate() { + return ` + const that = (typeof window !== 'undefined' + ? window + : (typeof process === 'object' && + typeof require === 'function' && + typeof global === 'object') + ? global + : this); + `; +} +exports.GlobalVariableNoEvalTemplate = GlobalVariableNoEvalTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate1.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/GlobalVariableTemplate1.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export GlobalVariableTemplate1 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobalVariableTemplate1 = void 0; +function GlobalVariableTemplate1() { + return ` + let that; + + try { + const getGlobal = Function('return (function() ' + '{}.constructor("return this")( )' + ');'); + + that = getGlobal(); + } catch (e) { + that = window; + } + `; +} +exports.GlobalVariableTemplate1 = GlobalVariableTemplate1; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/GlobalVariableTemplate2.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/GlobalVariableTemplate2.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export GlobalVariableTemplate2 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobalVariableTemplate2 = void 0; +function GlobalVariableTemplate2() { + return ` + const getGlobal = function () { + let globalObject; + + try { + globalObject = Function('return (function() ' + '{}.constructor("return this")( )' + ');')(); + } catch (e) { + globalObject = window; + } + + return globalObject; + }; + const that = getGlobal(); + `; +} +exports.GlobalVariableTemplate2 = GlobalVariableTemplate2; + + +/***/ }), + +/***/ "./src/custom-code-helpers/common/templates/SingleCallControllerTemplate.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/common/templates/SingleCallControllerTemplate.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export SingleCallControllerTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SingleCallControllerTemplate = void 0; +function SingleCallControllerTemplate() { + return ` + const {callControllerFunctionName} = (function(){ + let firstCall = true; + + return function (context, fn){ + const rfn = firstCall ? function(){ + if(fn){ + const res = fn.apply(context, arguments); + fn = null; + return res; + } + } : function(){} + + firstCall = false; + + return rfn; + } + })(); + `; +} +exports.SingleCallControllerTemplate = SingleCallControllerTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/console-output/ConsoleOutputDisableCodeHelper.ts ***! + \**********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConsoleOutputDisableCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const ConsoleOutputDisableTemplate_1 = __webpack_require__(/*! ./templates/ConsoleOutputDisableTemplate */ "./src/custom-code-helpers/console-output/templates/ConsoleOutputDisableTemplate.ts"); +const GlobalVariableNoEvalTemplate_1 = __webpack_require__(/*! ../common/templates/GlobalVariableNoEvalTemplate */ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ConsoleOutputDisableCodeHelper = class ConsoleOutputDisableCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(callsControllerFunctionName, consoleOutputDisableFunctionName) { + this.callsControllerFunctionName = callsControllerFunctionName; + this.consoleOutputDisableFunctionName = consoleOutputDisableFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const globalVariableTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? this.getGlobalVariableTemplate() + : GlobalVariableNoEvalTemplate_1.GlobalVariableNoEvalTemplate(); + return this.customCodeHelperFormatter.formatTemplate(ConsoleOutputDisableTemplate_1.ConsoleOutputDisableTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName, + consoleLogDisableFunctionName: this.consoleOutputDisableFunctionName, + globalVariableTemplate + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ConsoleOutputDisableCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ConsoleOutputDisableCodeHelper.prototype, "consoleOutputDisableFunctionName", void 0); +ConsoleOutputDisableCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], ConsoleOutputDisableCodeHelper); +exports.ConsoleOutputDisableCodeHelper = ConsoleOutputDisableCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/console-output/group/ConsoleOutputCodeHelperGroup.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConsoleOutputCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let ConsoleOutputCodeHelperGroup = class ConsoleOutputCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.disableConsoleOutput) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const consoleOutputDisableHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const consoleOutputDisableLexicalScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(consoleOutputDisableHostNode)) !== null && _a !== void 0 ? _a : null; + const consoleOutputDisableFunctionName = consoleOutputDisableLexicalScopeNode + ? this.identifierNamesGenerator.generate(consoleOutputDisableLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = consoleOutputDisableLexicalScopeNode + ? this.identifierNamesGenerator.generate(consoleOutputDisableLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable, (customCodeHelper) => { + customCodeHelper.initialize(callsControllerFunctionName, consoleOutputDisableFunctionName); + NodeAppender_1.NodeAppender.prepend(consoleOutputDisableHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.disableConsoleOutput) { + return; + } + const consoleOutputDisableExpressionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.ConsoleOutputDisable, consoleOutputDisableExpressionCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], ConsoleOutputCodeHelperGroup.prototype, "customCodeHelpers", void 0); +ConsoleOutputCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], ConsoleOutputCodeHelperGroup); +exports.ConsoleOutputCodeHelperGroup = ConsoleOutputCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/console-output/templates/ConsoleOutputDisableTemplate.ts": +/*!******************************************************************************************!*\ + !*** ./src/custom-code-helpers/console-output/templates/ConsoleOutputDisableTemplate.ts ***! + \******************************************************************************************/ +/*! flagged exports */ +/*! export ConsoleOutputDisableTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConsoleOutputDisableTemplate = void 0; +function ConsoleOutputDisableTemplate() { + return ` + const {consoleLogDisableFunctionName} = {callControllerFunctionName}(this, function () { + {globalVariableTemplate} + + const consoleObject = (that.console = that.console || {}); + const methods = ['log', 'warn', 'info', 'error', 'exception', 'table', 'trace']; + + for (let index = 0; index < methods.length; index++){ + const func = {callControllerFunctionName}.constructor.prototype.bind({callControllerFunctionName}); + const methodName = methods[index]; + const originalFunction = consoleObject[methodName] || func; + + func.__proto__ = {callControllerFunctionName}.bind({callControllerFunctionName}); + func.toString = originalFunction.toString.bind(originalFunction); + + consoleObject[methodName] = func; + } + }); + + {consoleLogDisableFunctionName}(); + `; +} +exports.ConsoleOutputDisableTemplate = ConsoleOutputDisableTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper.ts": +/*!*******************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCallCodeHelper.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionCallCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DebugProtectionFunctionCallTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DebugProtectionFunctionCallCodeHelper = class DebugProtectionFunctionCallCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(debugProtectionFunctionName, callsControllerFunctionName) { + this.debugProtectionFunctionName = debugProtectionFunctionName; + this.callsControllerFunctionName = callsControllerFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + return this.customCodeHelperFormatter.formatTemplate(DebugProtectionFunctionCallTemplate_1.DebugProtectionFunctionCallTemplate(), { + debugProtectionFunctionName: this.debugProtectionFunctionName, + callControllerFunctionName: this.callsControllerFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionCallCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionCallCodeHelper.prototype, "debugProtectionFunctionName", void 0); +DebugProtectionFunctionCallCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionFunctionCallCodeHelper); +exports.DebugProtectionFunctionCallCodeHelper = DebugProtectionFunctionCallCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper.ts": +/*!***************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/DebugProtectionFunctionCodeHelper.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DebuggerTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function/DebuggerTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplate.ts"); +const DebuggerTemplateNoEval_1 = __webpack_require__(/*! ./templates/debug-protection-function/DebuggerTemplateNoEval */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplateNoEval.ts"); +const DebugProtectionFunctionTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function/DebugProtectionFunctionTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebugProtectionFunctionTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DebugProtectionFunctionCodeHelper = class DebugProtectionFunctionCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(debugProtectionFunctionName) { + this.debugProtectionFunctionName = debugProtectionFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const debuggerTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? DebuggerTemplate_1.DebuggerTemplate() + : DebuggerTemplateNoEval_1.DebuggerTemplateNoEval(); + return this.customCodeHelperFormatter.formatTemplate(DebugProtectionFunctionTemplate_1.DebugProtectionFunctionTemplate(), { + debuggerTemplate, + debugProtectionFunctionName: this.debugProtectionFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionCodeHelper.prototype, "debugProtectionFunctionName", void 0); +DebugProtectionFunctionCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionFunctionCodeHelper); +exports.DebugProtectionFunctionCodeHelper = DebugProtectionFunctionCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper.ts": +/*!***********************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/DebugProtectionFunctionIntervalCodeHelper.ts ***! + \***********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionIntervalCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DebugProtectionFunctionIntervalTemplate_1 = __webpack_require__(/*! ./templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate */ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DebugProtectionFunctionIntervalCodeHelper = class DebugProtectionFunctionIntervalCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(debugProtectionFunctionName) { + this.debugProtectionFunctionName = debugProtectionFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + return this.customCodeHelperFormatter.formatTemplate(DebugProtectionFunctionIntervalTemplate_1.DebugProtectionFunctionIntervalTemplate(), { + debugProtectionFunctionName: this.debugProtectionFunctionName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DebugProtectionFunctionIntervalCodeHelper.prototype, "debugProtectionFunctionName", void 0); +DebugProtectionFunctionIntervalCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionFunctionIntervalCodeHelper); +exports.DebugProtectionFunctionIntervalCodeHelper = DebugProtectionFunctionIntervalCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup.ts": +/*!******************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/group/DebugProtectionCodeHelperGroup.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let DebugProtectionCodeHelperGroup = class DebugProtectionCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.debugProtection) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const debugProtectionFunctionCallHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const debugProtectionFunctionCallScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(debugProtectionFunctionCallHostNode)) !== null && _a !== void 0 ? _a : null; + const debugProtectionFunctionName = debugProtectionFunctionCallScopeNode + ? this.identifierNamesGenerator.generate(debugProtectionFunctionCallScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = debugProtectionFunctionCallScopeNode + ? this.identifierNamesGenerator.generate(debugProtectionFunctionCallScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall, (customCodeHelper) => { + customCodeHelper.initialize(debugProtectionFunctionName, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(debugProtectionFunctionCallHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction, (customCodeHelper) => { + customCodeHelper.initialize(debugProtectionFunctionName); + NodeAppender_1.NodeAppender.append(nodeWithStatements, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval, (customCodeHelper) => { + const programBodyLength = NodeGuards_1.NodeGuards.isSwitchCaseNode(nodeWithStatements) + ? nodeWithStatements.consequent.length + : nodeWithStatements.body.length; + const randomIndex = this.randomGenerator.getRandomInteger(0, programBodyLength); + customCodeHelper.initialize(debugProtectionFunctionName); + NodeAppender_1.NodeAppender.insertAtIndex(nodeWithStatements, customCodeHelper.getNode(), randomIndex); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.debugProtection) { + return; + } + const debugProtectionFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction); + const debugProtectionFunctionCallCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall); + const debugProtectionFunctionIntervalCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunction, debugProtectionFunctionCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionCall, debugProtectionFunctionCallCodeHelper); + if (this.options.debugProtectionInterval) { + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DebugProtectionFunctionInterval, debugProtectionFunctionIntervalCodeHelper); + } + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], DebugProtectionCodeHelperGroup.prototype, "customCodeHelpers", void 0); +DebugProtectionCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DebugProtectionCodeHelperGroup); +exports.DebugProtectionCodeHelperGroup = DebugProtectionCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate.ts": +/*!**********************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function-call/DebugProtectionFunctionCallTemplate.ts ***! + \**********************************************************************************************************************************/ +/*! flagged exports */ +/*! export DebugProtectionFunctionCallTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionCallTemplate = void 0; +function DebugProtectionFunctionCallTemplate() { + return ` + (function () { + {callControllerFunctionName}( + this, + function () { + const regExp1 = new RegExp('function *\\\\( *\\\\)'); + const regExp2 = new RegExp('\\\\+\\\\+ *\\(?:[a-zA-Z_$][0-9a-zA-Z_$]*\\)', 'i'); + + const result = {debugProtectionFunctionName}('init'); + + if (!regExp1.test(result + 'chain') || !regExp2.test(result + 'input')) { + result('0'); + } else { + {debugProtectionFunctionName}(); + } + } + )(); + })(); + `; +} +exports.DebugProtectionFunctionCallTemplate = DebugProtectionFunctionCallTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate.ts": +/*!******************************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function-interval/DebugProtectionFunctionIntervalTemplate.ts ***! + \******************************************************************************************************************************************/ +/*! flagged exports */ +/*! export DebugProtectionFunctionIntervalTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionIntervalTemplate = void 0; +function DebugProtectionFunctionIntervalTemplate() { + return ` + setInterval(function () { + {debugProtectionFunctionName}(); + }, 4000); + `; +} +exports.DebugProtectionFunctionIntervalTemplate = DebugProtectionFunctionIntervalTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebugProtectionFunctionTemplate.ts": +/*!*************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebugProtectionFunctionTemplate.ts ***! + \*************************************************************************************************************************/ +/*! flagged exports */ +/*! export DebugProtectionFunctionTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebugProtectionFunctionTemplate = void 0; +function DebugProtectionFunctionTemplate() { + return ` + function {debugProtectionFunctionName} (ret) { + function debuggerProtection (counter) { + + {debuggerTemplate} + + debuggerProtection(++counter); + } + + try { + if (ret) { + return debuggerProtection; + } else { + debuggerProtection(0); + } + } catch (y) {} + } + `; +} +exports.DebugProtectionFunctionTemplate = DebugProtectionFunctionTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplate.ts": +/*!**********************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplate.ts ***! + \**********************************************************************************************************/ +/*! flagged exports */ +/*! export DebuggerTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebuggerTemplate = void 0; +function DebuggerTemplate() { + return ` + if (typeof counter === 'string') { + return (function (arg) {}.constructor('while (true) {}').apply('counter')); + } else { + if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) { + (function () {return true;}.constructor('debu' + 'gger').call('action')); + } else { + (function () {return false;}.constructor('debu' + 'gger').apply('stateObject')); + } + + } + `; +} +exports.DebuggerTemplate = DebuggerTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplateNoEval.ts": +/*!****************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/debug-protection/templates/debug-protection-function/DebuggerTemplateNoEval.ts ***! + \****************************************************************************************************************/ +/*! flagged exports */ +/*! export DebuggerTemplateNoEval [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DebuggerTemplateNoEval = void 0; +function DebuggerTemplateNoEval() { + return ` + if (typeof counter === 'string') { + const func = function () { + while (true) {} + }; + + return func(); + } else { + if (('' + counter / counter)['length'] !== 1 || counter % 20 === 0) { + debugger; + } else { + debugger; + } + + } + `; +} +exports.DebuggerTemplateNoEval = DebuggerTemplateNoEval; + + +/***/ }), + +/***/ "./src/custom-code-helpers/domain-lock/DomainLockCodeHelper.ts": +/*!*********************************************************************!*\ + !*** ./src/custom-code-helpers/domain-lock/DomainLockCodeHelper.ts ***! + \*********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const ICryptUtils_1 = __webpack_require__(/*! ../../interfaces/utils/ICryptUtils */ "./src/interfaces/utils/ICryptUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const DomainLockTemplate_1 = __webpack_require__(/*! ./templates/DomainLockTemplate */ "./src/custom-code-helpers/domain-lock/templates/DomainLockTemplate.ts"); +const GlobalVariableNoEvalTemplate_1 = __webpack_require__(/*! ../common/templates/GlobalVariableNoEvalTemplate */ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DomainLockCodeHelper = class DomainLockCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options, cryptUtils) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + this.cryptUtils = cryptUtils; + } + initialize(callsControllerFunctionName, domainLockFunctionName) { + this.callsControllerFunctionName = callsControllerFunctionName; + this.domainLockFunctionName = domainLockFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const domainsString = this.options.domainLock.join(';'); + const [hiddenDomainsString, diff] = this.cryptUtils.hideString(domainsString, domainsString.length * 3); + const globalVariableTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? this.getGlobalVariableTemplate() + : GlobalVariableNoEvalTemplate_1.GlobalVariableNoEvalTemplate(); + return this.customCodeHelperFormatter.formatTemplate(DomainLockTemplate_1.DomainLockTemplate(), { + callControllerFunctionName: this.callsControllerFunctionName, + domainLockFunctionName: this.domainLockFunctionName, + diff, + domains: hiddenDomainsString, + globalVariableTemplate + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DomainLockCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], DomainLockCodeHelper.prototype, "domainLockFunctionName", void 0); +DomainLockCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object, typeof (_f = typeof ICryptUtils_1.ICryptUtils !== "undefined" && ICryptUtils_1.ICryptUtils) === "function" ? _f : Object]) +], DomainLockCodeHelper); +exports.DomainLockCodeHelper = DomainLockCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/domain-lock/group/DomainLockCustomCodeHelperGroup.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockCustomCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let DomainLockCustomCodeHelperGroup = class DomainLockCustomCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.domainLock.length) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const domainLockFunctionHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const domainLockFunctionLexicalScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(domainLockFunctionHostNode)) !== null && _a !== void 0 ? _a : null; + const domainLockFunctionName = domainLockFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(domainLockFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = domainLockFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(domainLockFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.DomainLock, (customCodeHelper) => { + customCodeHelper.initialize(callsControllerFunctionName, domainLockFunctionName); + NodeAppender_1.NodeAppender.prepend(domainLockFunctionHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.domainLock.length) { + return; + } + const domainLockCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.DomainLock); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.DomainLock, domainLockCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], DomainLockCustomCodeHelperGroup.prototype, "customCodeHelpers", void 0); +DomainLockCustomCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], DomainLockCustomCodeHelperGroup); +exports.DomainLockCustomCodeHelperGroup = DomainLockCustomCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/domain-lock/templates/DomainLockTemplate.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-code-helpers/domain-lock/templates/DomainLockTemplate.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export DomainLockTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockTemplate = void 0; +function DomainLockTemplate() { + return ` + const {domainLockFunctionName} = {callControllerFunctionName}(this, function () { + + {globalVariableTemplate} + + const func = function () { + return { + key: 'item', + value: 'attribute', + getAttribute: function () { + for (let i = 0; i < 1000; i--) { + const isPositive = i > 0; + + switch (isPositive) { + case true: + return this.item + '_' + this.value + '_' + i; + default: + this.item + '_' + this.value; + } + } + }() + }; + }; + + const regExp = new RegExp("[{diff}]", "g"); + const domains = "{domains}".replace(regExp, "").split(";"); + let document; + let domain; + let location; + let hostname; + + for (let d in that) { + if (d.length == 8 && d.charCodeAt(7) == 116 && d.charCodeAt(5) == 101 && d.charCodeAt(3) == 117 && d.charCodeAt(0) == 100) { + document = d; + + break; + } + } + + for (let d1 in that[document]) { + if (d1.length == 6 && d1.charCodeAt(5) == 110 && d1.charCodeAt(0) == 100) { + domain = d1; + + break; + } + } + + if (!("~" > domain)) { + for (let d2 in that[document]) { + if (d2.length == 8 && d2.charCodeAt(7) == 110 && d2.charCodeAt(0) == 108) { + location = d2; + + break; + } + } + + for (let d3 in that[document][location]) { + if (d3.length == 8 && d3.charCodeAt(7) == 101 && d3.charCodeAt(0) == 104) { + hostname = d3; + + break; + } + } + } + + if (!document || !that[document]) { + return; + } + + const documentDomain = that[document][domain]; + const documentLocationHostName = !!that[document][location] && that[document][location][hostname]; + const currentDomain = documentDomain || documentLocationHostName; + + if (!currentDomain) { + return; + } + + let ok = false; + + for (let i = 0; i < domains.length; i++) { + const domain = domains[i]; + const domainNormalized = domain[0] === String.fromCharCode(46) + ? domain.slice(1) + : domain; + const position = currentDomain.length - domainNormalized.length; + const lastIndex = currentDomain.indexOf(domainNormalized, position); + const endsWith = lastIndex !== -1 && lastIndex === position; + + if (endsWith) { + if (currentDomain.length == domain.length || domain.indexOf(".") === 0) { + ok = true; + } + } + } + + if (!ok) { + data; + } else { + return; + } + + func(); + }); + + {domainLockFunctionName}(); + `; +} +exports.DomainLockTemplate = DomainLockTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/SelfDefendingUnicodeCodeHelper.ts ***! + \**********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingUnicodeCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SelfDefendingTemplate_1 = __webpack_require__(/*! ./templates/SelfDefendingTemplate */ "./src/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.ts"); +const SelfDefendingNoEvalTemplate_1 = __webpack_require__(/*! ./templates/SelfDefendingNoEvalTemplate */ "./src/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const GlobalVariableNoEvalTemplate_1 = __webpack_require__(/*! ../common/templates/GlobalVariableNoEvalTemplate */ "./src/custom-code-helpers/common/templates/GlobalVariableNoEvalTemplate.ts"); +let SelfDefendingUnicodeCodeHelper = class SelfDefendingUnicodeCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(callsControllerFunctionName, selfDefendingFunctionName) { + this.callsControllerFunctionName = callsControllerFunctionName; + this.selfDefendingFunctionName = selfDefendingFunctionName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const globalVariableTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? this.getGlobalVariableTemplate() + : GlobalVariableNoEvalTemplate_1.GlobalVariableNoEvalTemplate(); + const selfDefendingTemplate = this.options.target !== ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval + ? SelfDefendingTemplate_1.SelfDefendingTemplate() + : SelfDefendingNoEvalTemplate_1.SelfDefendingNoEvalTemplate(); + return this.customCodeHelperFormatter.formatTemplate(selfDefendingTemplate, { + callControllerFunctionName: this.callsControllerFunctionName, + selfDefendingFunctionName: this.selfDefendingFunctionName, + globalVariableTemplate + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], SelfDefendingUnicodeCodeHelper.prototype, "callsControllerFunctionName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], SelfDefendingUnicodeCodeHelper.prototype, "selfDefendingFunctionName", void 0); +SelfDefendingUnicodeCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], SelfDefendingUnicodeCodeHelper); +exports.SelfDefendingUnicodeCodeHelper = SelfDefendingUnicodeCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/group/SelfDefendingCodeHelperGroup.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let SelfDefendingCodeHelperGroup = class SelfDefendingCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + } + appendNodes(nodeWithStatements, callsGraphData) { + var _a; + if (!this.options.selfDefending) { + return; + } + const randomCallsGraphIndex = this.getRandomCallsGraphIndex(callsGraphData.length); + const selfDefendingFunctionHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex) + : nodeWithStatements; + const callsControllerHostNode = callsGraphData.length + ? NodeAppender_1.NodeAppender.getOptimalBlockScope(callsGraphData, randomCallsGraphIndex, 1) + : nodeWithStatements; + const selfDefendingFunctionLexicalScopeNode = (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils + .getLexicalScope(selfDefendingFunctionHostNode)) !== null && _a !== void 0 ? _a : null; + const selfDefendingFunctionName = selfDefendingFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(selfDefendingFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + const callsControllerFunctionName = selfDefendingFunctionLexicalScopeNode + ? this.identifierNamesGenerator.generate(selfDefendingFunctionLexicalScopeNode) + : this.identifierNamesGenerator.generateNext(); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode, (customCodeHelper) => { + customCodeHelper.initialize(callsControllerFunctionName, selfDefendingFunctionName); + NodeAppender_1.NodeAppender.prepend(selfDefendingFunctionHostNode, customCodeHelper.getNode()); + }); + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, (customCodeHelper) => { + customCodeHelper.initialize(this.appendEvent, callsControllerFunctionName); + NodeAppender_1.NodeAppender.prepend(callsControllerHostNode, customCodeHelper.getNode()); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.selfDefending) { + return; + } + const selfDefendingUnicodeCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode); + const callsControllerFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.SelfDefendingUnicode, selfDefendingUnicodeCodeHelper); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.CallsControllerFunction, callsControllerFunctionCodeHelper); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], SelfDefendingCodeHelperGroup.prototype, "customCodeHelpers", void 0); +SelfDefendingCodeHelperGroup = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], SelfDefendingCodeHelperGroup); +exports.SelfDefendingCodeHelperGroup = SelfDefendingCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/templates/SelfDefendingNoEvalTemplate.ts ***! + \*****************************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingNoEvalTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingNoEvalTemplate = void 0; +function SelfDefendingNoEvalTemplate() { + return ` + const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () { + {globalVariableTemplate} + + const test = function () { + const regExp = new that.RegExp('^([^ ]+( +[^ ]+)+)+[^ ]}'); + + return !regExp.test({selfDefendingFunctionName}); + }; + + return test(); + }); + + {selfDefendingFunctionName}(); + `; +} +exports.SelfDefendingNoEvalTemplate = SelfDefendingNoEvalTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.ts": +/*!***********************************************************************************!*\ + !*** ./src/custom-code-helpers/self-defending/templates/SelfDefendingTemplate.ts ***! + \***********************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingTemplate = void 0; +function SelfDefendingTemplate() { + return ` + const {selfDefendingFunctionName} = {callControllerFunctionName}(this, function () { + const test = function () { + const regExp = test + .constructor('return /" + this + "/')() + .constructor('^([^ ]+( +[^ ]+)+)+[^ ]}'); + + return !regExp.test({selfDefendingFunctionName}); + }; + + return test(); + }); + + {selfDefendingFunctionName}(); + `; +} +exports.SelfDefendingTemplate = SelfDefendingTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCallsWrapperBase64CodeHelper.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperBase64CodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AtobTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/AtobTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts"); +const StringArrayBase64DecodeTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate.ts"); +const StringArrayCallsWrapperCodeHelper_1 = __webpack_require__(/*! ./StringArrayCallsWrapperCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts"); +let StringArrayCallsWrapperBase64CodeHelper = class StringArrayCallsWrapperBase64CodeHelper extends StringArrayCallsWrapperCodeHelper_1.StringArrayCallsWrapperCodeHelper { + getDecodeStringArrayTemplate() { + const atobFunctionName = this.randomGenerator.getRandomString(6); + const atobPolyfill = this.customCodeHelperFormatter.formatTemplate(AtobTemplate_1.AtobTemplate(), { + atobFunctionName: atobFunctionName + }); + const selfDefendingCode = this.getSelfDefendingTemplate(); + return this.customCodeHelperFormatter.formatTemplate(StringArrayBase64DecodeTemplate_1.StringArrayBase64DecodeTemplate(this.randomGenerator), { + atobPolyfill, + atobFunctionName, + selfDefendingCode, + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName + }); + } +}; +StringArrayCallsWrapperBase64CodeHelper = __decorate([ + inversify_1.injectable() +], StringArrayCallsWrapperBase64CodeHelper); +exports.StringArrayCallsWrapperBase64CodeHelper = StringArrayCallsWrapperBase64CodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts": +/*!***********************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IEscapeSequenceEncoder_1 = __webpack_require__(/*! ../../interfaces/utils/IEscapeSequenceEncoder */ "./src/interfaces/utils/IEscapeSequenceEncoder.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SelfDefendingTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/SelfDefendingTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/SelfDefendingTemplate.ts"); +const StringArrayCallsWrapperTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayCallsWrapperCodeHelper = class StringArrayCallsWrapperCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options, escapeSequenceEncoder) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + this.escapeSequenceEncoder = escapeSequenceEncoder; + } + initialize(stringArrayName, stringArrayCallsWrapperName, indexShiftAmount) { + this.stringArrayName = stringArrayName; + this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + this.indexShiftAmount = indexShiftAmount; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const decodeCodeHelperTemplate = this.getDecodeStringArrayTemplate(); + const preservedNames = [`^${this.stringArrayName}$`]; + return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(StringArrayCallsWrapperTemplate_1.StringArrayCallsWrapperTemplate(), { + decodeCodeHelperTemplate, + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, + stringArrayName: this.stringArrayName, + indexShiftAmount: this.indexShiftAmount + }), { + reservedNames: preservedNames + }); + } + getDecodeStringArrayTemplate() { + return ''; + } + getSelfDefendingTemplate() { + if (!this.options.selfDefending) { + return ''; + } + return this.customCodeHelperFormatter.formatTemplate(SelfDefendingTemplate_1.SelfDefendingTemplate(this.randomGenerator, this.escapeSequenceEncoder), { + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName, + stringArrayName: this.stringArrayName + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayCallsWrapperCodeHelper.prototype, "indexShiftAmount", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCallsWrapperCodeHelper.prototype, "stringArrayName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCallsWrapperCodeHelper.prototype, "stringArrayCallsWrapperName", void 0); +StringArrayCallsWrapperCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object, typeof (_f = typeof IEscapeSequenceEncoder_1.IEscapeSequenceEncoder !== "undefined" && IEscapeSequenceEncoder_1.IEscapeSequenceEncoder) === "function" ? _f : Object]) +], StringArrayCallsWrapperCodeHelper); +exports.StringArrayCallsWrapperCodeHelper = StringArrayCallsWrapperCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCallsWrapperRc4CodeHelper.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperRc4CodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AtobTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/AtobTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts"); +const Rc4Template_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/Rc4Template */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/Rc4Template.ts"); +const StringArrayRC4DecodeTemplate_1 = __webpack_require__(/*! ./templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate.ts"); +const StringArrayCallsWrapperCodeHelper_1 = __webpack_require__(/*! ./StringArrayCallsWrapperCodeHelper */ "./src/custom-code-helpers/string-array/StringArrayCallsWrapperCodeHelper.ts"); +let StringArrayCallsWrapperRc4CodeHelper = class StringArrayCallsWrapperRc4CodeHelper extends StringArrayCallsWrapperCodeHelper_1.StringArrayCallsWrapperCodeHelper { + getDecodeStringArrayTemplate() { + const atobFunctionName = this.randomGenerator.getRandomString(6); + const atobPolyfill = this.customCodeHelperFormatter.formatTemplate(AtobTemplate_1.AtobTemplate(), { + atobFunctionName + }); + const rc4Polyfill = this.customCodeHelperFormatter.formatTemplate(Rc4Template_1.Rc4Template(), { + atobFunctionName + }); + const selfDefendingCode = this.getSelfDefendingTemplate(); + return this.customCodeHelperFormatter.formatTemplate(StringArrayRC4DecodeTemplate_1.StringArrayRC4DecodeTemplate(this.randomGenerator), { + atobPolyfill, + rc4Polyfill, + selfDefendingCode, + stringArrayCallsWrapperName: this.stringArrayCallsWrapperName + }); + } +}; +StringArrayCallsWrapperRc4CodeHelper = __decorate([ + inversify_1.injectable() +], StringArrayCallsWrapperRc4CodeHelper); +exports.StringArrayCallsWrapperRc4CodeHelper = StringArrayCallsWrapperRc4CodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayCodeHelper.ts": +/*!***********************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayCodeHelper.ts ***! + \***********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const StringArrayTemplate_1 = __webpack_require__(/*! ./templates/string-array/StringArrayTemplate */ "./src/custom-code-helpers/string-array/templates/string-array/StringArrayTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const StringUtils_1 = __webpack_require__(/*! ../../utils/StringUtils */ "./src/utils/StringUtils.ts"); +let StringArrayCodeHelper = class StringArrayCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + } + initialize(stringArrayStorage, stringArrayName) { + this.stringArrayStorage = stringArrayStorage; + this.stringArrayName = stringArrayName; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + return this.customCodeHelperFormatter.formatTemplate(StringArrayTemplate_1.StringArrayTemplate(), { + stringArrayName: this.stringArrayName, + stringArrayStorageItems: this.getEncodedStringArrayStorageItems() + }); + } + getEncodedStringArrayStorageItems() { + return Array + .from(this.stringArrayStorage.getStorage().values()) + .map((stringArrayStorageItemData) => { + const escapedEncodedValue = StringUtils_1.StringUtils.escapeJsString(stringArrayStorageItemData.encodedValue); + return `'${escapedEncodedValue}'`; + }) + .toString(); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _a : Object) +], StringArrayCodeHelper.prototype, "stringArrayStorage", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCodeHelper.prototype, "stringArrayName", void 0); +StringArrayCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], StringArrayCodeHelper); +exports.StringArrayCodeHelper = StringArrayCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper.ts": +/*!*************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/StringArrayRotateFunctionCodeHelper.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRotateFunctionCodeHelper = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const ICustomCodeHelperObfuscator_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperObfuscator */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts"); +const IEscapeSequenceEncoder_1 = __webpack_require__(/*! ../../interfaces/utils/IEscapeSequenceEncoder */ "./src/interfaces/utils/IEscapeSequenceEncoder.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SelfDefendingTemplate_1 = __webpack_require__(/*! ./templates/string-array-rotate-function/SelfDefendingTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/SelfDefendingTemplate.ts"); +const StringArrayRotateFunctionTemplate_1 = __webpack_require__(/*! ./templates/string-array-rotate-function/StringArrayRotateFunctionTemplate */ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/StringArrayRotateFunctionTemplate.ts"); +const AbstractCustomCodeHelper_1 = __webpack_require__(/*! ../AbstractCustomCodeHelper */ "./src/custom-code-helpers/AbstractCustomCodeHelper.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let StringArrayRotateFunctionCodeHelper = class StringArrayRotateFunctionCodeHelper extends AbstractCustomCodeHelper_1.AbstractCustomCodeHelper { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options, escapeSequenceEncoder) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, customCodeHelperObfuscator, randomGenerator, options); + this.escapeSequenceEncoder = escapeSequenceEncoder; + } + initialize(stringArrayName, stringArrayRotationAmount) { + this.stringArrayName = stringArrayName; + this.stringArrayRotationAmount = stringArrayRotationAmount; + } + getNodeStructure(codeHelperTemplate) { + return NodeUtils_1.NodeUtils.convertCodeToStructure(codeHelperTemplate); + } + getCodeHelperTemplate() { + const timesName = this.identifierNamesGenerator.generateNext(); + const whileFunctionName = this.identifierNamesGenerator.generateNext(); + const preservedNames = [`^${this.stringArrayName}$`]; + let code = ''; + if (this.options.selfDefending) { + code = this.customCodeHelperFormatter.formatTemplate(SelfDefendingTemplate_1.SelfDefendingTemplate(this.escapeSequenceEncoder), { + timesName, + whileFunctionName + }); + } + else { + code = `${whileFunctionName}(++${timesName})`; + } + return this.customCodeHelperObfuscator.obfuscateTemplate(this.customCodeHelperFormatter.formatTemplate(StringArrayRotateFunctionTemplate_1.StringArrayRotateFunctionTemplate(), { + code, + timesName, + whileFunctionName, + stringArrayName: this.stringArrayName, + stringArrayRotationAmount: NumberUtils_1.NumberUtils.toHex(this.stringArrayRotationAmount) + }), { + reservedNames: preservedNames + }); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayRotateFunctionCodeHelper.prototype, "stringArrayName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayRotateFunctionCodeHelper.prototype, "stringArrayRotationAmount", void 0); +StringArrayRotateFunctionCodeHelper = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperObfuscator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator !== "undefined" && ICustomCodeHelperObfuscator_1.ICustomCodeHelperObfuscator) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object, typeof (_f = typeof IEscapeSequenceEncoder_1.IEscapeSequenceEncoder !== "undefined" && IEscapeSequenceEncoder_1.IEscapeSequenceEncoder) === "function" ? _f : Object]) +], StringArrayRotateFunctionCodeHelper); +exports.StringArrayRotateFunctionCodeHelper = StringArrayRotateFunctionCodeHelper; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/group/StringArrayCodeHelperGroup.ts": +/*!**********************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/group/StringArrayCodeHelperGroup.ts ***! + \**********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayCodeHelperGroup_1, _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCodeHelperGroup = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperFactory_1 = __webpack_require__(/*! ../../../types/container/custom-code-helpers/TCustomCodeHelperFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const CustomCodeHelper_1 = __webpack_require__(/*! ../../../enums/custom-code-helpers/CustomCodeHelper */ "./src/enums/custom-code-helpers/CustomCodeHelper.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const AbstractCustomCodeHelperGroup_1 = __webpack_require__(/*! ../../AbstractCustomCodeHelperGroup */ "./src/custom-code-helpers/AbstractCustomCodeHelperGroup.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +let StringArrayCodeHelperGroup = StringArrayCodeHelperGroup_1 = class StringArrayCodeHelperGroup extends AbstractCustomCodeHelperGroup_1.AbstractCustomCodeHelperGroup { + constructor(customCodeHelperFactory, stringArrayStorage, identifierNamesGeneratorFactory, randomGenerator, options) { + super(identifierNamesGeneratorFactory, randomGenerator, options); + this.appendEvent = ObfuscationEvent_1.ObfuscationEvent.AfterObfuscation; + this.customCodeHelperFactory = customCodeHelperFactory; + this.stringArrayStorage = stringArrayStorage; + } + appendNodes(nodeWithStatements, callsGraphData) { + if (!this.stringArrayStorage.getLength()) { + return; + } + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.StringArray, (customCodeHelper) => { + NodeAppender_1.NodeAppender.prepend(nodeWithStatements, customCodeHelper.getNode()); + }); + const stringArrayEncodingsLength = this.options.stringArrayEncoding.length; + for (let i = 0; i < stringArrayEncodingsLength; i++) { + const stringArrayEncoding = this.options.stringArrayEncoding[i]; + const stringArrayCallsWrapperCodeHelperName = this.getStringArrayCallsWrapperCodeHelperName(stringArrayEncoding); + this.appendCustomNodeIfExist(stringArrayCallsWrapperCodeHelperName, (customCodeHelper) => { + NodeAppender_1.NodeAppender.insertAtIndex(nodeWithStatements, customCodeHelper.getNode(), i + 1); + }); + } + this.appendCustomNodeIfExist(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction, (customCodeHelper) => { + NodeAppender_1.NodeAppender.insertAtIndex(nodeWithStatements, customCodeHelper.getNode(), 1); + }); + } + initialize() { + this.customCodeHelpers = new Map(); + if (!this.options.stringArray) { + return; + } + const stringArrayCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.StringArray); + const stringArrayName = this.stringArrayStorage.getStorageName(); + stringArrayCodeHelper.initialize(this.stringArrayStorage, stringArrayName); + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.StringArray, stringArrayCodeHelper); + for (const stringArrayEncoding of this.options.stringArrayEncoding) { + const stringArrayCallsWrapperCodeHelperName = this.getStringArrayCallsWrapperCodeHelperName(stringArrayEncoding); + const stringArrayCallsWrapperCodeHelper = this.customCodeHelperFactory(stringArrayCallsWrapperCodeHelperName); + const stringArrayCallsWrapperName = this.stringArrayStorage.getStorageCallsWrapperName(stringArrayEncoding); + stringArrayCallsWrapperCodeHelper.initialize(stringArrayName, stringArrayCallsWrapperName, this.stringArrayStorage.getIndexShiftAmount()); + this.customCodeHelpers.set(stringArrayCallsWrapperCodeHelperName, stringArrayCallsWrapperCodeHelper); + } + const stringArrayRotateFunctionCodeHelper = this.customCodeHelperFactory(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction); + stringArrayRotateFunctionCodeHelper.initialize(stringArrayName, this.stringArrayStorage.getRotationAmount()); + if (this.options.rotateStringArray) { + this.customCodeHelpers.set(CustomCodeHelper_1.CustomCodeHelper.StringArrayRotateFunction, stringArrayRotateFunctionCodeHelper); + } + } + getStringArrayCallsWrapperCodeHelperName(stringArrayEncoding) { + var _a; + return (_a = StringArrayCodeHelperGroup_1 + .stringArrayCallsWrapperCodeHelperMap.get(stringArrayEncoding)) !== null && _a !== void 0 ? _a : CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapper; + } +}; +StringArrayCodeHelperGroup.stringArrayCallsWrapperCodeHelperMap = new Map([ + [StringArrayEncoding_1.StringArrayEncoding.None, CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapper], + [StringArrayEncoding_1.StringArrayEncoding.Base64, CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperBase64], + [StringArrayEncoding_1.StringArrayEncoding.Rc4, CustomCodeHelper_1.CustomCodeHelper.StringArrayCallsWrapperRc4] +]); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], StringArrayCodeHelperGroup.prototype, "customCodeHelpers", void 0); +StringArrayCodeHelperGroup = StringArrayCodeHelperGroup_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelper)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TCustomCodeHelperFactory_1.TCustomCodeHelperFactory !== "undefined" && TCustomCodeHelperFactory_1.TCustomCodeHelperFactory) === "function" ? _b : Object, typeof (_c = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _c : Object, typeof (_d = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], StringArrayCodeHelperGroup); +exports.StringArrayCodeHelperGroup = StringArrayCodeHelperGroup; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts": +/*!***************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/AtobTemplate.ts ***! + \***************************************************************************************************/ +/*! flagged exports */ +/*! export AtobTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AtobTemplate = void 0; +const Base64AlphabetSwapped_1 = __webpack_require__(/*! ../../../../constants/Base64AlphabetSwapped */ "./src/constants/Base64AlphabetSwapped.ts"); +function AtobTemplate() { + return ` + var {atobFunctionName} = function (input) { + const chars = '${Base64AlphabetSwapped_1.base64alphabetSwapped}'; + + const str = String(input).replace(/=+$/, ''); + let output = ''; + for ( + let bc = 0, bs, buffer, idx = 0; + buffer = str.charAt(idx++); + ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, + bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0 + ) { + buffer = chars.indexOf(buffer); + } + return output; + }; + `; +} +exports.AtobTemplate = AtobTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/Rc4Template.ts": +/*!**************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/Rc4Template.ts ***! + \**************************************************************************************************/ +/*! flagged exports */ +/*! export Rc4Template [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Rc4Template = void 0; +function Rc4Template() { + return ` + const rc4 = function (str, key) { + let s = [], j = 0, x, res = '', newStr = ''; + + str = {atobFunctionName}(str); + + for (let k = 0, length = str.length; k < length; k++) { + newStr += '%' + ('00' + str.charCodeAt(k).toString(16)).slice(-2); + } + + str = decodeURIComponent(newStr); + + let i; + + for (i = 0; i < 256; i++) { + s[i] = i; + } + + for (i = 0; i < 256; i++) { + j = (j + s[i] + key.charCodeAt(i % key.length)) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + } + + i = 0; + j = 0; + + for (let y = 0; y < str.length; y++) { + i = (i + 1) % 256; + j = (j + s[i]) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + res += String.fromCharCode(str.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]); + } + + return res; + } + `; +} +exports.Rc4Template = Rc4Template; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/SelfDefendingTemplate.ts": +/*!************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/SelfDefendingTemplate.ts ***! + \************************************************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingTemplate = void 0; +function SelfDefendingTemplate(randomGenerator, escapeSequenceEncoder) { + const identifierLength = 6; + const rc4BytesIdentifier = randomGenerator.getRandomString(identifierLength); + const statesIdentifier = randomGenerator.getRandomString(identifierLength); + const newStateIdentifier = randomGenerator.getRandomString(identifierLength); + const firstStateIdentifier = randomGenerator.getRandomString(identifierLength); + const secondStateIdentifier = randomGenerator.getRandomString(identifierLength); + const checkStateIdentifier = randomGenerator.getRandomString(identifierLength); + const runStateIdentifier = randomGenerator.getRandomString(identifierLength); + const getStateIdentifier = randomGenerator.getRandomString(identifierLength); + const stateResultIdentifier = randomGenerator.getRandomString(identifierLength); + return ` + const StatesClass = function (${rc4BytesIdentifier}) { + this.${rc4BytesIdentifier} = ${rc4BytesIdentifier}; + this.${statesIdentifier} = [1, 0, 0]; + this.${newStateIdentifier} = function(){return 'newState';}; + this.${firstStateIdentifier} = '${escapeSequenceEncoder.encode('\\w+ *\\(\\) *{\\w+ *', true)}'; + this.${secondStateIdentifier} = '${escapeSequenceEncoder.encode('[\'|"].+[\'|"];? *}', true)}'; + }; + + StatesClass.prototype.${checkStateIdentifier} = function () { + const regExp = new RegExp(this.${firstStateIdentifier} + this.${secondStateIdentifier}); + const expression = regExp.test(this.${newStateIdentifier}.toString()) + ? --this.${statesIdentifier}[1] + : --this.${statesIdentifier}[0]; + + return this.${runStateIdentifier}(expression); + }; + + StatesClass.prototype.${runStateIdentifier} = function (${stateResultIdentifier}) { + if (!Boolean(~${stateResultIdentifier})) { + return ${stateResultIdentifier}; + } + + return this.${getStateIdentifier}(this.${rc4BytesIdentifier}); + }; + + StatesClass.prototype.${getStateIdentifier} = function (${rc4BytesIdentifier}) { + for (let i = 0, len = this.${statesIdentifier}.length; i < len; i++) { + this.${statesIdentifier}.push(Math.round(Math.random())); + len = this.${statesIdentifier}.length; + } + + return ${rc4BytesIdentifier}(this.${statesIdentifier}[0]); + }; + + new StatesClass({stringArrayCallsWrapperName}).${checkStateIdentifier}(); + `; +} +exports.SelfDefendingTemplate = SelfDefendingTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate.ts": +/*!**********************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayBase64DecodeTemplate.ts ***! + \**********************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayBase64DecodeTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayBase64DecodeTemplate = void 0; +function StringArrayBase64DecodeTemplate(randomGenerator) { + const identifierLength = 6; + const initializedIdentifier = randomGenerator.getRandomString(identifierLength); + const base64DecodeFunctionIdentifier = randomGenerator.getRandomString(identifierLength); + const dataIdentifier = randomGenerator.getRandomString(identifierLength); + return ` + if ({stringArrayCallsWrapperName}.${initializedIdentifier} === undefined) { + {atobPolyfill} + + {stringArrayCallsWrapperName}.${base64DecodeFunctionIdentifier} = function (str) { + const string = {atobFunctionName}(str); + let newStringChars = []; + + for (let i = 0, length = string.length; i < length; i++) { + newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2); + } + + return decodeURIComponent(newStringChars); + }; + + {stringArrayCallsWrapperName}.${dataIdentifier} = {}; + + {stringArrayCallsWrapperName}.${initializedIdentifier} = true; + } + + const cachedValue = {stringArrayCallsWrapperName}.${dataIdentifier}[index]; + + if (cachedValue === undefined) { + {selfDefendingCode} + + value = {stringArrayCallsWrapperName}.${base64DecodeFunctionIdentifier}(value); + {stringArrayCallsWrapperName}.${dataIdentifier}[index] = value; + } else { + value = cachedValue; + } + `; +} +exports.StringArrayBase64DecodeTemplate = StringArrayBase64DecodeTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate.ts": +/*!**********************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayCallsWrapperTemplate.ts ***! + \**********************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayCallsWrapperTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallsWrapperTemplate = void 0; +function StringArrayCallsWrapperTemplate() { + return ` + const {stringArrayCallsWrapperName} = function (index, key) { + index = index - {indexShiftAmount}; + + let value = {stringArrayName}[index]; + + {decodeCodeHelperTemplate} + + return value; + }; + `; +} +exports.StringArrayCallsWrapperTemplate = StringArrayCallsWrapperTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate.ts": +/*!*******************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-calls-wrapper/StringArrayRC4DecodeTemplate.ts ***! + \*******************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayRC4DecodeTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRC4DecodeTemplate = void 0; +function StringArrayRC4DecodeTemplate(randomGenerator) { + const identifierLength = 6; + const initializedIdentifier = randomGenerator.getRandomString(identifierLength); + const rc4Identifier = randomGenerator.getRandomString(identifierLength); + const dataIdentifier = randomGenerator.getRandomString(identifierLength); + const onceIdentifier = randomGenerator.getRandomString(identifierLength); + return ` + if ({stringArrayCallsWrapperName}.${initializedIdentifier} === undefined) { + {atobPolyfill} + + {rc4Polyfill} + {stringArrayCallsWrapperName}.${rc4Identifier} = rc4; + + {stringArrayCallsWrapperName}.${dataIdentifier} = {}; + + {stringArrayCallsWrapperName}.${initializedIdentifier} = true; + } + + const cachedValue = {stringArrayCallsWrapperName}.${dataIdentifier}[index]; + + if (cachedValue === undefined) { + if ({stringArrayCallsWrapperName}.${onceIdentifier} === undefined) { + {selfDefendingCode} + + {stringArrayCallsWrapperName}.${onceIdentifier} = true; + } + + value = {stringArrayCallsWrapperName}.${rc4Identifier}(value, key); + {stringArrayCallsWrapperName}.${dataIdentifier}[index] = value; + } else { + value = cachedValue; + } + `; +} +exports.StringArrayRC4DecodeTemplate = StringArrayRC4DecodeTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/SelfDefendingTemplate.ts": +/*!**************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-rotate-function/SelfDefendingTemplate.ts ***! + \**************************************************************************************************************/ +/*! flagged exports */ +/*! export SelfDefendingTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingTemplate = void 0; +function SelfDefendingTemplate(escapeSequenceEncoder) { + return ` + const selfDefendingFunc = function () { + const object = { + data: { + key: 'cookie', + value: 'timeout' + }, + setCookie: function (options, name, value, document) { + document = document || {}; + + let updatedCookie = name + "=" + value; + let i = 0; + + for (let i = 0, len = options.length; i < len; i++) { + const propName = options[i]; + + updatedCookie += "; " + propName; + + const propValue = options[propName]; + + options.push(propValue); + len = options.length; + + if (propValue !== true) { + updatedCookie += "=" + propValue; + } + } + + document['cookie'] = updatedCookie; + }, + removeCookie: function(){return 'dev';}, + getCookie: function (document, name) { + document = document || function (value) { return value }; + const matches = document(new RegExp( + "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" + )); + + const func = function (param1, param2) { + param1(++param2); + }; + + func({whileFunctionName}, {timesName}); + + return matches ? decodeURIComponent(matches[1]) : undefined; + } + }; + + const test1 = function () { + const regExp = new RegExp('${escapeSequenceEncoder.encode('\\w+ *\\(\\) *{\\w+ *[\'|"].+[\'|"];? *}', true)}'); + + return regExp.test(object.removeCookie.toString()); + }; + + object['updateCookie'] = test1; + + let cookie = ''; + const result = object['updateCookie'](); + + if (!result) { + object['setCookie'](['*'], 'counter', 1); + } else if (result) { + cookie = object['getCookie'](null, 'counter'); + } else { + object['removeCookie'](); + } + }; + + selfDefendingFunc(); + `; +} +exports.SelfDefendingTemplate = SelfDefendingTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array-rotate-function/StringArrayRotateFunctionTemplate.ts": +/*!**************************************************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array-rotate-function/StringArrayRotateFunctionTemplate.ts ***! + \**************************************************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayRotateFunctionTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRotateFunctionTemplate = void 0; +function StringArrayRotateFunctionTemplate() { + return ` + (function (array, {timesName}) { + const {whileFunctionName} = function (times) { + while (--times) { + array['push'](array['shift']()); + } + }; + + {code} + })({stringArrayName}, {stringArrayRotationAmount}); + `; +} +exports.StringArrayRotateFunctionTemplate = StringArrayRotateFunctionTemplate; + + +/***/ }), + +/***/ "./src/custom-code-helpers/string-array/templates/string-array/StringArrayTemplate.ts": +/*!********************************************************************************************!*\ + !*** ./src/custom-code-helpers/string-array/templates/string-array/StringArrayTemplate.ts ***! + \********************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayTemplate [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayTemplate = void 0; +function StringArrayTemplate() { + return ` + const {stringArrayName} = [{stringArrayStorageItems}]; + `; +} +exports.StringArrayTemplate = StringArrayTemplate; + + +/***/ }), + +/***/ "./src/custom-nodes/AbstractCustomNode.ts": +/*!************************************************!*\ + !*** ./src/custom-nodes/AbstractCustomNode.ts ***! + \************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractCustomNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractCustomNode = class AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + this.cachedNode = null; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.customCodeHelperFormatter = customCodeHelperFormatter; + this.randomGenerator = randomGenerator; + this.options = options; + } + getNode() { + if (!this.cachedNode) { + this.cachedNode = this.customCodeHelperFormatter.formatStructure(this.getNodeStructure()); + } + return this.cachedNode; + } +}; +AbstractCustomNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], AbstractCustomNode); +exports.AbstractCustomNode = AbstractCustomNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode.ts": +/*!****************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/BinaryExpressionFunctionNode.ts ***! + \****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BinaryExpressionFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BinaryExpressionFunctionNode = class BinaryExpressionFunctionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(operator) { + this.operator = operator; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([ + NodeFactory_1.NodeFactory.identifierNode('x'), + NodeFactory_1.NodeFactory.identifierNode('y') + ], NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.binaryExpressionNode(this.operator, NodeFactory_1.NodeFactory.identifierNode('x'), NodeFactory_1.NodeFactory.identifierNode('y'))) + ]))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +BinaryExpressionFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BinaryExpressionFunctionNode); +exports.BinaryExpressionFunctionNode = BinaryExpressionFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode.ts": +/*!***************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/BlockStatementControlFlowFlatteningNode.ts ***! + \***************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementControlFlowFlatteningNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementControlFlowFlatteningNode = class BlockStatementControlFlowFlatteningNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(blockStatementBody, shuffledKeys, originalKeysIndexesInShuffledArray) { + this.blockStatementBody = blockStatementBody; + this.shuffledKeys = shuffledKeys; + this.originalKeysIndexesInShuffledArray = originalKeysIndexesInShuffledArray; + } + getNodeStructure() { + const controllerIdentifierName = this.randomGenerator.getRandomString(6); + const indexIdentifierName = this.randomGenerator.getRandomString(6); + const structure = NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(controllerIdentifierName), NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.literalNode(this.originalKeysIndexesInShuffledArray.join(StringSeparator_1.StringSeparator.VerticalLine)), NodeFactory_1.NodeFactory.identifierNode('split')), [ + NodeFactory_1.NodeFactory.literalNode(StringSeparator_1.StringSeparator.VerticalLine) + ])) + ], 'const'), + NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(indexIdentifierName), NodeFactory_1.NodeFactory.literalNode(0)) + ], 'let'), + NodeFactory_1.NodeFactory.whileStatementNode(NodeFactory_1.NodeFactory.literalNode(true), NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.switchStatementNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(controllerIdentifierName), NodeFactory_1.NodeFactory.updateExpressionNode('++', NodeFactory_1.NodeFactory.identifierNode(indexIdentifierName)), true), this.shuffledKeys.map((key, index) => { + const statement = this.blockStatementBody[key]; + const consequent = [statement]; + if (!NodeGuards_1.NodeGuards.isReturnStatementNode(statement)) { + consequent.push(NodeFactory_1.NodeFactory.continueStatement()); + } + return NodeFactory_1.NodeFactory.switchCaseNode(NodeFactory_1.NodeFactory.literalNode(String(index)), consequent); + })), + NodeFactory_1.NodeFactory.breakStatement() + ])) + ]); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], BlockStatementControlFlowFlatteningNode.prototype, "blockStatementBody", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], BlockStatementControlFlowFlatteningNode.prototype, "originalKeysIndexesInShuffledArray", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], BlockStatementControlFlowFlatteningNode.prototype, "shuffledKeys", void 0); +BlockStatementControlFlowFlatteningNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BlockStatementControlFlowFlatteningNode); +exports.BlockStatementControlFlowFlatteningNode = BlockStatementControlFlowFlatteningNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode.ts": +/*!**************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/CallExpressionFunctionNode.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallExpressionFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let CallExpressionFunctionNode = class CallExpressionFunctionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(expressionArguments) { + this.expressionArguments = expressionArguments; + } + getNodeStructure() { + const calleeIdentifier = NodeFactory_1.NodeFactory.identifierNode('callee'); + const params = []; + const argumentsLength = this.expressionArguments.length; + for (let i = 0; i < argumentsLength; i++) { + params.push(NodeFactory_1.NodeFactory.identifierNode(`param${i + 1}`)); + } + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([ + calleeIdentifier, + ...params + ], NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(calleeIdentifier, params)) + ]))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], CallExpressionFunctionNode.prototype, "expressionArguments", void 0); +CallExpressionFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], CallExpressionFunctionNode); +exports.CallExpressionFunctionNode = CallExpressionFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/LogicalExpressionFunctionNode.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LogicalExpressionFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let LogicalExpressionFunctionNode = class LogicalExpressionFunctionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(operator) { + this.operator = operator; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([ + NodeFactory_1.NodeFactory.identifierNode('x'), + NodeFactory_1.NodeFactory.identifierNode('y') + ], NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.logicalExpressionNode(this.operator, NodeFactory_1.NodeFactory.identifierNode('x'), NodeFactory_1.NodeFactory.identifierNode('y'))) + ]))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +LogicalExpressionFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], LogicalExpressionFunctionNode); +exports.LogicalExpressionFunctionNode = LogicalExpressionFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/StringLiteralNode.ts": +/*!*****************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/StringLiteralNode.ts ***! + \*****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringLiteralNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let StringLiteralNode = class StringLiteralNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(literalValue) { + this.literalValue = literalValue; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.literalNode(this.literalValue)); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringLiteralNode.prototype, "literalValue", void 0); +StringLiteralNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], StringLiteralNode); +exports.StringLiteralNode = StringLiteralNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode.ts": +/*!*******************************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/CallExpressionControlFlowStorageCallNode.ts ***! + \*******************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallExpressionControlFlowStorageCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let CallExpressionControlFlowStorageCallNode = class CallExpressionControlFlowStorageCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorageName, controlFlowStorageKey, callee, expressionArguments) { + this.controlFlowStorageName = controlFlowStorageName; + this.controlFlowStorageKey = controlFlowStorageKey; + this.callee = callee; + this.expressionArguments = expressionArguments; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageName), NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageKey)), [ + this.callee, + ...this.expressionArguments + ])); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof ESTree !== "undefined" && ESTree.Expression) === "function" ? _a : Object) +], CallExpressionControlFlowStorageCallNode.prototype, "callee", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], CallExpressionControlFlowStorageCallNode.prototype, "controlFlowStorageKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], CallExpressionControlFlowStorageCallNode.prototype, "controlFlowStorageName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], CallExpressionControlFlowStorageCallNode.prototype, "expressionArguments", void 0); +CallExpressionControlFlowStorageCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], CallExpressionControlFlowStorageCallNode); +exports.CallExpressionControlFlowStorageCallNode = CallExpressionControlFlowStorageCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ControlFlowStorageNode.ts ***! + \*************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowStorageNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowStorage_1 = __webpack_require__(/*! ../../../types/storages/TControlFlowStorage */ "./src/types/storages/TControlFlowStorage.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ControlFlowStorageNode = class ControlFlowStorageNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorage) { + this.controlFlowStorage = controlFlowStorage; + } + getNodeStructure() { + const propertyNodes = Array + .from(this.controlFlowStorage.getStorage()) + .map(([key, value]) => { + const node = value.getNode()[0]; + if (!NodeGuards_1.NodeGuards.isExpressionStatementNode(node)) { + throw new Error('Function node for control flow storage object should be passed inside the `ExpressionStatement` node!'); + } + return NodeFactory_1.NodeFactory.propertyNode(NodeFactory_1.NodeFactory.identifierNode(key), node.expression); + }); + let structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorage.getStorageId()), NodeFactory_1.NodeFactory.objectExpressionNode(propertyNodes)) + ], 'const'); + structure = NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof TControlFlowStorage_1.TControlFlowStorage !== "undefined" && TControlFlowStorage_1.TControlFlowStorage) === "function" ? _a : Object) +], ControlFlowStorageNode.prototype, "controlFlowStorage", void 0); +ControlFlowStorageNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], ControlFlowStorageNode); +exports.ControlFlowStorageNode = ControlFlowStorageNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode.ts": +/*!***************************************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/ExpressionWithOperatorControlFlowStorageCallNode.ts ***! + \***************************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExpressionWithOperatorControlFlowStorageCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ExpressionWithOperatorControlFlowStorageCallNode = class ExpressionWithOperatorControlFlowStorageCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorageName, controlFlowStorageKey, leftValue, rightValue) { + this.controlFlowStorageName = controlFlowStorageName; + this.controlFlowStorageKey = controlFlowStorageKey; + this.leftValue = leftValue; + this.rightValue = rightValue; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageName), NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageKey)), [ + this.leftValue, + this.rightValue + ])); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ExpressionWithOperatorControlFlowStorageCallNode.prototype, "controlFlowStorageKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ExpressionWithOperatorControlFlowStorageCallNode.prototype, "controlFlowStorageName", void 0); +ExpressionWithOperatorControlFlowStorageCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], ExpressionWithOperatorControlFlowStorageCallNode); +exports.ExpressionWithOperatorControlFlowStorageCallNode = ExpressionWithOperatorControlFlowStorageCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode.ts": +/*!******************************************************************************************************************************!*\ + !*** ./src/custom-nodes/control-flow-flattening-nodes/control-flow-storage-nodes/StringLiteralControlFlowStorageCallNode.ts ***! + \******************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringLiteralControlFlowStorageCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringLiteralControlFlowStorageCallNode = class StringLiteralControlFlowStorageCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(controlFlowStorageName, controlFlowStorageKey) { + this.controlFlowStorageName = controlFlowStorageName; + this.controlFlowStorageKey = controlFlowStorageKey; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.memberExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageName), NodeFactory_1.NodeFactory.identifierNode(this.controlFlowStorageKey))); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringLiteralControlFlowStorageCallNode.prototype, "controlFlowStorageKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringLiteralControlFlowStorageCallNode.prototype, "controlFlowStorageName", void 0); +StringLiteralControlFlowStorageCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], StringLiteralControlFlowStorageCallNode); +exports.StringLiteralControlFlowStorageCallNode = StringLiteralControlFlowStorageCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode.ts": +/*!*******************************************************************************************!*\ + !*** ./src/custom-nodes/dead-code-injection-nodes/BlockStatementDeadCodeInjectionNode.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementDeadCodeInjectionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementDeadCodeInjectionNode = class BlockStatementDeadCodeInjectionNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(blockStatementNode, deadCodeInjectionRootAstHostNode) { + this.blockStatementNode = blockStatementNode; + this.deadCodeInjectionRootAstHostNode = deadCodeInjectionRootAstHostNode; + } + getNode() { + return this.getNodeStructure(); + } + getNodeStructure() { + const random1 = this.randomGenerator.getMathRandom() > 0.5; + const random2 = this.randomGenerator.getMathRandom() > 0.5; + const operator = random1 ? '===' : '!=='; + const leftString = this.randomGenerator.getRandomString(5); + const rightString = random2 ? leftString : this.randomGenerator.getRandomString(5); + const [consequent, alternate] = random1 === random2 + ? [this.blockStatementNode, this.deadCodeInjectionRootAstHostNode] + : [this.deadCodeInjectionRootAstHostNode, this.blockStatementNode]; + const structure = NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.ifStatementNode(NodeFactory_1.NodeFactory.binaryExpressionNode(operator, NodeFactory_1.NodeFactory.literalNode(leftString), NodeFactory_1.NodeFactory.literalNode(rightString)), consequent, alternate) + ]); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +BlockStatementDeadCodeInjectionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BlockStatementDeadCodeInjectionNode); +exports.BlockStatementDeadCodeInjectionNode = BlockStatementDeadCodeInjectionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode.ts": +/*!******************************************************************************************************************!*\ + !*** ./src/custom-nodes/object-expression-keys-transformer-nodes/ObjectExpressionVariableDeclarationHostNode.ts ***! + \******************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionVariableDeclarationHostNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ObjectExpressionVariableDeclarationHostNode = class ObjectExpressionVariableDeclarationHostNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + } + initialize(lexicalScopeNode, properties) { + this.lexicalScopeNode = lexicalScopeNode; + this.properties = properties; + } + getNodeStructure() { + const variableDeclarationName = NodeGuards_1.NodeGuards.isProgramNode(this.lexicalScopeNode) + ? this.identifierNamesGenerator.generateForGlobalScope() + : this.identifierNamesGenerator.generateForLexicalScope(this.lexicalScopeNode); + const structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(variableDeclarationName), NodeFactory_1.NodeFactory.objectExpressionNode(this.properties)) + ], 'const'); + return [structure]; + } +}; +ObjectExpressionVariableDeclarationHostNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], ObjectExpressionVariableDeclarationHostNode); +exports.ObjectExpressionVariableDeclarationHostNode = ObjectExpressionVariableDeclarationHostNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts": +/*!****************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts ***! + \****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var AbstractStringArrayCallNode_1, _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractStringArrayCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +const StringArrayIndexNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode */ "./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts"); +const AbstractCustomNode_1 = __webpack_require__(/*! ../AbstractCustomNode */ "./src/custom-nodes/AbstractCustomNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +let AbstractStringArrayCallNode = AbstractStringArrayCallNode_1 = class AbstractStringArrayCallNode extends AbstractCustomNode_1.AbstractCustomNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, customCodeHelperFormatter, randomGenerator, options); + this.stringArrayIndexNodeFactory = stringArrayIndexNodeFactory; + this.stringArrayStorage = stringArrayStorage; + this.arrayUtils = arrayUtils; + } + getStringArrayIndexNode(index) { + var _a; + const isPositive = index >= 0; + const normalizedIndex = Math.abs(index); + const stringArrayCallsIndexType = this.randomGenerator + .getRandomGenerator() + .pickone(this.options.stringArrayIndexesType); + const stringArrayIndexNodeName = (_a = AbstractStringArrayCallNode_1.stringArrayIndexNodesMap.get(stringArrayCallsIndexType)) !== null && _a !== void 0 ? _a : null; + if (!stringArrayIndexNodeName) { + throw new Error('Invalid string array index node name'); + } + const stringArrayCallIndexNode = this.stringArrayIndexNodeFactory(stringArrayIndexNodeName) + .getNode(normalizedIndex); + NodeMetadata_1.NodeMetadata.set(stringArrayCallIndexNode, { replacedLiteral: true }); + const hexadecimalNode = isPositive + ? stringArrayCallIndexNode + : NodeFactory_1.NodeFactory.unaryExpressionNode('-', stringArrayCallIndexNode); + NodeUtils_1.NodeUtils.parentizeAst(hexadecimalNode); + return hexadecimalNode; + } + getRc4KeyLiteralNode(decodeKey) { + const rc4KeyLiteralNode = NodeFactory_1.NodeFactory.literalNode(decodeKey); + NodeMetadata_1.NodeMetadata.set(rc4KeyLiteralNode, { replacedLiteral: true }); + return rc4KeyLiteralNode; + } +}; +AbstractStringArrayCallNode.stringArrayIndexNodesMap = new Map([ + [StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber, StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumberIndexNode], + [StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumericString, StringArrayIndexNode_1.StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode] +]); +AbstractStringArrayCallNode = AbstractStringArrayCallNode_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _d : Object, typeof (_e = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _e : Object, typeof (_f = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _f : Object, typeof (_g = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _g : Object]) +], AbstractStringArrayCallNode); +exports.AbstractStringArrayCallNode = AbstractStringArrayCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/StringArrayCallNode.ts": +/*!********************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/StringArrayCallNode.ts ***! + \********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/*! CommonJS bailout: this is used directly at 2:18-22 */ +/*! CommonJS bailout: this is used directly at 8:18-22 */ +/*! CommonJS bailout: this is used directly at 11:15-19 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g, _h; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCallNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const StringArrayRootCallsWrapperParametersDefaultCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts"); +const StringArrayScopeCallsWrapperParametersMaxCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts"); +const AbstractStringArrayCallNode_1 = __webpack_require__(/*! ./AbstractStringArrayCallNode */ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayCallNode = class StringArrayCallNode extends AbstractStringArrayCallNode_1.AbstractStringArrayCallNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options); + } + initialize(stringArrayCallsWrapperName, stringArrayCallsWrapperParameterIndexesData, index, indexShiftAmount, decodeKey) { + this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + this.stringArrayCallsWrapperParameterIndexesData = stringArrayCallsWrapperParameterIndexesData; + this.index = index; + this.indexShiftAmount = indexShiftAmount; + this.decodeKey = decodeKey; + } + getNodeStructure() { + var _a, _b; + const resultIndex = this.indexShiftAmount + this.index; + const indexNode = this.getStringArrayIndexNode(resultIndex); + const rc4KeyLiteralNode = this.decodeKey + ? this.getRc4KeyLiteralNode(this.decodeKey) + : null; + const callExpressionArgs = this.arrayUtils.fillWithRange(!this.stringArrayCallsWrapperParameterIndexesData + ? StringArrayRootCallsWrapperParametersDefaultCount_1.stringArrayRootCallsWrapperParametersDefaultCount + : StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount, () => this.getFakeStringArrayIndexNode(resultIndex)); + callExpressionArgs.splice((_b = (_a = this.stringArrayCallsWrapperParameterIndexesData) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : 0, 1, indexNode); + if (this.stringArrayCallsWrapperParameterIndexesData) { + callExpressionArgs.splice(this.stringArrayCallsWrapperParameterIndexesData.decodeKey, 1, rc4KeyLiteralNode !== null && rc4KeyLiteralNode !== void 0 ? rc4KeyLiteralNode : this.getFakeStringArrayIndexNode(resultIndex)); + } + else if (rc4KeyLiteralNode) { + callExpressionArgs.splice(1, 1, rc4KeyLiteralNode); + } + else { + callExpressionArgs.splice(1, 1); + } + const structure = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.stringArrayCallsWrapperName), callExpressionArgs)); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } + getFakeStringArrayIndexNode(actualIndex) { + return this.getStringArrayIndexNode(this.getFakeStringArrayIndex(actualIndex)); + } + getFakeStringArrayIndex(actualIndex) { + const stringArrayStorageLength = this.stringArrayStorage.getLength(); + const fakeIndexOffset = stringArrayStorageLength / 2; + const minimumIndex = actualIndex - fakeIndexOffset; + const maximumIndex = actualIndex + fakeIndexOffset; + return this.randomGenerator.getRandomInteger(minimumIndex, maximumIndex); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayCallNode.prototype, "decodeKey", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayCallNode.prototype, "index", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayCallNode.prototype, "indexShiftAmount", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayCallNode.prototype, "stringArrayCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayCallNode.prototype, "stringArrayCallsWrapperParameterIndexesData", void 0); +StringArrayCallNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _b : Object, typeof (_c = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _c : Object, typeof (_d = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _d : Object, typeof (_e = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _e : Object, typeof (_f = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _f : Object, typeof (_g = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _g : Object, typeof (_h = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _h : Object]) +], StringArrayCallNode); +exports.StringArrayCallNode = StringArrayCallNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g, _h, _j; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperFunctionNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const StringArrayScopeCallsWrapperParametersMaxCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts"); +const AbstractStringArrayCallNode_1 = __webpack_require__(/*! ./AbstractStringArrayCallNode */ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const StringArrayRootCallsWrapperParametersDefaultCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts"); +let StringArrayScopeCallsWrapperFunctionNode = class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArrayCallNode_1.AbstractStringArrayCallNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options); + } + initialize(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexesData, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexesData, shiftedIndex) { + this.stringArrayScopeCallsWrapperName = stringArrayScopeCallsWrapperName; + this.stringArrayScopeCallsWrapperParameterIndexesData = stringArrayScopeCallsWrapperParameterIndexesData; + this.upperStringArrayCallsWrapperName = upperStringArrayCallsWrapperName; + this.upperStringArrayCallsWrapperParameterIndexesData = upperStringArrayCallsWrapperParameterIndexesData; + this.shiftedIndex = shiftedIndex; + } + getNodeStructure() { + var _a, _b, _c, _d, _e, _f, _g, _h; + const stringArrayCallIdentifierNode = NodeFactory_1.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + const decodeKeyIdentifierNode = NodeFactory_1.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + const stringArrayCallNode = this.getUpperStringArrayCallNode(stringArrayCallIdentifierNode, this.getStringArrayIndexNode(this.shiftedIndex)); + const parameters = this.arrayUtils.fillWithRange(!this.stringArrayScopeCallsWrapperParameterIndexesData + ? StringArrayRootCallsWrapperParametersDefaultCount_1.stringArrayRootCallsWrapperParametersDefaultCount + : StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount, () => this.getFakeParameterNode()); + parameters.splice((_b = (_a = this.stringArrayScopeCallsWrapperParameterIndexesData) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : 0, 1, stringArrayCallIdentifierNode); + parameters.splice((_d = (_c = this.stringArrayScopeCallsWrapperParameterIndexesData) === null || _c === void 0 ? void 0 : _c.decodeKey) !== null && _d !== void 0 ? _d : 1, 1, decodeKeyIdentifierNode); + const callExpressionArgs = this.arrayUtils.fillWithRange(!this.upperStringArrayCallsWrapperParameterIndexesData + ? StringArrayRootCallsWrapperParametersDefaultCount_1.stringArrayRootCallsWrapperParametersDefaultCount + : StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount, (index) => this.getUpperStringArrayCallNode(parameters[index], this.getFakeUpperStringArrayIndexNode())); + callExpressionArgs.splice((_f = (_e = this.upperStringArrayCallsWrapperParameterIndexesData) === null || _e === void 0 ? void 0 : _e.index) !== null && _f !== void 0 ? _f : 0, 1, stringArrayCallNode); + callExpressionArgs.splice((_h = (_g = this.upperStringArrayCallsWrapperParameterIndexesData) === null || _g === void 0 ? void 0 : _g.decodeKey) !== null && _h !== void 0 ? _h : 1, 1, decodeKeyIdentifierNode); + const functionExpressionNode = NodeFactory_1.NodeFactory.functionExpressionNode(parameters, NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.identifierNode(this.upperStringArrayCallsWrapperName), callExpressionArgs)) + ])); + const structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName), functionExpressionNode) + ], 'const'); + NodeUtils_1.NodeUtils.parentizeAst(structure); + for (const parameter of parameters) { + parameter.name = this.identifierNamesGenerator.generateForLexicalScope(functionExpressionNode); + } + return [structure]; + } + getUpperStringArrayCallNode(indexParameterIdentifierNode, indexShiftNode) { + return NodeFactory_1.NodeFactory.binaryExpressionNode('-', indexParameterIdentifierNode, indexShiftNode); + } + getFakeParameterNode() { + return NodeFactory_1.NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + } + getFakeUpperStringArrayIndexNode() { + return this.getStringArrayIndexNode(this.randomGenerator.getRandomInteger(0, 500)); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Number) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "shiftedIndex", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "upperStringArrayCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "upperStringArrayCallsWrapperParameterIndexesData", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "stringArrayScopeCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Object) +], StringArrayScopeCallsWrapperFunctionNode.prototype, "stringArrayScopeCallsWrapperParameterIndexesData", void 0); +StringArrayScopeCallsWrapperFunctionNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_c = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _c : Object, typeof (_d = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _d : Object, typeof (_e = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _e : Object, typeof (_f = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _f : Object, typeof (_g = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _g : Object, typeof (_h = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _h : Object, typeof (_j = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _j : Object]) +], StringArrayScopeCallsWrapperFunctionNode); +exports.StringArrayScopeCallsWrapperFunctionNode = StringArrayScopeCallsWrapperFunctionNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts": +/*!*****************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts ***! + \*****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperVariableNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayIndexNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory */ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICustomCodeHelperFormatter_1 = __webpack_require__(/*! ../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter */ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const Initializable_1 = __webpack_require__(/*! ../../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AbstractStringArrayCallNode_1 = __webpack_require__(/*! ./AbstractStringArrayCallNode */ "./src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayScopeCallsWrapperVariableNode = class StringArrayScopeCallsWrapperVariableNode extends AbstractStringArrayCallNode_1.AbstractStringArrayCallNode { + constructor(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options) { + super(identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, stringArrayStorage, arrayUtils, randomGenerator, options); + } + initialize(stringArrayScopeCallsWrapperName, stringArrayCallsWrapperName) { + this.stringArrayScopeCallsWrapperName = stringArrayScopeCallsWrapperName; + this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + } + getNodeStructure() { + const structure = NodeFactory_1.NodeFactory.variableDeclarationNode([ + NodeFactory_1.NodeFactory.variableDeclaratorNode(NodeFactory_1.NodeFactory.identifierNode(this.stringArrayScopeCallsWrapperName), NodeFactory_1.NodeFactory.identifierNode(this.stringArrayCallsWrapperName)) + ], 'const'); + NodeUtils_1.NodeUtils.parentizeAst(structure); + return [structure]; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperVariableNode.prototype, "stringArrayCallsWrapperName", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], StringArrayScopeCallsWrapperVariableNode.prototype, "stringArrayScopeCallsWrapperName", void 0); +StringArrayScopeCallsWrapperVariableNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayIndexNode)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICustomCodeHelperFormatter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory !== "undefined" && TStringArrayIndexNodeFactory_1.TStringArrayIndexNodeFactory) === "function" ? _b : Object, typeof (_c = typeof ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter !== "undefined" && ICustomCodeHelperFormatter_1.ICustomCodeHelperFormatter) === "function" ? _c : Object, typeof (_d = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _d : Object, typeof (_e = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _e : Object, typeof (_f = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _f : Object, typeof (_g = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _g : Object]) +], StringArrayScopeCallsWrapperVariableNode); +exports.StringArrayScopeCallsWrapperVariableNode = StringArrayScopeCallsWrapperVariableNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts": +/*!******************************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts ***! + \******************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractStringArrayIndexNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +let AbstractStringArrayIndexNode = class AbstractStringArrayIndexNode { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } +}; +AbstractStringArrayIndexNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractStringArrayIndexNode); +exports.AbstractStringArrayIndexNode = AbstractStringArrayIndexNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumberIndexNode.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayHexadecimalNumberIndexNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const AbstractStringArrayIndexNode_1 = __webpack_require__(/*! ./AbstractStringArrayIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let StringArrayHexadecimalNumberIndexNode = class StringArrayHexadecimalNumberIndexNode extends AbstractStringArrayIndexNode_1.AbstractStringArrayIndexNode { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getNode(index) { + const hexadecimalIndex = NumberUtils_1.NumberUtils.toHex(index); + return NodeFactory_1.NodeFactory.literalNode(index, hexadecimalIndex); + } +}; +StringArrayHexadecimalNumberIndexNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayHexadecimalNumberIndexNode); +exports.StringArrayHexadecimalNumberIndexNode = StringArrayHexadecimalNumberIndexNode; + + +/***/ }), + +/***/ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode.ts": +/*!**********************************************************************************************************************!*\ + !*** ./src/custom-nodes/string-array-nodes/string-array-index-nodes/StringArrayHexadecimalNumericStringIndexNode.ts ***! + \**********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayHexadecimalNumericStringIndexNode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const AbstractStringArrayIndexNode_1 = __webpack_require__(/*! ./AbstractStringArrayIndexNode */ "./src/custom-nodes/string-array-nodes/string-array-index-nodes/AbstractStringArrayIndexNode.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let StringArrayHexadecimalNumericStringIndexNode = class StringArrayHexadecimalNumericStringIndexNode extends AbstractStringArrayIndexNode_1.AbstractStringArrayIndexNode { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getNode(index) { + const hexadecimalIndex = NumberUtils_1.NumberUtils.toHex(index); + return NodeFactory_1.NodeFactory.literalNode(hexadecimalIndex); + } +}; +StringArrayHexadecimalNumericStringIndexNode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayHexadecimalNumericStringIndexNode); +exports.StringArrayHexadecimalNumericStringIndexNode = StringArrayHexadecimalNumericStringIndexNode; + + +/***/ }), + +/***/ "./src/decorators/Initializable.ts": +/*!*****************************************!*\ + !*** ./src/decorators/Initializable.ts ***! + \*****************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export initializable [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.initializable = void 0; +const defaultDescriptor = { + configurable: true, + enumerable: true +}; +const initializedTargetMetadataKey = '_initialized'; +const initializablePropertiesSetMetadataKey = '_initializablePropertiesSet'; +const wrappedMethodsSetMetadataKey = '_wrappedMethodsSet'; +const constructorMethodName = 'constructor'; +function initializable(initializeMethodName = 'initialize') { + const decoratorName = Object.keys(this)[0]; + return (target, propertyKey) => { + const initializeMethod = target[initializeMethodName]; + if (!initializeMethod || typeof initializeMethod !== 'function') { + throw new Error(`\`${initializeMethodName}\` method with initialization logic not ` + + `found. \`@${decoratorName}\` decorator requires \`${initializeMethodName}\` method`); + } + initializeTargetMetadata(initializedTargetMetadataKey, false, target); + initializeTargetMetadata(initializablePropertiesSetMetadataKey, new Set(), target); + initializeTargetMetadata(wrappedMethodsSetMetadataKey, new Set(), target); + wrapTargetMethodsInInitializedCheck(target, initializeMethodName); + wrapInitializeMethodInInitializeCheck(target, initializeMethodName, propertyKey); + return wrapInitializableProperty(target, propertyKey); + }; +} +exports.initializable = initializable; +function initializeTargetMetadata(metadataKey, metadataValue, target) { + const hasInitializedMetadata = Reflect.hasMetadata(metadataKey, target); + if (!hasInitializedMetadata) { + Reflect.defineMetadata(metadataKey, metadataValue, target); + } +} +function wrapTargetMethodsInInitializedCheck(target, initializeMethodName) { + const ownPropertyNames = Object.getOwnPropertyNames(target); + const prohibitedPropertyNames = new Set([initializeMethodName, constructorMethodName]); + ownPropertyNames.forEach((propertyName) => { + var _a; + const initializablePropertiesSet = Reflect + .getMetadata(initializablePropertiesSetMetadataKey, target); + const wrappedMethodsSet = Reflect + .getMetadata(wrappedMethodsSetMetadataKey, target); + const isProhibitedPropertyName = prohibitedPropertyNames.has(propertyName) + || initializablePropertiesSet.has(propertyName) + || wrappedMethodsSet.has(propertyName); + if (isProhibitedPropertyName) { + return; + } + const targetProperty = target[propertyName]; + if (typeof targetProperty !== 'function') { + return; + } + const methodDescriptor = (_a = Object + .getOwnPropertyDescriptor(target, propertyName)) !== null && _a !== void 0 ? _a : defaultDescriptor; + const originalMethod = methodDescriptor.value; + Object.defineProperty(target, propertyName, Object.assign(Object.assign({}, methodDescriptor), { value() { + if (!Reflect.getMetadata(initializedTargetMetadataKey, this)) { + throw new Error(`Class should be initialized with \`${initializeMethodName}()\` method`); + } + return originalMethod.apply(this, arguments); + } })); + wrappedMethodsSet.add(propertyName); + }); +} +function wrapInitializeMethodInInitializeCheck(target, initializeMethodName, propertyKey) { + var _a; + const methodDescriptor = (_a = Object + .getOwnPropertyDescriptor(target, initializeMethodName)) !== null && _a !== void 0 ? _a : defaultDescriptor; + const originalMethod = methodDescriptor.value; + Object.defineProperty(target, initializeMethodName, Object.assign(Object.assign({}, methodDescriptor), { value: function () { + Reflect.defineMetadata(initializedTargetMetadataKey, true, this); + const result = originalMethod.apply(this, arguments); + if (this[propertyKey]) { } + return result; + } })); +} +function wrapInitializableProperty(target, propertyKey) { + var _a; + const initializablePropertiesSet = Reflect + .getMetadata(initializablePropertiesSetMetadataKey, target); + initializablePropertiesSet.add(propertyKey); + const initializablePropertyMetadataKey = `_${propertyKey.toString()}`; + const propertyDescriptor = (_a = Object + .getOwnPropertyDescriptor(target, initializablePropertyMetadataKey)) !== null && _a !== void 0 ? _a : defaultDescriptor; + Object.defineProperty(target, propertyKey, Object.assign(Object.assign({}, propertyDescriptor), { get: function () { + if (this[initializablePropertyMetadataKey] === undefined) { + throw new Error(`Property \`${propertyKey.toString()}\` is not initialized! Initialize it first!`); + } + return this[initializablePropertyMetadataKey]; + }, set: function (newVal) { + this[initializablePropertyMetadataKey] = newVal; + } })); + return propertyDescriptor; +} + + +/***/ }), + +/***/ "./src/enums/ObfuscationTarget.ts": +/*!****************************************!*\ + !*** ./src/enums/ObfuscationTarget.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export ObfuscationTarget [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscationTarget = void 0; +const Utils_1 = __webpack_require__(/*! ../utils/Utils */ "./src/utils/Utils.ts"); +exports.ObfuscationTarget = Utils_1.Utils.makeEnum({ + Browser: 'browser', + BrowserNoEval: 'browser-no-eval', + Node: 'node' +}); + + +/***/ }), + +/***/ "./src/enums/StringSeparator.ts": +/*!**************************************!*\ + !*** ./src/enums/StringSeparator.ts ***! + \**************************************/ +/*! flagged exports */ +/*! export StringSeparator [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringSeparator = void 0; +var StringSeparator; +(function (StringSeparator) { + StringSeparator["Comma"] = ","; + StringSeparator["Dot"] = "."; + StringSeparator["VerticalLine"] = "|"; +})(StringSeparator = exports.StringSeparator || (exports.StringSeparator = {})); + + +/***/ }), + +/***/ "./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts": +/*!*************************************************************************!*\ + !*** ./src/enums/analyzers/calls-graph-analyzer/CalleeDataExtractor.ts ***! + \*************************************************************************/ +/*! flagged exports */ +/*! export CalleeDataExtractor [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CalleeDataExtractor = void 0; +var CalleeDataExtractor; +(function (CalleeDataExtractor) { + CalleeDataExtractor["FunctionDeclarationCalleeDataExtractor"] = "FunctionDeclarationCalleeDataExtractor"; + CalleeDataExtractor["FunctionExpressionCalleeDataExtractor"] = "FunctionExpressionCalleeDataExtractor"; + CalleeDataExtractor["ObjectExpressionCalleeDataExtractor"] = "ObjectExpressionCalleeDataExtractor"; +})(CalleeDataExtractor = exports.CalleeDataExtractor || (exports.CalleeDataExtractor = {})); + + +/***/ }), + +/***/ "./src/enums/code-transformers/CodeTransformationStage.ts": +/*!****************************************************************!*\ + !*** ./src/enums/code-transformers/CodeTransformationStage.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export CodeTransformationStage [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformationStage = void 0; +var CodeTransformationStage; +(function (CodeTransformationStage) { + CodeTransformationStage["PreparingTransformers"] = "PreparingTransformers"; + CodeTransformationStage["FinalizingTransformers"] = "FinalizingTransformers"; +})(CodeTransformationStage = exports.CodeTransformationStage || (exports.CodeTransformationStage = {})); + + +/***/ }), + +/***/ "./src/enums/code-transformers/CodeTransformer.ts": +/*!********************************************************!*\ + !*** ./src/enums/code-transformers/CodeTransformer.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export CodeTransformer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CodeTransformer = void 0; +var CodeTransformer; +(function (CodeTransformer) { + CodeTransformer["HashbangOperatorTransformer"] = "HashbangOperatorTransformer"; +})(CodeTransformer = exports.CodeTransformer || (exports.CodeTransformer = {})); + + +/***/ }), + +/***/ "./src/enums/custom-code-helpers/CustomCodeHelper.ts": +/*!***********************************************************!*\ + !*** ./src/enums/custom-code-helpers/CustomCodeHelper.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export CustomCodeHelper [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelper = void 0; +var CustomCodeHelper; +(function (CustomCodeHelper) { + CustomCodeHelper["CallsControllerFunction"] = "CallsControllerFunction"; + CustomCodeHelper["ConsoleOutputDisable"] = "ConsoleOutputDisable"; + CustomCodeHelper["DebugProtectionFunctionCall"] = "DebugProtectionFunctionCall"; + CustomCodeHelper["DebugProtectionFunctionInterval"] = "DebugProtectionFunctionInterval"; + CustomCodeHelper["DebugProtectionFunction"] = "DebugProtectionFunction"; + CustomCodeHelper["DomainLock"] = "DomainLock"; + CustomCodeHelper["SelfDefendingUnicode"] = "SelfDefendingUnicode"; + CustomCodeHelper["StringArray"] = "StringArray"; + CustomCodeHelper["StringArrayCallsWrapper"] = "StringArrayCallsWrapper"; + CustomCodeHelper["StringArrayCallsWrapperBase64"] = "StringArrayCallsWrapperBase64"; + CustomCodeHelper["StringArrayCallsWrapperRc4"] = "StringArrayCallsWrapperRc4"; + CustomCodeHelper["StringArrayRotateFunction"] = "StringArrayRotateFunction"; +})(CustomCodeHelper = exports.CustomCodeHelper || (exports.CustomCodeHelper = {})); + + +/***/ }), + +/***/ "./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts": +/*!****************************************************************!*\ + !*** ./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export CustomCodeHelperGroup [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperGroup = void 0; +var CustomCodeHelperGroup; +(function (CustomCodeHelperGroup) { + CustomCodeHelperGroup["ConsoleOutput"] = "ConsoleOutput"; + CustomCodeHelperGroup["DebugProtection"] = "DebugProtection"; + CustomCodeHelperGroup["DomainLock"] = "DomainLock"; + CustomCodeHelperGroup["SelfDefending"] = "SelfDefending"; + CustomCodeHelperGroup["StringArray"] = "StringArray"; +})(CustomCodeHelperGroup = exports.CustomCodeHelperGroup || (exports.CustomCodeHelperGroup = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/ControlFlowCustomNode.ts": +/*!*********************************************************!*\ + !*** ./src/enums/custom-nodes/ControlFlowCustomNode.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export ControlFlowCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowCustomNode = void 0; +var ControlFlowCustomNode; +(function (ControlFlowCustomNode) { + ControlFlowCustomNode["BinaryExpressionFunctionNode"] = "BinaryExpressionFunctionNode"; + ControlFlowCustomNode["BlockStatementControlFlowFlatteningNode"] = "BlockStatementControlFlowFlatteningNode"; + ControlFlowCustomNode["CallExpressionControlFlowStorageCallNode"] = "CallExpressionControlFlowStorageCallNode"; + ControlFlowCustomNode["CallExpressionFunctionNode"] = "CallExpressionFunctionNode"; + ControlFlowCustomNode["ControlFlowStorageNode"] = "ControlFlowStorageNode"; + ControlFlowCustomNode["ExpressionWithOperatorControlFlowStorageCallNode"] = "ExpressionWithOperatorControlFlowStorageCallNode"; + ControlFlowCustomNode["LogicalExpressionFunctionNode"] = "LogicalExpressionFunctionNode"; + ControlFlowCustomNode["StringLiteralControlFlowStorageCallNode"] = "StringLiteralControlFlowStorageCallNode"; + ControlFlowCustomNode["StringLiteralNode"] = "StringLiteralNode"; +})(ControlFlowCustomNode = exports.ControlFlowCustomNode || (exports.ControlFlowCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts": +/*!***************************************************************!*\ + !*** ./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts ***! + \***************************************************************/ +/*! flagged exports */ +/*! export DeadCodeInjectionCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionCustomNode = void 0; +var DeadCodeInjectionCustomNode; +(function (DeadCodeInjectionCustomNode) { + DeadCodeInjectionCustomNode["BlockStatementDeadCodeInjectionNode"] = "BlockStatementDeadCodeInjectionNode"; +})(DeadCodeInjectionCustomNode = exports.DeadCodeInjectionCustomNode || (exports.DeadCodeInjectionCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts": +/*!*****************************************************************************!*\ + !*** ./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export ObjectExpressionKeysTransformerCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionKeysTransformerCustomNode = void 0; +var ObjectExpressionKeysTransformerCustomNode; +(function (ObjectExpressionKeysTransformerCustomNode) { + ObjectExpressionKeysTransformerCustomNode["ObjectExpressionVariableDeclarationHostNode"] = "ObjectExpressionVariableDeclarationHostNode"; +})(ObjectExpressionKeysTransformerCustomNode = exports.ObjectExpressionKeysTransformerCustomNode || (exports.ObjectExpressionKeysTransformerCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/StringArrayCustomNode.ts": +/*!*********************************************************!*\ + !*** ./src/enums/custom-nodes/StringArrayCustomNode.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export StringArrayCustomNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayCustomNode = void 0; +var StringArrayCustomNode; +(function (StringArrayCustomNode) { + StringArrayCustomNode["StringArrayCallNode"] = "StringArrayCallNode"; + StringArrayCustomNode["StringArrayScopeCallsWrapperFunctionNode"] = "StringArrayScopeCallsWrapperFunctionNode"; + StringArrayCustomNode["StringArrayScopeCallsWrapperVariableNode"] = "StringArrayScopeCallsWrapperVariableNode"; +})(StringArrayCustomNode = exports.StringArrayCustomNode || (exports.StringArrayCustomNode = {})); + + +/***/ }), + +/***/ "./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts": +/*!*********************************************************************************!*\ + !*** ./src/enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export StringArrayIndexNode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayIndexNode = void 0; +var StringArrayIndexNode; +(function (StringArrayIndexNode) { + StringArrayIndexNode["StringArrayHexadecimalNumberIndexNode"] = "StringArrayHexadecimalNumberIndexNode"; + StringArrayIndexNode["StringArrayHexadecimalNumericStringIndexNode"] = "StringArrayHexadecimalNumericStringIndexNode"; +})(StringArrayIndexNode = exports.StringArrayIndexNode || (exports.StringArrayIndexNode = {})); + + +/***/ }), + +/***/ "./src/enums/event-emitters/ObfuscationEvent.ts": +/*!******************************************************!*\ + !*** ./src/enums/event-emitters/ObfuscationEvent.ts ***! + \******************************************************/ +/*! flagged exports */ +/*! export ObfuscationEvent [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscationEvent = void 0; +var ObfuscationEvent; +(function (ObfuscationEvent) { + ObfuscationEvent["AfterObfuscation"] = "afterObfuscation"; + ObfuscationEvent["BeforeObfuscation"] = "beforeObfuscation"; +})(ObfuscationEvent = exports.ObfuscationEvent || (exports.ObfuscationEvent = {})); + + +/***/ }), + +/***/ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts": +/*!**************************************************************************************!*\ + !*** ./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts ***! + \**************************************************************************************/ +/*! flagged exports */ +/*! export IdentifierNamesGenerator [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IdentifierNamesGenerator = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.IdentifierNamesGenerator = Utils_1.Utils.makeEnum({ + DictionaryIdentifierNamesGenerator: 'dictionary', + HexadecimalIdentifierNamesGenerator: 'hexadecimal', + MangledIdentifierNamesGenerator: 'mangled', + MangledShuffledIdentifierNamesGenerator: 'mangled-shuffled' +}); + + +/***/ }), + +/***/ "./src/enums/logger/LoggingMessage.ts": +/*!********************************************!*\ + !*** ./src/enums/logger/LoggingMessage.ts ***! + \********************************************/ +/*! flagged exports */ +/*! export LoggingMessage [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LoggingMessage = void 0; +var LoggingMessage; +(function (LoggingMessage) { + LoggingMessage["EmptySourceCode"] = "Empty source code. Obfuscation canceled..."; + LoggingMessage["ObfuscationCompleted"] = "Obfuscation completed. Total time: %s sec."; + LoggingMessage["ObfuscationStarted"] = "Obfuscation started..."; + LoggingMessage["RandomGeneratorSeed"] = "Random generator seed: %s..."; + LoggingMessage["CodeTransformationStage"] = "Code transformation stage: %s..."; + LoggingMessage["NodeTransformationStage"] = "AST transformation stage: %s..."; + LoggingMessage["Version"] = "Version: %s"; +})(LoggingMessage = exports.LoggingMessage || (exports.LoggingMessage = {})); + + +/***/ }), + +/***/ "./src/enums/logger/LoggingPrefix.ts": +/*!*******************************************!*\ + !*** ./src/enums/logger/LoggingPrefix.ts ***! + \*******************************************/ +/*! flagged exports */ +/*! export LoggingPrefix [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LoggingPrefix = void 0; +var LoggingPrefix; +(function (LoggingPrefix) { + LoggingPrefix["Base"] = "[javascript-obfuscator]"; + LoggingPrefix["CLI"] = "[javascript-obfuscator-cli]"; +})(LoggingPrefix = exports.LoggingPrefix || (exports.LoggingPrefix = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/NodeTransformationStage.ts": +/*!****************************************************************!*\ + !*** ./src/enums/node-transformers/NodeTransformationStage.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export NodeTransformationStage [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformationStage = void 0; +var NodeTransformationStage; +(function (NodeTransformationStage) { + NodeTransformationStage["ControlFlowFlattening"] = "ControlFlowFlattening"; + NodeTransformationStage["Converting"] = "Converting"; + NodeTransformationStage["DeadCodeInjection"] = "DeadCodeInjection"; + NodeTransformationStage["Finalizing"] = "Finalizing"; + NodeTransformationStage["Initializing"] = "Initializing"; + NodeTransformationStage["Preparing"] = "Preparing"; + NodeTransformationStage["RenameIdentifiers"] = "RenameIdentifiers"; + NodeTransformationStage["RenameProperties"] = "RenameProperties"; + NodeTransformationStage["Simplifying"] = "Simplifying"; + NodeTransformationStage["StringArray"] = "StringArray"; +})(NodeTransformationStage = exports.NodeTransformationStage || (exports.NodeTransformationStage = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/NodeTransformer.ts": +/*!********************************************************!*\ + !*** ./src/enums/node-transformers/NodeTransformer.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export NodeTransformer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformer = void 0; +var NodeTransformer; +(function (NodeTransformer) { + NodeTransformer["BooleanLiteralTransformer"] = "BooleanLiteralTransformer"; + NodeTransformer["BlockStatementControlFlowTransformer"] = "BlockStatementControlFlowTransformer"; + NodeTransformer["BlockStatementSimplifyTransformer"] = "BlockStatementSimplifyTransformer"; + NodeTransformer["CommentsTransformer"] = "CommentsTransformer"; + NodeTransformer["CustomCodeHelpersTransformer"] = "CustomCodeHelpersTransformer"; + NodeTransformer["DeadCodeInjectionTransformer"] = "DeadCodeInjectionTransformer"; + NodeTransformer["EscapeSequenceTransformer"] = "EscapeSequenceTransformer"; + NodeTransformer["EvalCallExpressionTransformer"] = "EvalCallExpressionTransformer"; + NodeTransformer["ExportSpecifierTransformer"] = "ExportSpecifierTransformer"; + NodeTransformer["ExpressionStatementsMergeTransformer"] = "ExpressionStatementsMergeTransformer"; + NodeTransformer["FunctionControlFlowTransformer"] = "FunctionControlFlowTransformer"; + NodeTransformer["IfStatementSimplifyTransformer"] = "IfStatementSimplifyTransformer"; + NodeTransformer["LabeledStatementTransformer"] = "LabeledStatementTransformer"; + NodeTransformer["MemberExpressionTransformer"] = "MemberExpressionTransformer"; + NodeTransformer["MetadataTransformer"] = "MetadataTransformer"; + NodeTransformer["MethodDefinitionTransformer"] = "MethodDefinitionTransformer"; + NodeTransformer["NumberLiteralTransformer"] = "NumberLiteralTransformer"; + NodeTransformer["NumberToNumericalExpressionTransformer"] = "NumberToNumericalExpressionTransformer"; + NodeTransformer["ObfuscatingGuardsTransformer"] = "ObfuscatingGuardsTransformer"; + NodeTransformer["ObjectExpressionKeysTransformer"] = "ObjectExpressionKeysTransformer"; + NodeTransformer["ObjectExpressionTransformer"] = "ObjectExpressionTransformer"; + NodeTransformer["ObjectPatternPropertiesTransformer"] = "ObjectPatternPropertiesTransformer"; + NodeTransformer["ParentificationTransformer"] = "ParentificationTransformer"; + NodeTransformer["RenamePropertiesTransformer"] = "RenamePropertiesTransformer"; + NodeTransformer["ScopeIdentifiersTransformer"] = "ScopeIdentifiersTransformer"; + NodeTransformer["ScopeThroughIdentifiersTransformer"] = "ScopeThroughIdentifiersTransformer"; + NodeTransformer["SplitStringTransformer"] = "SplitStringTransformer"; + NodeTransformer["StringArrayTransformer"] = "StringArrayTransformer"; + NodeTransformer["StringArrayScopeCallsWrapperTransformer"] = "StringArrayScopeCallsWrapperTransformer"; + NodeTransformer["TemplateLiteralTransformer"] = "TemplateLiteralTransformer"; + NodeTransformer["VariableDeclarationsMergeTransformer"] = "VariableDeclarationsMergeTransformer"; + NodeTransformer["VariablePreserveTransformer"] = "VariablePreserveTransformer"; +})(NodeTransformer = exports.NodeTransformer || (exports.NodeTransformer = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/VisitorDirection.ts": +/*!*********************************************************!*\ + !*** ./src/enums/node-transformers/VisitorDirection.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export VisitorDirection [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VisitorDirection = void 0; +var VisitorDirection; +(function (VisitorDirection) { + VisitorDirection["Enter"] = "enter"; + VisitorDirection["Leave"] = "leave"; +})(VisitorDirection = exports.VisitorDirection || (exports.VisitorDirection = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts ***! + \*************************************************************************************************************/ +/*! flagged exports */ +/*! export ControlFlowReplacer [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowReplacer = void 0; +var ControlFlowReplacer; +(function (ControlFlowReplacer) { + ControlFlowReplacer["BinaryExpressionControlFlowReplacer"] = "BinaryExpressionControlFlowReplacer"; + ControlFlowReplacer["CallExpressionControlFlowReplacer"] = "CallExpressionControlFlowReplacer"; + ControlFlowReplacer["LogicalExpressionControlFlowReplacer"] = "LogicalExpressionControlFlowReplacer"; + ControlFlowReplacer["StringLiteralControlFlowReplacer"] = "StringLiteralControlFlowReplacer"; +})(ControlFlowReplacer = exports.ControlFlowReplacer || (exports.ControlFlowReplacer = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts": +/*!****************************************************************************************************************!*\ + !*** ./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts ***! + \****************************************************************************************************************/ +/*! flagged exports */ +/*! export ObjectExpressionExtractor [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionExtractor = void 0; +var ObjectExpressionExtractor; +(function (ObjectExpressionExtractor) { + ObjectExpressionExtractor["BasePropertiesExtractor"] = "BasePropertiesExtractor"; + ObjectExpressionExtractor["ObjectExpressionToVariableDeclarationExtractor"] = "ObjectExpressionToVariableDeclarationExtractor"; +})(ObjectExpressionExtractor = exports.ObjectExpressionExtractor || (exports.ObjectExpressionExtractor = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts": +/*!***************************************************************************************************!*\ + !*** ./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts ***! + \***************************************************************************************************/ +/*! flagged exports */ +/*! export ObfuscatingGuard [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatingGuard = void 0; +var ObfuscatingGuard; +(function (ObfuscatingGuard) { + ObfuscatingGuard["BlackListObfuscatingGuard"] = "BlackListObfuscatingGuard"; + ObfuscatingGuard["ConditionalCommentObfuscatingGuard"] = "ConditionalCommentObfuscatingGuard"; + ObfuscatingGuard["ForceTransformStringObfuscatingGuard"] = "ForceTransformStringObfuscatingGuard"; + ObfuscatingGuard["IgnoredRequireImportObfuscatingGuard"] = "IgnoredRequireImportObfuscatingGuard"; + ObfuscatingGuard["ReservedStringObfuscatingGuard"] = "ReservedStringObfuscatingGuard"; +})(ObfuscatingGuard = exports.ObfuscatingGuard || (exports.ObfuscatingGuard = {})); + + +/***/ }), + +/***/ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts": +/*!**************************************************************************************!*\ + !*** ./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts ***! + \**************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayEncoding [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayEncoding = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.StringArrayEncoding = Utils_1.Utils.makeEnum({ + None: 'none', + Base64: 'base64', + Rc4: 'rc4' +}); + + +/***/ }), + +/***/ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts": +/*!*****************************************************************************************!*\ + !*** ./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts ***! + \*****************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayIndexesType [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayIndexesType = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.StringArrayIndexesType = Utils_1.Utils.makeEnum({ + HexadecimalNumber: 'hexadecimal-number', + HexadecimalNumericString: 'hexadecimal-numeric-string' +}); + + +/***/ }), + +/***/ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts": +/*!******************************************************************************************!*\ + !*** ./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts ***! + \******************************************************************************************/ +/*! flagged exports */ +/*! export StringArrayWrappersType [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayWrappersType = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.StringArrayWrappersType = Utils_1.Utils.makeEnum({ + Variable: 'variable', + Function: 'function', +}); + + +/***/ }), + +/***/ "./src/enums/node/NodeType.ts": +/*!************************************!*\ + !*** ./src/enums/node/NodeType.ts ***! + \************************************/ +/*! flagged exports */ +/*! export NodeType [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeType = void 0; +var NodeType; +(function (NodeType) { + NodeType["ArrayExpression"] = "ArrayExpression"; + NodeType["ArrayPattern"] = "ArrayPattern"; + NodeType["ArrowFunctionExpression"] = "ArrowFunctionExpression"; + NodeType["AssignmentExpression"] = "AssignmentExpression"; + NodeType["AssignmentPattern"] = "AssignmentPattern"; + NodeType["AwaitExpression"] = "AwaitExpression"; + NodeType["BinaryExpression"] = "BinaryExpression"; + NodeType["BlockStatement"] = "BlockStatement"; + NodeType["BreakStatement"] = "BreakStatement"; + NodeType["CallExpression"] = "CallExpression"; + NodeType["CatchClause"] = "CatchClause"; + NodeType["ChainExpression"] = "ChainExpression"; + NodeType["ClassDeclaration"] = "ClassDeclaration"; + NodeType["ConditionalExpression"] = "ConditionalExpression"; + NodeType["ContinueStatement"] = "ContinueStatement"; + NodeType["ExportAllDeclaration"] = "ExportAllDeclaration"; + NodeType["ExportNamedDeclaration"] = "ExportNamedDeclaration"; + NodeType["ExportSpecifier"] = "ExportSpecifier"; + NodeType["ExpressionStatement"] = "ExpressionStatement"; + NodeType["ForStatement"] = "ForStatement"; + NodeType["ForInStatement"] = "ForInStatement"; + NodeType["ForOfStatement"] = "ForOfStatement"; + NodeType["FunctionDeclaration"] = "FunctionDeclaration"; + NodeType["FunctionExpression"] = "FunctionExpression"; + NodeType["Identifier"] = "Identifier"; + NodeType["IfStatement"] = "IfStatement"; + NodeType["ImportDeclaration"] = "ImportDeclaration"; + NodeType["ImportDefaultSpecifier"] = "ImportDefaultSpecifier"; + NodeType["ImportNamespaceSpecifier"] = "ImportNamespaceSpecifier"; + NodeType["ImportSpecifier"] = "ImportSpecifier"; + NodeType["LabeledStatement"] = "LabeledStatement"; + NodeType["Literal"] = "Literal"; + NodeType["LogicalExpression"] = "LogicalExpression"; + NodeType["MemberExpression"] = "MemberExpression"; + NodeType["MethodDefinition"] = "MethodDefinition"; + NodeType["ObjectExpression"] = "ObjectExpression"; + NodeType["ObjectPattern"] = "ObjectPattern"; + NodeType["Program"] = "Program"; + NodeType["Property"] = "Property"; + NodeType["RestElement"] = "RestElement"; + NodeType["ReturnStatement"] = "ReturnStatement"; + NodeType["SequenceExpression"] = "SequenceExpression"; + NodeType["SpreadElement"] = "SpreadElement"; + NodeType["Super"] = "Super"; + NodeType["SwitchCase"] = "SwitchCase"; + NodeType["SwitchStatement"] = "SwitchStatement"; + NodeType["TaggedTemplateExpression"] = "TaggedTemplateExpression"; + NodeType["TemplateElement"] = "TemplateElement"; + NodeType["TemplateLiteral"] = "TemplateLiteral"; + NodeType["ThrowStatement"] = "ThrowStatement"; + NodeType["TryStatement"] = "TryStatement"; + NodeType["UnaryExpression"] = "UnaryExpression"; + NodeType["UpdateExpression"] = "UpdateExpression"; + NodeType["VariableDeclaration"] = "VariableDeclaration"; + NodeType["VariableDeclarator"] = "VariableDeclarator"; + NodeType["WhileStatement"] = "WhileStatement"; + NodeType["YieldExpression"] = "YieldExpression"; +})(NodeType = exports.NodeType || (exports.NodeType = {})); + + +/***/ }), + +/***/ "./src/enums/node/ObfuscatingGuardResult.ts": +/*!**************************************************!*\ + !*** ./src/enums/node/ObfuscatingGuardResult.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export ObfuscatingGuardResult [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatingGuardResult = void 0; +var ObfuscatingGuardResult; +(function (ObfuscatingGuardResult) { + ObfuscatingGuardResult["ForceTransform"] = "ForceTransform"; + ObfuscatingGuardResult["Ignore"] = "Ignore"; + ObfuscatingGuardResult["Transform"] = "Transform"; +})(ObfuscatingGuardResult = exports.ObfuscatingGuardResult || (exports.ObfuscatingGuardResult = {})); + + +/***/ }), + +/***/ "./src/enums/options/presets/OptionsPreset.ts": +/*!****************************************************!*\ + !*** ./src/enums/options/presets/OptionsPreset.ts ***! + \****************************************************/ +/*! flagged exports */ +/*! export OptionsPreset [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OptionsPreset = void 0; +const Utils_1 = __webpack_require__(/*! ../../../utils/Utils */ "./src/utils/Utils.ts"); +exports.OptionsPreset = Utils_1.Utils.makeEnum({ + Default: 'default', + LowObfuscation: 'low-obfuscation', + MediumObfuscation: 'medium-obfuscation', + HighObfuscation: 'high-obfuscation' +}); + + +/***/ }), + +/***/ "./src/enums/source-map/SourceMapMode.ts": +/*!***********************************************!*\ + !*** ./src/enums/source-map/SourceMapMode.ts ***! + \***********************************************/ +/*! flagged exports */ +/*! export SourceMapMode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceMapMode = void 0; +const Utils_1 = __webpack_require__(/*! ../../utils/Utils */ "./src/utils/Utils.ts"); +exports.SourceMapMode = Utils_1.Utils.makeEnum({ + Inline: 'inline', + Separate: 'separate' +}); + + +/***/ }), + +/***/ "./src/event-emitters/ObfuscationEventEmitter.ts": +/*!*******************************************************!*\ + !*** ./src/event-emitters/ObfuscationEventEmitter.ts ***! + \*******************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscationEventEmitter = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const eventemitter3_1 = __importDefault(__webpack_require__(/*! eventemitter3 */ "eventemitter3")); +inversify_1.decorate(inversify_1.injectable(), eventemitter3_1.default); +let ObfuscationEventEmitter = class ObfuscationEventEmitter extends eventemitter3_1.default { +}; +ObfuscationEventEmitter = __decorate([ + inversify_1.injectable() +], ObfuscationEventEmitter); +exports.ObfuscationEventEmitter = ObfuscationEventEmitter; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts": +/*!****************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts ***! + \****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let AbstractIdentifierNamesGenerator = class AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options) { + this.preservedNamesSet = new Set(); + this.lexicalScopesPreservedNamesMap = new Map(); + this.randomGenerator = randomGenerator; + this.options = options; + } + generate(lexicalScopeNode, nameLength) { + return NodeGuards_1.NodeGuards.isProgramNode(lexicalScopeNode) + ? this.generateForGlobalScope() + : this.generateForLexicalScope(lexicalScopeNode); + } + preserveName(name) { + this.preservedNamesSet.add(name); + } + preserveNameForLexicalScope(name, lexicalScopeNode) { + var _a; + const preservedNamesForLexicalScopeSet = (_a = this.lexicalScopesPreservedNamesMap.get(lexicalScopeNode)) !== null && _a !== void 0 ? _a : new Set(); + preservedNamesForLexicalScopeSet.add(name); + this.lexicalScopesPreservedNamesMap.set(lexicalScopeNode, preservedNamesForLexicalScopeSet); + } + isValidIdentifierName(name) { + return this.notReservedName(name) && !this.preservedNamesSet.has(name); + } + isValidIdentifierNameInLexicalScopes(name, lexicalScopeNodes) { + var _a; + if (!this.isValidIdentifierName(name)) { + return false; + } + for (const lexicalScope of lexicalScopeNodes) { + const preservedNamesForLexicalScopeSet = (_a = this.lexicalScopesPreservedNamesMap.get(lexicalScope)) !== null && _a !== void 0 ? _a : null; + if (!preservedNamesForLexicalScopeSet) { + continue; + } + if (preservedNamesForLexicalScopeSet.has(name)) { + return false; + } + } + return true; + } + notReservedName(name) { + return this.options.reservedNames.length + ? !this.options.reservedNames.some((reservedName) => new RegExp(reservedName, 'g').exec(name) !== null) + : true; + } +}; +AbstractIdentifierNamesGenerator = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractIdentifierNamesGenerator); +exports.AbstractIdentifierNamesGenerator = AbstractIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/DictionaryIdentifierNamesGenerator.ts": +/*!******************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/DictionaryIdentifierNamesGenerator.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var DictionaryIdentifierNamesGenerator_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DictionaryIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractIdentifierNamesGenerator_1 = __webpack_require__(/*! ./AbstractIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let DictionaryIdentifierNamesGenerator = DictionaryIdentifierNamesGenerator_1 = class DictionaryIdentifierNamesGenerator extends AbstractIdentifierNamesGenerator_1.AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options, arrayUtils) { + super(randomGenerator, options); + this.arrayUtils = arrayUtils; + this.identifierNamesSet = new Set(this.getInitialIdentifierNames(this.options.identifiersDictionary)); + this.identifiersIterator = this.identifierNamesSet.values(); + } + static incrementIdentifierName(identifierName) { + let newIdentifierName = ''; + let isSuccess = false; + for (const character of identifierName) { + if (!isSuccess && character === character.toUpperCase()) { + newIdentifierName += character.toLowerCase(); + } + else if (!isSuccess && character === character.toLowerCase()) { + newIdentifierName += character.toUpperCase(); + isSuccess = true; + } + else { + newIdentifierName += character; + } + } + if (isSuccess) { + return newIdentifierName; + } + return null; + } + generateNext() { + const identifierName = this.generateNewDictionaryName(); + this.preserveName(identifierName); + return identifierName; + } + generateForGlobalScope() { + const prefix = this.options.identifiersPrefix ? + `${this.options.identifiersPrefix}` + : ''; + const identifierName = this.generateNewDictionaryName(); + const identifierNameWithPrefix = `${prefix}${identifierName}`; + if (!this.isValidIdentifierName(identifierNameWithPrefix)) { + return this.generateForGlobalScope(); + } + this.preserveName(identifierNameWithPrefix); + return identifierNameWithPrefix; + } + generateForLexicalScope(lexicalScopeNode) { + const lexicalScopes = [ + lexicalScopeNode, + ...NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScopes(lexicalScopeNode) + ]; + const identifierName = this.generateNewDictionaryName(); + if (!this.isValidIdentifierNameInLexicalScopes(identifierName, lexicalScopes)) { + return this.generateForLexicalScope(lexicalScopeNode); + } + this.preserveNameForLexicalScope(identifierName, lexicalScopeNode); + return identifierName; + } + generateNewDictionaryName() { + if (!this.identifierNamesSet.size) { + throw new Error('Too many identifiers in the code, add more words to identifiers dictionary'); + } + const iteratorResult = this.identifiersIterator.next(); + if (!iteratorResult.done) { + const identifierName = iteratorResult.value; + if (!this.isValidIdentifierName(identifierName)) { + return this.generateNewDictionaryName(); + } + return iteratorResult.value; + } + this.identifierNamesSet = new Set(this.getIncrementedIdentifierNames([...this.identifierNamesSet])); + this.identifiersIterator = this.identifierNamesSet.values(); + return this.generateNewDictionaryName(); + } + getInitialIdentifierNames(identifierNames) { + const formattedIdentifierNames = identifierNames + .filter(Boolean) + .map((identifierName) => identifierName.toLowerCase()); + return this.arrayUtils.shuffle(formattedIdentifierNames); + } + getIncrementedIdentifierNames(identifierNames) { + const formattedIdentifierNames = []; + for (const identifierName of identifierNames) { + const newIdentifierName = DictionaryIdentifierNamesGenerator_1 + .incrementIdentifierName(identifierName); + if (newIdentifierName) { + formattedIdentifierNames.push(newIdentifierName); + } + } + return this.arrayUtils.shuffle(formattedIdentifierNames); + } +}; +DictionaryIdentifierNamesGenerator = DictionaryIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _c : Object]) +], DictionaryIdentifierNamesGenerator); +exports.DictionaryIdentifierNamesGenerator = DictionaryIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.ts": +/*!*******************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/HexadecimalIdentifierNamesGenerator.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var HexadecimalIdentifierNamesGenerator_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HexadecimalIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const AbstractIdentifierNamesGenerator_1 = __webpack_require__(/*! ./AbstractIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +const Utils_1 = __webpack_require__(/*! ../../utils/Utils */ "./src/utils/Utils.ts"); +let HexadecimalIdentifierNamesGenerator = HexadecimalIdentifierNamesGenerator_1 = class HexadecimalIdentifierNamesGenerator extends AbstractIdentifierNamesGenerator_1.AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + generateNext(nameLength) { + const rangeMinInteger = 10000; + const rangeMaxInteger = 99999999; + const randomInteger = this.randomGenerator.getRandomInteger(rangeMinInteger, rangeMaxInteger); + const hexadecimalNumber = NumberUtils_1.NumberUtils.toHex(randomInteger); + const prefixLength = Utils_1.Utils.hexadecimalPrefix.length; + const baseNameLength = (nameLength !== null && nameLength !== void 0 ? nameLength : HexadecimalIdentifierNamesGenerator_1.baseIdentifierNameLength) + + prefixLength; + const baseIdentifierName = hexadecimalNumber.slice(0, baseNameLength); + const identifierName = `_${baseIdentifierName}`; + if (!this.isValidIdentifierName(identifierName)) { + return this.generateNext(nameLength); + } + this.preserveName(identifierName); + return identifierName; + } + generateForGlobalScope(nameLength) { + const identifierName = this.generateNext(nameLength); + return `${this.options.identifiersPrefix}${identifierName}`.replace('__', '_'); + } + generateForLexicalScope(lexicalScopeNode, nameLength) { + return this.generateNext(nameLength); + } +}; +HexadecimalIdentifierNamesGenerator.baseIdentifierNameLength = 6; +HexadecimalIdentifierNamesGenerator = HexadecimalIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], HexadecimalIdentifierNamesGenerator); +exports.HexadecimalIdentifierNamesGenerator = HexadecimalIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts": +/*!***************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var MangledIdentifierNamesGenerator_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MangledIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NumbersString_1 = __webpack_require__(/*! ../../constants/NumbersString */ "./src/constants/NumbersString.ts"); +const AlphabetString_1 = __webpack_require__(/*! ../../constants/AlphabetString */ "./src/constants/AlphabetString.ts"); +const AlphabetStringUppercase_1 = __webpack_require__(/*! ../../constants/AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const AbstractIdentifierNamesGenerator_1 = __webpack_require__(/*! ./AbstractIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let MangledIdentifierNamesGenerator = MangledIdentifierNamesGenerator_1 = class MangledIdentifierNamesGenerator extends AbstractIdentifierNamesGenerator_1.AbstractIdentifierNamesGenerator { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.previousMangledName = MangledIdentifierNamesGenerator_1.initMangledNameCharacter; + } + generateNext(nameLength) { + const identifierName = this.generateNewMangledName(this.previousMangledName); + this.updatePreviousMangledName(identifierName); + this.preserveName(identifierName); + return identifierName; + } + generateForGlobalScope(nameLength) { + const prefix = this.options.identifiersPrefix ? + `${this.options.identifiersPrefix}` + : ''; + const identifierName = this.generateNewMangledName(this.previousMangledName); + const identifierNameWithPrefix = `${prefix}${identifierName}`; + this.updatePreviousMangledName(identifierName); + if (!this.isValidIdentifierName(identifierNameWithPrefix)) { + return this.generateForGlobalScope(nameLength); + } + this.preserveName(identifierNameWithPrefix); + return identifierNameWithPrefix; + } + generateForLexicalScope(lexicalScopeNode, nameLength) { + const lexicalScopes = [ + lexicalScopeNode, + ...NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScopes(lexicalScopeNode) + ]; + const lastMangledNameForScope = this.getLastMangledNameForScopes(lexicalScopes); + let identifierName = lastMangledNameForScope; + do { + identifierName = this.generateNewMangledName(identifierName); + } while (!this.isValidIdentifierNameInLexicalScopes(identifierName, lexicalScopes)); + MangledIdentifierNamesGenerator_1.lastMangledNameInScopeMap.set(lexicalScopeNode, identifierName); + this.updatePreviousMangledName(identifierName); + this.preserveNameForLexicalScope(identifierName, lexicalScopeNode); + return identifierName; + } + isIncrementedMangledName(nextName, prevName) { + if (nextName === prevName) { + return false; + } + const nextNameLength = nextName.length; + const prevNameLength = prevName.length; + if (nextNameLength !== prevNameLength) { + return nextNameLength > prevNameLength; + } + const nameSequence = this.getNameSequence(); + for (let i = 0; i < nextNameLength; i++) { + const nextNameCharacter = nextName[i]; + const prevNameCharacter = prevName[i]; + if (nextNameCharacter === prevNameCharacter) { + continue; + } + const indexOfNextNameCharacter = nameSequence.indexOf(nextNameCharacter); + const indexOfPrevNameCharacter = nameSequence.indexOf(prevNameCharacter); + return indexOfNextNameCharacter > indexOfPrevNameCharacter; + } + throw new Error('Something goes wrong during comparison of mangled names'); + } + isValidIdentifierName(mangledName) { + return super.isValidIdentifierName(mangledName) + && !MangledIdentifierNamesGenerator_1.reservedNamesSet.has(mangledName); + } + getNameSequence() { + return MangledIdentifierNamesGenerator_1.nameSequence; + } + updatePreviousMangledName(name) { + if (!this.isIncrementedMangledName(name, this.previousMangledName)) { + return; + } + this.previousMangledName = name; + } + generateNewMangledName(previousMangledName) { + const generateNewMangledName = (name) => { + const nameSequence = this.getNameSequence(); + const nameSequenceLength = nameSequence.length; + const nameLength = name.length; + const zeroSequence = (num) => { + return '0'.repeat(num); + }; + let index = nameLength - 1; + do { + const character = name[index]; + const indexInSequence = nameSequence.indexOf(character); + const lastNameSequenceIndex = nameSequenceLength - 1; + if (indexInSequence !== lastNameSequenceIndex) { + const previousNamePart = name.slice(0, index); + const nextCharacter = nameSequence[indexInSequence + 1]; + const zeroSequenceLength = nameLength - (index + 1); + const zeroSequenceCharacters = zeroSequence(zeroSequenceLength); + return previousNamePart + nextCharacter + zeroSequenceCharacters; + } + --index; + } while (index >= 0); + const firstLetterCharacter = nameSequence[NumbersString_1.numbersString.length]; + return `${firstLetterCharacter}${zeroSequence(nameLength)}`; + }; + let newMangledName = generateNewMangledName(previousMangledName); + if (!this.isValidIdentifierName(newMangledName)) { + newMangledName = this.generateNewMangledName(newMangledName); + } + return newMangledName; + } + getLastMangledNameForScopes(lexicalScopeNodes) { + var _a; + for (const lexicalScope of lexicalScopeNodes) { + const lastMangledName = (_a = MangledIdentifierNamesGenerator_1.lastMangledNameInScopeMap + .get(lexicalScope)) !== null && _a !== void 0 ? _a : null; + if (!lastMangledName) { + continue; + } + return lastMangledName; + } + return MangledIdentifierNamesGenerator_1.initMangledNameCharacter; + } +}; +MangledIdentifierNamesGenerator.initMangledNameCharacter = '9'; +MangledIdentifierNamesGenerator.lastMangledNameInScopeMap = new WeakMap(); +MangledIdentifierNamesGenerator.nameSequence = [ + ...`${NumbersString_1.numbersString}${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}` +]; +MangledIdentifierNamesGenerator.reservedNamesSet = new Set([ + 'byte', 'case', 'char', 'do', 'else', 'enum', 'eval', 'for', 'goto', + 'if', 'in', 'int', 'let', 'long', 'new', 'null', 'this', 'true', 'try', + 'var', 'void', 'with' +]); +MangledIdentifierNamesGenerator = MangledIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MangledIdentifierNamesGenerator); +exports.MangledIdentifierNamesGenerator = MangledIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator.ts": +/*!***********************************************************************************************!*\ + !*** ./src/generators/identifier-names-generators/MangledShuffledIdentifierNamesGenerator.ts ***! + \***********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var MangledShuffledIdentifierNamesGenerator_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MangledShuffledIdentifierNamesGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NumbersString_1 = __webpack_require__(/*! ../../constants/NumbersString */ "./src/constants/NumbersString.ts"); +const AlphabetString_1 = __webpack_require__(/*! ../../constants/AlphabetString */ "./src/constants/AlphabetString.ts"); +const AlphabetStringUppercase_1 = __webpack_require__(/*! ../../constants/AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +const MangledIdentifierNamesGenerator_1 = __webpack_require__(/*! ./MangledIdentifierNamesGenerator */ "./src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts"); +let MangledShuffledIdentifierNamesGenerator = MangledShuffledIdentifierNamesGenerator_1 = class MangledShuffledIdentifierNamesGenerator extends MangledIdentifierNamesGenerator_1.MangledIdentifierNamesGenerator { + constructor(arrayUtils, randomGenerator, options) { + super(randomGenerator, options); + this.arrayUtils = arrayUtils; + } + initialize() { + this.initializeNameSequence([ + ...`${NumbersString_1.numbersString}`, + ...this.arrayUtils.shuffle([...`${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}`]) + ]); + } + initializeNameSequence(nameSequence) { + if (!this.getNameSequence()) { + MangledShuffledIdentifierNamesGenerator_1.shuffledNameSequence = nameSequence; + } + } + getNameSequence() { + return MangledShuffledIdentifierNamesGenerator_1.shuffledNameSequence; + } + generateNewMangledName(previousMangledName) { + return super.generateNewMangledName(previousMangledName); + } +}; +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], MangledShuffledIdentifierNamesGenerator.prototype, "initialize", null); +MangledShuffledIdentifierNamesGenerator = MangledShuffledIdentifierNamesGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], MangledShuffledIdentifierNamesGenerator); +exports.MangledShuffledIdentifierNamesGenerator = MangledShuffledIdentifierNamesGenerator; + + +/***/ }), + +/***/ "./src/interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer.ts": +/*!******************************************************************************!*\ + !*** ./src/interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer.ts ***! + \******************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts ***! + \*********************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer.ts": +/*!*************************************************************************************************************!*\ + !*** ./src/interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer.ts ***! + \*************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/scope-analyzer/IScopeAnalyzer.ts": +/*!*******************************************************************!*\ + !*** ./src/interfaces/analyzers/scope-analyzer/IScopeAnalyzer.ts ***! + \*******************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer.ts": +/*!***********************************************************************************************!*\ + !*** ./src/interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer.ts ***! + \***********************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/code-transformers/ICodeTransformersRunner.ts": +/*!*********************************************************************!*\ + !*** ./src/interfaces/code-transformers/ICodeTransformersRunner.ts ***! + \*********************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts": +/*!**************************************************************************!*\ + !*** ./src/interfaces/custom-code-helpers/ICustomCodeHelperFormatter.ts ***! + \**************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts": +/*!***************************************************************************!*\ + !*** ./src/interfaces/custom-code-helpers/ICustomCodeHelperObfuscator.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/event-emitters/IObfuscationEventEmitter.ts": +/*!*******************************************************************!*\ + !*** ./src/interfaces/event-emitters/IObfuscationEventEmitter.ts ***! + \*******************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/logger/ILogger.ts": +/*!******************************************!*\ + !*** ./src/interfaces/logger/ILogger.ts ***! + \******************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node-transformers/INodeTransformersRunner.ts": +/*!*********************************************************************!*\ + !*** ./src/interfaces/node-transformers/INodeTransformersRunner.ts ***! + \*********************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts": +/*!**********************************************************************************************************!*\ + !*** ./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts ***! + \**********************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer.ts ***! + \***************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/node/IScopeIdentifiersTraverser.ts": +/*!***********************************************************!*\ + !*** ./src/interfaces/node/IScopeIdentifiersTraverser.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/options/IOptions.ts": +/*!********************************************!*\ + !*** ./src/interfaces/options/IOptions.ts ***! + \********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/options/IOptionsNormalizer.ts": +/*!******************************************************!*\ + !*** ./src/interfaces/options/IOptionsNormalizer.ts ***! + \******************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/source-code/ISourceCode.ts": +/*!***************************************************!*\ + !*** ./src/interfaces/source-code/ISourceCode.ts ***! + \***************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage.ts": +/*!****************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage.ts ***! + \****************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts": +/*!*******************************************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts ***! + \*******************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts": +/*!************************************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts ***! + \************************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts": +/*!**********************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts": +/*!****************************************************************************************************!*\ + !*** ./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts ***! + \****************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/IArrayUtils.ts": +/*!*********************************************!*\ + !*** ./src/interfaces/utils/IArrayUtils.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ICryptUtils.ts": +/*!*********************************************!*\ + !*** ./src/interfaces/utils/ICryptUtils.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ICryptUtilsSwappedAlphabet.ts": +/*!************************************************************!*\ + !*** ./src/interfaces/utils/ICryptUtilsSwappedAlphabet.ts ***! + \************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/IEscapeSequenceEncoder.ts": +/*!********************************************************!*\ + !*** ./src/interfaces/utils/IEscapeSequenceEncoder.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ILevelledTopologicalSorter.ts": +/*!************************************************************!*\ + !*** ./src/interfaces/utils/ILevelledTopologicalSorter.ts ***! + \************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/IRandomGenerator.ts": +/*!**************************************************!*\ + !*** ./src/interfaces/utils/IRandomGenerator.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts": +/*!****************************************************************!*\ + !*** ./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts ***! + \****************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/logger/Logger.ts": +/*!******************************!*\ + !*** ./src/logger/Logger.ts ***! + \******************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var Logger_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Logger = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const chalk_1 = __importDefault(__webpack_require__(/*! chalk */ "chalk")); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const LoggingPrefix_1 = __webpack_require__(/*! ../enums/logger/LoggingPrefix */ "./src/enums/logger/LoggingPrefix.ts"); +let Logger = Logger_1 = class Logger { + constructor(options) { + this.options = options; + } + static log(loggingLevelColor, loggingPrefix, loggingMessage, value) { + const processedMessage = loggingLevelColor(`\n${loggingPrefix} ${loggingMessage}`); + console.log(processedMessage, value !== null && value !== void 0 ? value : ''); + } + info(loggingMessage, value) { + if (!this.options.log) { + return; + } + Logger_1.log(Logger_1.colorInfo, LoggingPrefix_1.LoggingPrefix.Base, loggingMessage, value); + } + success(loggingMessage, value) { + if (!this.options.log) { + return; + } + Logger_1.log(Logger_1.colorSuccess, LoggingPrefix_1.LoggingPrefix.Base, loggingMessage, value); + } + warn(loggingMessage, value) { + if (!this.options.log) { + return; + } + Logger_1.log(Logger_1.colorWarn, LoggingPrefix_1.LoggingPrefix.Base, loggingMessage, value); + } +}; +Logger.colorInfo = chalk_1.default.cyan; +Logger.colorSuccess = chalk_1.default.green; +Logger.colorWarn = chalk_1.default.yellow; +Logger = Logger_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], Logger); +exports.Logger = Logger; + + +/***/ }), + +/***/ "./src/node-transformers/AbstractNodeTransformer.ts": +/*!**********************************************************!*\ + !*** ./src/node-transformers/AbstractNodeTransformer.ts ***! + \**********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractNodeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractNodeTransformer = class AbstractNodeTransformer { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } +}; +AbstractNodeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractNodeTransformer); +exports.AbstractNodeTransformer = AbstractNodeTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/NodeTransformerNamesGroupsBuilder.ts": +/*!********************************************************************!*\ + !*** ./src/node-transformers/NodeTransformerNamesGroupsBuilder.ts ***! + \********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformerNamesGroupsBuilder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const AbstractTransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../utils/AbstractTransformerNamesGroupsBuilder */ "./src/utils/AbstractTransformerNamesGroupsBuilder.ts"); +let NodeTransformerNamesGroupsBuilder = class NodeTransformerNamesGroupsBuilder extends AbstractTransformerNamesGroupsBuilder_1.AbstractTransformerNamesGroupsBuilder { +}; +NodeTransformerNamesGroupsBuilder = __decorate([ + inversify_1.injectable() +], NodeTransformerNamesGroupsBuilder); +exports.NodeTransformerNamesGroupsBuilder = NodeTransformerNamesGroupsBuilder; + + +/***/ }), + +/***/ "./src/node-transformers/NodeTransformersRunner.ts": +/*!*********************************************************!*\ + !*** ./src/node-transformers/NodeTransformersRunner.ts ***! + \*********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeTransformersRunner = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TNodeTransformerFactory_1 = __webpack_require__(/*! ../types/container/node-transformers/TNodeTransformerFactory */ "./src/types/container/node-transformers/TNodeTransformerFactory.ts"); +const ITransformerNamesGroupsBuilder_1 = __webpack_require__(/*! ../interfaces/utils/ITransformerNamesGroupsBuilder */ "./src/interfaces/utils/ITransformerNamesGroupsBuilder.ts"); +const VisitorDirection_1 = __webpack_require__(/*! ../enums/node-transformers/VisitorDirection */ "./src/enums/node-transformers/VisitorDirection.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let NodeTransformersRunner = class NodeTransformersRunner { + constructor(nodeTransformerFactory, nodeTransformerNamesGroupsBuilder) { + this.nodeTransformerFactory = nodeTransformerFactory; + this.nodeTransformerNamesGroupsBuilder = nodeTransformerNamesGroupsBuilder; + } + transform(astTree, nodeTransformerNames, nodeTransformationStage) { + if (!nodeTransformerNames.length) { + return astTree; + } + const normalizedNodeTransformers = this.buildNormalizedNodeTransformers(nodeTransformerNames, nodeTransformationStage); + const nodeTransformerNamesGroups = this.nodeTransformerNamesGroupsBuilder.build(normalizedNodeTransformers); + for (const nodeTransformerNamesGroup of nodeTransformerNamesGroups) { + const enterVisitors = []; + const leaveVisitors = []; + for (const nodeTransformerName of nodeTransformerNamesGroup) { + const nodeTransformer = normalizedNodeTransformers[nodeTransformerName]; + const visitor = nodeTransformer.getVisitor(nodeTransformationStage); + if (!visitor) { + continue; + } + if (visitor.enter) { + enterVisitors.push({ enter: visitor.enter }); + } + if (visitor.leave) { + leaveVisitors.push({ leave: visitor.leave }); + } + } + if (!enterVisitors.length && !leaveVisitors.length) { + continue; + } + estraverse.replace(astTree, { + enter: this.mergeVisitorsForDirection(enterVisitors, VisitorDirection_1.VisitorDirection.Enter), + leave: this.mergeVisitorsForDirection(leaveVisitors, VisitorDirection_1.VisitorDirection.Leave) + }); + } + return astTree; + } + buildNormalizedNodeTransformers(nodeTransformerNames, nodeTransformationStage) { + return nodeTransformerNames + .reduce((acc, nodeTransformerName) => { + const nodeTransformer = this.nodeTransformerFactory(nodeTransformerName); + if (!nodeTransformer.getVisitor(nodeTransformationStage)) { + return acc; + } + return Object.assign(Object.assign({}, acc), { [nodeTransformerName]: nodeTransformer }); + }, {}); + } + mergeVisitorsForDirection(visitors, direction) { + const visitorsLength = visitors.length; + if (!visitorsLength) { + return (node, parentNode) => node; + } + return (node, parentNode) => { + if (NodeMetadata_1.NodeMetadata.isIgnoredNode(node)) { + return estraverse.VisitorOption.Skip; + } + for (let i = 0; i < visitorsLength; i++) { + const visitorFunction = visitors[i][direction]; + if (!visitorFunction) { + continue; + } + const visitorResult = visitorFunction(node, parentNode); + if (!visitorResult || !NodeGuards_1.NodeGuards.isNode(visitorResult)) { + continue; + } + node = visitorResult; + } + return node; + }; + } +}; +NodeTransformersRunner = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeTransformer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformerNamesGroupsBuilder)), + __metadata("design:paramtypes", [typeof (_a = typeof TNodeTransformerFactory_1.TNodeTransformerFactory !== "undefined" && TNodeTransformerFactory_1.TNodeTransformerFactory) === "function" ? _a : Object, typeof (_b = typeof ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder !== "undefined" && ITransformerNamesGroupsBuilder_1.ITransformerNamesGroupsBuilder) === "function" ? _b : Object]) +], NodeTransformersRunner); +exports.NodeTransformersRunner = NodeTransformersRunner; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts": +/*!*************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/BlockStatementControlFlowTransformer.ts ***! + \*************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var BlockStatementControlFlowTransformer_1, _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementControlFlowTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementControlFlowTransformer = BlockStatementControlFlowTransformer_1 = class BlockStatementControlFlowTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(controlFlowCustomNodeFactory, arrayUtils, randomGenerator, options) { + super(randomGenerator, options); + this.controlFlowCustomNodeFactory = controlFlowCustomNodeFactory; + this.arrayUtils = arrayUtils; + } + static isProhibitedStatementNode(node) { + const isBreakOrContinueStatement = NodeGuards_1.NodeGuards.isBreakStatementNode(node) + || NodeGuards_1.NodeGuards.isContinueStatementNode(node); + const isVariableDeclarationWithLetOrConstKind = NodeGuards_1.NodeGuards.isVariableDeclarationNode(node) + && (node.kind === 'const' || node.kind === 'let'); + const isClassDeclaration = NodeGuards_1.NodeGuards.isClassDeclarationNode(node); + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) + || isBreakOrContinueStatement + || isVariableDeclarationWithLetOrConstKind + || isClassDeclaration; + } + static canTransformBlockStatementNode(blockStatementNode) { + let canTransform = true; + estraverse.traverse(blockStatementNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isWhileStatementNode(node)) { + return estraverse.VisitorOption.Skip; + } + if (BlockStatementControlFlowTransformer_1.isProhibitedStatementNode(node)) { + canTransform = false; + } + } + }); + if (blockStatementNode.body.length <= 4) { + canTransform = false; + } + return canTransform; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.ControlFlowFlattening: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(blockStatementNode, parentNode) { + if (this.randomGenerator.getMathRandom() > this.options.controlFlowFlatteningThreshold || + !BlockStatementControlFlowTransformer_1.canTransformBlockStatementNode(blockStatementNode)) { + return blockStatementNode; + } + const blockStatementBody = blockStatementNode.body; + const originalKeys = this.arrayUtils.createWithRange(blockStatementBody.length); + const shuffledKeys = this.arrayUtils.shuffle(originalKeys); + const originalKeysIndexesInShuffledArray = originalKeys.map((key) => shuffledKeys.indexOf(key)); + const blockStatementControlFlowFlatteningCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.BlockStatementControlFlowFlatteningNode); + blockStatementControlFlowFlatteningCustomNode.initialize(blockStatementBody, shuffledKeys, originalKeysIndexesInShuffledArray); + const newBlockStatementNode = blockStatementControlFlowFlatteningCustomNode.getNode()[0]; + NodeUtils_1.NodeUtils.parentizeNode(newBlockStatementNode, parentNode); + return newBlockStatementNode; + } +}; +BlockStatementControlFlowTransformer = BlockStatementControlFlowTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], BlockStatementControlFlowTransformer); +exports.BlockStatementControlFlowTransformer = BlockStatementControlFlowTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts": +/*!*******************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/FunctionControlFlowTransformer.ts ***! + \*******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var FunctionControlFlowTransformer_1, _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FunctionControlFlowTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const TControlFlowReplacerFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TControlFlowReplacerFactory */ "./src/types/container/node-transformers/TControlFlowReplacerFactory.ts"); +const TControlFlowStorageFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TControlFlowStorageFactory */ "./src/types/container/node-transformers/TControlFlowStorageFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const ControlFlowReplacer_1 = __webpack_require__(/*! ../../enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer */ "./src/enums/node-transformers/control-flow-transformers/control-flow-replacers/ControlFlowReplacer.ts"); +const NodeType_1 = __webpack_require__(/*! ../../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let FunctionControlFlowTransformer = FunctionControlFlowTransformer_1 = class FunctionControlFlowTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(controlFlowStorageFactory, controlFlowReplacerFactory, controlFlowCustomNodeFactory, randomGenerator, options) { + super(randomGenerator, options); + this.controlFlowData = new Map(); + this.visitedFunctionNodes = new Set(); + this.hostNodesWithControlFlowNode = new Set(); + this.controlFlowStorageFactory = controlFlowStorageFactory; + this.controlFlowReplacerFactory = controlFlowReplacerFactory; + this.controlFlowCustomNodeFactory = controlFlowCustomNodeFactory; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.ControlFlowFlattening: + return { + leave: (node, parentNode) => { + if (parentNode && (NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) || + NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) || + NodeGuards_1.NodeGuards.isArrowFunctionExpressionNode(node))) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(functionNode, parentNode) { + this.visitedFunctionNodes.add(functionNode); + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(functionNode.body)) { + return functionNode; + } + const hostNode = this.getHostNode(functionNode.body); + const controlFlowStorage = this.getControlFlowStorage(hostNode); + this.controlFlowData.set(hostNode, controlFlowStorage); + this.transformFunctionBody(functionNode.body, controlFlowStorage); + if (!controlFlowStorage.getLength()) { + return functionNode; + } + const controlFlowStorageCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.ControlFlowStorageNode); + controlFlowStorageCustomNode.initialize(controlFlowStorage); + NodeAppender_1.NodeAppender.prepend(hostNode, controlFlowStorageCustomNode.getNode()); + this.hostNodesWithControlFlowNode.add(hostNode); + NodeUtils_1.NodeUtils.parentizeAst(functionNode); + return functionNode; + } + getControlFlowStorage(hostNode) { + const controlFlowStorage = this.controlFlowStorageFactory(); + if (this.controlFlowData.has(hostNode)) { + if (this.hostNodesWithControlFlowNode.has(hostNode)) { + if (NodeGuards_1.NodeGuards.isSwitchCaseNode(hostNode)) { + hostNode.consequent.shift(); + } + else { + hostNode.body.shift(); + } + } + const hostControlFlowStorage = this.controlFlowData.get(hostNode); + controlFlowStorage.mergeWith(hostControlFlowStorage, true); + } + return controlFlowStorage; + } + getHostNode(functionNodeBody) { + const blockScopesOfNode = NodeStatementUtils_1.NodeStatementUtils.getParentNodesWithStatements(functionNodeBody); + if (blockScopesOfNode.length === 1) { + return functionNodeBody; + } + else { + blockScopesOfNode.pop(); + } + if (blockScopesOfNode.length > FunctionControlFlowTransformer_1.hostNodeSearchMinDepth) { + blockScopesOfNode.splice(0, FunctionControlFlowTransformer_1.hostNodeSearchMinDepth); + } + if (blockScopesOfNode.length > FunctionControlFlowTransformer_1.hostNodeSearchMaxDepth) { + blockScopesOfNode.length = FunctionControlFlowTransformer_1.hostNodeSearchMaxDepth; + } + return this.randomGenerator.getRandomGenerator().pickone(blockScopesOfNode); + } + isVisitedFunctionNode(node) { + return (NodeGuards_1.NodeGuards.isFunctionDeclarationNode(node) || + NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) || + NodeGuards_1.NodeGuards.isArrowFunctionExpressionNode(node)) && this.visitedFunctionNodes.has(node); + } + transformFunctionBody(functionNodeBody, controlFlowStorage) { + estraverse.replace(functionNodeBody, { + enter: (node, parentNode) => { + if (NodeMetadata_1.NodeMetadata.isIgnoredNode(node)) { + return estraverse.VisitorOption.Skip; + } + if (this.isVisitedFunctionNode(node) || !parentNode) { + return estraverse.VisitorOption.Skip; + } + if (!FunctionControlFlowTransformer_1.controlFlowReplacersMap.has(node.type)) { + return node; + } + if (this.randomGenerator.getMathRandom() > this.options.controlFlowFlatteningThreshold) { + return node; + } + const controlFlowReplacerName = FunctionControlFlowTransformer_1 + .controlFlowReplacersMap.get(node.type); + if (controlFlowReplacerName === undefined) { + return node; + } + return Object.assign(Object.assign({}, this.controlFlowReplacerFactory(controlFlowReplacerName).replace(node, parentNode, controlFlowStorage)), { parentNode }); + } + }); + } +}; +FunctionControlFlowTransformer.controlFlowReplacersMap = new Map([ + [NodeType_1.NodeType.BinaryExpression, ControlFlowReplacer_1.ControlFlowReplacer.BinaryExpressionControlFlowReplacer], + [NodeType_1.NodeType.CallExpression, ControlFlowReplacer_1.ControlFlowReplacer.CallExpressionControlFlowReplacer], + [NodeType_1.NodeType.LogicalExpression, ControlFlowReplacer_1.ControlFlowReplacer.LogicalExpressionControlFlowReplacer], + [NodeType_1.NodeType.Literal, ControlFlowReplacer_1.ControlFlowReplacer.StringLiteralControlFlowReplacer] +]); +FunctionControlFlowTransformer.hostNodeSearchMinDepth = 0; +FunctionControlFlowTransformer.hostNodeSearchMaxDepth = 2; +FunctionControlFlowTransformer = FunctionControlFlowTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__TControlFlowStorage)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowReplacer)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowStorageFactory_1.TControlFlowStorageFactory !== "undefined" && TControlFlowStorageFactory_1.TControlFlowStorageFactory) === "function" ? _a : Object, typeof (_b = typeof TControlFlowReplacerFactory_1.TControlFlowReplacerFactory !== "undefined" && TControlFlowReplacerFactory_1.TControlFlowReplacerFactory) === "function" ? _b : Object, typeof (_c = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _c : Object, typeof (_d = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _d : Object, typeof (_e = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _e : Object]) +], FunctionControlFlowTransformer); +exports.FunctionControlFlowTransformer = FunctionControlFlowTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var AbstractControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let AbstractControlFlowReplacer = AbstractControlFlowReplacer_1 = class AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + this.replacerDataByControlFlowStorageId = new Map(); + this.controlFlowCustomNodeFactory = controlFlowCustomNodeFactory; + this.randomGenerator = randomGenerator; + this.options = options; + } + static getStorageKeysByIdForCurrentStorage(identifierDataByControlFlowStorageId, controlFlowStorageId) { + let storageKeysById; + if (identifierDataByControlFlowStorageId.has(controlFlowStorageId)) { + storageKeysById = identifierDataByControlFlowStorageId.get(controlFlowStorageId); + } + else { + storageKeysById = new Map(); + } + return storageKeysById; + } + insertCustomNodeToControlFlowStorage(customNode, controlFlowStorage, replacerId, usingExistingIdentifierChance) { + const controlFlowStorageId = controlFlowStorage.getStorageId(); + const storageKeysById = AbstractControlFlowReplacer_1 + .getStorageKeysByIdForCurrentStorage(this.replacerDataByControlFlowStorageId, controlFlowStorageId); + const storageKeysForCurrentId = storageKeysById.get(replacerId); + if (this.randomGenerator.getMathRandom() < usingExistingIdentifierChance && + storageKeysForCurrentId && + storageKeysForCurrentId.length) { + return this.randomGenerator.getRandomGenerator().pickone(storageKeysForCurrentId); + } + const generateStorageKey = (length) => { + const key = this.randomGenerator.getRandomString(length); + if (controlFlowStorage.getStorage().has(key)) { + return generateStorageKey(length); + } + return key; + }; + const storageKey = generateStorageKey(5); + storageKeysById.set(replacerId, [storageKey]); + this.replacerDataByControlFlowStorageId.set(controlFlowStorageId, storageKeysById); + controlFlowStorage.set(storageKey, customNode); + return storageKey; + } +}; +AbstractControlFlowReplacer = AbstractControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], AbstractControlFlowReplacer); +exports.AbstractControlFlowReplacer = AbstractControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts": +/*!***********************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/BinaryExpressionControlFlowReplacer.ts ***! + \***********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var BinaryExpressionControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BinaryExpressionControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const ExpressionWithOperatorControlFlowReplacer_1 = __webpack_require__(/*! ./ExpressionWithOperatorControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts"); +let BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer_1 = class BinaryExpressionControlFlowReplacer extends ExpressionWithOperatorControlFlowReplacer_1.ExpressionWithOperatorControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(binaryExpressionNode, parentNode, controlFlowStorage) { + const operator = binaryExpressionNode.operator; + const binaryExpressionFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.BinaryExpressionFunctionNode); + binaryExpressionFunctionCustomNode.initialize(operator); + const storageKey = this.insertCustomNodeToControlFlowStorage(binaryExpressionFunctionCustomNode, controlFlowStorage, operator, BinaryExpressionControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey, binaryExpressionNode.left, binaryExpressionNode.right); + } +}; +BinaryExpressionControlFlowReplacer.usingExistingIdentifierChance = 0.5; +BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], BinaryExpressionControlFlowReplacer); +exports.BinaryExpressionControlFlowReplacer = BinaryExpressionControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts": +/*!*********************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/CallExpressionControlFlowReplacer.ts ***! + \*********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CallExpressionControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CallExpressionControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const AbstractControlFlowReplacer_1 = __webpack_require__(/*! ./AbstractControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CallExpressionControlFlowReplacer = CallExpressionControlFlowReplacer_1 = class CallExpressionControlFlowReplacer extends AbstractControlFlowReplacer_1.AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(callExpressionNode, parentNode, controlFlowStorage) { + const callee = callExpressionNode.callee; + if (!NodeGuards_1.NodeGuards.isIdentifierNode(callee)) { + return callExpressionNode; + } + const replacerId = String(callExpressionNode.arguments.length); + const callExpressionFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionFunctionNode); + const expressionArguments = callExpressionNode.arguments; + callExpressionFunctionCustomNode.initialize(expressionArguments); + const storageKey = this.insertCustomNodeToControlFlowStorage(callExpressionFunctionCustomNode, controlFlowStorage, replacerId, CallExpressionControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey, callee, expressionArguments); + } + getControlFlowStorageCallNode(controlFlowStorageId, storageKey, callee, expressionArguments) { + const controlFlowStorageCallCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.CallExpressionControlFlowStorageCallNode); + controlFlowStorageCallCustomNode.initialize(controlFlowStorageId, storageKey, callee, expressionArguments); + const statementNode = controlFlowStorageCallCustomNode.getNode()[0]; + if (!statementNode || !NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } +}; +CallExpressionControlFlowReplacer.usingExistingIdentifierChance = 0.5; +CallExpressionControlFlowReplacer = CallExpressionControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], CallExpressionControlFlowReplacer); +exports.CallExpressionControlFlowReplacer = CallExpressionControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts": +/*!*****************************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts ***! + \*****************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExpressionWithOperatorControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const AbstractControlFlowReplacer_1 = __webpack_require__(/*! ./AbstractControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ExpressionWithOperatorControlFlowReplacer = class ExpressionWithOperatorControlFlowReplacer extends AbstractControlFlowReplacer_1.AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + getControlFlowStorageCallNode(controlFlowStorageId, storageKey, leftExpression, rightExpression) { + const controlFlowStorageCallCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.ExpressionWithOperatorControlFlowStorageCallNode); + controlFlowStorageCallCustomNode.initialize(controlFlowStorageId, storageKey, leftExpression, rightExpression); + const statementNode = controlFlowStorageCallCustomNode.getNode()[0]; + if (!statementNode || !NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } +}; +ExpressionWithOperatorControlFlowReplacer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], ExpressionWithOperatorControlFlowReplacer); +exports.ExpressionWithOperatorControlFlowReplacer = ExpressionWithOperatorControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts": +/*!************************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/LogicalExpressionControlFlowReplacer.ts ***! + \************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var LogicalExpressionControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LogicalExpressionControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const ExpressionWithOperatorControlFlowReplacer_1 = __webpack_require__(/*! ./ExpressionWithOperatorControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/ExpressionWithOperatorControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let LogicalExpressionControlFlowReplacer = LogicalExpressionControlFlowReplacer_1 = class LogicalExpressionControlFlowReplacer extends ExpressionWithOperatorControlFlowReplacer_1.ExpressionWithOperatorControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(logicalExpressionNode, parentNode, controlFlowStorage) { + if (this.checkForProhibitedExpressions(logicalExpressionNode.left, logicalExpressionNode.right)) { + return logicalExpressionNode; + } + const operator = logicalExpressionNode.operator; + const logicalExpressionFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.LogicalExpressionFunctionNode); + logicalExpressionFunctionCustomNode.initialize(operator); + const storageKey = this.insertCustomNodeToControlFlowStorage(logicalExpressionFunctionCustomNode, controlFlowStorage, operator, LogicalExpressionControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey, logicalExpressionNode.left, logicalExpressionNode.right); + } + checkForProhibitedExpressions(leftExpression, rightExpression) { + return [leftExpression, rightExpression].some((expressionNode) => { + let nodeForCheck; + if (!NodeGuards_1.NodeGuards.isUnaryExpressionNode(expressionNode)) { + nodeForCheck = expressionNode; + } + else { + nodeForCheck = NodeUtils_1.NodeUtils.getUnaryExpressionArgumentNode(expressionNode); + } + return !NodeGuards_1.NodeGuards.isLiteralNode(nodeForCheck) && + !NodeGuards_1.NodeGuards.isIdentifierNode(nodeForCheck) && + !NodeGuards_1.NodeGuards.isObjectExpressionNode(nodeForCheck) && + !NodeGuards_1.NodeGuards.isExpressionStatementNode(nodeForCheck); + }); + } +}; +LogicalExpressionControlFlowReplacer.usingExistingIdentifierChance = 0.5; +LogicalExpressionControlFlowReplacer = LogicalExpressionControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], LogicalExpressionControlFlowReplacer); +exports.LogicalExpressionControlFlowReplacer = LogicalExpressionControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts": +/*!********************************************************************************************************************!*\ + !*** ./src/node-transformers/control-flow-transformers/control-flow-replacers/StringLiteralControlFlowReplacer.ts ***! + \********************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringLiteralControlFlowReplacer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringLiteralControlFlowReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TControlFlowCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TControlFlowCustomNodeFactory */ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ControlFlowCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ControlFlowCustomNode */ "./src/enums/custom-nodes/ControlFlowCustomNode.ts"); +const AbstractControlFlowReplacer_1 = __webpack_require__(/*! ./AbstractControlFlowReplacer */ "./src/node-transformers/control-flow-transformers/control-flow-replacers/AbstractControlFlowReplacer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +let StringLiteralControlFlowReplacer = StringLiteralControlFlowReplacer_1 = class StringLiteralControlFlowReplacer extends AbstractControlFlowReplacer_1.AbstractControlFlowReplacer { + constructor(controlFlowCustomNodeFactory, randomGenerator, options) { + super(controlFlowCustomNodeFactory, randomGenerator, options); + } + replace(literalNode, parentNode, controlFlowStorage) { + if (NodeGuards_1.NodeGuards.isPropertyNode(parentNode) && parentNode.key === literalNode) { + return literalNode; + } + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode) || literalNode.value.length < 3) { + return literalNode; + } + const replacerId = String(literalNode.value); + const literalFunctionCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralNode); + literalFunctionCustomNode.initialize(literalNode.value); + const storageKey = this.insertCustomNodeToControlFlowStorage(literalFunctionCustomNode, controlFlowStorage, replacerId, StringLiteralControlFlowReplacer_1.usingExistingIdentifierChance); + return this.getControlFlowStorageCallNode(controlFlowStorage.getStorageId(), storageKey); + } + getControlFlowStorageCallNode(controlFlowStorageId, storageKey) { + const controlFlowStorageCallCustomNode = this.controlFlowCustomNodeFactory(ControlFlowCustomNode_1.ControlFlowCustomNode.StringLiteralControlFlowStorageCallNode); + controlFlowStorageCallCustomNode.initialize(controlFlowStorageId, storageKey); + const statementNode = controlFlowStorageCallCustomNode.getNode()[0]; + if (!statementNode || !NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`controlFlowStorageCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } +}; +StringLiteralControlFlowReplacer.usingExistingIdentifierChance = 1; +StringLiteralControlFlowReplacer = StringLiteralControlFlowReplacer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IControlFlowCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory !== "undefined" && TControlFlowCustomNodeFactory_1.TControlFlowCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], StringLiteralControlFlowReplacer); +exports.StringLiteralControlFlowReplacer = StringLiteralControlFlowReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/BooleanLiteralTransformer.ts": +/*!************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/BooleanLiteralTransformer.ts ***! + \************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BooleanLiteralTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let BooleanLiteralTransformer = class BooleanLiteralTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (typeof literalNode.value !== 'boolean') { + return literalNode; + } + const literalValue = literalNode.value; + const unaryExpressionNode = literalValue + ? this.getTrueUnaryExpressionNode() + : this.getFalseUnaryExpressionNode(); + NodeUtils_1.NodeUtils.parentizeNode(unaryExpressionNode, parentNode); + return unaryExpressionNode; + } + getTrueUnaryExpressionNode() { + return NodeFactory_1.NodeFactory.unaryExpressionNode('!', this.getFalseUnaryExpressionNode()); + } + getFalseUnaryExpressionNode() { + return NodeFactory_1.NodeFactory.unaryExpressionNode('!', NodeFactory_1.NodeFactory.arrayExpressionNode()); + } +}; +BooleanLiteralTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], BooleanLiteralTransformer); +exports.BooleanLiteralTransformer = BooleanLiteralTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ExportSpecifierTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ExportSpecifierTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExportSpecifierTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ExportSpecifierTransformer = class ExportSpecifierTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isExportSpecifierNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(exportSpecifierNode, parentNode) { + if (exportSpecifierNode.local.name === exportSpecifierNode.exported.name) { + exportSpecifierNode.exported = NodeUtils_1.NodeUtils.clone(exportSpecifierNode.local); + } + return exportSpecifierNode; + } +}; +ExportSpecifierTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ExportSpecifierTransformer); +exports.ExportSpecifierTransformer = ExportSpecifierTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/MemberExpressionTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/MemberExpressionTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MemberExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let MemberExpressionTransformer = class MemberExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isMemberExpressionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(memberExpressionNode, parentNode) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(memberExpressionNode.property)) { + if (memberExpressionNode.computed) { + return memberExpressionNode; + } + memberExpressionNode.computed = true; + memberExpressionNode.property = NodeFactory_1.NodeFactory.literalNode(memberExpressionNode.property.name); + } + return memberExpressionNode; + } +}; +MemberExpressionTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MemberExpressionTransformer); +exports.MemberExpressionTransformer = MemberExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/MethodDefinitionTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var MethodDefinitionTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MethodDefinitionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let MethodDefinitionTransformer = MethodDefinitionTransformer_1 = class MethodDefinitionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isMethodDefinitionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(methodDefinitionNode, parentNode) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(methodDefinitionNode.key)) { + return this.replaceIdentifierKey(methodDefinitionNode, methodDefinitionNode.key); + } + if (NodeGuards_1.NodeGuards.isLiteralNode(methodDefinitionNode.key)) { + return this.replaceLiteralKey(methodDefinitionNode, methodDefinitionNode.key); + } + return methodDefinitionNode; + } + replaceIdentifierKey(methodDefinitionNode, keyNode) { + if (!MethodDefinitionTransformer_1.ignoredNames.includes(keyNode.name) + && !methodDefinitionNode.computed) { + methodDefinitionNode.computed = true; + methodDefinitionNode.key = NodeFactory_1.NodeFactory.literalNode(keyNode.name); + } + return methodDefinitionNode; + } + replaceLiteralKey(methodDefinitionNode, keyNode) { + if (typeof keyNode.value === 'string' + && !MethodDefinitionTransformer_1.ignoredNames.includes(keyNode.value) + && !methodDefinitionNode.computed) { + methodDefinitionNode.computed = true; + } + return methodDefinitionNode; + } +}; +MethodDefinitionTransformer.ignoredNames = ['constructor']; +MethodDefinitionTransformer = MethodDefinitionTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MethodDefinitionTransformer); +exports.MethodDefinitionTransformer = MethodDefinitionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/NumberLiteralTransformer.ts": +/*!***********************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/NumberLiteralTransformer.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberLiteralTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let NumberLiteralTransformer = class NumberLiteralTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.NumberToNumericalExpressionTransformer + ]; + this.numberLiteralCache = new Map(); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (typeof literalNode.value !== 'number' && typeof literalNode.value !== 'bigint') { + return literalNode; + } + const literalValue = literalNode.value; + let rawValue; + if (this.numberLiteralCache.has(literalValue)) { + rawValue = this.numberLiteralCache.get(literalValue); + } + else { + if (NumberUtils_1.NumberUtils.isCeil(literalValue)) { + rawValue = NumberUtils_1.NumberUtils.toHex(literalValue); + } + else { + rawValue = String(literalValue); + } + this.numberLiteralCache.set(literalValue, rawValue); + } + return NodeFactory_1.NodeFactory.literalNode(literalValue, rawValue); + } +}; +NumberLiteralTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], NumberLiteralTransformer); +exports.NumberLiteralTransformer = NumberLiteralTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/NumberToNumericalExpressionTransformer.ts": +/*!*************************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/NumberToNumericalExpressionTransformer.ts ***! + \*************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberToNumericalExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const INumberNumericalExpressionAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer */ "./src/interfaces/analyzers/number-numerical-expression-analyzer/INumberNumericalExpressionAnalyzer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NumberUtils_1 = __webpack_require__(/*! ../../utils/NumberUtils */ "./src/utils/NumberUtils.ts"); +let NumberToNumericalExpressionTransformer = class NumberToNumericalExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(numberNumericalExpressionAnalyzer, randomGenerator, options) { + super(randomGenerator, options); + this.numberNumericalExpressionAnalyzer = numberNumericalExpressionAnalyzer; + } + getVisitor(nodeTransformationStage) { + if (!this.options.numbersToExpressions) { + return null; + } + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (typeof literalNode.value !== 'number') { + return literalNode; + } + if (NodeGuards_1.NodeGuards.isPropertyNode(parentNode) && !parentNode.computed) { + return literalNode; + } + const numberNumericalExpressionData = this.numberNumericalExpressionAnalyzer.analyze(literalNode.value); + return this.convertNumericalExpressionDataToNode(numberNumericalExpressionData); + } + convertNumericalExpressionDataToNode(numberNumericalExpressionData, operator = '+') { + var _a; + const numberNumericalExpressionDataLength = numberNumericalExpressionData.length; + const leftParts = numberNumericalExpressionDataLength > 1 + ? numberNumericalExpressionData.slice(0, numberNumericalExpressionDataLength - 1) + : [numberNumericalExpressionData[0]]; + const rightParts = numberNumericalExpressionDataLength > 1 + ? numberNumericalExpressionData.slice(-1) + : []; + if (rightParts.length) { + return this.convertPartsToBinaryExpression(operator, leftParts, rightParts); + } + const firstLeftPartOrNumber = (_a = leftParts[0]) !== null && _a !== void 0 ? _a : null; + return Array.isArray(firstLeftPartOrNumber) + ? this.convertNumericalExpressionDataToNode(firstLeftPartOrNumber, '*') + : this.convertPartOrNumberToLiteralNode(firstLeftPartOrNumber); + } + convertPartsToBinaryExpression(operator, leftParts, rightParts) { + const rightPartOrNumber = rightParts[0]; + if (Array.isArray(rightPartOrNumber)) { + return NodeFactory_1.NodeFactory.binaryExpressionNode(operator, this.convertNumericalExpressionDataToNode(leftParts), this.convertNumericalExpressionDataToNode(rightPartOrNumber, '*')); + } + else { + return NodeFactory_1.NodeFactory.binaryExpressionNode(operator, this.convertNumericalExpressionDataToNode(leftParts), this.convertPartOrNumberToLiteralNode(rightPartOrNumber)); + } + } + convertPartOrNumberToLiteralNode(partOrNumber) { + const number = Array.isArray(partOrNumber) + ? partOrNumber[0] + : partOrNumber; + const isPositiveNumber = NumberUtils_1.NumberUtils.isPositive(number); + const literalNode = NodeFactory_1.NodeFactory.literalNode(Math.abs(number)); + return isPositiveNumber + ? literalNode + : NodeFactory_1.NodeFactory.unaryExpressionNode('-', literalNode); + } +}; +NumberToNumericalExpressionTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INumberNumericalExpressionAnalyzer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof INumberNumericalExpressionAnalyzer_1.INumberNumericalExpressionAnalyzer !== "undefined" && INumberNumericalExpressionAnalyzer_1.INumberNumericalExpressionAnalyzer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], NumberToNumericalExpressionTransformer); +exports.NumberToNumericalExpressionTransformer = NumberToNumericalExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ObjectExpressionKeysTransformer.ts": +/*!******************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ObjectExpressionKeysTransformer.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var ObjectExpressionKeysTransformer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionKeysTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TObjectExpressionExtractorFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TObjectExpressionExtractorFactory */ "./src/types/container/node-transformers/TObjectExpressionExtractorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const ObjectExpressionExtractor_1 = __webpack_require__(/*! ../../enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor */ "./src/enums/node-transformers/converting-transformers/properties-extractors/ObjectExpressionExtractor.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let ObjectExpressionKeysTransformer = ObjectExpressionKeysTransformer_1 = class ObjectExpressionKeysTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(objectExpressionExtractorFactory, randomGenerator, options) { + super(randomGenerator, options); + this.objectExpressionExtractorFactory = objectExpressionExtractorFactory; + } + static isProhibitedHostStatement(objectExpressionNode, hostStatement) { + return ObjectExpressionKeysTransformer_1.isReferencedIdentifierName(objectExpressionNode, hostStatement) + || ObjectExpressionKeysTransformer_1.isProhibitedSequenceExpression(objectExpressionNode, hostStatement); + } + static isReferencedIdentifierName(objectExpressionNode, hostNode) { + const identifierNamesSet = []; + let isReferencedIdentifierName = false; + let isCurrentNode = false; + estraverse.traverse(hostNode, { + enter: (node) => { + if (node === objectExpressionNode) { + isCurrentNode = true; + } + if (!NodeGuards_1.NodeGuards.isIdentifierNode(node)) { + return; + } + if (!isCurrentNode) { + identifierNamesSet.push(node.name); + return; + } + if (identifierNamesSet.includes(node.name)) { + isReferencedIdentifierName = true; + } + }, + leave: (node) => { + if (node === objectExpressionNode) { + isCurrentNode = false; + return estraverse.VisitorOption.Break; + } + } + }); + return isReferencedIdentifierName; + } + static isProhibitedSequenceExpression(objectExpressionNode, hostNode) { + return NodeGuards_1.NodeGuards.isExpressionStatementNode(hostNode) + && NodeGuards_1.NodeGuards.isSequenceExpressionNode(hostNode.expression) + && hostNode.expression.expressions.some((expressionNode) => NodeGuards_1.NodeGuards.isCallExpressionNode(expressionNode) + && NodeGuards_1.NodeGuards.isSuperNode(expressionNode.callee)); + } + getVisitor(nodeTransformationStage) { + if (!this.options.transformObjectKeys) { + return null; + } + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + leave: (node, parentNode) => { + if (parentNode + && NodeGuards_1.NodeGuards.isObjectExpressionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(objectExpressionNode, parentNode) { + if (!objectExpressionNode.properties.length) { + return objectExpressionNode; + } + const hostStatement = NodeStatementUtils_1.NodeStatementUtils.getRootStatementOfNode(objectExpressionNode); + if (ObjectExpressionKeysTransformer_1.isProhibitedHostStatement(objectExpressionNode, hostStatement)) { + return objectExpressionNode; + } + return this.applyObjectExpressionKeysExtractorsRecursive(ObjectExpressionKeysTransformer_1.objectExpressionExtractorNames, objectExpressionNode, hostStatement); + } + applyObjectExpressionKeysExtractorsRecursive(objectExpressionExtractorNames, objectExpressionNode, hostStatement) { + const newObjectExpressionExtractorNames = [...objectExpressionExtractorNames]; + const objectExpressionExtractor = newObjectExpressionExtractorNames.shift(); + if (!objectExpressionExtractor) { + return objectExpressionNode; + } + const { nodeToReplace, objectExpressionHostStatement: newObjectExpressionHostStatement, objectExpressionNode: newObjectExpressionNode } = this.objectExpressionExtractorFactory(objectExpressionExtractor) + .extract(objectExpressionNode, hostStatement); + this.applyObjectExpressionKeysExtractorsRecursive(newObjectExpressionExtractorNames, newObjectExpressionNode, newObjectExpressionHostStatement); + return nodeToReplace; + } +}; +ObjectExpressionKeysTransformer.objectExpressionExtractorNames = [ + ObjectExpressionExtractor_1.ObjectExpressionExtractor.ObjectExpressionToVariableDeclarationExtractor, + ObjectExpressionExtractor_1.ObjectExpressionExtractor.BasePropertiesExtractor +]; +ObjectExpressionKeysTransformer = ObjectExpressionKeysTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionExtractor)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TObjectExpressionExtractorFactory_1.TObjectExpressionExtractorFactory !== "undefined" && TObjectExpressionExtractorFactory_1.TObjectExpressionExtractorFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], ObjectExpressionKeysTransformer); +exports.ObjectExpressionKeysTransformer = ObjectExpressionKeysTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ObjectExpressionTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ObjectExpressionTransformer = class ObjectExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isObjectExpressionNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(objectExpressionNode, parentNode) { + objectExpressionNode.properties + .forEach((property) => { + if (!NodeGuards_1.NodeGuards.isPropertyNode(property)) { + return; + } + if (!property.key) { + return; + } + if (property.computed) { + this.transformComputedProperty(property); + } + else { + this.transformBaseProperty(property); + } + }); + return objectExpressionNode; + } + transformComputedProperty(property) { + if (!NodeGuards_1.NodeGuards.isLiteralNode(property.key) || !(typeof property.key.value === 'string')) { + return; + } + property.key = NodeFactory_1.NodeFactory.literalNode(property.key.value); + } + transformBaseProperty(property) { + if (property.shorthand) { + property.shorthand = false; + } + if (!NodeGuards_1.NodeGuards.isIdentifierNode(property.key)) { + return; + } + property.key = NodeFactory_1.NodeFactory.literalNode(property.key.name); + } +}; +ObjectExpressionTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ObjectExpressionTransformer); +exports.ObjectExpressionTransformer = ObjectExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/ObjectPatternPropertiesTransformer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/ObjectPatternPropertiesTransformer.ts ***! + \*********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectPatternPropertiesTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ObjectPatternPropertiesTransformer = class ObjectPatternPropertiesTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isPropertyNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(propertyNode, parentNode) { + if (!NodeGuards_1.NodeGuards.isObjectPatternNode(parentNode) || !propertyNode.shorthand) { + return propertyNode; + } + if (!this.options.renameGlobals) { + const lexicalScope = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScope(propertyNode); + const shouldNotTransformGlobalPropertyNode = !!lexicalScope && NodeGuards_1.NodeGuards.isProgramNode(lexicalScope); + if (shouldNotTransformGlobalPropertyNode) { + return propertyNode; + } + } + propertyNode.shorthand = false; + propertyNode.value = NodeUtils_1.NodeUtils.clone(propertyNode.value); + NodeUtils_1.NodeUtils.parentizeNode(propertyNode.value, propertyNode); + return propertyNode; + } +}; +ObjectPatternPropertiesTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ObjectPatternPropertiesTransformer); +exports.ObjectPatternPropertiesTransformer = ObjectPatternPropertiesTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/SplitStringTransformer.ts": +/*!*********************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/SplitStringTransformer.ts ***! + \*********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var SplitStringTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SplitStringTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const stringz = __importStar(__webpack_require__(/*! stringz */ "stringz")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let SplitStringTransformer = SplitStringTransformer_1 = class SplitStringTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ObjectExpressionKeysTransformer, + NodeTransformer_1.NodeTransformer.TemplateLiteralTransformer + ]; + } + static chunkString(string, stringLength, chunkSize) { + const chunksCount = Math.ceil(stringLength / chunkSize); + const chunks = []; + let nextChunkStartIndex = 0; + for (let chunkIndex = 0; chunkIndex < chunksCount; ++chunkIndex, nextChunkStartIndex += chunkSize) { + chunks[chunkIndex] = stringz.substr(string, nextChunkStartIndex, chunkSize); + } + return chunks; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (!this.options.splitStrings) { + return; + } + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (NodeLiteralUtils_1.NodeLiteralUtils.isProhibitedLiteralNode(literalNode, parentNode)) { + return literalNode; + } + const firstPassChunksNode = this.transformLiteralNodeByChunkLength(literalNode, parentNode, SplitStringTransformer_1.firstPassChunkLength); + const secondPassChunksNode = estraverse.replace(firstPassChunksNode, { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformLiteralNodeByChunkLength(node, parentNode, this.options.splitStringsChunkLength); + } + } + }); + return secondPassChunksNode; + } + transformLiteralNodeByChunkLength(literalNode, parentNode, chunkLength) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode)) { + return literalNode; + } + const valueLength = stringz.length(literalNode.value); + if (chunkLength >= valueLength) { + return literalNode; + } + const stringChunks = SplitStringTransformer_1.chunkString(literalNode.value, valueLength, chunkLength); + const binaryExpressionNode = this.transformStringChunksToBinaryExpressionNode(stringChunks); + NodeUtils_1.NodeUtils.parentizeAst(binaryExpressionNode); + NodeUtils_1.NodeUtils.parentizeNode(binaryExpressionNode, parentNode); + return binaryExpressionNode; + } + transformStringChunksToBinaryExpressionNode(chunks) { + const firstChunk = chunks.shift(); + const secondChunk = chunks.shift(); + if (!firstChunk || !secondChunk) { + throw new Error('First and second chunks values should not be empty'); + } + const initialBinaryExpressionNode = NodeFactory_1.NodeFactory.binaryExpressionNode('+', NodeFactory_1.NodeFactory.literalNode(firstChunk), NodeFactory_1.NodeFactory.literalNode(secondChunk)); + return chunks.reduce((binaryExpressionNode, chunk) => { + const chunkLiteralNode = NodeFactory_1.NodeFactory.literalNode(chunk); + return NodeFactory_1.NodeFactory.binaryExpressionNode('+', binaryExpressionNode, chunkLiteralNode); + }, initialBinaryExpressionNode); + } +}; +SplitStringTransformer.firstPassChunkLength = 1000; +SplitStringTransformer = SplitStringTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], SplitStringTransformer); +exports.SplitStringTransformer = SplitStringTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/TemplateLiteralTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var TemplateLiteralTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.TemplateLiteralTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let TemplateLiteralTransformer = TemplateLiteralTransformer_1 = class TemplateLiteralTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + static isLiteralNodeWithStringValue(node) { + return !!node && NodeGuards_1.NodeGuards.isLiteralNode(node) && typeof node.value === 'string'; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Converting: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isTemplateLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(templateLiteralNode, parentNode) { + if (NodeGuards_1.NodeGuards.isTaggedTemplateExpressionNode(parentNode)) { + return templateLiteralNode; + } + return this.transformTemplateLiteralNode(templateLiteralNode, parentNode); + } + transformTemplateLiteralNode(templateLiteralNode, parentNode) { + const templateLiteralExpressions = templateLiteralNode.expressions; + let nodes = []; + templateLiteralNode.quasis.forEach((templateElement) => { + nodes.push(NodeFactory_1.NodeFactory.literalNode(templateElement.value.cooked)); + const expression = templateLiteralExpressions.shift(); + if (!expression) { + return; + } + nodes.push(expression); + }); + nodes = nodes.filter((node) => { + return !(NodeGuards_1.NodeGuards.isLiteralNode(node) && node.value === ''); + }); + if (!TemplateLiteralTransformer_1.isLiteralNodeWithStringValue(nodes[0]) && + !TemplateLiteralTransformer_1.isLiteralNodeWithStringValue(nodes[1])) { + nodes.unshift(NodeFactory_1.NodeFactory.literalNode('')); + } + let transformedNode; + if (nodes.length > 1) { + let root = NodeFactory_1.NodeFactory.binaryExpressionNode('+', nodes.shift(), nodes.shift()); + nodes.forEach((node) => { + root = NodeFactory_1.NodeFactory.binaryExpressionNode('+', root, node); + }); + transformedNode = root; + } + else { + transformedNode = nodes[0]; + } + NodeUtils_1.NodeUtils.parentizeAst(transformedNode); + NodeUtils_1.NodeUtils.parentizeNode(transformedNode, parentNode); + return transformedNode; + } +}; +TemplateLiteralTransformer = TemplateLiteralTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], TemplateLiteralTransformer); +exports.TemplateLiteralTransformer = TemplateLiteralTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/object-expression-extractors/BasePropertiesExtractor.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var BasePropertiesExtractor_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BasePropertiesExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BasePropertiesExtractor = BasePropertiesExtractor_1 = class BasePropertiesExtractor { + static getPropertyNodeKeyName(propertyNode) { + const propertyKeyNode = propertyNode.key; + if (NodeGuards_1.NodeGuards.isLiteralNode(propertyKeyNode) + && (typeof propertyKeyNode.value === 'string' + || typeof propertyKeyNode.value === 'number')) { + return propertyKeyNode.value.toString(); + } + if (NodeGuards_1.NodeGuards.isIdentifierNode(propertyKeyNode)) { + return propertyKeyNode.name; + } + return null; + } + static isProhibitedPropertyNode(node) { + return node.kind !== 'init'; + } + static isProhibitedPattern(node) { + return !node + || NodeGuards_1.NodeGuards.isObjectPatternNode(node) + || NodeGuards_1.NodeGuards.isArrayPatternNode(node) + || NodeGuards_1.NodeGuards.isAssignmentPatternNode(node) + || NodeGuards_1.NodeGuards.isRestElementNode(node); + } + static shouldCreateLiteralNode(property) { + return !property.computed + || (property.computed && !!property.key && NodeGuards_1.NodeGuards.isLiteralNode(property.key)); + } + extract(objectExpressionNode, hostStatement) { + const hostNode = objectExpressionNode.parentNode; + if (hostNode + && NodeGuards_1.NodeGuards.isVariableDeclaratorNode(hostNode) + && NodeGuards_1.NodeGuards.isIdentifierNode(hostNode.id)) { + return this.transformObjectExpressionNode(objectExpressionNode, hostStatement, hostNode.id); + } + return { + nodeToReplace: objectExpressionNode, + objectExpressionHostStatement: hostStatement, + objectExpressionNode: objectExpressionNode + }; + } + transformObjectExpressionNode(objectExpressionNode, hostStatement, memberExpressionHostNode) { + const properties = objectExpressionNode.properties; + const [expressionStatements, removablePropertyIds] = this + .extractPropertiesToExpressionStatements(properties, hostStatement, memberExpressionHostNode); + const hostNodeWithStatements = NodeStatementUtils_1.NodeStatementUtils.getScopeOfNode(hostStatement); + this.filterExtractedObjectExpressionProperties(objectExpressionNode, removablePropertyIds); + NodeAppender_1.NodeAppender.insertAfter(hostNodeWithStatements, expressionStatements, hostStatement); + NodeUtils_1.NodeUtils.parentizeAst(hostNodeWithStatements); + return { + nodeToReplace: objectExpressionNode, + objectExpressionHostStatement: hostStatement, + objectExpressionNode: objectExpressionNode + }; + } + extractPropertiesToExpressionStatements(properties, hostStatement, memberExpressionHostNode) { + const propertiesLength = properties.length; + const expressionStatements = []; + const removablePropertyIds = []; + for (let i = propertiesLength - 1; i >= 0; i--) { + const property = properties[i]; + if (NodeGuards_1.NodeGuards.isSpreadElementNode(property)) { + break; + } + if (BasePropertiesExtractor_1.isProhibitedPropertyNode(property)) { + continue; + } + const propertyValue = property.value; + if (BasePropertiesExtractor_1.isProhibitedPattern(propertyValue)) { + continue; + } + const propertyKeyName = BasePropertiesExtractor_1.getPropertyNodeKeyName(property); + if (!propertyKeyName) { + continue; + } + const shouldCreateLiteralNode = BasePropertiesExtractor_1.shouldCreateLiteralNode(property); + const memberExpressionProperty = shouldCreateLiteralNode + ? NodeFactory_1.NodeFactory.literalNode(propertyKeyName) + : NodeFactory_1.NodeFactory.identifierNode(propertyKeyName); + const memberExpressionNode = NodeFactory_1.NodeFactory + .memberExpressionNode(memberExpressionHostNode, memberExpressionProperty, true); + const expressionStatementNode = NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.assignmentExpressionNode('=', memberExpressionNode, propertyValue)); + if (NodeGuards_1.NodeGuards.isObjectExpressionNode(property.value)) { + this.transformObjectExpressionNode(property.value, hostStatement, memberExpressionNode); + } + expressionStatements.unshift(expressionStatementNode); + removablePropertyIds.unshift(i); + } + return [expressionStatements, removablePropertyIds]; + } + filterExtractedObjectExpressionProperties(objectExpressionNode, removablePropertyIds) { + objectExpressionNode.properties = objectExpressionNode.properties + .filter((property, index) => !removablePropertyIds.includes(index)); + } +}; +BasePropertiesExtractor = BasePropertiesExtractor_1 = __decorate([ + inversify_1.injectable() +], BasePropertiesExtractor); +exports.BasePropertiesExtractor = BasePropertiesExtractor; + + +/***/ }), + +/***/ "./src/node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor.ts": +/*!**************************************************************************************************************************************!*\ + !*** ./src/node-transformers/converting-transformers/object-expression-extractors/ObjectExpressionToVariableDeclarationExtractor.ts ***! + \**************************************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObjectExpressionToVariableDeclarationExtractor = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TObjectExpressionKeysTransformerCustomNodeFactory_1 = __webpack_require__(/*! ../../../types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory */ "./src/types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory.ts"); +const ObjectExpressionKeysTransformerCustomNode_1 = __webpack_require__(/*! ../../../enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode */ "./src/enums/custom-nodes/ObjectExpressionKeysTransformerCustomNode.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let ObjectExpressionToVariableDeclarationExtractor = class ObjectExpressionToVariableDeclarationExtractor { + constructor(objectExpressionKeysTransformerCustomNodeFactory) { + this.objectExpressionKeysTransformerCustomNodeFactory = objectExpressionKeysTransformerCustomNodeFactory; + } + extract(objectExpressionNode, hostStatement) { + return this.transformObjectExpressionToVariableDeclaration(objectExpressionNode, hostStatement); + } + transformObjectExpressionToVariableDeclaration(objectExpressionNode, hostStatement) { + var _a; + const hostNodeWithStatements = NodeStatementUtils_1.NodeStatementUtils.getScopeOfNode(hostStatement); + const lexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithLexicalScope(hostNodeWithStatements) + ? hostNodeWithStatements + : (_a = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScope(hostNodeWithStatements)) !== null && _a !== void 0 ? _a : null; + if (!lexicalScopeNode) { + throw new Error('Cannot find lexical scope node for the host statement node'); + } + const properties = objectExpressionNode.properties; + const newObjectExpressionHostStatement = this.getObjectExpressionHostNode(lexicalScopeNode, properties); + const statementsToInsert = [newObjectExpressionHostStatement]; + NodeAppender_1.NodeAppender.insertBefore(hostNodeWithStatements, statementsToInsert, hostStatement); + NodeUtils_1.NodeUtils.parentizeAst(newObjectExpressionHostStatement); + NodeUtils_1.NodeUtils.parentizeNode(newObjectExpressionHostStatement, hostNodeWithStatements); + const newObjectExpressionIdentifier = this.getObjectExpressionIdentifierNode(newObjectExpressionHostStatement); + const newObjectExpressionNode = this.getObjectExpressionNode(newObjectExpressionHostStatement); + return { + nodeToReplace: newObjectExpressionIdentifier, + objectExpressionHostStatement: newObjectExpressionHostStatement, + objectExpressionNode: newObjectExpressionNode + }; + } + getObjectExpressionHostNode(lexicalScopeNode, properties) { + const variableDeclarationHostNodeCustomNode = this.objectExpressionKeysTransformerCustomNodeFactory(ObjectExpressionKeysTransformerCustomNode_1.ObjectExpressionKeysTransformerCustomNode.ObjectExpressionVariableDeclarationHostNode); + variableDeclarationHostNodeCustomNode.initialize(lexicalScopeNode, properties); + const statementNode = variableDeclarationHostNodeCustomNode.getNode()[0]; + if (!statementNode + || !NodeGuards_1.NodeGuards.isVariableDeclarationNode(statementNode)) { + throw new Error('`objectExpressionHostCustomNode.getNode()[0]` should returns array with `VariableDeclaration` node'); + } + return statementNode; + } + getObjectExpressionIdentifierNode(objectExpressionHostNode) { + const newObjectExpressionIdentifierNode = objectExpressionHostNode.declarations[0].id; + if (!NodeGuards_1.NodeGuards.isIdentifierNode(newObjectExpressionIdentifierNode)) { + throw new Error('`objectExpressionHostNode` should contain `VariableDeclarator` node with `Identifier` id property'); + } + return newObjectExpressionIdentifierNode; + } + getObjectExpressionNode(objectExpressionHostNode) { + var _a; + const newObjectExpressionNode = (_a = objectExpressionHostNode.declarations[0].init) !== null && _a !== void 0 ? _a : null; + if (!newObjectExpressionNode || !NodeGuards_1.NodeGuards.isObjectExpressionNode(newObjectExpressionNode)) { + throw new Error('`objectExpressionHostNode` should contain `VariableDeclarator` node with `ObjectExpression` init property'); + } + return newObjectExpressionNode; + } +}; +ObjectExpressionToVariableDeclarationExtractor = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IObjectExpressionKeysTransformerCustomNode)), + __metadata("design:paramtypes", [typeof (_a = typeof TObjectExpressionKeysTransformerCustomNodeFactory_1.TObjectExpressionKeysTransformerCustomNodeFactory !== "undefined" && TObjectExpressionKeysTransformerCustomNodeFactory_1.TObjectExpressionKeysTransformerCustomNodeFactory) === "function" ? _a : Object]) +], ObjectExpressionToVariableDeclarationExtractor); +exports.ObjectExpressionToVariableDeclarationExtractor = ObjectExpressionToVariableDeclarationExtractor; + + +/***/ }), + +/***/ "./src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/dead-code-injection-transformers/DeadCodeInjectionTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var DeadCodeInjectionTransformer_1, _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const TDeadNodeInjectionCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory */ "./src/types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const INodeTransformersRunner_1 = __webpack_require__(/*! ../../interfaces/node-transformers/INodeTransformersRunner */ "./src/interfaces/node-transformers/INodeTransformersRunner.ts"); +const DeadCodeInjectionCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/DeadCodeInjectionCustomNode */ "./src/enums/custom-nodes/DeadCodeInjectionCustomNode.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeType_1 = __webpack_require__(/*! ../../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let DeadCodeInjectionTransformer = DeadCodeInjectionTransformer_1 = class DeadCodeInjectionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(deadCodeInjectionCustomNodeFactory, transformersRunner, randomGenerator, options) { + super(randomGenerator, options); + this.deadCodeInjectionRootAstHostNodeSet = new Set(); + this.collectedBlockStatements = []; + this.collectedBlockStatementsTotalLength = 0; + this.deadCodeInjectionCustomNodeFactory = deadCodeInjectionCustomNodeFactory; + this.transformersRunner = transformersRunner; + } + static isProhibitedNodeInsideCollectedBlockStatement(targetNode) { + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(targetNode) + || NodeGuards_1.NodeGuards.isBreakStatementNode(targetNode) + || NodeGuards_1.NodeGuards.isContinueStatementNode(targetNode) + || NodeGuards_1.NodeGuards.isAwaitExpressionNode(targetNode) + || NodeGuards_1.NodeGuards.isYieldExpressionNode(targetNode) + || NodeGuards_1.NodeGuards.isSuperNode(targetNode) + || (NodeGuards_1.NodeGuards.isForOfStatementNode(targetNode) && targetNode.await); + } + static isScopeHoistingFunctionDeclaration(targetNode) { + if (!NodeGuards_1.NodeGuards.isFunctionDeclarationNode(targetNode)) { + return false; + } + const scopeNode = NodeStatementUtils_1.NodeStatementUtils.getScopeOfNode(targetNode); + const scopeBody = !NodeGuards_1.NodeGuards.isSwitchCaseNode(scopeNode) + ? scopeNode.body + : scopeNode.consequent; + const indexInScope = scopeBody.indexOf(targetNode); + if (indexInScope === 0) { + return false; + } + const slicedBody = scopeBody.slice(0, indexInScope); + const hostBlockStatementNode = NodeFactory_1.NodeFactory.blockStatementNode(slicedBody); + const functionDeclarationName = targetNode.id.name; + let isScopeHoistedFunctionDeclaration = false; + estraverse.traverse(hostBlockStatementNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isIdentifierNode(node) && node.name === functionDeclarationName) { + isScopeHoistedFunctionDeclaration = true; + return estraverse.VisitorOption.Break; + } + } + }); + return isScopeHoistedFunctionDeclaration; + } + static isValidCollectedBlockStatementNode(blockStatementNode) { + if (!blockStatementNode.body.length) { + return false; + } + let nestedBlockStatementsCount = 0; + let isValidBlockStatementNode = true; + estraverse.traverse(blockStatementNode, { + enter: (node) => { + if (NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + nestedBlockStatementsCount++; + } + if (nestedBlockStatementsCount > DeadCodeInjectionTransformer_1.maxNestedBlockStatementsCount + || DeadCodeInjectionTransformer_1.isProhibitedNodeInsideCollectedBlockStatement(node) + || DeadCodeInjectionTransformer_1.isScopeHoistingFunctionDeclaration(node)) { + isValidBlockStatementNode = false; + return estraverse.VisitorOption.Break; + } + } + }); + return isValidBlockStatementNode; + } + static isValidWrappedBlockStatementNode(blockStatementNode) { + if (!blockStatementNode.body.length) { + return false; + } + let isValidBlockStatementNode = true; + estraverse.traverse(blockStatementNode, { + enter: (node) => { + if (DeadCodeInjectionTransformer_1.isScopeHoistingFunctionDeclaration(node)) { + isValidBlockStatementNode = false; + return estraverse.VisitorOption.Break; + } + } + }); + if (!isValidBlockStatementNode) { + return false; + } + const parentNodeWithStatements = NodeStatementUtils_1.NodeStatementUtils + .getParentNodeWithStatements(blockStatementNode); + return parentNodeWithStatements.type !== NodeType_1.NodeType.Program; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.DeadCodeInjection: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.prepareNode(node, parentNode); + return node; + } + }, + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + if (!this.deadCodeInjectionRootAstHostNodeSet.size) { + return null; + } + return { + enter: (node, parentNode) => { + if (parentNode && this.isDeadCodeInjectionRootAstHostNode(node)) { + return this.restoreNode(node, parentNode); + } + } + }; + default: + return null; + } + } + prepareNode(programNode, parentNode) { + estraverse.traverse(programNode, { + enter: (node) => { + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return; + } + const clonedBlockStatementNode = NodeUtils_1.NodeUtils.clone(node); + if (!DeadCodeInjectionTransformer_1.isValidCollectedBlockStatementNode(clonedBlockStatementNode)) { + return; + } + const transformedBlockStatementNode = this.makeClonedBlockStatementNodeUnique(clonedBlockStatementNode); + this.collectedBlockStatements.push(transformedBlockStatementNode); + } + }); + this.collectedBlockStatementsTotalLength = this.collectedBlockStatements.length; + } + transformNode(blockStatementNode, parentNode) { + const canBreakTraverse = !this.collectedBlockStatements.length + || this.collectedBlockStatementsTotalLength < DeadCodeInjectionTransformer_1.minCollectedBlockStatementsCount; + if (canBreakTraverse) { + return estraverse.VisitorOption.Break; + } + if (this.randomGenerator.getMathRandom() > this.options.deadCodeInjectionThreshold + || !DeadCodeInjectionTransformer_1.isValidWrappedBlockStatementNode(blockStatementNode)) { + return blockStatementNode; + } + const minInteger = 0; + const maxInteger = this.collectedBlockStatements.length - 1; + const randomIndex = this.randomGenerator.getRandomInteger(minInteger, maxInteger); + const randomBlockStatementNode = this.collectedBlockStatements.splice(randomIndex, 1)[0]; + const isDuplicateBlockStatementNodes = randomBlockStatementNode === blockStatementNode; + if (isDuplicateBlockStatementNodes) { + return blockStatementNode; + } + return this.replaceBlockStatementNode(blockStatementNode, randomBlockStatementNode, parentNode); + } + restoreNode(deadCodeInjectionRootAstHostNode, parentNode) { + const hostNodeFirstStatement = deadCodeInjectionRootAstHostNode.body[0]; + if (!NodeGuards_1.NodeGuards.isFunctionDeclarationNode(hostNodeFirstStatement)) { + throw new Error('Wrong dead code injection root AST host node. Host node should contain `FunctionDeclaration` node'); + } + return hostNodeFirstStatement.body; + } + isDeadCodeInjectionRootAstHostNode(node) { + return NodeGuards_1.NodeGuards.isBlockStatementNode(node) && this.deadCodeInjectionRootAstHostNodeSet.has(node); + } + makeClonedBlockStatementNodeUnique(clonedBlockStatementNode) { + const hostNode = NodeFactory_1.NodeFactory.programNode([ + NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.functionExpressionNode([], clonedBlockStatementNode)) + ]); + NodeUtils_1.NodeUtils.parentizeAst(hostNode); + NodeUtils_1.NodeUtils.parentizeNode(hostNode, hostNode); + this.transformersRunner.transform(hostNode, DeadCodeInjectionTransformer_1.transformersToRenameBlockScopeIdentifiers, NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers); + return clonedBlockStatementNode; + } + replaceBlockStatementNode(blockStatementNode, randomBlockStatementNode, parentNode) { + const deadCodeInjectionRootAstHostNode = NodeFactory_1.NodeFactory.blockStatementNode([ + NodeFactory_1.NodeFactory.functionDeclarationNode(DeadCodeInjectionTransformer_1.deadCodeInjectionRootAstHostNodeName, [], randomBlockStatementNode) + ]); + this.deadCodeInjectionRootAstHostNodeSet.add(deadCodeInjectionRootAstHostNode); + const blockStatementDeadCodeInjectionCustomNode = this.deadCodeInjectionCustomNodeFactory(DeadCodeInjectionCustomNode_1.DeadCodeInjectionCustomNode.BlockStatementDeadCodeInjectionNode); + blockStatementDeadCodeInjectionCustomNode.initialize(blockStatementNode, deadCodeInjectionRootAstHostNode); + const newBlockStatementNode = blockStatementDeadCodeInjectionCustomNode.getNode()[0]; + NodeUtils_1.NodeUtils.parentizeNode(newBlockStatementNode, parentNode); + return newBlockStatementNode; + } +}; +DeadCodeInjectionTransformer.deadCodeInjectionRootAstHostNodeName = 'deadCodeInjectionRootAstHostNode'; +DeadCodeInjectionTransformer.maxNestedBlockStatementsCount = 4; +DeadCodeInjectionTransformer.minCollectedBlockStatementsCount = 5; +DeadCodeInjectionTransformer.transformersToRenameBlockScopeIdentifiers = [ + NodeTransformer_1.NodeTransformer.LabeledStatementTransformer, + NodeTransformer_1.NodeTransformer.ScopeIdentifiersTransformer, + NodeTransformer_1.NodeTransformer.ScopeThroughIdentifiersTransformer +]; +DeadCodeInjectionTransformer = DeadCodeInjectionTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IDeadCodeInjectionCustomNode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.INodeTransformersRunner)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TDeadNodeInjectionCustomNodeFactory_1.TDeadNodeInjectionCustomNodeFactory !== "undefined" && TDeadNodeInjectionCustomNodeFactory_1.TDeadNodeInjectionCustomNodeFactory) === "function" ? _a : Object, typeof (_b = typeof INodeTransformersRunner_1.INodeTransformersRunner !== "undefined" && INodeTransformersRunner_1.INodeTransformersRunner) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object]) +], DeadCodeInjectionTransformer); +exports.DeadCodeInjectionTransformer = DeadCodeInjectionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/finalizing-transformers/EscapeSequenceTransformer.ts": +/*!************************************************************************************!*\ + !*** ./src/node-transformers/finalizing-transformers/EscapeSequenceTransformer.ts ***! + \************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.EscapeSequenceTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IEscapeSequenceEncoder_1 = __webpack_require__(/*! ../../interfaces/utils/IEscapeSequenceEncoder */ "./src/interfaces/utils/IEscapeSequenceEncoder.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let EscapeSequenceTransformer = class EscapeSequenceTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options, escapeSequenceEncoder) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.CustomCodeHelpersTransformer + ]; + this.escapeSequenceEncoder = escapeSequenceEncoder; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + return { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(literalNode, parentNode) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode)) { + return literalNode; + } + const encodedValue = this.escapeSequenceEncoder.encode(literalNode.value, this.options.unicodeEscapeSequence); + const newLiteralNode = NodeFactory_1.NodeFactory.literalNode(encodedValue); + NodeUtils_1.NodeUtils.parentizeNode(newLiteralNode, parentNode); + return newLiteralNode; + } +}; +EscapeSequenceTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IEscapeSequenceEncoder)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IEscapeSequenceEncoder_1.IEscapeSequenceEncoder !== "undefined" && IEscapeSequenceEncoder_1.IEscapeSequenceEncoder) === "function" ? _c : Object]) +], EscapeSequenceTransformer); +exports.EscapeSequenceTransformer = EscapeSequenceTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/initializing-transformers/CommentsTransformer.ts": +/*!********************************************************************************!*\ + !*** ./src/node-transformers/initializing-transformers/CommentsTransformer.ts ***! + \********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CommentsTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CommentsTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const ConditionalCommentObfuscatingGuard_1 = __webpack_require__(/*! ../preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard */ "./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CommentsTransformer = CommentsTransformer_1 = class CommentsTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Initializing: + return { + leave: (node) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + return { + leave: (node) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.filterCommentsOnFinalizingTraverse(node); + } + } + }; + default: + return null; + } + } + transformNode(rootNode) { + rootNode = this.filterCommentsOnPrimaryTraverse(rootNode); + if (!rootNode.comments || !rootNode.comments.length) { + return rootNode; + } + const comments = rootNode.comments.reverse(); + if (comments.length === 0) { + return rootNode; + } + if (!rootNode.body.length) { + rootNode.leadingComments = comments; + return rootNode; + } + let isFirstNode = true; + estraverse.traverse(rootNode, { + enter: (node) => { + if (node === rootNode) { + return; + } + const commentIdx = comments.findIndex((comment) => comment.range && node.range && comment.range[0] < node.range[0]); + if (commentIdx >= 0) { + (isFirstNode ? rootNode : node).leadingComments = + comments.splice(commentIdx, comments.length - commentIdx).reverse(); + } + isFirstNode = false; + } + }); + if (comments.length > 0) { + rootNode.trailingComments = comments.reverse(); + } + return rootNode; + } + filterCommentsOnPrimaryTraverse(rootNode) { + var _a; + rootNode.comments = (_a = rootNode.comments) === null || _a === void 0 ? void 0 : _a.filter((comment) => this.filterComment(comment, true)); + return rootNode; + } + filterCommentsOnFinalizingTraverse(rootNode) { + estraverse.replace(rootNode, { + enter: (node) => { + var _a, _b; + if (node.leadingComments) { + node.leadingComments = (_a = node.leadingComments) === null || _a === void 0 ? void 0 : _a.filter((comment) => this.filterComment(comment, false)); + } + if (node.trailingComments) { + node.trailingComments = (_b = node.trailingComments) === null || _b === void 0 ? void 0 : _b.filter((comment) => this.filterComment(comment, false)); + } + return node; + } + }); + return rootNode; + } + filterComment(comment, keepConditionalComment) { + if (keepConditionalComment && ConditionalCommentObfuscatingGuard_1.ConditionalCommentObfuscatingGuard.isConditionalComment(comment)) { + return true; + } + return CommentsTransformer_1.preservedWords + .some((preservedWord) => comment.value.includes(preservedWord)); + } +}; +CommentsTransformer.preservedWords = [ + '@license', + '@preserve' +]; +CommentsTransformer = CommentsTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], CommentsTransformer); +exports.CommentsTransformer = CommentsTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/CustomCodeHelpersTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/CustomCodeHelpersTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelpersTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperGroupStorage_1 = __webpack_require__(/*! ../../types/storages/TCustomCodeHelperGroupStorage */ "./src/types/storages/TCustomCodeHelperGroupStorage.ts"); +const IObfuscationEventEmitter_1 = __webpack_require__(/*! ../../interfaces/event-emitters/IObfuscationEventEmitter */ "./src/interfaces/event-emitters/IObfuscationEventEmitter.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ICallsGraphAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer */ "./src/interfaces/analyzers/calls-graph-analyzer/ICallsGraphAnalyzer.ts"); +const IPrevailingKindOfVariablesAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer */ "./src/interfaces/analyzers/calls-graph-analyzer/IPrevailingKindOfVariablesAnalyzer.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ObfuscationEvent_1 = __webpack_require__(/*! ../../enums/event-emitters/ObfuscationEvent */ "./src/enums/event-emitters/ObfuscationEvent.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let CustomCodeHelpersTransformer = class CustomCodeHelpersTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(callsGraphAnalyzer, prevailingKindOfVariablesAnalyzer, obfuscationEventEmitter, customCodeHelperGroupStorage, randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + this.callsGraphData = []; + this.callsGraphAnalyzer = callsGraphAnalyzer; + this.prevailingKindOfVariablesAnalyzer = prevailingKindOfVariablesAnalyzer; + this.obfuscationEventEmitter = obfuscationEventEmitter; + this.customCodeHelperGroupStorage = customCodeHelperGroupStorage; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + leave: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.prepareNode(node, parentNode); + this.appendCustomNodesBeforeObfuscation(node, parentNode); + return this.transformNode(node, parentNode); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + return { + leave: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.appendCustomNodesAfterObfuscation(node, parentNode); + } + } + }; + default: + return null; + } + } + prepareNode(node, parentNode) { + this.callsGraphData = this.callsGraphAnalyzer.analyze(node); + this.prevailingKindOfVariablesAnalyzer.analyze(node); + } + transformNode(node, parentNode) { + return node; + } + appendCustomNodesBeforeObfuscation(node, parentNode) { + this.customCodeHelperGroupStorage + .getStorage() + .forEach((customCodeHelperGroup) => { + customCodeHelperGroup.initialize(); + this.obfuscationEventEmitter.once(customCodeHelperGroup.getAppendEvent(), customCodeHelperGroup.appendNodes.bind(customCodeHelperGroup)); + }); + this.obfuscationEventEmitter.emit(ObfuscationEvent_1.ObfuscationEvent.BeforeObfuscation, node, this.callsGraphData); + } + appendCustomNodesAfterObfuscation(node, parentNode) { + this.obfuscationEventEmitter.emit(ObfuscationEvent_1.ObfuscationEvent.AfterObfuscation, node, this.callsGraphData); + } +}; +CustomCodeHelpersTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICallsGraphAnalyzer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IPrevailingKindOfVariablesAnalyzer)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IObfuscationEventEmitter)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.TCustomNodeGroupStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof ICallsGraphAnalyzer_1.ICallsGraphAnalyzer !== "undefined" && ICallsGraphAnalyzer_1.ICallsGraphAnalyzer) === "function" ? _a : Object, typeof (_b = typeof IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer !== "undefined" && IPrevailingKindOfVariablesAnalyzer_1.IPrevailingKindOfVariablesAnalyzer) === "function" ? _b : Object, typeof (_c = typeof IObfuscationEventEmitter_1.IObfuscationEventEmitter !== "undefined" && IObfuscationEventEmitter_1.IObfuscationEventEmitter) === "function" ? _c : Object, typeof (_d = typeof TCustomCodeHelperGroupStorage_1.TCustomCodeHelperGroupStorage !== "undefined" && TCustomCodeHelperGroupStorage_1.TCustomCodeHelperGroupStorage) === "function" ? _d : Object, typeof (_e = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _e : Object, typeof (_f = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _f : Object]) +], CustomCodeHelpersTransformer); +exports.CustomCodeHelpersTransformer = CustomCodeHelpersTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/EvalCallExpressionTransformer.ts": +/*!***************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/EvalCallExpressionTransformer.ts ***! + \***************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var EvalCallExpressionTransformer_1, _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.EvalCallExpressionTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +const StringUtils_1 = __webpack_require__(/*! ../../utils/StringUtils */ "./src/utils/StringUtils.ts"); +let EvalCallExpressionTransformer = EvalCallExpressionTransformer_1 = class EvalCallExpressionTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.EscapeSequenceTransformer, + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + this.evalRootAstHostNodeSet = new Set(); + } + static extractEvalStringFromCallExpressionArgument(node) { + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + return EvalCallExpressionTransformer_1 + .extractEvalStringFromLiteralNode(node); + } + if (NodeGuards_1.NodeGuards.isTemplateLiteralNode(node)) { + return EvalCallExpressionTransformer_1 + .extractEvalStringFromTemplateLiteralNode(node); + } + return null; + } + static extractEvalStringFromLiteralNode(node) { + return typeof node.value === 'string' ? node.value : null; + } + static extractEvalStringFromTemplateLiteralNode(node) { + const quasis = node.quasis; + const allowedQuasisLength = 1; + if (quasis.length !== allowedQuasisLength || node.expressions.length) { + return null; + } + return quasis[0].value.cooked; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + if (parentNode + && NodeGuards_1.NodeGuards.isCallExpressionNode(node) + && NodeGuards_1.NodeGuards.isIdentifierNode(node.callee) + && node.callee.name === 'eval') { + return this.transformNode(node, parentNode); + } + } + }; + case NodeTransformationStage_1.NodeTransformationStage.Finalizing: + if (!this.evalRootAstHostNodeSet.size) { + return null; + } + return { + leave: (node, parentNode) => { + if (parentNode && this.isEvalRootAstHostNode(node)) { + return this.restoreNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(callExpressionNode, parentNode) { + const callExpressionFirstArgument = callExpressionNode.arguments[0]; + if (!callExpressionFirstArgument) { + return callExpressionNode; + } + const evalString = EvalCallExpressionTransformer_1 + .extractEvalStringFromCallExpressionArgument(callExpressionFirstArgument); + if (!evalString) { + return callExpressionNode; + } + let ast; + try { + ast = NodeUtils_1.NodeUtils.convertCodeToStructure(evalString); + } + catch (_a) { + return callExpressionNode; + } + const evalRootAstHostNode = NodeFactory_1.NodeFactory + .functionExpressionNode([], NodeFactory_1.NodeFactory.blockStatementNode(ast)); + NodeUtils_1.NodeUtils.parentizeAst(evalRootAstHostNode); + NodeUtils_1.NodeUtils.parentizeNode(evalRootAstHostNode, parentNode); + this.evalRootAstHostNodeSet.add(evalRootAstHostNode); + return evalRootAstHostNode; + } + restoreNode(evalRootAstHostNode, parentNode) { + const targetAst = evalRootAstHostNode.body.body; + const obfuscatedCode = NodeUtils_1.NodeUtils.convertStructureToCode(targetAst); + return NodeFactory_1.NodeFactory.callExpressionNode(NodeFactory_1.NodeFactory.identifierNode('eval'), [ + NodeFactory_1.NodeFactory.literalNode(StringUtils_1.StringUtils.escapeJsString(obfuscatedCode)) + ]); + } + isEvalRootAstHostNode(node) { + return NodeGuards_1.NodeGuards.isFunctionExpressionNode(node) && this.evalRootAstHostNodeSet.has(node); + } +}; +EvalCallExpressionTransformer = EvalCallExpressionTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], EvalCallExpressionTransformer); +exports.EvalCallExpressionTransformer = EvalCallExpressionTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/MetadataTransformer.ts": +/*!*****************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/MetadataTransformer.ts ***! + \*****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MetadataTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let MetadataTransformer = class MetadataTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + return this.transformNode(node, parentNode); + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + NodeMetadata_1.NodeMetadata.set(node, { ignoredNode: false }); + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + NodeMetadata_1.NodeMetadata.set(node, { replacedLiteral: false }); + } + return node; + } +}; +MetadataTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], MetadataTransformer); +exports.MetadataTransformer = MetadataTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts": +/*!**************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/ObfuscatingGuardsTransformer.ts ***! + \**************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var ObfuscatingGuardsTransformer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatingGuardsTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TObfuscatingGuardFactory_1 = __webpack_require__(/*! ../../types/container/node-transformers/TObfuscatingGuardFactory */ "./src/types/container/node-transformers/TObfuscatingGuardFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const ObfuscatingGuard_1 = __webpack_require__(/*! ../../enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard */ "./src/enums/node-transformers/preparing-transformers/obfuscating-guards/ObfuscatingGuard.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let ObfuscatingGuardsTransformer = ObfuscatingGuardsTransformer_1 = class ObfuscatingGuardsTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(obfuscatingGuardFactory, randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer, + NodeTransformer_1.NodeTransformer.VariablePreserveTransformer + ]; + this.obfuscatingGuards = ObfuscatingGuardsTransformer_1.obfuscatingGuardsList.map(obfuscatingGuardFactory); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + return this.transformNode(node, parentNode); + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + const obfuscatingGuardResults = this.obfuscatingGuards + .map((obfuscatingGuard) => obfuscatingGuard.check(node)); + this.setNodeMetadata(node, obfuscatingGuardResults); + return node; + } + setNodeMetadata(node, obfuscatingGuardResults) { + const isTransformNode = obfuscatingGuardResults + .every((obfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform); + let isForceTransformNode = false; + let isIgnoredNode = false; + if (!isTransformNode) { + isForceTransformNode = obfuscatingGuardResults + .some((obfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult_1.ObfuscatingGuardResult.ForceTransform); + isIgnoredNode = !isForceTransformNode && obfuscatingGuardResults + .some((obfuscatingGuardResult) => obfuscatingGuardResult === ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore); + } + NodeMetadata_1.NodeMetadata.set(node, { + forceTransformNode: isForceTransformNode && !NodeGuards_1.NodeGuards.isProgramNode(node), + ignoredNode: isIgnoredNode && !NodeGuards_1.NodeGuards.isProgramNode(node) + }); + } +}; +ObfuscatingGuardsTransformer.obfuscatingGuardsList = [ + ObfuscatingGuard_1.ObfuscatingGuard.BlackListObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.ConditionalCommentObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.ForceTransformStringObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.IgnoredRequireImportObfuscatingGuard, + ObfuscatingGuard_1.ObfuscatingGuard.ReservedStringObfuscatingGuard +]; +ObfuscatingGuardsTransformer = ObfuscatingGuardsTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__INodeGuard)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TObfuscatingGuardFactory_1.TObfuscatingGuardFactory !== "undefined" && TObfuscatingGuardFactory_1.TObfuscatingGuardFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], ObfuscatingGuardsTransformer); +exports.ObfuscatingGuardsTransformer = ObfuscatingGuardsTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/ParentificationTransformer.ts": +/*!************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/ParentificationTransformer.ts ***! + \************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ParentificationTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ParentificationTransformer = class ParentificationTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + return { + enter: (node, parentNode) => { + return this.transformNode(node, parentNode); + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + return NodeUtils_1.NodeUtils.parentizeNode(node, parentNode); + } +}; +ParentificationTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ParentificationTransformer); +exports.ParentificationTransformer = ParentificationTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts": +/*!*************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/VariablePreserveTransformer.ts ***! + \*************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VariablePreserveTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../interfaces/node/IScopeIdentifiersTraverser */ "./src/interfaces/node/IScopeIdentifiersTraverser.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let VariablePreserveTransformer = class VariablePreserveTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options, scopeIdentifiersTraverser) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ParentificationTransformer + ]; + this.identifierReplacer = identifierReplacer; + this.scopeIdentifiersTraverser = scopeIdentifiersTraverser; + this.preserveScopeVariableIdentifiers = this.preserveScopeVariableIdentifiers.bind(this); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Preparing: + case NodeTransformationStage_1.NodeTransformationStage.Converting: + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(programNode, parentNode) { + this.scopeIdentifiersTraverser.traverseScopeIdentifiers(programNode, parentNode, this.preserveScopeVariableIdentifiers); + return programNode; + } + preserveScopeVariableIdentifiers(data) { + const { isGlobalDeclaration, isBubblingDeclaration, variable, variableScope } = data; + for (const identifier of variable.identifiers) { + if (isGlobalDeclaration || isBubblingDeclaration) { + this.preserveIdentifierNameForRootLexicalScope(identifier); + } + else { + this.preserveIdentifierNameForLexicalScope(identifier, variableScope); + } + } + } + preserveIdentifierNameForRootLexicalScope(identifierNode) { + this.identifierReplacer.preserveName(identifierNode); + } + preserveIdentifierNameForLexicalScope(identifierNode, variableScope) { + const lexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithLexicalScope(variableScope.block) + ? variableScope.block + : null; + if (!lexicalScopeNode) { + return; + } + this.identifierReplacer.preserveNameForLexicalScope(identifierNode, lexicalScopeNode); + } +}; +VariablePreserveTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object, typeof (_d = typeof IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser !== "undefined" && IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser) === "function" ? _d : Object]) +], VariablePreserveTransformer); +exports.VariablePreserveTransformer = VariablePreserveTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts": +/*!******************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/BlackListObfuscatingGuard.ts ***! + \******************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var BlackListObfuscatingGuard_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlackListObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let BlackListObfuscatingGuard = BlackListObfuscatingGuard_1 = class BlackListObfuscatingGuard { + constructor() { + this.blackListGuardsLength = BlackListObfuscatingGuard_1.blackListGuards.length; + } + check(node) { + for (let i = 0; i < this.blackListGuardsLength; i++) { + if (BlackListObfuscatingGuard_1.blackListGuards[i](node)) { + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } +}; +BlackListObfuscatingGuard.blackListGuards = [ + NodeGuards_1.NodeGuards.isUseStrictOperator +]; +BlackListObfuscatingGuard = BlackListObfuscatingGuard_1 = __decorate([ + inversify_1.injectable(), + __metadata("design:paramtypes", []) +], BlackListObfuscatingGuard); +exports.BlackListObfuscatingGuard = BlackListObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts": +/*!***************************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/ConditionalCommentObfuscatingGuard.ts ***! + \***************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var ConditionalCommentObfuscatingGuard_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ConditionalCommentObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ConditionalCommentObfuscatingGuard = ConditionalCommentObfuscatingGuard_1 = class ConditionalCommentObfuscatingGuard { + constructor() { + this.obfuscationAllowed = true; + } + static isConditionalComment(comment) { + return ConditionalCommentObfuscatingGuard_1.obfuscationEnableCommentRegExp.test(comment.value) || + ConditionalCommentObfuscatingGuard_1.obfuscationDisableCommentRegExp.test(comment.value); + } + check(node) { + if (NodeGuards_1.NodeGuards.isNodeWithComments(node)) { + const leadingComments = node.leadingComments; + if (leadingComments) { + this.obfuscationAllowed = this.checkComments(leadingComments); + } + } + return this.obfuscationAllowed + ? ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform + : ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + checkComments(comments) { + const commentsLength = comments.length; + let obfuscationAllowed = this.obfuscationAllowed; + for (let i = 0; i < commentsLength; i++) { + const comment = comments[i]; + if (ConditionalCommentObfuscatingGuard_1.obfuscationEnableCommentRegExp.test(comment.value)) { + obfuscationAllowed = true; + continue; + } + if (ConditionalCommentObfuscatingGuard_1.obfuscationDisableCommentRegExp.test(comment.value)) { + obfuscationAllowed = false; + } + } + return obfuscationAllowed; + } +}; +ConditionalCommentObfuscatingGuard.obfuscationEnableCommentRegExp = new RegExp('javascript-obfuscator *: *enable'); +ConditionalCommentObfuscatingGuard.obfuscationDisableCommentRegExp = new RegExp('javascript-obfuscator *: *disable'); +ConditionalCommentObfuscatingGuard = ConditionalCommentObfuscatingGuard_1 = __decorate([ + inversify_1.injectable() +], ConditionalCommentObfuscatingGuard); +exports.ConditionalCommentObfuscatingGuard = ConditionalCommentObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts": +/*!*****************************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/ForceTransformStringObfuscatingGuard.ts ***! + \*****************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ForceTransformStringObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ForceTransformStringObfuscatingGuard = class ForceTransformStringObfuscatingGuard { + constructor(options) { + this.options = options; + } + check(node) { + if (this.options.forceTransformStrings.length + && NodeGuards_1.NodeGuards.isLiteralNode(node) + && typeof node.value === 'string') { + return !this.isForceTransformString(node.value) + ? ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform + : ObfuscatingGuardResult_1.ObfuscatingGuardResult.ForceTransform; + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } + isForceTransformString(value) { + return this.options.forceTransformStrings + .some((forceTransformString) => { + return new RegExp(forceTransformString, 'g').exec(value) !== null; + }); + } +}; +ForceTransformStringObfuscatingGuard = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], ForceTransformStringObfuscatingGuard); +exports.ForceTransformStringObfuscatingGuard = ForceTransformStringObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard.ts": +/*!*****************************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/IgnoredRequireImportObfuscatingGuard.ts ***! + \*****************************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IgnoredRequireImportObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let IgnoredRequireImportObfuscatingGuard = class IgnoredRequireImportObfuscatingGuard { + constructor(options) { + this.options = options; + } + check(node) { + if (this.options.ignoreRequireImports + && NodeGuards_1.NodeGuards.isCallExpressionNode(node) + && NodeGuards_1.NodeGuards.isIdentifierNode(node.callee) + && node.callee.name === 'require') { + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } +}; +IgnoredRequireImportObfuscatingGuard = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], IgnoredRequireImportObfuscatingGuard); +exports.IgnoredRequireImportObfuscatingGuard = IgnoredRequireImportObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts": +/*!***********************************************************************************************************!*\ + !*** ./src/node-transformers/preparing-transformers/obfuscating-guards/ReservedStringObfuscatingGuard.ts ***! + \***********************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ReservedStringObfuscatingGuard = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ObfuscatingGuardResult_1 = __webpack_require__(/*! ../../../enums/node/ObfuscatingGuardResult */ "./src/enums/node/ObfuscatingGuardResult.ts"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ReservedStringObfuscatingGuard = class ReservedStringObfuscatingGuard { + constructor(options) { + this.options = options; + } + check(node) { + if (this.options.reservedStrings.length + && NodeGuards_1.NodeGuards.isLiteralNode(node) + && typeof node.value === 'string') { + return !this.isReservedString(node.value) + ? ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform + : ObfuscatingGuardResult_1.ObfuscatingGuardResult.Ignore; + } + return ObfuscatingGuardResult_1.ObfuscatingGuardResult.Transform; + } + isReservedString(value) { + return this.options.reservedStrings + .some((reservedString) => { + return new RegExp(reservedString, 'g').exec(value) !== null; + }); + } +}; +ReservedStringObfuscatingGuard = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _a : Object]) +], ReservedStringObfuscatingGuard); +exports.ReservedStringObfuscatingGuard = ReservedStringObfuscatingGuard; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/LabeledStatementTransformer.ts": +/*!**********************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/LabeledStatementTransformer.ts ***! + \**********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LabeledStatementTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLexicalScopeUtils_1 = __webpack_require__(/*! ../../node/NodeLexicalScopeUtils */ "./src/node/NodeLexicalScopeUtils.ts"); +let LabeledStatementTransformer = class LabeledStatementTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options) { + super(randomGenerator, options); + this.identifierReplacer = identifierReplacer; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLabeledStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(labeledStatementNode, parentNode) { + const lexicalScopeNode = NodeLexicalScopeUtils_1.NodeLexicalScopeUtils.getLexicalScope(labeledStatementNode); + if (!lexicalScopeNode) { + return labeledStatementNode; + } + this.storeLabeledStatementName(labeledStatementNode, lexicalScopeNode); + this.replaceLabeledStatementName(labeledStatementNode, lexicalScopeNode); + return labeledStatementNode; + } + storeLabeledStatementName(labeledStatementNode, lexicalScopeNode) { + this.identifierReplacer.storeLocalName(labeledStatementNode.label, lexicalScopeNode); + } + replaceLabeledStatementName(labeledStatementNode, lexicalScopeNode) { + estraverse.replace(labeledStatementNode, { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isLabelIdentifierNode(node, parentNode)) { + const newIdentifier = this.identifierReplacer + .replace(node, lexicalScopeNode); + node.name = newIdentifier.name; + } + } + }); + } +}; +LabeledStatementTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], LabeledStatementTransformer); +exports.LabeledStatementTransformer = LabeledStatementTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer.ts": +/*!**********************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/ScopeIdentifiersTransformer.ts ***! + \**********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeIdentifiersTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../interfaces/node/IScopeIdentifiersTraverser */ "./src/interfaces/node/IScopeIdentifiersTraverser.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +let ScopeIdentifiersTransformer = class ScopeIdentifiersTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options, scopeIdentifiersTraverser) { + super(randomGenerator, options); + this.lexicalScopesWithObjectPatternWithoutDeclarationMap = new Map(); + this.identifierReplacer = identifierReplacer; + this.scopeIdentifiersTraverser = scopeIdentifiersTraverser; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(programNode, parentNode) { + this.scopeIdentifiersTraverser.traverseScopeIdentifiers(programNode, parentNode, (data) => { + const { isGlobalDeclaration, variable, variableLexicalScopeNode } = data; + if (!this.options.renameGlobals && isGlobalDeclaration) { + const isImportBindingOrCatchClauseIdentifier = variable.defs + .every((definition) => definition.type === 'ImportBinding' + || definition.type === 'CatchClause'); + if (!isImportBindingOrCatchClauseIdentifier) { + return; + } + } + this.transformScopeVariableIdentifiers(variable, variableLexicalScopeNode, isGlobalDeclaration); + }); + return programNode; + } + transformScopeVariableIdentifiers(variable, lexicalScopeNode, isGlobalDeclaration) { + var _a; + const firstIdentifier = (_a = variable.identifiers[0]) !== null && _a !== void 0 ? _a : null; + if (!firstIdentifier) { + return; + } + if (!this.isReplaceableIdentifierNode(firstIdentifier, lexicalScopeNode, variable)) { + return; + } + this.storeIdentifierName(firstIdentifier, lexicalScopeNode, isGlobalDeclaration); + this.replaceIdentifierName(firstIdentifier, lexicalScopeNode, variable); + } + storeIdentifierName(identifierNode, lexicalScopeNode, isGlobalDeclaration) { + if (isGlobalDeclaration) { + this.identifierReplacer.storeGlobalName(identifierNode, lexicalScopeNode); + } + else { + this.identifierReplacer.storeLocalName(identifierNode, lexicalScopeNode); + } + } + replaceIdentifierName(identifierNode, lexicalScopeNode, variable) { + const newIdentifier = this.identifierReplacer + .replace(identifierNode, lexicalScopeNode); + variable.identifiers.forEach((identifier) => { + identifier.name = newIdentifier.name; + }); + variable.references.forEach((reference) => { + reference.identifier.name = identifierNode.name; + }); + } + isReplaceableIdentifierNode(identifierNode, lexicalScopeNode, variable) { + const parentNode = identifierNode.parentNode; + return !!parentNode + && !NodeMetadata_1.NodeMetadata.isIgnoredNode(identifierNode) + && !this.isProhibitedPropertyIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedPropertyAssignmentPatternIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedClassDeclarationNameIdentifierNode(variable, identifierNode, parentNode) + && !this.isProhibitedExportNamedClassDeclarationIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedExportNamedFunctionDeclarationIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedExportNamedVariableDeclarationIdentifierNode(identifierNode, parentNode) + && !this.isProhibitedImportSpecifierNode(identifierNode, parentNode) + && !this.isProhibitedVariableNameUsedInObjectPatternNode(variable, identifierNode, lexicalScopeNode) + && !NodeGuards_1.NodeGuards.isLabelIdentifierNode(identifierNode, parentNode); + } + isProhibitedClassDeclarationNameIdentifierNode(variable, identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isClassDeclarationNode(variable.scope.block) + && NodeGuards_1.NodeGuards.isClassDeclarationNode(parentNode) + && parentNode.id === identifierNode; + } + isProhibitedExportNamedClassDeclarationIdentifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isClassDeclarationNode(parentNode) + && parentNode.id === identifierNode + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode); + } + isProhibitedExportNamedFunctionDeclarationIdentifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(parentNode) + && parentNode.id === identifierNode + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode); + } + isProhibitedExportNamedVariableDeclarationIdentifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isVariableDeclaratorNode(parentNode) + && parentNode.id === identifierNode + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isVariableDeclarationNode(parentNode.parentNode) + && !!parentNode.parentNode.parentNode + && NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode.parentNode.parentNode); + } + isProhibitedImportSpecifierNode(identifierNode, parentNode) { + return NodeGuards_1.NodeGuards.isImportSpecifierNode(parentNode) + && parentNode.imported.name === parentNode.local.name; + } + isProhibitedPropertyIdentifierNode(node, parentNode) { + return NodeGuards_1.NodeGuards.isPropertyNode(parentNode) + && !parentNode.computed + && NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.key) + && NodeGuards_1.NodeGuards.isIdentifierNode(node) + && parentNode.shorthand + && parentNode.key.name === node.name; + } + isProhibitedPropertyAssignmentPatternIdentifierNode(node, parentNode) { + return NodeGuards_1.NodeGuards.isAssignmentPatternNode(parentNode) + && parentNode.left === node + && !!parentNode.parentNode + && NodeGuards_1.NodeGuards.isPropertyNode(parentNode.parentNode) + && NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.left) + && NodeGuards_1.NodeGuards.isIdentifierNode(parentNode.parentNode.key) + && parentNode.left.name === parentNode.parentNode.key.name; + } + isProhibitedVariableNameUsedInObjectPatternNode(variable, identifierNode, lexicalScopeNode) { + let isLexicalScopeHasObjectPatternWithoutDeclaration = this.lexicalScopesWithObjectPatternWithoutDeclarationMap.get(lexicalScopeNode); + if (isLexicalScopeHasObjectPatternWithoutDeclaration === false) { + return false; + } + const hasVarDefinitions = variable.defs.some((definition) => definition.kind === 'var'); + if (!hasVarDefinitions) { + return false; + } + let isProhibitedVariableDeclaration = false; + estraverse.traverse(lexicalScopeNode, { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isObjectPatternNode(node) + && parentNode + && NodeGuards_1.NodeGuards.isAssignmentExpressionNode(parentNode)) { + isLexicalScopeHasObjectPatternWithoutDeclaration = true; + const properties = node.properties; + for (const property of properties) { + if (!NodeGuards_1.NodeGuards.isPropertyNode(property)) { + continue; + } + if (property.computed || !property.shorthand) { + continue; + } + if (!NodeGuards_1.NodeGuards.isIdentifierNode(property.key)) { + continue; + } + if (identifierNode.name !== property.key.name) { + continue; + } + isProhibitedVariableDeclaration = true; + return estraverse.VisitorOption.Break; + } + } + } + }); + this.lexicalScopesWithObjectPatternWithoutDeclarationMap.set(lexicalScopeNode, isLexicalScopeHasObjectPatternWithoutDeclaration !== null && isLexicalScopeHasObjectPatternWithoutDeclaration !== void 0 ? isLexicalScopeHasObjectPatternWithoutDeclaration : false); + return isProhibitedVariableDeclaration; + } +}; +ScopeIdentifiersTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object, typeof (_d = typeof IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser !== "undefined" && IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser) === "function" ? _d : Object]) +], ScopeIdentifiersTransformer); +exports.ScopeIdentifiersTransformer = ScopeIdentifiersTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer.ts": +/*!*****************************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/ScopeThroughIdentifiersTransformer.ts ***! + \*****************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeThroughIdentifiersTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IIdentifierReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer */ "./src/interfaces/node-transformers/rename-identifiers-transformers/replacer/IIdentifierReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IScopeIdentifiersTraverser_1 = __webpack_require__(/*! ../../interfaces/node/IScopeIdentifiersTraverser */ "./src/interfaces/node/IScopeIdentifiersTraverser.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let ScopeThroughIdentifiersTransformer = class ScopeThroughIdentifiersTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(identifierReplacer, randomGenerator, options, scopeIdentifiersTraverser) { + super(randomGenerator, options); + this.identifierReplacer = identifierReplacer; + this.scopeIdentifiersTraverser = scopeIdentifiersTraverser; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameIdentifiers: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isProgramNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(programNode, parentNode) { + this.scopeIdentifiersTraverser.traverseScopeThroughIdentifiers(programNode, parentNode, (data) => { + const { reference, variableLexicalScopeNode } = data; + this.transformScopeThroughIdentifiers(reference, variableLexicalScopeNode); + }); + return programNode; + } + transformScopeThroughIdentifiers(reference, lexicalScopeNode) { + if (reference.resolved) { + return; + } + const identifier = reference.identifier; + this.storeIdentifierName(identifier, lexicalScopeNode); + this.replaceIdentifierName(identifier, lexicalScopeNode, reference); + } + storeIdentifierName(identifierNode, lexicalScopeNode) { + this.identifierReplacer.storeLocalName(identifierNode, lexicalScopeNode); + } + replaceIdentifierName(identifierNode, lexicalScopeNode, reference) { + const newIdentifier = this.identifierReplacer + .replace(identifierNode, lexicalScopeNode); + reference.identifier.name = newIdentifier.name; + } +}; +ScopeThroughIdentifiersTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IIdentifierReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeIdentifiersTraverser)), + __metadata("design:paramtypes", [typeof (_a = typeof IIdentifierReplacer_1.IIdentifierReplacer !== "undefined" && IIdentifierReplacer_1.IIdentifierReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object, typeof (_d = typeof IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser !== "undefined" && IScopeIdentifiersTraverser_1.IScopeIdentifiersTraverser) === "function" ? _d : Object]) +], ScopeThroughIdentifiersTransformer); +exports.ScopeThroughIdentifiersTransformer = ScopeThroughIdentifiersTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer.ts": +/*!**********************************************************************************************!*\ + !*** ./src/node-transformers/rename-identifiers-transformers/replacer/IdentifierReplacer.ts ***! + \**********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IdentifierReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let IdentifierReplacer = class IdentifierReplacer { + constructor(identifierNamesGeneratorFactory, options) { + this.blockScopesMap = new Map(); + this.options = options; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + } + storeGlobalName(identifierNode, lexicalScopeNode) { + const identifierName = identifierNode.name; + if (this.isReservedName(identifierName)) { + return; + } + const newIdentifierName = this.identifierNamesGenerator.generateForGlobalScope(); + if (!this.blockScopesMap.has(lexicalScopeNode)) { + this.blockScopesMap.set(lexicalScopeNode, new Map()); + } + const namesMap = this.blockScopesMap.get(lexicalScopeNode); + namesMap.set(identifierName, newIdentifierName); + } + storeLocalName(identifierNode, lexicalScopeNode) { + const identifierName = identifierNode.name; + if (this.isReservedName(identifierName)) { + return; + } + const newIdentifierName = this.identifierNamesGenerator.generateForLexicalScope(lexicalScopeNode); + if (!this.blockScopesMap.has(lexicalScopeNode)) { + this.blockScopesMap.set(lexicalScopeNode, new Map()); + } + const namesMap = this.blockScopesMap.get(lexicalScopeNode); + namesMap.set(identifierName, newIdentifierName); + } + replace(identifierNode, lexicalScopeNode) { + let identifierName = identifierNode.name; + if (this.blockScopesMap.has(lexicalScopeNode)) { + const namesMap = this.blockScopesMap.get(lexicalScopeNode); + if (namesMap.has(identifierName)) { + identifierName = namesMap.get(identifierName); + } + } + return NodeFactory_1.NodeFactory.identifierNode(identifierName); + } + preserveName(identifierNode) { + this.identifierNamesGenerator.preserveName(identifierNode.name); + } + preserveNameForLexicalScope(identifierNode, lexicalScopeNode) { + this.identifierNamesGenerator.preserveNameForLexicalScope(identifierNode.name, lexicalScopeNode); + } + isReservedName(name) { + if (!this.options.reservedNames.length) { + return false; + } + return this.options.reservedNames + .some((reservedName) => { + return new RegExp(reservedName, 'g').exec(name) !== null; + }); + } +}; +IdentifierReplacer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], IdentifierReplacer); +exports.IdentifierReplacer = IdentifierReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-properties-transformers/RenamePropertiesTransformer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/node-transformers/rename-properties-transformers/RenamePropertiesTransformer.ts ***! + \*********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var RenamePropertiesTransformer_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RenamePropertiesTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRenamePropertiesReplacer_1 = __webpack_require__(/*! ../../interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer */ "./src/interfaces/node-transformers/rename-properties-transformers/replacer/IRenamePropertiesReplacer.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let RenamePropertiesTransformer = RenamePropertiesTransformer_1 = class RenamePropertiesTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(renamePropertiesReplacer, randomGenerator, options) { + super(randomGenerator, options); + this.renamePropertiesReplacer = renamePropertiesReplacer; + } + static isValidPropertyNode(propertyNode, propertyKeyNode) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(propertyKeyNode) && propertyNode.computed) { + return false; + } + return NodeGuards_1.NodeGuards.isIdentifierNode(propertyKeyNode) || NodeGuards_1.NodeGuards.isLiteralNode(propertyKeyNode); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.RenameProperties: + return { + enter: (node, parentNode) => { + if (parentNode) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(node, parentNode) { + if (NodeGuards_1.NodeGuards.isPropertyNode(node)) { + return this.transformPropertyNode(node); + } + if (NodeGuards_1.NodeGuards.isMemberExpressionNode(node)) { + return this.transformMemberExpressionNode(node); + } + if (NodeGuards_1.NodeGuards.isMethodDefinitionNode(node)) { + return this.transformMethodDefinitionNode(node); + } + return node; + } + transformPropertyNode(propertyNode) { + const propertyKeyNode = propertyNode.key; + if (RenamePropertiesTransformer_1.isValidPropertyNode(propertyNode, propertyKeyNode)) { + propertyNode.key = this.renamePropertiesReplacer.replace(propertyKeyNode); + propertyNode.shorthand = false; + } + return propertyNode; + } + transformMemberExpressionNode(memberExpressionNode) { + const propertyKeyNode = memberExpressionNode.property; + if (RenamePropertiesTransformer_1.isValidPropertyNode(memberExpressionNode, propertyKeyNode)) { + memberExpressionNode.property = this.renamePropertiesReplacer.replace(propertyKeyNode); + } + return memberExpressionNode; + } + transformMethodDefinitionNode(methodDefinitionNode) { + const propertyKeyNode = methodDefinitionNode.key; + if (RenamePropertiesTransformer_1.isValidPropertyNode(methodDefinitionNode, propertyKeyNode)) { + methodDefinitionNode.key = this.renamePropertiesReplacer.replace(propertyKeyNode); + } + return methodDefinitionNode; + } +}; +RenamePropertiesTransformer = RenamePropertiesTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRenamePropertiesReplacer)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRenamePropertiesReplacer_1.IRenamePropertiesReplacer !== "undefined" && IRenamePropertiesReplacer_1.IRenamePropertiesReplacer) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], RenamePropertiesTransformer); +exports.RenamePropertiesTransformer = RenamePropertiesTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer.ts": +/*!***************************************************************************************************!*\ + !*** ./src/node-transformers/rename-properties-transformers/replacer/RenamePropertiesReplacer.ts ***! + \***************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RenamePropertiesReplacer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ReservedDomProperties_json_1 = __importDefault(__webpack_require__(/*! ./ReservedDomProperties.json */ "./src/node-transformers/rename-properties-transformers/replacer/ReservedDomProperties.json")); +const NodeGuards_1 = __webpack_require__(/*! ../../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let RenamePropertiesReplacer = class RenamePropertiesReplacer { + constructor(identifierNamesGeneratorFactory, options) { + this.propertyNamesMap = new Map(); + this.reservedDomPropertiesList = new Set(ReservedDomProperties_json_1.default); + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.options = options; + } + replace(node) { + if (NodeGuards_1.NodeGuards.isIdentifierNode(node)) { + return NodeFactory_1.NodeFactory.identifierNode(this.replacePropertyName(node.name)); + } + if (NodeGuards_1.NodeGuards.isLiteralNode(node) && typeof node.value === 'string') { + return NodeFactory_1.NodeFactory.literalNode(this.replacePropertyName(node.value)); + } + return node; + } + replacePropertyName(propertyName) { + var _a; + if (this.isReservedName(propertyName)) { + return propertyName; + } + let renamedPropertyName = (_a = this.propertyNamesMap.get(propertyName)) !== null && _a !== void 0 ? _a : null; + if (renamedPropertyName !== null) { + return renamedPropertyName; + } + renamedPropertyName = this.identifierNamesGenerator.generateNext(); + this.propertyNamesMap.set(propertyName, renamedPropertyName); + return renamedPropertyName; + } + isReservedName(name) { + return this.isReservedOptionName(name) + || this.isReservedDomPropertyName(name); + } + isReservedOptionName(name) { + if (!this.options.reservedNames.length) { + return false; + } + return this.options.reservedNames + .some((reservedName) => { + return new RegExp(reservedName, 'g').exec(name) !== null; + }); + } + isReservedDomPropertyName(name) { + return this.reservedDomPropertiesList.has(name); + } +}; +RenamePropertiesReplacer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], RenamePropertiesReplacer); +exports.RenamePropertiesReplacer = RenamePropertiesReplacer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractStatementSimplifyTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +let AbstractStatementSimplifyTransformer = class AbstractStatementSimplifyTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.ExpressionStatementsMergeTransformer, + NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer + ]; + } + getStatementSimplifyData(statementNode) { + if (!statementNode) { + return null; + } + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(statementNode)) { + return { + leadingStatements: [statementNode], + trailingStatement: null, + hasReturnStatement: false, + hasSingleExpression: false + }; + } + const { startIndex, unwrappedExpressions, hasReturnStatement } = this.collectIteratedStatementsSimplifyData(statementNode); + const leadingStatements = this.getLeadingStatements(statementNode, startIndex); + if (!unwrappedExpressions.length) { + return { + leadingStatements, + trailingStatement: null, + hasReturnStatement, + hasSingleExpression: false + }; + } + const hasSingleExpression = unwrappedExpressions.length === 1; + const expression = hasSingleExpression + ? unwrappedExpressions[0] + : NodeFactory_1.NodeFactory.sequenceExpressionNode(unwrappedExpressions); + const statement = hasReturnStatement + ? NodeFactory_1.NodeFactory.returnStatementNode(expression) + : NodeFactory_1.NodeFactory.expressionStatementNode(expression); + return { + leadingStatements, + trailingStatement: { + statement, + expression + }, + hasReturnStatement, + hasSingleExpression + }; + } + collectIteratedStatementsSimplifyData(statementNode) { + const statementNodeBodyLength = statementNode.body.length; + const unwrappedExpressions = []; + let hasReturnStatement = false; + let startIndex = null; + for (let i = statementNodeBodyLength - 1; i >= 0; i--) { + const statementBodyStatementNode = statementNode.body[i]; + if (NodeGuards_1.NodeGuards.isExpressionStatementNode(statementBodyStatementNode)) { + if (NodeGuards_1.NodeGuards.isSequenceExpressionNode(statementBodyStatementNode.expression)) { + unwrappedExpressions.unshift(...statementBodyStatementNode.expression.expressions); + } + else { + unwrappedExpressions.unshift(statementBodyStatementNode.expression); + } + startIndex = i; + continue; + } + if (NodeGuards_1.NodeGuards.isReturnStatementNode(statementBodyStatementNode) + && statementBodyStatementNode.argument) { + unwrappedExpressions.unshift(statementBodyStatementNode.argument); + hasReturnStatement = true; + startIndex = i; + continue; + } + break; + } + return { + startIndex, + unwrappedExpressions, + hasReturnStatement + }; + } + getLeadingStatements(statementNode, startIndex) { + if (startIndex === null) { + return statementNode.body; + } + return startIndex === 0 + ? [] + : statementNode.body.slice(0, startIndex); + } + getPartialStatement(statementSimplifyData) { + if (!statementSimplifyData.leadingStatements.length && statementSimplifyData.trailingStatement) { + return statementSimplifyData.trailingStatement.statement; + } + return NodeFactory_1.NodeFactory.blockStatementNode([ + ...statementSimplifyData.leadingStatements.length ? statementSimplifyData.leadingStatements : [], + ...statementSimplifyData.trailingStatement ? [statementSimplifyData.trailingStatement.statement] : [] + ]); + } +}; +AbstractStatementSimplifyTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], AbstractStatementSimplifyTransformer); +exports.AbstractStatementSimplifyTransformer = AbstractStatementSimplifyTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer.ts": +/*!*********************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/BlockStatementSimplifyTransformer.ts ***! + \*********************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.BlockStatementSimplifyTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformer_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformer */ "./src/enums/node-transformers/NodeTransformer.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractStatementSimplifyTransformer_1 = __webpack_require__(/*! ./AbstractStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let BlockStatementSimplifyTransformer = class BlockStatementSimplifyTransformer extends AbstractStatementSimplifyTransformer_1.AbstractStatementSimplifyTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + this.runAfter = [ + NodeTransformer_1.NodeTransformer.VariableDeclarationsMergeTransformer + ]; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isBlockStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(statementNode, parentNode) { + const simplifyData = this.getStatementSimplifyData(statementNode); + if (!simplifyData) { + return statementNode; + } + const partialStatementNode = this.getPartialStatement(simplifyData); + const transformedNode = NodeGuards_1.NodeGuards.isBlockStatementNode(partialStatementNode) + ? partialStatementNode + : NodeFactory_1.NodeFactory.blockStatementNode([partialStatementNode]); + return NodeUtils_1.NodeUtils.parentizeNode(transformedNode, parentNode); + } +}; +BlockStatementSimplifyTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], BlockStatementSimplifyTransformer); +exports.BlockStatementSimplifyTransformer = BlockStatementSimplifyTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/ExpressionStatementsMergeTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ExpressionStatementsMergeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let ExpressionStatementsMergeTransformer = class ExpressionStatementsMergeTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isExpressionStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(expressionStatementNode, parentNode) { + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return expressionStatementNode; + } + const prevStatement = NodeStatementUtils_1.NodeStatementUtils.getPreviousSiblingStatement(expressionStatementNode); + if (!prevStatement || !NodeGuards_1.NodeGuards.isExpressionStatementNode(prevStatement)) { + return expressionStatementNode; + } + if (NodeGuards_1.NodeGuards.isSequenceExpressionNode(prevStatement.expression)) { + prevStatement.expression.expressions.push(expressionStatementNode.expression); + NodeUtils_1.NodeUtils.parentizeNode(expressionStatementNode.expression, prevStatement.expression); + } + else { + prevStatement.expression = NodeFactory_1.NodeFactory.sequenceExpressionNode([ + prevStatement.expression, + expressionStatementNode.expression + ]); + NodeUtils_1.NodeUtils.parentizeAst(prevStatement.expression); + NodeUtils_1.NodeUtils.parentizeNode(prevStatement.expression, prevStatement); + } + return estraverse.VisitorOption.Remove; + } +}; +ExpressionStatementsMergeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ExpressionStatementsMergeTransformer); +exports.ExpressionStatementsMergeTransformer = ExpressionStatementsMergeTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/IfStatementSimplifyTransformer.ts": +/*!******************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/IfStatementSimplifyTransformer.ts ***! + \******************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IfStatementSimplifyTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractStatementSimplifyTransformer_1 = __webpack_require__(/*! ./AbstractStatementSimplifyTransformer */ "./src/node-transformers/simplifying-transformers/AbstractStatementSimplifyTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeFactory_1 = __webpack_require__(/*! ../../node/NodeFactory */ "./src/node/NodeFactory.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let IfStatementSimplifyTransformer = class IfStatementSimplifyTransformer extends AbstractStatementSimplifyTransformer_1.AbstractStatementSimplifyTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isIfStatementNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(ifStatementNode, parentNode) { + const consequentSimplifyData = this.getStatementSimplifyData(ifStatementNode.consequent); + if (!consequentSimplifyData) { + return ifStatementNode; + } + let transformedNode; + if (!ifStatementNode.alternate) { + transformedNode = this.getConsequentNode(ifStatementNode, consequentSimplifyData); + } + else { + const alternateSimplifyData = this.getStatementSimplifyData(ifStatementNode.alternate); + if (!alternateSimplifyData) { + return ifStatementNode; + } + transformedNode = this.getConsequentAndAlternateNode(ifStatementNode, consequentSimplifyData, alternateSimplifyData); + } + return NodeUtils_1.NodeUtils.parentizeNode(transformedNode, parentNode); + } + getConsequentNode(ifStatementNode, consequentSimplifyData) { + if (consequentSimplifyData.leadingStatements.length + || !consequentSimplifyData.trailingStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, this.getPartialStatement(consequentSimplifyData)); + } + if (consequentSimplifyData.hasReturnStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.statement); + } + return NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.logicalExpressionNode('&&', ifStatementNode.test, consequentSimplifyData.trailingStatement.expression)); + } + getConsequentAndAlternateNode(ifStatementNode, consequentSimplifyData, alternateSimplifyData) { + if (consequentSimplifyData.leadingStatements.length + || alternateSimplifyData.leadingStatements.length + || !consequentSimplifyData.trailingStatement + || !alternateSimplifyData.trailingStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, this.getPartialStatement(consequentSimplifyData), this.getPartialStatement(alternateSimplifyData)); + } + if (consequentSimplifyData.hasReturnStatement && alternateSimplifyData.hasReturnStatement) { + return NodeFactory_1.NodeFactory.returnStatementNode(NodeFactory_1.NodeFactory.conditionalExpressionNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.expression, alternateSimplifyData.trailingStatement.expression)); + } + if (consequentSimplifyData.hasReturnStatement || alternateSimplifyData.hasReturnStatement) { + return NodeFactory_1.NodeFactory.ifStatementNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.statement, alternateSimplifyData.trailingStatement.statement); + } + return NodeFactory_1.NodeFactory.expressionStatementNode(NodeFactory_1.NodeFactory.conditionalExpressionNode(ifStatementNode.test, consequentSimplifyData.trailingStatement.expression, alternateSimplifyData.trailingStatement.expression)); + } + getPartialStatement(statementSimplifyData) { + const partialStatement = super.getPartialStatement(statementSimplifyData); + if (!NodeGuards_1.NodeGuards.isBlockStatementNode(partialStatement)) { + return partialStatement; + } + return partialStatement.body.length === 1 + && !this.isProhibitedSingleStatementForIfStatementBranch(partialStatement.body[0]) + ? partialStatement.body[0] + : partialStatement; + } + isProhibitedSingleStatementForIfStatementBranch(statement) { + return NodeGuards_1.NodeGuards.isFunctionDeclarationNode(statement) + || NodeGuards_1.NodeGuards.isIfStatementNode(statement) + || (NodeGuards_1.NodeGuards.isVariableDeclarationNode(statement) && statement.kind !== 'var'); + } +}; +IfStatementSimplifyTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], IfStatementSimplifyTransformer); +exports.IfStatementSimplifyTransformer = IfStatementSimplifyTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer.ts": +/*!************************************************************************************************!*\ + !*** ./src/node-transformers/simplifying-transformers/VariableDeclarationsMergeTransformer.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VariableDeclarationsMergeTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeStatementUtils_1 = __webpack_require__(/*! ../../node/NodeStatementUtils */ "./src/node/NodeStatementUtils.ts"); +let VariableDeclarationsMergeTransformer = class VariableDeclarationsMergeTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.Simplifying: + return { + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isVariableDeclarationNode(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + transformNode(variableDeclarationNode, parentNode) { + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return variableDeclarationNode; + } + const prevStatement = NodeStatementUtils_1.NodeStatementUtils.getPreviousSiblingStatement(variableDeclarationNode); + if (!prevStatement || !NodeGuards_1.NodeGuards.isVariableDeclarationNode(prevStatement)) { + return variableDeclarationNode; + } + if (variableDeclarationNode.kind !== prevStatement.kind) { + return variableDeclarationNode; + } + prevStatement.declarations.push(...variableDeclarationNode.declarations); + return estraverse.VisitorOption.Remove; + } +}; +VariableDeclarationsMergeTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], VariableDeclarationsMergeTransformer); +exports.VariableDeclarationsMergeTransformer = VariableDeclarationsMergeTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts": +/*!****************************************************************************************************!*\ + !*** ./src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts ***! + \****************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TStringArrayCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TStringArrayCustomNodeFactory */ "./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts"); +const IStringArrayScopeCallsWrapperNamesDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const IVisitedLexicalScopeNodesStackStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage */ "./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const StringArrayCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/StringArrayCustomNode */ "./src/enums/custom-nodes/StringArrayCustomNode.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeAppender_1 = __webpack_require__(/*! ../../node/NodeAppender */ "./src/node/NodeAppender.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +let StringArrayScopeCallsWrapperTransformer = class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options, visitedLexicalScopeNodesStackStorage, stringArrayStorage, stringArrayScopeCallsWrapperNamesDataStorage, stringArrayScopeCallsWrapperLexicalScopeDataStorage, stringArrayTransformerCustomNodeFactory) { + super(randomGenerator, options); + this.visitedLexicalScopeNodesStackStorage = visitedLexicalScopeNodesStackStorage; + this.stringArrayStorage = stringArrayStorage; + this.stringArrayScopeCallsWrapperNamesDataStorage = stringArrayScopeCallsWrapperNamesDataStorage; + this.stringArrayScopeCallsWrapperLexicalScopeDataStorage = stringArrayScopeCallsWrapperLexicalScopeDataStorage; + this.stringArrayTransformerCustomNodeFactory = stringArrayTransformerCustomNodeFactory; + } + getVisitor(nodeTransformationStage) { + if (!this.options.stringArrayWrappersCount) { + return null; + } + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.StringArray: + return { + enter: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isNodeWithLexicalScopeStatements(node, parentNode)) { + this.onLexicalScopeNodeEnter(node); + } + }, + leave: (node, parentNode) => { + if (parentNode && NodeGuards_1.NodeGuards.isNodeWithLexicalScopeStatements(node, parentNode)) { + this.onLexicalScopeNodeLeave(); + return this.transformNode(node); + } + } + }; + default: + return null; + } + } + transformNode(lexicalScopeBodyNode) { + var _a, _b; + const stringArrayScopeCallsWrapperNamesDataByEncoding = (_a = this.stringArrayScopeCallsWrapperNamesDataStorage.get(lexicalScopeBodyNode)) !== null && _a !== void 0 ? _a : null; + const stringArrayScopeCallsWrapperLexicalScopeData = (_b = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(lexicalScopeBodyNode)) !== null && _b !== void 0 ? _b : null; + if (!stringArrayScopeCallsWrapperNamesDataByEncoding || !stringArrayScopeCallsWrapperLexicalScopeData) { + return lexicalScopeBodyNode; + } + const { callsWrappersParameterIndexesData: stringArrayScopeCallsWrapperParameterIndexes } = stringArrayScopeCallsWrapperLexicalScopeData; + const stringArrayScopeCallsWrapperNamesDataList = Object.values(stringArrayScopeCallsWrapperNamesDataByEncoding); + for (const stringArrayScopeCallsWrapperNamesData of stringArrayScopeCallsWrapperNamesDataList) { + if (!stringArrayScopeCallsWrapperNamesData) { + continue; + } + const { names } = stringArrayScopeCallsWrapperNamesData; + const namesLength = names.length; + for (let i = namesLength - 1; i >= 0; i--) { + const stringArrayScopeCallsWrapperName = names[i]; + const { name: upperStringArrayCallsWrapperName, index: upperStringArrayCallsWrapperShiftedIndex, parameterIndexesData: upperStringArrayCallsWrapperParameterIndexes } = this.getUpperStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData); + const stringArrayScopeCallsWrapperNode = this.getStringArrayScopeCallsWrapperNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, upperStringArrayCallsWrapperShiftedIndex); + NodeAppender_1.NodeAppender.prepend(lexicalScopeBodyNode, stringArrayScopeCallsWrapperNode); + } + } + return lexicalScopeBodyNode; + } + getRootStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData) { + const { encoding } = stringArrayScopeCallsWrapperNamesData; + const { resultShiftedIndex } = stringArrayScopeCallsWrapperLexicalScopeData; + return { + name: this.stringArrayStorage.getStorageCallsWrapperName(encoding), + index: resultShiftedIndex, + parameterIndexesData: null + }; + } + getUpperStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData) { + var _a, _b, _c, _d, _e, _f; + const { encoding } = stringArrayScopeCallsWrapperNamesData; + const { scopeShiftedIndex } = stringArrayScopeCallsWrapperLexicalScopeData; + const rootStringArrayCallsWrapperData = this.getRootStringArrayCallsWrapperData(stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData); + if (!this.options.stringArrayWrappersChainedCalls) { + return rootStringArrayCallsWrapperData; + } + const parentLexicalScopeBodyNode = (_a = this.visitedLexicalScopeNodesStackStorage.getLastElement()) !== null && _a !== void 0 ? _a : null; + if (!parentLexicalScopeBodyNode) { + return rootStringArrayCallsWrapperData; + } + const parentLexicalScopeNamesDataByEncoding = (_b = this.stringArrayScopeCallsWrapperNamesDataStorage + .get(parentLexicalScopeBodyNode)) !== null && _b !== void 0 ? _b : null; + const parentScopeCallsWrapperLexicalScopeData = (_c = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage + .get(parentLexicalScopeBodyNode)) !== null && _c !== void 0 ? _c : null; + const parentLexicalScopeNames = (_e = (_d = parentLexicalScopeNamesDataByEncoding === null || parentLexicalScopeNamesDataByEncoding === void 0 ? void 0 : parentLexicalScopeNamesDataByEncoding[encoding]) === null || _d === void 0 ? void 0 : _d.names) !== null && _e !== void 0 ? _e : null; + if (!(parentLexicalScopeNames === null || parentLexicalScopeNames === void 0 ? void 0 : parentLexicalScopeNames.length)) { + return rootStringArrayCallsWrapperData; + } + const upperStringArrayCallsWrapperName = this.randomGenerator + .getRandomGenerator() + .pickone(parentLexicalScopeNames); + const parameterIndexesData = (_f = parentScopeCallsWrapperLexicalScopeData === null || parentScopeCallsWrapperLexicalScopeData === void 0 ? void 0 : parentScopeCallsWrapperLexicalScopeData.callsWrappersParameterIndexesData) !== null && _f !== void 0 ? _f : null; + return { + name: upperStringArrayCallsWrapperName, + index: scopeShiftedIndex, + parameterIndexesData + }; + } + getStringArrayScopeCallsWrapperNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex) { + switch (this.options.stringArrayWrappersType) { + case StringArrayWrappersType_1.StringArrayWrappersType.Function: + return this.getStringArrayScopeCallsWrapperFunctionNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex); + case StringArrayWrappersType_1.StringArrayWrappersType.Variable: + default: + return this.getStringArrayScopeCallsWrapperVariableNode(stringArrayScopeCallsWrapperName, upperStringArrayCallsWrapperName); + } + } + getStringArrayScopeCallsWrapperVariableNode(stringArrayScopeCallsWrapperName, upperStringArrayCallsWrapperName) { + const stringArrayScopeCallsWrapperVariableNode = this.stringArrayTransformerCustomNodeFactory(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperVariableNode); + stringArrayScopeCallsWrapperVariableNode.initialize(stringArrayScopeCallsWrapperName, upperStringArrayCallsWrapperName); + return stringArrayScopeCallsWrapperVariableNode.getNode(); + } + getStringArrayScopeCallsWrapperFunctionNode(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex) { + const stringArrayScopeCallsWrapperFunctionNode = this.stringArrayTransformerCustomNodeFactory(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayScopeCallsWrapperFunctionNode); + stringArrayScopeCallsWrapperFunctionNode.initialize(stringArrayScopeCallsWrapperName, stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex); + return stringArrayScopeCallsWrapperFunctionNode.getNode(); + } + onLexicalScopeNodeEnter(lexicalScopeBodyNode) { + this.visitedLexicalScopeNodesStackStorage.push(lexicalScopeBodyNode); + } + onLexicalScopeNodeLeave() { + this.visitedLexicalScopeNodesStackStorage.pop(); + } +}; +StringArrayScopeCallsWrapperTransformer = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayCustomNode)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage !== "undefined" && IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage) === "function" ? _c : Object, typeof (_d = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _d : Object, typeof (_e = typeof IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage !== "undefined" && IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage) === "function" ? _e : Object, typeof (_f = typeof IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage !== "undefined" && IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage) === "function" ? _f : Object, typeof (_g = typeof TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory !== "undefined" && TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory) === "function" ? _g : Object]) +], StringArrayScopeCallsWrapperTransformer); +exports.StringArrayScopeCallsWrapperTransformer = StringArrayScopeCallsWrapperTransformer; + + +/***/ }), + +/***/ "./src/node-transformers/string-array-transformers/StringArrayTransformer.ts": +/*!***********************************************************************************!*\ + !*** ./src/node-transformers/string-array-transformers/StringArrayTransformer.ts ***! + \***********************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayTransformer_1, _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayTransformer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const TStringArrayCustomNodeFactory_1 = __webpack_require__(/*! ../../types/container/custom-nodes/TStringArrayCustomNodeFactory */ "./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts"); +const ILiteralNodesCacheStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage */ "./src/interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage.ts"); +const IStringArrayScopeCallsWrapperNamesDataStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage.ts"); +const IStringArrayStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IStringArrayStorage */ "./src/interfaces/storages/string-array-transformers/IStringArrayStorage.ts"); +const IStringArrayStorageAnalyzer_1 = __webpack_require__(/*! ../../interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer */ "./src/interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer.ts"); +const IVisitedLexicalScopeNodesStackStorage_1 = __webpack_require__(/*! ../../interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage */ "./src/interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage.ts"); +const NodeTransformationStage_1 = __webpack_require__(/*! ../../enums/node-transformers/NodeTransformationStage */ "./src/enums/node-transformers/NodeTransformationStage.ts"); +const StringArrayCustomNode_1 = __webpack_require__(/*! ../../enums/custom-nodes/StringArrayCustomNode */ "./src/enums/custom-nodes/StringArrayCustomNode.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const StringArrayScopeCallsWrapperParametersMaxCount_1 = __webpack_require__(/*! ../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount */ "./src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts"); +const AbstractNodeTransformer_1 = __webpack_require__(/*! ../AbstractNodeTransformer */ "./src/node-transformers/AbstractNodeTransformer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ../../node/NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeLiteralUtils_1 = __webpack_require__(/*! ../../node/NodeLiteralUtils */ "./src/node/NodeLiteralUtils.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ../../node/NodeMetadata */ "./src/node/NodeMetadata.ts"); +const NodeUtils_1 = __webpack_require__(/*! ../../node/NodeUtils */ "./src/node/NodeUtils.ts"); +let StringArrayTransformer = StringArrayTransformer_1 = class StringArrayTransformer extends AbstractNodeTransformer_1.AbstractNodeTransformer { + constructor(randomGenerator, options, literalNodesCacheStorage, visitedLexicalScopeNodesStackStorage, stringArrayStorage, stringArrayScopeCallsWrapperNamesDataStorage, stringArrayScopeCallsWrapperLexicalScopeDataStorage, stringArrayStorageAnalyzer, identifierNamesGeneratorFactory, stringArrayTransformerCustomNodeFactory) { + super(randomGenerator, options); + this.literalNodesCacheStorage = literalNodesCacheStorage; + this.visitedLexicalScopeNodesStackStorage = visitedLexicalScopeNodesStackStorage; + this.stringArrayStorage = stringArrayStorage; + this.stringArrayScopeCallsWrapperNamesDataStorage = stringArrayScopeCallsWrapperNamesDataStorage; + this.stringArrayScopeCallsWrapperLexicalScopeDataStorage = stringArrayScopeCallsWrapperLexicalScopeDataStorage; + this.stringArrayStorageAnalyzer = stringArrayStorageAnalyzer; + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.stringArrayTransformerCustomNodeFactory = stringArrayTransformerCustomNodeFactory; + } + getVisitor(nodeTransformationStage) { + switch (nodeTransformationStage) { + case NodeTransformationStage_1.NodeTransformationStage.StringArray: + return { + enter: (node, parentNode) => { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + this.prepareNode(node); + } + if (parentNode && NodeGuards_1.NodeGuards.isLiteralNode(node) && !NodeMetadata_1.NodeMetadata.isReplacedLiteral(node)) { + return this.transformNode(node, parentNode); + } + } + }; + default: + return null; + } + } + prepareNode(programNode) { + this.stringArrayStorageAnalyzer.analyze(programNode); + if (this.options.shuffleStringArray) { + this.stringArrayStorage.shuffleStorage(); + } + if (this.options.rotateStringArray) { + this.stringArrayStorage.rotateStorage(); + } + } + transformNode(literalNode, parentNode) { + if (!NodeLiteralUtils_1.NodeLiteralUtils.isStringLiteralNode(literalNode) + || NodeLiteralUtils_1.NodeLiteralUtils.isProhibitedLiteralNode(literalNode, parentNode)) { + return literalNode; + } + const literalValue = literalNode.value; + const stringArrayStorageItemData = this.stringArrayStorageAnalyzer.getItemDataForLiteralNode(literalNode); + const cacheKey = this.literalNodesCacheStorage.buildKey(literalValue, stringArrayStorageItemData); + const useCachedValue = this.literalNodesCacheStorage.shouldUseCachedValue(cacheKey, stringArrayStorageItemData); + if (useCachedValue) { + return this.literalNodesCacheStorage.get(cacheKey); + } + const resultNode = stringArrayStorageItemData + ? this.getStringArrayCallNode(stringArrayStorageItemData) + : literalNode; + this.literalNodesCacheStorage.set(cacheKey, resultNode); + NodeUtils_1.NodeUtils.parentizeNode(resultNode, parentNode); + return resultNode; + } + getStringArrayCallNode(stringArrayStorageItemData) { + const { name: stringArrayCallsWrapperName, index, parameterIndexesData } = this.getStringArrayCallsWrapperData(stringArrayStorageItemData); + const { decodeKey } = stringArrayStorageItemData; + const stringArrayCallCustomNode = this.stringArrayTransformerCustomNodeFactory(StringArrayCustomNode_1.StringArrayCustomNode.StringArrayCallNode); + stringArrayCallCustomNode.initialize(stringArrayCallsWrapperName, parameterIndexesData, index, this.stringArrayStorage.getIndexShiftAmount(), decodeKey); + const statementNode = stringArrayCallCustomNode.getNode()[0]; + if (!NodeGuards_1.NodeGuards.isExpressionStatementNode(statementNode)) { + throw new Error('`stringArrayCallCustomNode.getNode()[0]` should returns array with `ExpressionStatement` node'); + } + return statementNode.expression; + } + getStringArrayCallsWrapperData(stringArrayStorageItemData) { + return !this.options.stringArrayWrappersCount + ? this.getRootStringArrayCallsWrapperData(stringArrayStorageItemData) + : this.getUpperStringArrayCallsWrapperData(stringArrayStorageItemData); + } + getRootStringArrayCallsWrapperData(stringArrayStorageItemData) { + const { encoding, index } = stringArrayStorageItemData; + const rootStringArrayCallsWrapperName = this.stringArrayStorage.getStorageCallsWrapperName(encoding); + return { + name: rootStringArrayCallsWrapperName, + parameterIndexesData: null, + index + }; + } + getUpperStringArrayCallsWrapperData(stringArrayStorageItemData) { + var _a, _b, _c, _d; + const { encoding, index } = stringArrayStorageItemData; + const currentLexicalScopeBodyNode = (_a = this.visitedLexicalScopeNodesStackStorage.getLastElement()) !== null && _a !== void 0 ? _a : null; + const parentLexicalScopeBodyNode = (_b = this.visitedLexicalScopeNodesStackStorage.getPenultimateElement()) !== null && _b !== void 0 ? _b : null; + if (!currentLexicalScopeBodyNode) { + throw new Error('Cannot find current lexical scope body node'); + } + const stringArrayScopeCallsWrapperNamesDataByEncoding = this.getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(currentLexicalScopeBodyNode, stringArrayStorageItemData); + const stringArrayScopeCallsWrapperLexicalScopeData = this.getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(currentLexicalScopeBodyNode, parentLexicalScopeBodyNode); + const stringArrayScopeCallsWrapperNames = (_d = (_c = stringArrayScopeCallsWrapperNamesDataByEncoding[encoding]) === null || _c === void 0 ? void 0 : _c.names) !== null && _d !== void 0 ? _d : []; + const randomUpperStringArrayCallsWrapperName = this.randomGenerator + .getRandomGenerator() + .pickone(stringArrayScopeCallsWrapperNames); + const resultIndex = stringArrayScopeCallsWrapperLexicalScopeData + ? stringArrayScopeCallsWrapperLexicalScopeData.resultShiftedIndex + index + : index; + return { + name: randomUpperStringArrayCallsWrapperName, + index: resultIndex, + parameterIndexesData: stringArrayScopeCallsWrapperLexicalScopeData.callsWrappersParameterIndexesData + }; + } + getAndUpdateStringArrayScopeCallsWrapperNamesDataByEncoding(currentLexicalScopeBodyNode, stringArrayStorageItemData) { + var _a, _b, _c; + const { encoding } = stringArrayStorageItemData; + const stringArrayScopeCallsWrapperNamesDataByEncoding = (_a = this.stringArrayScopeCallsWrapperNamesDataStorage.get(currentLexicalScopeBodyNode)) !== null && _a !== void 0 ? _a : {}; + const stringArrayScopeCallsWrapperNames = (_c = (_b = stringArrayScopeCallsWrapperNamesDataByEncoding[encoding]) === null || _b === void 0 ? void 0 : _b.names) !== null && _c !== void 0 ? _c : []; + const isFilledScopeCallsWrapperNamesList = stringArrayScopeCallsWrapperNames.length === this.options.stringArrayWrappersCount; + if (isFilledScopeCallsWrapperNamesList) { + return stringArrayScopeCallsWrapperNamesDataByEncoding; + } + const nextScopeCallsWrapperName = this.identifierNamesGenerator.generateNext(); + stringArrayScopeCallsWrapperNamesDataByEncoding[encoding] = { + encoding, + names: [ + ...stringArrayScopeCallsWrapperNames, + nextScopeCallsWrapperName + ] + }; + this.stringArrayScopeCallsWrapperNamesDataStorage.set(currentLexicalScopeBodyNode, stringArrayScopeCallsWrapperNamesDataByEncoding); + return stringArrayScopeCallsWrapperNamesDataByEncoding; + } + getAndUpdateStringArrayScopeCallsWrapperLexicalScopeData(currentLexicalScopeBodyNode, parentLexicalScopeBodyNode) { + var _a, _b; + const storedLexicalScopeData = (_a = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(currentLexicalScopeBodyNode)) !== null && _a !== void 0 ? _a : null; + if (storedLexicalScopeData) { + return storedLexicalScopeData; + } + const parentLexicalScopeData = parentLexicalScopeBodyNode + ? (_b = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(parentLexicalScopeBodyNode)) !== null && _b !== void 0 ? _b : null : null; + const callsWrappersParameterIndexesData = this.options.stringArrayWrappersType === StringArrayWrappersType_1.StringArrayWrappersType.Function + ? this.getStringArrayCallsWrapperParameterIndexesData() + : null; + const scopeShiftedIndex = this.options.stringArrayWrappersType === StringArrayWrappersType_1.StringArrayWrappersType.Function + ? this.randomGenerator.getRandomInteger(StringArrayTransformer_1.minShiftedIndexValue, StringArrayTransformer_1.maxShiftedIndexValue) + : 0; + const resultShiftedIndex = parentLexicalScopeData + ? parentLexicalScopeData.resultShiftedIndex + scopeShiftedIndex + : scopeShiftedIndex; + const lexicalScopeData = { + callsWrappersParameterIndexesData, + parentLexicalScopeBodyNode, + resultShiftedIndex, + scopeShiftedIndex + }; + this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.set(currentLexicalScopeBodyNode, lexicalScopeData); + return lexicalScopeData; + } + getStringArrayCallsWrapperParameterIndexesData() { + const minIndexValue = 0; + const maxIndexValue = StringArrayScopeCallsWrapperParametersMaxCount_1.stringArrayScopeCallsWrapperParametersMaxCount - 1; + const index = this.randomGenerator.getRandomInteger(minIndexValue, maxIndexValue); + const decodeKey = this.randomGenerator.getRandomIntegerExcluding(minIndexValue, maxIndexValue, [index]); + return { + index, + decodeKey + }; + } +}; +StringArrayTransformer.minShiftedIndexValue = -1000; +StringArrayTransformer.maxShiftedIndexValue = 1000; +StringArrayTransformer = StringArrayTransformer_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ILiteralNodesCacheStorage)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IVisitedLexicalScopeNodesStackStorage)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorage)), + __param(5, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperNamesDataStorage)), + __param(6, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayScopeCallsWrapperLexicalScopeDataStorage)), + __param(7, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IStringArrayStorageAnalyzer)), + __param(8, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(9, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IStringArrayCustomNode)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof ILiteralNodesCacheStorage_1.ILiteralNodesCacheStorage !== "undefined" && ILiteralNodesCacheStorage_1.ILiteralNodesCacheStorage) === "function" ? _c : Object, typeof (_d = typeof IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage !== "undefined" && IVisitedLexicalScopeNodesStackStorage_1.IVisitedLexicalScopeNodesStackStorage) === "function" ? _d : Object, typeof (_e = typeof IStringArrayStorage_1.IStringArrayStorage !== "undefined" && IStringArrayStorage_1.IStringArrayStorage) === "function" ? _e : Object, typeof (_f = typeof IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage !== "undefined" && IStringArrayScopeCallsWrapperNamesDataStorage_1.IStringArrayScopeCallsWrapperNamesDataStorage) === "function" ? _f : Object, typeof (_g = typeof IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage !== "undefined" && IStringArrayScopeCallsWrapperLexicalScopeDataStorage_1.IStringArrayScopeCallsWrapperLexicalScopeDataStorage) === "function" ? _g : Object, typeof (_h = typeof IStringArrayStorageAnalyzer_1.IStringArrayStorageAnalyzer !== "undefined" && IStringArrayStorageAnalyzer_1.IStringArrayStorageAnalyzer) === "function" ? _h : Object, typeof (_j = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _j : Object, typeof (_k = typeof TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory !== "undefined" && TStringArrayCustomNodeFactory_1.TStringArrayCustomNodeFactory) === "function" ? _k : Object]) +], StringArrayTransformer); +exports.StringArrayTransformer = StringArrayTransformer; + + +/***/ }), + +/***/ "./src/node/NodeAppender.ts": +/*!**********************************!*\ + !*** ./src/node/NodeAppender.ts ***! + \**********************************/ +/*! flagged exports */ +/*! export NodeAppender [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeAppender = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeAppender { + static append(nodeWithStatements, statements) { + statements = NodeAppender.parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements); + NodeAppender.setScopeStatements(nodeWithStatements, [ + ...NodeAppender.getScopeStatements(nodeWithStatements), + ...statements + ]); + } + static appendToOptimalBlockScope(callsGraphData, nodeWithStatements, bodyStatements, index = 0) { + const targetBlockScope = callsGraphData.length + ? NodeAppender.getOptimalBlockScope(callsGraphData, index) + : nodeWithStatements; + NodeAppender.prepend(targetBlockScope, bodyStatements); + } + static getOptimalBlockScope(callsGraphData, index, deep = Infinity) { + const firstCall = callsGraphData[index]; + if (deep <= 0) { + throw new Error('Invalid `deep` argument value. Value should be bigger then 0.'); + } + if (deep > 1 && firstCall.callsGraph.length) { + return NodeAppender.getOptimalBlockScope(firstCall.callsGraph, 0, --deep); + } + else { + return firstCall.callee; + } + } + static insertBefore(nodeWithStatements, statements, target) { + const indexInScopeStatement = NodeAppender + .getScopeStatements(nodeWithStatements) + .indexOf(target); + NodeAppender.insertAtIndex(nodeWithStatements, statements, indexInScopeStatement); + } + static insertAfter(nodeWithStatements, statements, target) { + const indexInScopeStatement = NodeAppender + .getScopeStatements(nodeWithStatements) + .indexOf(target); + NodeAppender.insertAtIndex(nodeWithStatements, statements, indexInScopeStatement + 1); + } + static insertAtIndex(nodeWithStatements, statements, index) { + statements = NodeAppender.parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements); + NodeAppender.setScopeStatements(nodeWithStatements, [ + ...NodeAppender.getScopeStatements(nodeWithStatements).slice(0, index), + ...statements, + ...NodeAppender.getScopeStatements(nodeWithStatements).slice(index) + ]); + } + static prepend(nodeWithStatements, statements) { + statements = NodeAppender.parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements); + NodeAppender.setScopeStatements(nodeWithStatements, [ + ...statements, + ...NodeAppender.getScopeStatements(nodeWithStatements), + ]); + } + static getScopeStatements(nodeWithStatements) { + if (NodeGuards_1.NodeGuards.isSwitchCaseNode(nodeWithStatements)) { + return nodeWithStatements.consequent; + } + return nodeWithStatements.body; + } + static parentizeScopeStatementsBeforeAppend(nodeWithStatements, statements) { + statements.forEach((statement) => { + statement.parentNode = nodeWithStatements; + }); + return statements; + } + static setScopeStatements(nodeWithStatements, statements) { + if (NodeGuards_1.NodeGuards.isSwitchCaseNode(nodeWithStatements)) { + nodeWithStatements.consequent = statements; + return; + } + nodeWithStatements.body = statements; + } +} +exports.NodeAppender = NodeAppender; + + +/***/ }), + +/***/ "./src/node/NodeFactory.ts": +/*!*********************************!*\ + !*** ./src/node/NodeFactory.ts ***! + \*********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeFactory = void 0; +const escodegen = __importStar(__webpack_require__(/*! @javascript-obfuscator/escodegen */ "@javascript-obfuscator/escodegen")); +const NodeType_1 = __webpack_require__(/*! ../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +class NodeFactory { + static programNode(body = []) { + return { + type: NodeType_1.NodeType.Program, + body, + sourceType: 'script', + metadata: { ignoredNode: false } + }; + } + static arrayExpressionNode(elements = []) { + return { + type: NodeType_1.NodeType.ArrayExpression, + elements, + metadata: { ignoredNode: false } + }; + } + static arrowFunctionExpressionNode(params, expression, body) { + return { + type: NodeType_1.NodeType.ArrowFunctionExpression, + params, + expression, + body + }; + } + static assignmentExpressionNode(operator, left, right) { + return { + type: NodeType_1.NodeType.AssignmentExpression, + operator, + left, + right, + metadata: { ignoredNode: false } + }; + } + static binaryExpressionNode(operator, left, right) { + return { + type: NodeType_1.NodeType.BinaryExpression, + operator, + left, + right, + metadata: { ignoredNode: false } + }; + } + static blockStatementNode(body = []) { + return { + type: NodeType_1.NodeType.BlockStatement, + body, + metadata: { ignoredNode: false } + }; + } + static breakStatement(label) { + return { + type: NodeType_1.NodeType.BreakStatement, + label, + metadata: { ignoredNode: false } + }; + } + static callExpressionNode(callee, args = [], optional = false) { + return { + type: NodeType_1.NodeType.CallExpression, + callee, + optional, + arguments: args, + metadata: { ignoredNode: false } + }; + } + static conditionalExpressionNode(test, consequent, alternate) { + return { + type: NodeType_1.NodeType.ConditionalExpression, + test, + consequent, + alternate, + metadata: { ignoredNode: false } + }; + } + static continueStatement(label) { + return { + type: NodeType_1.NodeType.ContinueStatement, + label, + metadata: { ignoredNode: false } + }; + } + static directiveNode(expression, directive) { + return { + type: NodeType_1.NodeType.ExpressionStatement, + expression, + directive, + metadata: { ignoredNode: false } + }; + } + static exportAllDeclarationNode(source) { + return { + type: NodeType_1.NodeType.ExportAllDeclaration, + source, + metadata: { ignoredNode: false } + }; + } + static exportNamedDeclarationNode(specifiers, source) { + return { + type: NodeType_1.NodeType.ExportNamedDeclaration, + specifiers, + source, + metadata: { ignoredNode: false } + }; + } + static expressionStatementNode(expression) { + return { + type: NodeType_1.NodeType.ExpressionStatement, + expression, + metadata: { ignoredNode: false } + }; + } + static functionDeclarationNode(functionName, params, body) { + return { + type: NodeType_1.NodeType.FunctionDeclaration, + id: NodeFactory.identifierNode(functionName), + params, + body, + generator: false, + metadata: { ignoredNode: false } + }; + } + static functionExpressionNode(params, body) { + return { + type: NodeType_1.NodeType.FunctionExpression, + params, + body, + generator: false, + metadata: { ignoredNode: false } + }; + } + static ifStatementNode(test, consequent, alternate) { + return Object.assign(Object.assign({ type: NodeType_1.NodeType.IfStatement, test, + consequent }, alternate && { alternate }), { metadata: { ignoredNode: false } }); + } + static identifierNode(name) { + return { + type: NodeType_1.NodeType.Identifier, + name, + metadata: { ignoredNode: false } + }; + } + static importDeclarationNode(specifiers, source) { + return { + type: NodeType_1.NodeType.ImportDeclaration, + specifiers, + source, + metadata: { ignoredNode: false } + }; + } + static literalNode(value, raw) { + raw = raw !== undefined ? raw : `'${value}'`; + return { + type: NodeType_1.NodeType.Literal, + value, + raw, + 'x-verbatim-property': { + content: raw, + precedence: escodegen.Precedence.Primary + }, + metadata: { ignoredNode: false } + }; + } + static logicalExpressionNode(operator, left, right) { + return { + type: NodeType_1.NodeType.LogicalExpression, + operator, + left, + right, + metadata: { ignoredNode: false } + }; + } + static memberExpressionNode(object, property, computed = false, optional = false) { + return { + type: NodeType_1.NodeType.MemberExpression, + computed, + object, + optional, + property, + metadata: { ignoredNode: false } + }; + } + static objectExpressionNode(properties) { + return { + type: NodeType_1.NodeType.ObjectExpression, + properties, + metadata: { ignoredNode: false } + }; + } + static propertyNode(key, value, computed = false) { + return { + type: NodeType_1.NodeType.Property, + key, + value, + kind: 'init', + method: false, + shorthand: false, + computed, + metadata: { ignoredNode: false } + }; + } + static returnStatementNode(argument) { + return { + type: NodeType_1.NodeType.ReturnStatement, + argument, + metadata: { ignoredNode: false } + }; + } + static sequenceExpressionNode(expressions) { + return { + type: NodeType_1.NodeType.SequenceExpression, + expressions, + metadata: { ignoredNode: false } + }; + } + static switchStatementNode(discriminant, cases) { + return { + type: NodeType_1.NodeType.SwitchStatement, + discriminant, + cases, + metadata: { ignoredNode: false } + }; + } + static switchCaseNode(test, consequent) { + return { + type: NodeType_1.NodeType.SwitchCase, + test, + consequent, + metadata: { ignoredNode: false } + }; + } + static unaryExpressionNode(operator, argument, prefix = true) { + return { + type: NodeType_1.NodeType.UnaryExpression, + operator, + argument, + prefix, + metadata: { ignoredNode: false } + }; + } + static updateExpressionNode(operator, argumentExpr) { + return { + type: NodeType_1.NodeType.UpdateExpression, + operator, + argument: argumentExpr, + prefix: false, + metadata: { ignoredNode: false } + }; + } + static templateElement(value, tail) { + return { + type: NodeType_1.NodeType.TemplateElement, + value, + tail, + metadata: { ignoredNode: false } + }; + } + static templateLiteral(expressions, quasis) { + return { + type: NodeType_1.NodeType.TemplateLiteral, + expressions, + quasis, + metadata: { ignoredNode: false } + }; + } + static variableDeclarationNode(declarations = [], kind = 'var') { + return { + type: NodeType_1.NodeType.VariableDeclaration, + declarations, + kind, + metadata: { ignoredNode: false } + }; + } + static variableDeclaratorNode(id, init) { + return { + type: NodeType_1.NodeType.VariableDeclarator, + id, + init, + metadata: { ignoredNode: false } + }; + } + static whileStatementNode(test, body) { + return { + type: NodeType_1.NodeType.WhileStatement, + test, + body, + metadata: { ignoredNode: false } + }; + } +} +exports.NodeFactory = NodeFactory; + + +/***/ }), + +/***/ "./src/node/NodeGuards.ts": +/*!********************************!*\ + !*** ./src/node/NodeGuards.ts ***! + \********************************/ +/*! flagged exports */ +/*! export NodeGuards [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeGuards = void 0; +const NodeType_1 = __webpack_require__(/*! ../enums/node/NodeType */ "./src/enums/node/NodeType.ts"); +class NodeGuards { + static isArrayPatternNode(node) { + return node.type === NodeType_1.NodeType.ArrayPattern; + } + static isArrowFunctionExpressionNode(node) { + return node.type === NodeType_1.NodeType.ArrowFunctionExpression; + } + static isAssignmentExpressionNode(node) { + return node.type === NodeType_1.NodeType.AssignmentExpression; + } + static isAssignmentPatternNode(node) { + return node.type === NodeType_1.NodeType.AssignmentPattern; + } + static isAwaitExpressionNode(node) { + return node.type === NodeType_1.NodeType.AwaitExpression; + } + static isBigIntLiteralNode(node) { + return NodeGuards.isLiteralNode(node) && !!node.bigint; + } + static isBlockStatementNode(node) { + return node.type === NodeType_1.NodeType.BlockStatement; + } + static isBreakStatementNode(node) { + return node.type === NodeType_1.NodeType.BreakStatement; + } + static isCallExpressionNode(node) { + return node.type === NodeType_1.NodeType.CallExpression; + } + static isClassDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ClassDeclaration && node.id !== null; + } + static isContinueStatementNode(node) { + return node.type === NodeType_1.NodeType.ContinueStatement; + } + static isDirectiveNode(node) { + return node.type === NodeType_1.NodeType.ExpressionStatement + && 'directive' in node; + } + static isExportAllDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ExportAllDeclaration; + } + static isExportNamedDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ExportNamedDeclaration; + } + static isExportSpecifierNode(node) { + return node.type === NodeType_1.NodeType.ExportSpecifier; + } + static isExpressionStatementNode(node) { + return node.type === NodeType_1.NodeType.ExpressionStatement + && !('directive' in node); + } + static isForOfStatementNode(node) { + return node.type === NodeType_1.NodeType.ForOfStatement; + } + static isFunctionNode(node) { + return NodeGuards.isFunctionDeclarationNode(node) || + NodeGuards.isFunctionExpressionNode(node) || + NodeGuards.isArrowFunctionExpressionNode(node); + } + static isFunctionDeclarationNode(node) { + return node.type === NodeType_1.NodeType.FunctionDeclaration && node.id !== null; + } + static isFunctionExpressionNode(node) { + return node.type === NodeType_1.NodeType.FunctionExpression; + } + static isIdentifierNode(node) { + return node.type === NodeType_1.NodeType.Identifier; + } + static isIfStatementNode(node) { + return node.type === NodeType_1.NodeType.IfStatement; + } + static isImportDeclarationNode(node) { + return node.type === NodeType_1.NodeType.ImportDeclaration; + } + static isImportSpecifierNode(node) { + return node.type === NodeType_1.NodeType.ImportSpecifier; + } + static isLabelIdentifierNode(node, parentNode) { + const parentNodeIsLabeledStatementNode = NodeGuards.isLabeledStatementNode(parentNode) && parentNode.label === node; + const parentNodeIsContinueStatementNode = NodeGuards.isContinueStatementNode(parentNode) && parentNode.label === node; + const parentNodeIsBreakStatementNode = NodeGuards.isBreakStatementNode(parentNode) && parentNode.label === node; + return parentNodeIsLabeledStatementNode || parentNodeIsContinueStatementNode || parentNodeIsBreakStatementNode; + } + static isLabeledStatementNode(node) { + return node.type === NodeType_1.NodeType.LabeledStatement; + } + static isLiteralNode(node) { + return node.type === NodeType_1.NodeType.Literal; + } + static isMemberExpressionNode(node) { + return node.type === NodeType_1.NodeType.MemberExpression; + } + static isMethodDefinitionNode(node) { + return node.type === NodeType_1.NodeType.MethodDefinition; + } + static isNode(object) { + return object && !object.type !== undefined; + } + static isNodeWithLexicalScope(node) { + return NodeGuards.isProgramNode(node) || NodeGuards.isFunctionNode(node); + } + static isNodeWithBlockLexicalScope(node) { + return NodeGuards.isNodeWithLexicalScope(node) || NodeGuards.isBlockStatementNode(node); + } + static isNodeWithLexicalScopeStatements(node, parentNode) { + return NodeGuards.isProgramNode(node) + || (NodeGuards.isBlockStatementNode(node) && NodeGuards.nodesWithLexicalStatements.includes(parentNode.type)); + } + static isNodeWithStatements(node) { + return NodeGuards.isProgramNode(node) + || NodeGuards.isBlockStatementNode(node) + || NodeGuards.isSwitchCaseNode(node); + } + static isNodeWithComments(node) { + return Boolean(node.leadingComments) || Boolean(node.trailingComments); + } + static isObjectPatternNode(node) { + return node.type === NodeType_1.NodeType.ObjectPattern; + } + static isObjectExpressionNode(node) { + return node.type === NodeType_1.NodeType.ObjectExpression; + } + static isProgramNode(node) { + return node.type === NodeType_1.NodeType.Program; + } + static isPropertyNode(node) { + return node.type === NodeType_1.NodeType.Property; + } + static isRestElementNode(node) { + return node.type === NodeType_1.NodeType.RestElement; + } + static isReturnStatementNode(node) { + return node.type === NodeType_1.NodeType.ReturnStatement; + } + static isSequenceExpressionNode(node) { + return node.type === NodeType_1.NodeType.SequenceExpression; + } + static isSpreadElementNode(node) { + return node.type === NodeType_1.NodeType.SpreadElement; + } + static isSuperNode(node) { + return node.type === NodeType_1.NodeType.Super; + } + static isSwitchCaseNode(node) { + return node.type === NodeType_1.NodeType.SwitchCase; + } + static isTaggedTemplateExpressionNode(node) { + return node.type === NodeType_1.NodeType.TaggedTemplateExpression; + } + static isTemplateLiteralNode(node) { + return node.type === NodeType_1.NodeType.TemplateLiteral; + } + static isUnaryExpressionNode(node) { + return node.type === NodeType_1.NodeType.UnaryExpression; + } + static isUseStrictOperator(node) { + return NodeGuards.isDirectiveNode(node) + && node.directive === 'use strict'; + } + static isVariableDeclarationNode(node) { + return node.type === NodeType_1.NodeType.VariableDeclaration; + } + static isVariableDeclaratorNode(node) { + return node.type === NodeType_1.NodeType.VariableDeclarator; + } + static isWhileStatementNode(node) { + return node.type === NodeType_1.NodeType.WhileStatement; + } + static isYieldExpressionNode(node) { + return node.type === NodeType_1.NodeType.YieldExpression; + } +} +exports.NodeGuards = NodeGuards; +NodeGuards.nodesWithLexicalStatements = [ + NodeType_1.NodeType.ArrowFunctionExpression, + NodeType_1.NodeType.FunctionDeclaration, + NodeType_1.NodeType.FunctionExpression, + NodeType_1.NodeType.MethodDefinition, +]; + + +/***/ }), + +/***/ "./src/node/NodeLexicalScopeUtils.ts": +/*!*******************************************!*\ + !*** ./src/node/NodeLexicalScopeUtils.ts ***! + \*******************************************/ +/*! flagged exports */ +/*! export NodeLexicalScopeUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeLexicalScopeUtils = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeLexicalScopeUtils { + static getLexicalScope(node) { + return NodeLexicalScopeUtils.getLexicalScopesRecursive(node, 1)[0]; + } + static getLexicalScopes(node) { + return NodeLexicalScopeUtils.getLexicalScopesRecursive(node); + } + static getLexicalScopesRecursive(node, maxSize = Infinity, nodesWithLexicalScope = [], depth = 0) { + if (nodesWithLexicalScope.length >= maxSize) { + return nodesWithLexicalScope; + } + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (NodeGuards_1.NodeGuards.isNodeWithLexicalScope(node)) { + nodesWithLexicalScope.push(node); + } + if (node !== parentNode) { + return NodeLexicalScopeUtils.getLexicalScopesRecursive(parentNode, maxSize, nodesWithLexicalScope, ++depth); + } + return nodesWithLexicalScope; + } +} +exports.NodeLexicalScopeUtils = NodeLexicalScopeUtils; + + +/***/ }), + +/***/ "./src/node/NodeLiteralUtils.ts": +/*!**************************************!*\ + !*** ./src/node/NodeLiteralUtils.ts ***! + \**************************************/ +/*! flagged exports */ +/*! export NodeLiteralUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeLiteralUtils = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeLiteralUtils { + static isStringLiteralNode(literalNode) { + return typeof literalNode.value === 'string'; + } + static isProhibitedLiteralNode(literalNode, parentNode) { + if (NodeGuards_1.NodeGuards.isPropertyNode(parentNode) && !parentNode.computed && parentNode.key === literalNode) { + return true; + } + if (NodeGuards_1.NodeGuards.isImportDeclarationNode(parentNode)) { + return true; + } + if (NodeGuards_1.NodeGuards.isExportAllDeclarationNode(parentNode) || NodeGuards_1.NodeGuards.isExportNamedDeclarationNode(parentNode)) { + return true; + } + return false; + } +} +exports.NodeLiteralUtils = NodeLiteralUtils; + + +/***/ }), + +/***/ "./src/node/NodeMetadata.ts": +/*!**********************************!*\ + !*** ./src/node/NodeMetadata.ts ***! + \**********************************/ +/*! flagged exports */ +/*! export NodeMetadata [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeMetadata = void 0; +class NodeMetadata { + static set(node, metadata) { + var _a; + node.metadata = Object.assign((_a = node.metadata) !== null && _a !== void 0 ? _a : {}, metadata); + } + static get(node, metadataKey) { + return node.metadata !== undefined + ? node.metadata[metadataKey] + : undefined; + } + static isForceTransformNode(node) { + return NodeMetadata.get(node, 'forceTransformNode') === true; + } + static isIgnoredNode(node) { + return NodeMetadata.get(node, 'ignoredNode') === true; + } + static isReplacedLiteral(literalNode) { + return NodeMetadata.get(literalNode, 'replacedLiteral') === true; + } +} +exports.NodeMetadata = NodeMetadata; + + +/***/ }), + +/***/ "./src/node/NodeStatementUtils.ts": +/*!****************************************!*\ + !*** ./src/node/NodeStatementUtils.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export NodeStatementUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeStatementUtils = void 0; +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +class NodeStatementUtils { + static getParentNodeWithStatements(node) { + return NodeStatementUtils.getParentNodesWithStatementsRecursive(node, 1)[0]; + } + static getParentNodesWithStatements(node) { + return NodeStatementUtils.getParentNodesWithStatementsRecursive(node); + } + static getNextSiblingStatement(statement) { + return NodeStatementUtils.getSiblingStatementByOffset(statement, 1); + } + static getPreviousSiblingStatement(statement) { + return NodeStatementUtils.getSiblingStatementByOffset(statement, -1); + } + static getRootStatementOfNode(node) { + if (NodeGuards_1.NodeGuards.isProgramNode(node)) { + throw new Error('Unable to find root statement for `Program` node'); + } + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return NodeStatementUtils.getRootStatementOfNode(parentNode); + } + return node; + } + static getScopeOfNode(node) { + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (!NodeGuards_1.NodeGuards.isNodeWithStatements(parentNode)) { + return NodeStatementUtils.getScopeOfNode(parentNode); + } + return parentNode; + } + static getParentNodesWithStatementsRecursive(node, maxSize = Infinity, nodesWithStatements = [], depth = 0) { + if (nodesWithStatements.length >= maxSize) { + return nodesWithStatements; + } + const parentNode = node.parentNode; + if (!parentNode) { + throw new ReferenceError('`parentNode` property of given node is `undefined`'); + } + if (NodeGuards_1.NodeGuards.isProgramNode(node) || + (NodeGuards_1.NodeGuards.isNodeWithLexicalScopeStatements(node, parentNode) && depth > 0)) { + nodesWithStatements.push(node); + } + if (node !== parentNode) { + return NodeStatementUtils.getParentNodesWithStatementsRecursive(parentNode, maxSize, nodesWithStatements, ++depth); + } + return nodesWithStatements; + } + static getSiblingStatementByOffset(statement, offset) { + const scopeNode = NodeStatementUtils.getScopeOfNode(statement); + const scopeBody = !NodeGuards_1.NodeGuards.isSwitchCaseNode(scopeNode) + ? scopeNode.body + : scopeNode.consequent; + const indexInScope = scopeBody.indexOf(statement); + return scopeBody[indexInScope + offset] || null; + } +} +exports.NodeStatementUtils = NodeStatementUtils; + + +/***/ }), + +/***/ "./src/node/NodeUtils.ts": +/*!*******************************!*\ + !*** ./src/node/NodeUtils.ts ***! + \*******************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NodeUtils = void 0; +const escodegen = __importStar(__webpack_require__(/*! @javascript-obfuscator/escodegen */ "@javascript-obfuscator/escodegen")); +const estraverse = __importStar(__webpack_require__(/*! estraverse */ "estraverse")); +const EcmaVersion_1 = __webpack_require__(/*! ../constants/EcmaVersion */ "./src/constants/EcmaVersion.ts"); +const ASTParserFacade_1 = __webpack_require__(/*! ../ASTParserFacade */ "./src/ASTParserFacade.ts"); +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +const NodeMetadata_1 = __webpack_require__(/*! ./NodeMetadata */ "./src/node/NodeMetadata.ts"); +class NodeUtils { + static addXVerbatimPropertyTo(literalNode) { + literalNode['x-verbatim-property'] = { + content: literalNode.raw, + precedence: escodegen.Precedence.Primary + }; + return literalNode; + } + static clone(astTree) { + return NodeUtils.parentizeAst(NodeUtils.cloneRecursive(astTree)); + } + static convertCodeToStructure(code) { + const structure = ASTParserFacade_1.ASTParserFacade.parse(code, { + ecmaVersion: EcmaVersion_1.ecmaVersion, + sourceType: 'script' + }); + estraverse.replace(structure, { + enter: (node, parentNode) => { + NodeUtils.parentizeNode(node, parentNode); + if (NodeGuards_1.NodeGuards.isLiteralNode(node)) { + NodeUtils.addXVerbatimPropertyTo(node); + } + NodeMetadata_1.NodeMetadata.set(node, { ignoredNode: false }); + return node; + } + }); + return structure.body; + } + static convertStructureToCode(structure) { + return structure.reduce((code, node) => { + return code + escodegen.generate(node, { + sourceMapWithCode: true + }).code; + }, ''); + } + static getUnaryExpressionArgumentNode(unaryExpressionNode) { + if (NodeGuards_1.NodeGuards.isUnaryExpressionNode(unaryExpressionNode.argument)) { + return NodeUtils.getUnaryExpressionArgumentNode(unaryExpressionNode.argument); + } + return unaryExpressionNode.argument; + } + static parentizeAst(astTree) { + var _a; + const parentNode = (_a = astTree.parentNode) !== null && _a !== void 0 ? _a : null; + estraverse.replace(astTree, { + enter: NodeUtils.parentizeNode + }); + if (parentNode) { + astTree.parentNode = parentNode; + } + return astTree; + } + static parentizeNode(node, parentNode) { + node.parentNode = parentNode !== null && parentNode !== void 0 ? parentNode : node; + return node; + } + static cloneRecursive(node) { + if (node === null) { + return node; + } + const copy = {}; + const nodeKeys = Object.keys(node); + nodeKeys + .forEach((property) => { + var _a; + if (property === 'parentNode') { + return; + } + const value = (_a = node[property]) !== null && _a !== void 0 ? _a : null; + let clonedValue; + if (value === null || value instanceof RegExp) { + clonedValue = value; + } + else if (value instanceof Array) { + clonedValue = value.map(NodeUtils.cloneRecursive); + } + else if (typeof value === 'object') { + clonedValue = NodeUtils.cloneRecursive(value); + } + else { + clonedValue = value; + } + copy[property] = clonedValue; + }); + return copy; + } +} +exports.NodeUtils = NodeUtils; + + +/***/ }), + +/***/ "./src/node/ScopeIdentifiersTraverser.ts": +/*!***********************************************!*\ + !*** ./src/node/ScopeIdentifiersTraverser.ts ***! + \***********************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var ScopeIdentifiersTraverser_1, _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ScopeIdentifiersTraverser = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IScopeAnalyzer_1 = __webpack_require__(/*! ../interfaces/analyzers/scope-analyzer/IScopeAnalyzer */ "./src/interfaces/analyzers/scope-analyzer/IScopeAnalyzer.ts"); +const NodeGuards_1 = __webpack_require__(/*! ./NodeGuards */ "./src/node/NodeGuards.ts"); +let ScopeIdentifiersTraverser = ScopeIdentifiersTraverser_1 = class ScopeIdentifiersTraverser { + constructor(scopeAnalyzer) { + this.scopeAnalyzer = scopeAnalyzer; + } + traverseScopeIdentifiers(programNode, parentNode, callback) { + this.scopeAnalyzer.analyze(programNode); + const globalScope = this.scopeAnalyzer.acquireScope(programNode); + this.traverseScopeIdentifiersRecursive(globalScope, globalScope, callback); + } + traverseScopeThroughIdentifiers(programNode, parentNode, callback) { + this.scopeAnalyzer.analyze(programNode); + const globalScope = this.scopeAnalyzer.acquireScope(programNode); + this.traverseScopeThroughIdentifiersRecursive(globalScope, globalScope, callback); + } + traverseScopeIdentifiersRecursive(rootScope, currentScope, callback) { + const variableScope = currentScope.variableScope; + const variableLexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithBlockLexicalScope(variableScope.block) + ? variableScope.block + : null; + const isGlobalDeclaration = ScopeIdentifiersTraverser_1.globalScopeNames.includes(variableScope.type); + if (!variableLexicalScopeNode) { + return; + } + for (const variable of currentScope.variables) { + if (variable.name === ScopeIdentifiersTraverser_1.argumentsVariableName) { + continue; + } + const isBubblingDeclaration = variable + .identifiers + .some((identifier) => identifier.parentNode + && NodeGuards_1.NodeGuards.isPropertyNode(identifier.parentNode) + && identifier.parentNode.shorthand); + callback({ + isGlobalDeclaration, + isBubblingDeclaration, + rootScope, + variable, + variableScope, + variableLexicalScopeNode + }); + } + for (const childScope of currentScope.childScopes) { + this.traverseScopeIdentifiersRecursive(rootScope, childScope, callback); + } + } + traverseScopeThroughIdentifiersRecursive(rootScope, currentScope, callback) { + const variableScope = currentScope.variableScope; + const variableLexicalScopeNode = NodeGuards_1.NodeGuards.isNodeWithBlockLexicalScope(variableScope.block) + ? variableScope.block + : null; + if (!variableLexicalScopeNode) { + return; + } + for (const reference of currentScope.through) { + callback({ + reference, + variableLexicalScopeNode + }); + } + for (const childScope of currentScope.childScopes) { + this.traverseScopeThroughIdentifiersRecursive(rootScope, childScope, callback); + } + } +}; +ScopeIdentifiersTraverser.argumentsVariableName = 'arguments'; +ScopeIdentifiersTraverser.globalScopeNames = [ + 'global', + 'module' +]; +ScopeIdentifiersTraverser = ScopeIdentifiersTraverser_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IScopeAnalyzer)), + __metadata("design:paramtypes", [typeof (_a = typeof IScopeAnalyzer_1.IScopeAnalyzer !== "undefined" && IScopeAnalyzer_1.IScopeAnalyzer) === "function" ? _a : Object]) +], ScopeIdentifiersTraverser); +exports.ScopeIdentifiersTraverser = ScopeIdentifiersTraverser; + + +/***/ }), + +/***/ "./src/options/Options.ts": +/*!********************************!*\ + !*** ./src/options/Options.ts ***! + \********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var Options_1, _a, _b, _c, _d, _e, _f, _g; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Options = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const class_validator_1 = __webpack_require__(/*! class-validator */ "class-validator"); +const TInputOptions_1 = __webpack_require__(/*! ../types/options/TInputOptions */ "./src/types/options/TInputOptions.ts"); +const TOptionsPreset_1 = __webpack_require__(/*! ../types/options/TOptionsPreset */ "./src/types/options/TOptionsPreset.ts"); +const TStringArrayWrappersType_1 = __webpack_require__(/*! ../types/options/TStringArrayWrappersType */ "./src/types/options/TStringArrayWrappersType.ts"); +const TTypeFromEnum_1 = __webpack_require__(/*! ../types/utils/TTypeFromEnum */ "./src/types/utils/TTypeFromEnum.ts"); +const IOptionsNormalizer_1 = __webpack_require__(/*! ../interfaces/options/IOptionsNormalizer */ "./src/interfaces/options/IOptionsNormalizer.ts"); +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const OptionsPreset_1 = __webpack_require__(/*! ../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const Default_1 = __webpack_require__(/*! ./presets/Default */ "./src/options/presets/Default.ts"); +const LowObfuscation_1 = __webpack_require__(/*! ./presets/LowObfuscation */ "./src/options/presets/LowObfuscation.ts"); +const MediumObfuscation_1 = __webpack_require__(/*! ./presets/MediumObfuscation */ "./src/options/presets/MediumObfuscation.ts"); +const HighObfuscation_1 = __webpack_require__(/*! ./presets/HighObfuscation */ "./src/options/presets/HighObfuscation.ts"); +const ValidationErrorsFormatter_1 = __webpack_require__(/*! ./ValidationErrorsFormatter */ "./src/options/ValidationErrorsFormatter.ts"); +const IsAllowedForObfuscationTargets_1 = __webpack_require__(/*! ./validators/IsAllowedForObfuscationTargets */ "./src/options/validators/IsAllowedForObfuscationTargets.ts"); +let Options = Options_1 = class Options { + constructor(inputOptions, optionsNormalizer) { + var _a; + const optionsPreset = Options_1.getOptionsByPreset((_a = inputOptions.optionsPreset) !== null && _a !== void 0 ? _a : OptionsPreset_1.OptionsPreset.Default); + Object.assign(this, optionsPreset, inputOptions); + const errors = class_validator_1.validateSync(this, Options_1.validatorOptions); + if (errors.length) { + throw new ReferenceError(`Validation failed. errors:\n${ValidationErrorsFormatter_1.ValidationErrorsFormatter.format(errors)}`); + } + Object.assign(this, optionsNormalizer.normalize(this)); + } + static getOptionsByPreset(optionsPreset) { + var _a; + const options = (_a = Options_1.optionPresetsMap.get(optionsPreset)) !== null && _a !== void 0 ? _a : null; + if (!options) { + throw new Error(`Options for preset name \`${optionsPreset}\` are not found`); + } + return options; + } +}; +Options.optionPresetsMap = new Map([ + [OptionsPreset_1.OptionsPreset.Default, Default_1.DEFAULT_PRESET], + [OptionsPreset_1.OptionsPreset.LowObfuscation, LowObfuscation_1.LOW_OBFUSCATION_PRESET], + [OptionsPreset_1.OptionsPreset.MediumObfuscation, MediumObfuscation_1.MEDIUM_OBFUSCATION_PRESET], + [OptionsPreset_1.OptionsPreset.HighObfuscation, HighObfuscation_1.HIGH_OBFUSCATION_PRESET] +]); +Options.validatorOptions = { + validationError: { + target: false + } +}; +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "compact", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "controlFlowFlattening", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.Min(0), + class_validator_1.Max(1), + __metadata("design:type", Number) +], Options.prototype, "controlFlowFlatteningThreshold", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "deadCodeInjection", void 0); +__decorate([ + class_validator_1.IsNumber(), + __metadata("design:type", Number) +], Options.prototype, "deadCodeInjectionThreshold", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "debugProtection", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "debugProtectionInterval", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "disableConsoleOutput", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + IsAllowedForObfuscationTargets_1.IsAllowedForObfuscationTargets([ + ObfuscationTarget_1.ObfuscationTarget.Browser, + ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval, + ]), + __metadata("design:type", Array) +], Options.prototype, "domainLock", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + __metadata("design:type", Array) +], Options.prototype, "forceTransformStrings", void 0); +__decorate([ + class_validator_1.IsIn([ + IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator, + IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator, + IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledIdentifierNamesGenerator, + IdentifierNamesGenerator_1.IdentifierNamesGenerator.MangledShuffledIdentifierNamesGenerator + ]), + __metadata("design:type", typeof (_a = typeof TTypeFromEnum_1.TTypeFromEnum !== "undefined" && TTypeFromEnum_1.TTypeFromEnum) === "function" ? _a : Object) +], Options.prototype, "identifierNamesGenerator", void 0); +__decorate([ + class_validator_1.IsString(), + __metadata("design:type", String) +], Options.prototype, "identifiersPrefix", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + class_validator_1.ValidateIf((options) => options.identifierNamesGenerator === IdentifierNamesGenerator_1.IdentifierNamesGenerator.DictionaryIdentifierNamesGenerator), + class_validator_1.ArrayNotEmpty(), + __metadata("design:type", Array) +], Options.prototype, "identifiersDictionary", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "ignoreRequireImports", void 0); +__decorate([ + class_validator_1.IsString(), + __metadata("design:type", String) +], Options.prototype, "inputFileName", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "log", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "numbersToExpressions", void 0); +__decorate([ + class_validator_1.IsIn([ + OptionsPreset_1.OptionsPreset.Default, + OptionsPreset_1.OptionsPreset.LowObfuscation, + OptionsPreset_1.OptionsPreset.MediumObfuscation, + OptionsPreset_1.OptionsPreset.HighObfuscation + ]), + __metadata("design:type", typeof (_b = typeof TOptionsPreset_1.TOptionsPreset !== "undefined" && TOptionsPreset_1.TOptionsPreset) === "function" ? _b : Object) +], Options.prototype, "optionsPreset", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "renameGlobals", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "renameProperties", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + __metadata("design:type", Array) +], Options.prototype, "reservedNames", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsString({ + each: true + }), + __metadata("design:type", Array) +], Options.prototype, "reservedStrings", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "rotateStringArray", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "selfDefending", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "shuffleStringArray", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "simplify", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "sourceMap", void 0); +__decorate([ + class_validator_1.IsString(), + class_validator_1.ValidateIf((options) => Boolean(options.sourceMapBaseUrl)), + class_validator_1.IsUrl({ + require_protocol: true, + require_tld: false, + require_valid_protocol: true + }), + __metadata("design:type", String) +], Options.prototype, "sourceMapBaseUrl", void 0); +__decorate([ + class_validator_1.IsString(), + __metadata("design:type", String) +], Options.prototype, "sourceMapFileName", void 0); +__decorate([ + class_validator_1.IsIn([SourceMapMode_1.SourceMapMode.Inline, SourceMapMode_1.SourceMapMode.Separate]), + __metadata("design:type", typeof (_c = typeof TTypeFromEnum_1.TTypeFromEnum !== "undefined" && TTypeFromEnum_1.TTypeFromEnum) === "function" ? _c : Object) +], Options.prototype, "sourceMapMode", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "splitStrings", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.ValidateIf((options) => Boolean(options.splitStrings)), + class_validator_1.Min(1), + __metadata("design:type", Number) +], Options.prototype, "splitStringsChunkLength", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "stringArray", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayUnique(), + class_validator_1.IsIn([StringArrayEncoding_1.StringArrayEncoding.None, StringArrayEncoding_1.StringArrayEncoding.Base64, StringArrayEncoding_1.StringArrayEncoding.Rc4], { each: true }), + __metadata("design:type", Array) +], Options.prototype, "stringArrayEncoding", void 0); +__decorate([ + class_validator_1.IsArray(), + class_validator_1.ArrayNotEmpty(), + class_validator_1.ArrayUnique(), + class_validator_1.IsIn([StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber, StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumericString], { each: true }), + __metadata("design:type", Array) +], Options.prototype, "stringArrayIndexesType", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "stringArrayIndexShift", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "stringArrayWrappersChainedCalls", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.Min(0), + __metadata("design:type", Number) +], Options.prototype, "stringArrayWrappersCount", void 0); +__decorate([ + class_validator_1.IsIn([StringArrayWrappersType_1.StringArrayWrappersType.Variable, StringArrayWrappersType_1.StringArrayWrappersType.Function]), + __metadata("design:type", typeof (_d = typeof TStringArrayWrappersType_1.TStringArrayWrappersType !== "undefined" && TStringArrayWrappersType_1.TStringArrayWrappersType) === "function" ? _d : Object) +], Options.prototype, "stringArrayWrappersType", void 0); +__decorate([ + class_validator_1.IsNumber(), + class_validator_1.Min(0), + class_validator_1.Max(1), + __metadata("design:type", Number) +], Options.prototype, "stringArrayThreshold", void 0); +__decorate([ + class_validator_1.IsIn([ObfuscationTarget_1.ObfuscationTarget.Browser, ObfuscationTarget_1.ObfuscationTarget.BrowserNoEval, ObfuscationTarget_1.ObfuscationTarget.Node]), + __metadata("design:type", typeof (_e = typeof TTypeFromEnum_1.TTypeFromEnum !== "undefined" && TTypeFromEnum_1.TTypeFromEnum) === "function" ? _e : Object) +], Options.prototype, "target", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "transformObjectKeys", void 0); +__decorate([ + class_validator_1.IsBoolean(), + __metadata("design:type", Boolean) +], Options.prototype, "unicodeEscapeSequence", void 0); +Options = Options_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.TInputOptions)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptionsNormalizer)), + __metadata("design:paramtypes", [typeof (_f = typeof TInputOptions_1.TInputOptions !== "undefined" && TInputOptions_1.TInputOptions) === "function" ? _f : Object, typeof (_g = typeof IOptionsNormalizer_1.IOptionsNormalizer !== "undefined" && IOptionsNormalizer_1.IOptionsNormalizer) === "function" ? _g : Object]) +], Options); +exports.Options = Options; + + +/***/ }), + +/***/ "./src/options/OptionsNormalizer.ts": +/*!******************************************!*\ + !*** ./src/options/OptionsNormalizer.ts ***! + \******************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var OptionsNormalizer_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.OptionsNormalizer = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ControlFlowFlatteningThresholdRule_1 = __webpack_require__(/*! ./normalizer-rules/ControlFlowFlatteningThresholdRule */ "./src/options/normalizer-rules/ControlFlowFlatteningThresholdRule.ts"); +const DeadCodeInjectionRule_1 = __webpack_require__(/*! ./normalizer-rules/DeadCodeInjectionRule */ "./src/options/normalizer-rules/DeadCodeInjectionRule.ts"); +const DeadCodeInjectionThresholdRule_1 = __webpack_require__(/*! ./normalizer-rules/DeadCodeInjectionThresholdRule */ "./src/options/normalizer-rules/DeadCodeInjectionThresholdRule.ts"); +const DomainLockRule_1 = __webpack_require__(/*! ./normalizer-rules/DomainLockRule */ "./src/options/normalizer-rules/DomainLockRule.ts"); +const InputFileNameRule_1 = __webpack_require__(/*! ./normalizer-rules/InputFileNameRule */ "./src/options/normalizer-rules/InputFileNameRule.ts"); +const SeedRule_1 = __webpack_require__(/*! ./normalizer-rules/SeedRule */ "./src/options/normalizer-rules/SeedRule.ts"); +const SelfDefendingRule_1 = __webpack_require__(/*! ./normalizer-rules/SelfDefendingRule */ "./src/options/normalizer-rules/SelfDefendingRule.ts"); +const SourceMapBaseUrlRule_1 = __webpack_require__(/*! ./normalizer-rules/SourceMapBaseUrlRule */ "./src/options/normalizer-rules/SourceMapBaseUrlRule.ts"); +const SourceMapFileNameRule_1 = __webpack_require__(/*! ./normalizer-rules/SourceMapFileNameRule */ "./src/options/normalizer-rules/SourceMapFileNameRule.ts"); +const SplitStringsChunkLengthRule_1 = __webpack_require__(/*! ./normalizer-rules/SplitStringsChunkLengthRule */ "./src/options/normalizer-rules/SplitStringsChunkLengthRule.ts"); +const StringArrayRule_1 = __webpack_require__(/*! ./normalizer-rules/StringArrayRule */ "./src/options/normalizer-rules/StringArrayRule.ts"); +const StringArrayEncodingRule_1 = __webpack_require__(/*! ./normalizer-rules/StringArrayEncodingRule */ "./src/options/normalizer-rules/StringArrayEncodingRule.ts"); +const StringArrayWappersChainedCalls_1 = __webpack_require__(/*! ./normalizer-rules/StringArrayWappersChainedCalls */ "./src/options/normalizer-rules/StringArrayWappersChainedCalls.ts"); +let OptionsNormalizer = OptionsNormalizer_1 = class OptionsNormalizer { + normalize(options) { + let normalizedOptions = Object.assign({}, options); + for (const normalizerRule of OptionsNormalizer_1.normalizerRules) { + normalizedOptions = normalizerRule(normalizedOptions); + } + return normalizedOptions; + } +}; +OptionsNormalizer.normalizerRules = [ + ControlFlowFlatteningThresholdRule_1.ControlFlowFlatteningThresholdRule, + DeadCodeInjectionRule_1.DeadCodeInjectionRule, + DeadCodeInjectionThresholdRule_1.DeadCodeInjectionThresholdRule, + DomainLockRule_1.DomainLockRule, + InputFileNameRule_1.InputFileNameRule, + SeedRule_1.SeedRule, + SelfDefendingRule_1.SelfDefendingRule, + SourceMapBaseUrlRule_1.SourceMapBaseUrlRule, + SourceMapFileNameRule_1.SourceMapFileNameRule, + SplitStringsChunkLengthRule_1.SplitStringsChunkLengthRule, + StringArrayRule_1.StringArrayRule, + StringArrayEncodingRule_1.StringArrayEncodingRule, + StringArrayWappersChainedCalls_1.StringArrayWrappersChainedCallsRule, +]; +OptionsNormalizer = OptionsNormalizer_1 = __decorate([ + inversify_1.injectable() +], OptionsNormalizer); +exports.OptionsNormalizer = OptionsNormalizer; + + +/***/ }), + +/***/ "./src/options/ValidationErrorsFormatter.ts": +/*!**************************************************!*\ + !*** ./src/options/ValidationErrorsFormatter.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export ValidationErrorsFormatter [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ValidationErrorsFormatter = void 0; +class ValidationErrorsFormatter { + static format(errors) { + return errors + .reduce((errorMessages, error) => [ + ...errorMessages, + ValidationErrorsFormatter.formatWithNestedConstraints(error) + ], []) + .join('\n'); + } + static formatWithNestedConstraints(error) { + const constraints = error.constraints; + if (!constraints) { + return `\`${error.property}\` error\n`; + } + const rootError = `\`${error.property}\` errors:\n`; + const nestedErrors = Object + .keys(constraints) + .map((constraint) => ` - ${constraints[constraint]}\n`) + .join(); + return `${rootError}${nestedErrors}`; + } +} +exports.ValidationErrorsFormatter = ValidationErrorsFormatter; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/ControlFlowFlatteningThresholdRule.ts": +/*!****************************************************************************!*\ + !*** ./src/options/normalizer-rules/ControlFlowFlatteningThresholdRule.ts ***! + \****************************************************************************/ +/*! flagged exports */ +/*! export ControlFlowFlatteningThresholdRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowFlatteningThresholdRule = void 0; +const ControlFlowFlatteningThresholdRule = (options) => { + if (options.controlFlowFlatteningThreshold === 0) { + options = Object.assign(Object.assign({}, options), { controlFlowFlattening: false, controlFlowFlatteningThreshold: 0 }); + } + return options; +}; +exports.ControlFlowFlatteningThresholdRule = ControlFlowFlatteningThresholdRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/DeadCodeInjectionRule.ts": +/*!***************************************************************!*\ + !*** ./src/options/normalizer-rules/DeadCodeInjectionRule.ts ***! + \***************************************************************/ +/*! flagged exports */ +/*! export DeadCodeInjectionRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionRule = void 0; +const Default_1 = __webpack_require__(/*! ../presets/Default */ "./src/options/presets/Default.ts"); +const DeadCodeInjectionRule = (options) => { + if (options.deadCodeInjection) { + options = Object.assign(Object.assign({}, options), { deadCodeInjection: true, stringArray: true }); + if (!options.stringArrayThreshold) { + options = Object.assign(Object.assign({}, options), { stringArray: true, stringArrayThreshold: Default_1.DEFAULT_PRESET.stringArrayThreshold }); + } + } + return options; +}; +exports.DeadCodeInjectionRule = DeadCodeInjectionRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/DeadCodeInjectionThresholdRule.ts": +/*!************************************************************************!*\ + !*** ./src/options/normalizer-rules/DeadCodeInjectionThresholdRule.ts ***! + \************************************************************************/ +/*! flagged exports */ +/*! export DeadCodeInjectionThresholdRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeadCodeInjectionThresholdRule = void 0; +const DeadCodeInjectionThresholdRule = (options) => { + if (options.deadCodeInjectionThreshold === 0) { + options = Object.assign(Object.assign({}, options), { deadCodeInjection: false, deadCodeInjectionThreshold: 0 }); + } + return options; +}; +exports.DeadCodeInjectionThresholdRule = DeadCodeInjectionThresholdRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/DomainLockRule.ts": +/*!********************************************************!*\ + !*** ./src/options/normalizer-rules/DomainLockRule.ts ***! + \********************************************************/ +/*! flagged exports */ +/*! export DomainLockRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DomainLockRule = void 0; +const Utils_1 = __webpack_require__(/*! ../../utils/Utils */ "./src/utils/Utils.ts"); +const DomainLockRule = (options) => { + if (options.domainLock.length) { + const normalizedDomains = []; + for (const domain of options.domainLock) { + normalizedDomains.push(Utils_1.Utils.extractDomainFrom(domain)); + } + options = Object.assign(Object.assign({}, options), { domainLock: normalizedDomains }); + } + return options; +}; +exports.DomainLockRule = DomainLockRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/InputFileNameRule.ts": +/*!***********************************************************!*\ + !*** ./src/options/normalizer-rules/InputFileNameRule.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export InputFileNameRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.InputFileNameRule = void 0; +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const InputFileNameRule = (options) => { + let { inputFileName } = options; + if (inputFileName) { + inputFileName = inputFileName + .replace(/^\/+/, '') + .split(StringSeparator_1.StringSeparator.Dot) + .slice(0, -1) + .join(StringSeparator_1.StringSeparator.Dot) || inputFileName; + options = Object.assign(Object.assign({}, options), { inputFileName: `${inputFileName}.js` }); + } + return options; +}; +exports.InputFileNameRule = InputFileNameRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SeedRule.ts": +/*!**************************************************!*\ + !*** ./src/options/normalizer-rules/SeedRule.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export SeedRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SeedRule = void 0; +const SeedRule = (options) => { + if (options.seed) { + return Object.assign(Object.assign({}, options), { seed: options.seed }); + } + const getRandomInteger = (min, max) => { + return Math.floor(Math.random() * (max - min + 1) + min); + }; + return Object.assign(Object.assign({}, options), { seed: getRandomInteger(0, 999999999) }); +}; +exports.SeedRule = SeedRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SelfDefendingRule.ts": +/*!***********************************************************!*\ + !*** ./src/options/normalizer-rules/SelfDefendingRule.ts ***! + \***********************************************************/ +/*! flagged exports */ +/*! export SelfDefendingRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SelfDefendingRule = void 0; +const SelfDefendingRule = (options) => { + if (options.selfDefending) { + options = Object.assign(Object.assign({}, options), { compact: true, selfDefending: true }); + } + return options; +}; +exports.SelfDefendingRule = SelfDefendingRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SourceMapBaseUrlRule.ts": +/*!**************************************************************!*\ + !*** ./src/options/normalizer-rules/SourceMapBaseUrlRule.ts ***! + \**************************************************************/ +/*! flagged exports */ +/*! export SourceMapBaseUrlRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceMapBaseUrlRule = void 0; +const SourceMapBaseUrlRule = (options) => { + const { sourceMapBaseUrl } = options; + if (!options.sourceMapFileName) { + options = Object.assign(Object.assign({}, options), { sourceMapBaseUrl: '' }); + return options; + } + if (sourceMapBaseUrl && !sourceMapBaseUrl.endsWith('/')) { + options = Object.assign(Object.assign({}, options), { sourceMapBaseUrl: `${sourceMapBaseUrl}/` }); + } + return options; +}; +exports.SourceMapBaseUrlRule = SourceMapBaseUrlRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SourceMapFileNameRule.ts": +/*!***************************************************************!*\ + !*** ./src/options/normalizer-rules/SourceMapFileNameRule.ts ***! + \***************************************************************/ +/*! flagged exports */ +/*! export SourceMapFileNameRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceMapFileNameRule = void 0; +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const SourceMapFileNameRule = (options) => { + let { sourceMapFileName } = options; + if (sourceMapFileName) { + sourceMapFileName = sourceMapFileName + .replace(/^\/+/, '') + .replace(/(?:\.js)?(?:\.map)?$/, ''); + let sourceMapFileNameParts = sourceMapFileName.split(StringSeparator_1.StringSeparator.Dot); + const sourceMapFileNamePartsCount = sourceMapFileNameParts.length; + const lastPart = sourceMapFileNameParts[sourceMapFileNamePartsCount - 1]; + if (sourceMapFileNamePartsCount > 1 && lastPart.length <= 3) { + sourceMapFileNameParts = sourceMapFileNameParts.slice(0, -1); + } + sourceMapFileName = sourceMapFileNameParts.join(StringSeparator_1.StringSeparator.Dot); + options = Object.assign(Object.assign({}, options), { sourceMapFileName: `${sourceMapFileName}.js.map` }); + } + return options; +}; +exports.SourceMapFileNameRule = SourceMapFileNameRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/SplitStringsChunkLengthRule.ts": +/*!*********************************************************************!*\ + !*** ./src/options/normalizer-rules/SplitStringsChunkLengthRule.ts ***! + \*********************************************************************/ +/*! flagged exports */ +/*! export SplitStringsChunkLengthRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SplitStringsChunkLengthRule = void 0; +const SplitStringsChunkLengthRule = (options) => { + if (options.splitStringsChunkLength === 0) { + options = Object.assign(Object.assign({}, options), { splitStrings: false, splitStringsChunkLength: 0 }); + } + else { + options = Object.assign(Object.assign({}, options), { splitStringsChunkLength: Math.floor(options.splitStringsChunkLength) }); + } + return options; +}; +exports.SplitStringsChunkLengthRule = SplitStringsChunkLengthRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/StringArrayEncodingRule.ts": +/*!*****************************************************************!*\ + !*** ./src/options/normalizer-rules/StringArrayEncodingRule.ts ***! + \*****************************************************************/ +/*! flagged exports */ +/*! export StringArrayEncodingRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayEncodingRule = void 0; +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayEncodingRule = (options) => { + if (!options.stringArrayEncoding.length) { + options = Object.assign(Object.assign({}, options), { stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ] }); + } + return options; +}; +exports.StringArrayEncodingRule = StringArrayEncodingRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/StringArrayRule.ts": +/*!*********************************************************!*\ + !*** ./src/options/normalizer-rules/StringArrayRule.ts ***! + \*********************************************************/ +/*! flagged exports */ +/*! export StringArrayRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayRule = void 0; +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayRule = (options) => { + if (!options.stringArray) { + options = Object.assign(Object.assign({}, options), { rotateStringArray: false, shuffleStringArray: false, stringArray: false, stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ], stringArrayIndexShift: false, stringArrayWrappersChainedCalls: false, stringArrayWrappersCount: 0, stringArrayThreshold: 0 }); + } + return options; +}; +exports.StringArrayRule = StringArrayRule; + + +/***/ }), + +/***/ "./src/options/normalizer-rules/StringArrayWappersChainedCalls.ts": +/*!************************************************************************!*\ + !*** ./src/options/normalizer-rules/StringArrayWappersChainedCalls.ts ***! + \************************************************************************/ +/*! flagged exports */ +/*! export StringArrayWrappersChainedCallsRule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayWrappersChainedCallsRule = void 0; +const StringArrayWrappersChainedCallsRule = (options) => { + if (options.stringArrayWrappersCount === 0) { + options = Object.assign(Object.assign({}, options), { stringArrayWrappersChainedCalls: false, stringArrayWrappersCount: 0 }); + } + return options; +}; +exports.StringArrayWrappersChainedCallsRule = StringArrayWrappersChainedCallsRule; + + +/***/ }), + +/***/ "./src/options/presets/Default.ts": +/*!****************************************!*\ + !*** ./src/options/presets/Default.ts ***! + \****************************************/ +/*! flagged exports */ +/*! export DEFAULT_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DEFAULT_PRESET = void 0; +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +exports.DEFAULT_PRESET = Object.freeze({ + compact: true, + config: '', + controlFlowFlattening: false, + controlFlowFlatteningThreshold: 0.75, + deadCodeInjection: false, + deadCodeInjectionThreshold: 0.4, + debugProtection: false, + debugProtectionInterval: false, + disableConsoleOutput: false, + domainLock: [], + exclude: [], + forceTransformStrings: [], + identifierNamesGenerator: IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator, + identifiersPrefix: '', + identifiersDictionary: [], + ignoreRequireImports: false, + inputFileName: '', + log: false, + numbersToExpressions: false, + optionsPreset: OptionsPreset_1.OptionsPreset.Default, + renameGlobals: false, + renameProperties: false, + reservedNames: [], + reservedStrings: [], + rotateStringArray: true, + seed: 0, + selfDefending: false, + shuffleStringArray: true, + simplify: true, + sourceMap: false, + sourceMapBaseUrl: '', + sourceMapFileName: '', + sourceMapMode: SourceMapMode_1.SourceMapMode.Separate, + splitStrings: false, + splitStringsChunkLength: 10, + stringArray: true, + stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ], + stringArrayIndexesType: [ + StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber + ], + stringArrayIndexShift: true, + stringArrayWrappersChainedCalls: true, + stringArrayWrappersCount: 1, + stringArrayWrappersType: StringArrayWrappersType_1.StringArrayWrappersType.Variable, + stringArrayThreshold: 0.75, + target: ObfuscationTarget_1.ObfuscationTarget.Browser, + transformObjectKeys: false, + unicodeEscapeSequence: false +}); + + +/***/ }), + +/***/ "./src/options/presets/HighObfuscation.ts": +/*!************************************************!*\ + !*** ./src/options/presets/HighObfuscation.ts ***! + \************************************************/ +/*! flagged exports */ +/*! export HIGH_OBFUSCATION_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HIGH_OBFUSCATION_PRESET = void 0; +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const MediumObfuscation_1 = __webpack_require__(/*! ./MediumObfuscation */ "./src/options/presets/MediumObfuscation.ts"); +exports.HIGH_OBFUSCATION_PRESET = Object.freeze(Object.assign(Object.assign({}, MediumObfuscation_1.MEDIUM_OBFUSCATION_PRESET), { controlFlowFlatteningThreshold: 1, deadCodeInjectionThreshold: 1, debugProtection: true, debugProtectionInterval: true, optionsPreset: OptionsPreset_1.OptionsPreset.HighObfuscation, splitStringsChunkLength: 5, stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.Rc4 + ], stringArrayWrappersCount: 5, stringArrayWrappersType: StringArrayWrappersType_1.StringArrayWrappersType.Function, stringArrayThreshold: 1 })); + + +/***/ }), + +/***/ "./src/options/presets/LowObfuscation.ts": +/*!***********************************************!*\ + !*** ./src/options/presets/LowObfuscation.ts ***! + \***********************************************/ +/*! flagged exports */ +/*! export LOW_OBFUSCATION_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LOW_OBFUSCATION_PRESET = void 0; +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const Default_1 = __webpack_require__(/*! ./Default */ "./src/options/presets/Default.ts"); +exports.LOW_OBFUSCATION_PRESET = Object.freeze(Object.assign(Object.assign({}, Default_1.DEFAULT_PRESET), { disableConsoleOutput: true, optionsPreset: OptionsPreset_1.OptionsPreset.LowObfuscation, rotateStringArray: true, selfDefending: true, shuffleStringArray: true, simplify: true })); + + +/***/ }), + +/***/ "./src/options/presets/MediumObfuscation.ts": +/*!**************************************************!*\ + !*** ./src/options/presets/MediumObfuscation.ts ***! + \**************************************************/ +/*! flagged exports */ +/*! export MEDIUM_OBFUSCATION_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MEDIUM_OBFUSCATION_PRESET = void 0; +const OptionsPreset_1 = __webpack_require__(/*! ../../enums/options/presets/OptionsPreset */ "./src/enums/options/presets/OptionsPreset.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const LowObfuscation_1 = __webpack_require__(/*! ./LowObfuscation */ "./src/options/presets/LowObfuscation.ts"); +exports.MEDIUM_OBFUSCATION_PRESET = Object.freeze(Object.assign(Object.assign({}, LowObfuscation_1.LOW_OBFUSCATION_PRESET), { controlFlowFlattening: true, deadCodeInjection: true, numbersToExpressions: true, optionsPreset: OptionsPreset_1.OptionsPreset.MediumObfuscation, splitStrings: true, splitStringsChunkLength: 10, stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.Base64 + ], stringArrayWrappersCount: 2, transformObjectKeys: true })); + + +/***/ }), + +/***/ "./src/options/presets/NoCustomNodes.ts": +/*!**********************************************!*\ + !*** ./src/options/presets/NoCustomNodes.ts ***! + \**********************************************/ +/*! flagged exports */ +/*! export NO_ADDITIONAL_NODES_PRESET [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NO_ADDITIONAL_NODES_PRESET = void 0; +const IdentifierNamesGenerator_1 = __webpack_require__(/*! ../../enums/generators/identifier-names-generators/IdentifierNamesGenerator */ "./src/enums/generators/identifier-names-generators/IdentifierNamesGenerator.ts"); +const ObfuscationTarget_1 = __webpack_require__(/*! ../../enums/ObfuscationTarget */ "./src/enums/ObfuscationTarget.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const StringArrayWrappersType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayWrappersType */ "./src/enums/node-transformers/string-array-transformers/StringArrayWrappersType.ts"); +const StringArrayIndexesType_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayIndexesType */ "./src/enums/node-transformers/string-array-transformers/StringArrayIndexesType.ts"); +exports.NO_ADDITIONAL_NODES_PRESET = Object.freeze({ + compact: true, + controlFlowFlattening: false, + controlFlowFlatteningThreshold: 0, + deadCodeInjection: false, + deadCodeInjectionThreshold: 0, + debugProtection: false, + debugProtectionInterval: false, + disableConsoleOutput: false, + domainLock: [], + exclude: [], + forceTransformStrings: [], + identifierNamesGenerator: IdentifierNamesGenerator_1.IdentifierNamesGenerator.HexadecimalIdentifierNamesGenerator, + identifiersPrefix: '', + identifiersDictionary: [], + ignoreRequireImports: false, + inputFileName: '', + log: false, + numbersToExpressions: false, + renameGlobals: false, + renameProperties: false, + reservedNames: [], + reservedStrings: [], + rotateStringArray: false, + seed: 0, + selfDefending: false, + shuffleStringArray: false, + simplify: false, + sourceMap: false, + sourceMapBaseUrl: '', + sourceMapFileName: '', + sourceMapMode: SourceMapMode_1.SourceMapMode.Separate, + splitStrings: false, + splitStringsChunkLength: 0, + stringArray: false, + stringArrayEncoding: [ + StringArrayEncoding_1.StringArrayEncoding.None + ], + stringArrayIndexesType: [ + StringArrayIndexesType_1.StringArrayIndexesType.HexadecimalNumber + ], + stringArrayIndexShift: false, + stringArrayWrappersChainedCalls: false, + stringArrayWrappersCount: 0, + stringArrayWrappersType: StringArrayWrappersType_1.StringArrayWrappersType.Variable, + stringArrayThreshold: 0, + target: ObfuscationTarget_1.ObfuscationTarget.Browser, + transformObjectKeys: false, + unicodeEscapeSequence: false +}); + + +/***/ }), + +/***/ "./src/options/validators/IsAllowedForObfuscationTargets.ts": +/*!******************************************************************!*\ + !*** ./src/options/validators/IsAllowedForObfuscationTargets.ts ***! + \******************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.IsAllowedForObfuscationTargets = void 0; +const class_validator_1 = __webpack_require__(/*! class-validator */ "class-validator"); +const fast_deep_equal_1 = __importDefault(__webpack_require__(/*! fast-deep-equal */ "fast-deep-equal")); +const StringSeparator_1 = __webpack_require__(/*! ../../enums/StringSeparator */ "./src/enums/StringSeparator.ts"); +const Default_1 = __webpack_require__(/*! ../presets/Default */ "./src/options/presets/Default.ts"); +function IsAllowedForObfuscationTargets(obfuscationTargets, validationOptions) { + return (optionsObject, propertyName) => { + class_validator_1.registerDecorator({ + propertyName, + constraints: [obfuscationTargets], + name: 'IsAllowedForObfuscationTargets', + options: validationOptions, + target: optionsObject.constructor, + validator: { + validate(value, validationArguments) { + const options = validationArguments.object; + const defaultValue = Default_1.DEFAULT_PRESET[propertyName]; + const isDefaultValue = fast_deep_equal_1.default(value, defaultValue); + return isDefaultValue || obfuscationTargets.includes(options.target); + }, + defaultMessage(validationArguments) { + const requiredObfuscationTargetsString = obfuscationTargets.join(`${StringSeparator_1.StringSeparator.Comma} `); + return `This option allowed only for obfuscation targets: ${requiredObfuscationTargetsString}`; + } + } + }); + }; +} +exports.IsAllowedForObfuscationTargets = IsAllowedForObfuscationTargets; + + +/***/ }), + +/***/ "./src/source-code/ObfuscatedCode.ts": +/*!*******************************************!*\ + !*** ./src/source-code/ObfuscatedCode.ts ***! + \*******************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ObfuscatedCode = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ICryptUtils_1 = __webpack_require__(/*! ../interfaces/utils/ICryptUtils */ "./src/interfaces/utils/ICryptUtils.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const SourceMapMode_1 = __webpack_require__(/*! ../enums/source-map/SourceMapMode */ "./src/enums/source-map/SourceMapMode.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +let ObfuscatedCode = class ObfuscatedCode { + constructor(cryptUtils, options) { + this.cryptUtils = cryptUtils; + this.options = options; + } + initialize(obfuscatedCode, sourceMap) { + this.obfuscatedCode = obfuscatedCode; + this.sourceMap = sourceMap; + } + getObfuscatedCode() { + return this.correctObfuscatedCode(); + } + getSourceMap() { + return this.sourceMap; + } + toString() { + return this.obfuscatedCode; + } + correctObfuscatedCode() { + if (!this.sourceMap) { + return this.obfuscatedCode; + } + const sourceMapUrl = this.options.sourceMapBaseUrl + this.options.sourceMapFileName; + let sourceMappingUrl = '//# sourceMappingURL='; + switch (this.options.sourceMapMode) { + case SourceMapMode_1.SourceMapMode.Inline: + sourceMappingUrl += `data:application/json;base64,${this.cryptUtils.btoa(this.sourceMap)}`; + break; + case SourceMapMode_1.SourceMapMode.Separate: + default: + if (!sourceMapUrl) { + return this.obfuscatedCode; + } + sourceMappingUrl += sourceMapUrl; + } + return `${this.obfuscatedCode}\n${sourceMappingUrl}`; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ObfuscatedCode.prototype, "obfuscatedCode", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ObfuscatedCode.prototype, "sourceMap", void 0); +ObfuscatedCode = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtils)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof ICryptUtils_1.ICryptUtils !== "undefined" && ICryptUtils_1.ICryptUtils) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ObfuscatedCode); +exports.ObfuscatedCode = ObfuscatedCode; + + +/***/ }), + +/***/ "./src/source-code/SourceCode.ts": +/*!***************************************!*\ + !*** ./src/source-code/SourceCode.ts ***! + \***************************************/ +/*! flagged exports */ +/*! export SourceCode [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.SourceCode = void 0; +class SourceCode { + constructor(sourceCode, sourceMap) { + this.sourceCode = sourceCode; + this.sourceMap = sourceMap; + } + getSourceCode() { + return this.sourceCode; + } + getSourceMap() { + return this.sourceMap; + } + toString() { + return this.sourceCode; + } +} +exports.SourceCode = SourceCode; + + +/***/ }), + +/***/ "./src/storages/ArrayStorage.ts": +/*!**************************************!*\ + !*** ./src/storages/ArrayStorage.ts ***! + \**************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ArrayStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +let ArrayStorage = class ArrayStorage { + constructor(randomGenerator, options) { + this.storageLength = 0; + this.randomGenerator = randomGenerator; + this.options = options; + } + initialize() { + this.storage = []; + this.storageId = this.randomGenerator.getRandomString(6); + } + delete(key) { + var _a; + const deletedElement = (_a = this.storage.splice(key, 1)[0]) !== null && _a !== void 0 ? _a : undefined; + if (deletedElement) { + this.storageLength--; + } + return deletedElement; + } + get(key) { + return this.storage[key]; + } + getOrThrow(key) { + const value = this.get(key); + if (!value) { + throw new Error(`No value found in array storage with key \`${key}\``); + } + return value; + } + getKeyOf(value) { + const key = this.storage.indexOf(value); + return key >= 0 ? key : null; + } + getLength() { + return this.storageLength; + } + getStorage() { + return this.storage; + } + getStorageId() { + return this.storageId; + } + mergeWith(storage, mergeId = false) { + this.storage = [...this.storage, ...storage.getStorage()]; + if (mergeId) { + this.storageId = storage.getStorageId(); + } + } + set(key, value) { + if (key === this.storageLength) { + this.storage.push(value); + } + else { + this.storage.splice(key, 0, value); + } + this.storageLength++; + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", Array) +], ArrayStorage.prototype, "storage", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], ArrayStorage.prototype, "storageId", void 0); +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], ArrayStorage.prototype, "initialize", null); +ArrayStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ArrayStorage); +exports.ArrayStorage = ArrayStorage; + + +/***/ }), + +/***/ "./src/storages/MapStorage.ts": +/*!************************************!*\ + !*** ./src/storages/MapStorage.ts ***! + \************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.MapStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +let MapStorage = class MapStorage { + constructor(randomGenerator, options) { + this.randomGenerator = randomGenerator; + this.options = options; + } + initialize() { + this.storage = new Map(); + this.storageId = this.randomGenerator.getRandomString(6); + } + get(key) { + return this.storage.get(key); + } + getOrThrow(key) { + const value = this.get(key); + if (!value) { + throw new Error(`No value found in map storage with key \`${key}\``); + } + return value; + } + getKeyOf(value) { + for (const [key, storageValue] of this.storage) { + if (value === storageValue) { + return key; + } + } + return null; + } + getLength() { + return this.storage.size; + } + getStorage() { + return this.storage; + } + getStorageId() { + return this.storageId; + } + has(key) { + return this.storage.has(key); + } + mergeWith(storage, mergeId = false) { + this.storage = new Map([...this.storage, ...storage.getStorage()]); + if (mergeId) { + this.storageId = storage.getStorageId(); + } + } + set(key, value) { + this.storage.set(key, value); + } +}; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", String) +], MapStorage.prototype, "storageId", void 0); +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof Map !== "undefined" && Map) === "function" ? _a : Object) +], MapStorage.prototype, "storage", void 0); +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], MapStorage.prototype, "initialize", null); +MapStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], MapStorage); +exports.MapStorage = MapStorage; + + +/***/ }), + +/***/ "./src/storages/custom-code-helpers/CustomCodeHelperGroupStorage.ts": +/*!**************************************************************************!*\ + !*** ./src/storages/custom-code-helpers/CustomCodeHelperGroupStorage.ts ***! + \**************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var CustomCodeHelperGroupStorage_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CustomCodeHelperGroupStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TCustomCodeHelperGroupFactory_1 = __webpack_require__(/*! ../../types/container/custom-code-helpers/TCustomCodeHelperGroupFactory */ "./src/types/container/custom-code-helpers/TCustomCodeHelperGroupFactory.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const CustomCodeHelperGroup_1 = __webpack_require__(/*! ../../enums/custom-code-helpers/CustomCodeHelperGroup */ "./src/enums/custom-code-helpers/CustomCodeHelperGroup.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let CustomCodeHelperGroupStorage = CustomCodeHelperGroupStorage_1 = class CustomCodeHelperGroupStorage extends MapStorage_1.MapStorage { + constructor(customCodeHelperGroupFactory, randomGenerator, options) { + super(randomGenerator, options); + this.customCodeHelperGroupFactory = customCodeHelperGroupFactory; + } + initialize() { + super.initialize(); + CustomCodeHelperGroupStorage_1.customCodeHelperGroupsList.forEach((customCodeHelperGroupName) => { + const customCodeHelperGroup = this.customCodeHelperGroupFactory(customCodeHelperGroupName); + this.storage.set(customCodeHelperGroupName, customCodeHelperGroup); + }); + } +}; +CustomCodeHelperGroupStorage.customCodeHelperGroupsList = [ + CustomCodeHelperGroup_1.CustomCodeHelperGroup.ConsoleOutput, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.DebugProtection, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.DomainLock, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.SelfDefending, + CustomCodeHelperGroup_1.CustomCodeHelperGroup.StringArray +]; +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], CustomCodeHelperGroupStorage.prototype, "initialize", null); +CustomCodeHelperGroupStorage = CustomCodeHelperGroupStorage_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__ICustomCodeHelperGroup)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof TCustomCodeHelperGroupFactory_1.TCustomCodeHelperGroupFactory !== "undefined" && TCustomCodeHelperGroupFactory_1.TCustomCodeHelperGroupFactory) === "function" ? _a : Object, typeof (_b = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], CustomCodeHelperGroupStorage); +exports.CustomCodeHelperGroupStorage = CustomCodeHelperGroupStorage; + + +/***/ }), + +/***/ "./src/storages/custom-nodes/ControlFlowStorage.ts": +/*!*********************************************************!*\ + !*** ./src/storages/custom-nodes/ControlFlowStorage.ts ***! + \*********************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ControlFlowStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let ControlFlowStorage = class ControlFlowStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } +}; +ControlFlowStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], ControlFlowStorage); +exports.ControlFlowStorage = ControlFlowStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/LiteralNodesCacheStorage.ts": +/*!****************************************************************************!*\ + !*** ./src/storages/string-array-transformers/LiteralNodesCacheStorage.ts ***! + \****************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LiteralNodesCacheStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let LiteralNodesCacheStorage = class LiteralNodesCacheStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } + buildKey(literalValue, stringArrayStorageItemData) { + return `${literalValue}-${Boolean(stringArrayStorageItemData)}`; + } + shouldUseCachedValue(key, stringArrayStorageItemData) { + return !this.options.stringArrayWrappersCount + && (stringArrayStorageItemData === null || stringArrayStorageItemData === void 0 ? void 0 : stringArrayStorageItemData.encoding) !== StringArrayEncoding_1.StringArrayEncoding.Rc4 + && this.storage.has(key); + } +}; +LiteralNodesCacheStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], LiteralNodesCacheStorage); +exports.LiteralNodesCacheStorage = LiteralNodesCacheStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage.ts": +/*!*******************************************************************************************************!*\ + !*** ./src/storages/string-array-transformers/StringArrayScopeCallsWrapperLexicalScopeDataStorage.ts ***! + \*******************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperLexicalScopeDataStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let StringArrayScopeCallsWrapperLexicalScopeDataStorage = class StringArrayScopeCallsWrapperLexicalScopeDataStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } +}; +StringArrayScopeCallsWrapperLexicalScopeDataStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayScopeCallsWrapperLexicalScopeDataStorage); +exports.StringArrayScopeCallsWrapperLexicalScopeDataStorage = StringArrayScopeCallsWrapperLexicalScopeDataStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage.ts": +/*!************************************************************************************************!*\ + !*** ./src/storages/string-array-transformers/StringArrayScopeCallsWrapperNamesDataStorage.ts ***! + \************************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayScopeCallsWrapperNamesDataStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let StringArrayScopeCallsWrapperNamesDataStorage = class StringArrayScopeCallsWrapperNamesDataStorage extends MapStorage_1.MapStorage { + constructor(randomGenerator, options) { + super(randomGenerator, options); + } +}; +StringArrayScopeCallsWrapperNamesDataStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object]) +], StringArrayScopeCallsWrapperNamesDataStorage); +exports.StringArrayScopeCallsWrapperNamesDataStorage = StringArrayScopeCallsWrapperNamesDataStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/StringArrayStorage.ts": +/*!**********************************************************************!*\ + !*** ./src/storages/string-array-transformers/StringArrayStorage.ts ***! + \**********************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var StringArrayStorage_1, _a, _b, _c, _d, _e; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringArrayStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const TIdentifierNamesGeneratorFactory_1 = __webpack_require__(/*! ../../types/container/generators/TIdentifierNamesGeneratorFactory */ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const ICryptUtilsSwappedAlphabet_1 = __webpack_require__(/*! ../../interfaces/utils/ICryptUtilsSwappedAlphabet */ "./src/interfaces/utils/ICryptUtilsSwappedAlphabet.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const StringArrayEncoding_1 = __webpack_require__(/*! ../../enums/node-transformers/string-array-transformers/StringArrayEncoding */ "./src/enums/node-transformers/string-array-transformers/StringArrayEncoding.ts"); +const MapStorage_1 = __webpack_require__(/*! ../MapStorage */ "./src/storages/MapStorage.ts"); +let StringArrayStorage = StringArrayStorage_1 = class StringArrayStorage extends MapStorage_1.MapStorage { + constructor(identifierNamesGeneratorFactory, arrayUtils, randomGenerator, options, cryptUtilsSwappedAlphabet) { + super(randomGenerator, options); + this.rc4EncodedValuesSourcesCache = new Map(); + this.indexShiftAmount = 0; + this.rotationAmount = 0; + this.stringArrayStorageCallsWrapperNamesMap = new Map(); + this.identifierNamesGenerator = identifierNamesGeneratorFactory(options); + this.arrayUtils = arrayUtils; + this.cryptUtilsSwappedAlphabet = cryptUtilsSwappedAlphabet; + this.rc4Keys = this.randomGenerator.getRandomGenerator() + .n(() => this.randomGenerator.getRandomGenerator().string({ + length: StringArrayStorage_1.rc4KeyLength + }), StringArrayStorage_1.rc4KeysCount); + } + initialize() { + super.initialize(); + this.indexShiftAmount = this.options.stringArrayIndexShift + ? this.randomGenerator.getRandomInteger(StringArrayStorage_1.minimumIndexShiftAmount, StringArrayStorage_1.maximumIndexShiftAmount) + : 0; + this.rotationAmount = this.options.rotateStringArray + ? this.randomGenerator.getRandomInteger(StringArrayStorage_1.minimumRotationAmount, StringArrayStorage_1.maximumRotationAmount) + : 0; + } + get(value) { + return this.getOrSetIfDoesNotExist(value); + } + getIndexShiftAmount() { + return this.indexShiftAmount; + } + getRotationAmount() { + return this.rotationAmount; + } + getStorageName() { + return this.getStorageId(); + } + getStorageId() { + if (!this.stringArrayStorageName) { + this.stringArrayStorageName = this.identifierNamesGenerator + .generateForGlobalScope(StringArrayStorage_1.stringArrayNameLength); + } + return this.stringArrayStorageName; + } + getStorageCallsWrapperName(stringArrayEncoding) { + var _a; + const storageCallsWrapperName = (_a = this.stringArrayStorageCallsWrapperNamesMap + .get(stringArrayEncoding)) !== null && _a !== void 0 ? _a : null; + if (storageCallsWrapperName) { + return storageCallsWrapperName; + } + const newStorageCallsWrapperName = this.identifierNamesGenerator + .generateForGlobalScope(StringArrayStorage_1.stringArrayNameLength); + this.stringArrayStorageCallsWrapperNamesMap.set(stringArrayEncoding, newStorageCallsWrapperName); + return newStorageCallsWrapperName; + } + rotateStorage() { + if (!this.getLength()) { + return; + } + this.storage = new Map(this.arrayUtils.rotate(Array.from(this.storage.entries()), this.rotationAmount)); + } + shuffleStorage() { + this.storage = new Map(this.arrayUtils + .shuffle(Array.from(this.storage.entries())) + .map(([value, stringArrayStorageItemData], index) => { + stringArrayStorageItemData.index = index; + return [value, stringArrayStorageItemData]; + }) + .sort(([, stringArrayStorageItemDataA], [, stringArrayStorageItemDataB]) => stringArrayStorageItemDataA.index - stringArrayStorageItemDataB.index)); + } + getOrSetIfDoesNotExist(value) { + const { encodedValue, encoding, decodeKey } = this.getEncodedValue(value); + const storedStringArrayStorageItemData = this.storage.get(encodedValue); + if (storedStringArrayStorageItemData) { + return storedStringArrayStorageItemData; + } + const stringArrayStorageItemData = { + encodedValue, + encoding, + decodeKey, + value, + index: this.getLength() + }; + this.storage.set(encodedValue, stringArrayStorageItemData); + return stringArrayStorageItemData; + } + getEncodedValue(value) { + var _a; + const encoding = this.options.stringArrayEncoding.length + ? this.randomGenerator + .getRandomGenerator() + .pickone(this.options.stringArrayEncoding) + : null; + if (!encoding) { + throw new Error('`stringArrayEncoding` option array is empty'); + } + switch (encoding) { + case StringArrayEncoding_1.StringArrayEncoding.Rc4: { + const decodeKey = this.randomGenerator.getRandomGenerator().pickone(this.rc4Keys); + const encodedValue = this.cryptUtilsSwappedAlphabet.btoa(this.cryptUtilsSwappedAlphabet.rc4(value, decodeKey)); + const encodedValueSources = (_a = this.rc4EncodedValuesSourcesCache.get(encodedValue)) !== null && _a !== void 0 ? _a : []; + let encodedValueSourcesLength = encodedValueSources.length; + const shouldAddValueToSourcesCache = !encodedValueSourcesLength || !encodedValueSources.includes(value); + if (shouldAddValueToSourcesCache) { + encodedValueSources.push(value); + encodedValueSourcesLength++; + } + this.rc4EncodedValuesSourcesCache.set(encodedValue, encodedValueSources); + if (encodedValueSourcesLength > 1) { + return this.getEncodedValue(value); + } + return { encodedValue, encoding, decodeKey }; + } + case StringArrayEncoding_1.StringArrayEncoding.Base64: { + const decodeKey = null; + const encodedValue = this.cryptUtilsSwappedAlphabet.btoa(value); + return { encodedValue, encoding, decodeKey }; + } + default: { + const decodeKey = null; + const encodedValue = value; + return { encodedValue, encoding, decodeKey }; + } + } + } +}; +StringArrayStorage.minimumRotationAmount = 100; +StringArrayStorage.maximumRotationAmount = 500; +StringArrayStorage.minimumIndexShiftAmount = 100; +StringArrayStorage.maximumIndexShiftAmount = 500; +StringArrayStorage.rc4KeyLength = 4; +StringArrayStorage.rc4KeysCount = 50; +StringArrayStorage.stringArrayNameLength = 4; +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], StringArrayStorage.prototype, "initialize", null); +StringArrayStorage = StringArrayStorage_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.Factory__IIdentifierNamesGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(3, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(4, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ICryptUtilsSwappedAlphabet)), + __metadata("design:paramtypes", [typeof (_a = typeof TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory !== "undefined" && TIdentifierNamesGeneratorFactory_1.TIdentifierNamesGeneratorFactory) === "function" ? _a : Object, typeof (_b = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _b : Object, typeof (_c = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _c : Object, typeof (_d = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _d : Object, typeof (_e = typeof ICryptUtilsSwappedAlphabet_1.ICryptUtilsSwappedAlphabet !== "undefined" && ICryptUtilsSwappedAlphabet_1.ICryptUtilsSwappedAlphabet) === "function" ? _e : Object]) +], StringArrayStorage); +exports.StringArrayStorage = StringArrayStorage; + + +/***/ }), + +/***/ "./src/storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage.ts": +/*!****************************************************************************************!*\ + !*** ./src/storages/string-array-transformers/VisitedLexicalScopeNodesStackStorage.ts ***! + \****************************************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.VisitedLexicalScopeNodesStackStorage = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IArrayUtils_1 = __webpack_require__(/*! ../../interfaces/utils/IArrayUtils */ "./src/interfaces/utils/IArrayUtils.ts"); +const IOptions_1 = __webpack_require__(/*! ../../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const ArrayStorage_1 = __webpack_require__(/*! ../ArrayStorage */ "./src/storages/ArrayStorage.ts"); +let VisitedLexicalScopeNodesStackStorage = class VisitedLexicalScopeNodesStackStorage extends ArrayStorage_1.ArrayStorage { + constructor(randomGenerator, options, arrayUtils) { + super(randomGenerator, options); + this.arrayUtils = arrayUtils; + } + getLastElement() { + return this.arrayUtils.getLastElement(this.getStorage()); + } + getPenultimateElement() { + var _a; + const storageLength = this.getLength(); + return (_a = this.get(storageLength - 2)) !== null && _a !== void 0 ? _a : undefined; + } + push(nodeWithLexicalScopeStatements) { + const storageLength = this.getLength(); + this.set(storageLength, nodeWithLexicalScopeStatements); + } + pop() { + const storageLength = this.getLength(); + return this.delete(storageLength - 1); + } +}; +VisitedLexicalScopeNodesStackStorage = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __param(2, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IArrayUtils)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object, typeof (_b = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _b : Object, typeof (_c = typeof IArrayUtils_1.IArrayUtils !== "undefined" && IArrayUtils_1.IArrayUtils) === "function" ? _c : Object]) +], VisitedLexicalScopeNodesStackStorage); +exports.VisitedLexicalScopeNodesStackStorage = VisitedLexicalScopeNodesStackStorage; + + +/***/ }), + +/***/ "./src/types/container/calls-graph-analyzer/TCalleeDataExtractorFactory.ts": +/*!*********************************************************************************!*\ + !*** ./src/types/container/calls-graph-analyzer/TCalleeDataExtractorFactory.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/code-transformers/TCodeTransformerFactory.ts": +/*!**************************************************************************!*\ + !*** ./src/types/container/code-transformers/TCodeTransformerFactory.ts ***! + \**************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts": +/*!*****************************************************************************!*\ + !*** ./src/types/container/custom-code-helpers/TCustomCodeHelperFactory.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-code-helpers/TCustomCodeHelperGroupFactory.ts": +/*!**********************************************************************************!*\ + !*** ./src/types/container/custom-code-helpers/TCustomCodeHelperGroupFactory.ts ***! + \**********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts": +/*!***************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TControlFlowCustomNodeFactory.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory.ts": +/*!*********************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TDeadNodeInjectionCustomNodeFactory.ts ***! + \*********************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory.ts": +/*!***********************************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TObjectExpressionKeysTransformerCustomNodeFactory.ts ***! + \***********************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts": +/*!***************************************************************************!*\ + !*** ./src/types/container/custom-nodes/TStringArrayCustomNodeFactory.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts": +/*!***************************************************************************************************!*\ + !*** ./src/types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory.ts ***! + \***************************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts": +/*!****************************************************************************!*\ + !*** ./src/types/container/generators/TIdentifierNamesGeneratorFactory.ts ***! + \****************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TControlFlowReplacerFactory.ts": +/*!******************************************************************************!*\ + !*** ./src/types/container/node-transformers/TControlFlowReplacerFactory.ts ***! + \******************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TControlFlowStorageFactory.ts": +/*!*****************************************************************************!*\ + !*** ./src/types/container/node-transformers/TControlFlowStorageFactory.ts ***! + \*****************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TNodeTransformerFactory.ts": +/*!**************************************************************************!*\ + !*** ./src/types/container/node-transformers/TNodeTransformerFactory.ts ***! + \**************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TObfuscatingGuardFactory.ts": +/*!***************************************************************************!*\ + !*** ./src/types/container/node-transformers/TObfuscatingGuardFactory.ts ***! + \***************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/node-transformers/TObjectExpressionExtractorFactory.ts": +/*!************************************************************************************!*\ + !*** ./src/types/container/node-transformers/TObjectExpressionExtractorFactory.ts ***! + \************************************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/container/source-code/TObfuscatedCodeFactory.ts": +/*!*******************************************************************!*\ + !*** ./src/types/container/source-code/TObfuscatedCodeFactory.ts ***! + \*******************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/options/TInputOptions.ts": +/*!********************************************!*\ + !*** ./src/types/options/TInputOptions.ts ***! + \********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/options/TOptionsPreset.ts": +/*!*********************************************!*\ + !*** ./src/types/options/TOptionsPreset.ts ***! + \*********************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/options/TStringArrayWrappersType.ts": +/*!*******************************************************!*\ + !*** ./src/types/options/TStringArrayWrappersType.ts ***! + \*******************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/storages/TControlFlowStorage.ts": +/*!***************************************************!*\ + !*** ./src/types/storages/TControlFlowStorage.ts ***! + \***************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/storages/TCustomCodeHelperGroupStorage.ts": +/*!*************************************************************!*\ + !*** ./src/types/storages/TCustomCodeHelperGroupStorage.ts ***! + \*************************************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/types/utils/TTypeFromEnum.ts": +/*!******************************************!*\ + !*** ./src/types/utils/TTypeFromEnum.ts ***! + \******************************************/ +/*! flagged exports */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }), + +/***/ "./src/utils/AbstractTransformerNamesGroupsBuilder.ts": +/*!************************************************************!*\ + !*** ./src/utils/AbstractTransformerNamesGroupsBuilder.ts ***! + \************************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AbstractTransformerNamesGroupsBuilder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const ILevelledTopologicalSorter_1 = __webpack_require__(/*! ../interfaces/utils/ILevelledTopologicalSorter */ "./src/interfaces/utils/ILevelledTopologicalSorter.ts"); +let AbstractTransformerNamesGroupsBuilder = class AbstractTransformerNamesGroupsBuilder { + constructor(levelledTopologicalSorter) { + this.levelledTopologicalSorter = levelledTopologicalSorter; + } + build(normalizedTransformers) { + const transformerNames = Object.keys(normalizedTransformers); + const relationEdges = this.buildTransformersRelationEdges(transformerNames, normalizedTransformers); + for (const [precedent, consequent] of relationEdges) { + this.levelledTopologicalSorter.add(precedent, consequent); + } + return this.levelledTopologicalSorter.sortByGroups(); + } + buildTransformersRelationEdges(transformerNames, normalizedTransformers) { + const relationEdges = []; + for (const transformerName of transformerNames) { + const transformer = normalizedTransformers[transformerName]; + const runAfterRelations = transformer.runAfter; + if (!runAfterRelations || !runAfterRelations.length) { + relationEdges.push([transformerName, null]); + continue; + } + for (const runAfterRelation of runAfterRelations) { + const isUnknownRelation = normalizedTransformers[runAfterRelation] === undefined; + if (isUnknownRelation) { + relationEdges.push([transformerName, null]); + continue; + } + relationEdges.push([runAfterRelation, transformerName]); + } + } + return relationEdges; + } +}; +AbstractTransformerNamesGroupsBuilder = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ILevelledTopologicalSorter)), + __metadata("design:paramtypes", [typeof (_a = typeof ILevelledTopologicalSorter_1.ILevelledTopologicalSorter !== "undefined" && ILevelledTopologicalSorter_1.ILevelledTopologicalSorter) === "function" ? _a : Object]) +], AbstractTransformerNamesGroupsBuilder); +exports.AbstractTransformerNamesGroupsBuilder = AbstractTransformerNamesGroupsBuilder; + + +/***/ }), + +/***/ "./src/utils/ArrayUtils.ts": +/*!*********************************!*\ + !*** ./src/utils/ArrayUtils.ts ***! + \*********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ArrayUtils = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +let ArrayUtils = class ArrayUtils { + constructor(randomGenerator) { + this.randomGenerator = randomGenerator; + } + createWithRange(length) { + const range = []; + for (let i = 0; i < length; i++) { + range.push(i); + } + return range; + } + fillWithRange(length, valueFunction) { + const range = []; + for (let i = 0; i < length; i++) { + range.push(valueFunction(i)); + } + return range; + } + findMostOccurringElement(array) { + var _a; + const arrayLength = array.length; + if (!arrayLength) { + return null; + } + const elementsMap = {}; + let mostOccurringElement = array[0]; + let mostOccurringElementCount = 1; + for (const element of array) { + const currentElementCount = (_a = elementsMap[element]) !== null && _a !== void 0 ? _a : 0; + const updatedElementCount = currentElementCount + 1; + if (updatedElementCount > mostOccurringElementCount) { + mostOccurringElement = element; + mostOccurringElementCount = updatedElementCount; + } + elementsMap[element] = updatedElementCount; + } + return mostOccurringElement; + } + getLastElement(array) { + var _a; + const arrayLength = array.length; + return (_a = array[arrayLength - 1]) !== null && _a !== void 0 ? _a : undefined; + } + rotate(array, times) { + if (!array.length) { + throw new ReferenceError('Cannot rotate empty array.'); + } + if (times <= 0) { + return array; + } + const newArray = array; + let temp; + while (times--) { + temp = newArray.pop(); + if (temp) { + newArray.unshift(temp); + } + } + return newArray; + } + shuffle(array) { + const shuffledArray = [...array]; + for (let i = shuffledArray.length; i; i--) { + const j = Math.floor(this.randomGenerator.getMathRandom() * i); + [shuffledArray[i - 1], shuffledArray[j]] = [shuffledArray[j], shuffledArray[i - 1]]; + } + return shuffledArray; + } +}; +ArrayUtils = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], ArrayUtils); +exports.ArrayUtils = ArrayUtils; + + +/***/ }), + +/***/ "./src/utils/CryptUtils.ts": +/*!*********************************!*\ + !*** ./src/utils/CryptUtils.ts ***! + \*********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CryptUtils = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Base64Alphabet_1 = __webpack_require__(/*! ../constants/Base64Alphabet */ "./src/constants/Base64Alphabet.ts"); +const RandomGenerator_1 = __webpack_require__(/*! ./RandomGenerator */ "./src/utils/RandomGenerator.ts"); +const Utils_1 = __webpack_require__(/*! ./Utils */ "./src/utils/Utils.ts"); +let CryptUtils = class CryptUtils { + constructor(randomGenerator) { + this.base64Alphabet = Base64Alphabet_1.base64alphabet; + this.randomGenerator = randomGenerator; + } + btoa(string) { + const chars = this.base64Alphabet; + let output = ''; + string = encodeURIComponent(string).replace(/%([0-9A-F]{2})/g, (match, p1) => { + return String.fromCharCode(parseInt(`${Utils_1.Utils.hexadecimalPrefix}${p1}`, 16)); + }); + for (let block, charCode, idx = 0, map = chars; string.charAt(idx | 0) || (map = '=', idx % 1); output += map.charAt(63 & block >> 8 - idx % 1 * 8)) { + charCode = string.charCodeAt(idx += 3 / 4); + if (charCode > 0xFF) { + throw new Error('\'btoa\' failed: The string to be encoded contains characters outside of the Latin1 range.'); + } + block = block << 8 | charCode; + } + return output; + } + hideString(str, length) { + const escapeRegExp = (s) => s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + const randomMerge = (s1, s2) => { + let i1 = -1; + let i2 = -1; + let result = ''; + while (i1 < s1.length || i2 < s2.length) { + if (this.randomGenerator.getMathRandom() < 0.5 && i2 < s2.length) { + result += s2.charAt(++i2); + } + else { + result += s1.charAt(++i1); + } + } + return result; + }; + const randomString = this.randomGenerator.getRandomGenerator().string({ + length: length, + pool: RandomGenerator_1.RandomGenerator.randomGeneratorPool + }); + let randomStringDiff = randomString.replace(new RegExp(`[${escapeRegExp(str)}]`, 'g'), ''); + const randomStringDiffArray = randomStringDiff.split(''); + this.randomGenerator.getRandomGenerator().shuffle(randomStringDiffArray); + randomStringDiff = randomStringDiffArray.join(''); + return [randomMerge(str, randomStringDiff), randomStringDiff]; + } + rc4(string, key) { + const s = []; + let j = 0; + let x; + let result = ''; + for (var i = 0; i < 256; i++) { + s[i] = i; + } + for (i = 0; i < 256; i++) { + j = (j + s[i] + key.charCodeAt(i % key.length)) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + } + i = 0; + j = 0; + for (let y = 0; y < string.length; y++) { + i = (i + 1) % 256; + j = (j + s[i]) % 256; + x = s[i]; + s[i] = s[j]; + s[j] = x; + result += String.fromCharCode(string.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]); + } + return result; + } +}; +CryptUtils = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], CryptUtils); +exports.CryptUtils = CryptUtils; + + +/***/ }), + +/***/ "./src/utils/CryptUtilsSwappedAlphabet.ts": +/*!************************************************!*\ + !*** ./src/utils/CryptUtilsSwappedAlphabet.ts ***! + \************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var _a; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.CryptUtilsSwappedAlphabet = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const IRandomGenerator_1 = __webpack_require__(/*! ../interfaces/utils/IRandomGenerator */ "./src/interfaces/utils/IRandomGenerator.ts"); +const Base64AlphabetSwapped_1 = __webpack_require__(/*! ../constants/Base64AlphabetSwapped */ "./src/constants/Base64AlphabetSwapped.ts"); +const CryptUtils_1 = __webpack_require__(/*! ./CryptUtils */ "./src/utils/CryptUtils.ts"); +let CryptUtilsSwappedAlphabet = class CryptUtilsSwappedAlphabet extends CryptUtils_1.CryptUtils { + constructor(randomGenerator) { + super(randomGenerator); + this.base64Alphabet = Base64AlphabetSwapped_1.base64alphabetSwapped; + } +}; +CryptUtilsSwappedAlphabet = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IRandomGenerator)), + __metadata("design:paramtypes", [typeof (_a = typeof IRandomGenerator_1.IRandomGenerator !== "undefined" && IRandomGenerator_1.IRandomGenerator) === "function" ? _a : Object]) +], CryptUtilsSwappedAlphabet); +exports.CryptUtilsSwappedAlphabet = CryptUtilsSwappedAlphabet; + + +/***/ }), + +/***/ "./src/utils/EscapeSequenceEncoder.ts": +/*!********************************************!*\ + !*** ./src/utils/EscapeSequenceEncoder.ts ***! + \********************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var EscapeSequenceEncoder_1; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.EscapeSequenceEncoder = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +let EscapeSequenceEncoder = EscapeSequenceEncoder_1 = class EscapeSequenceEncoder { + constructor() { + this.stringsCache = new Map(); + } + encode(string, encodeAllSymbols) { + const cacheKey = `${string}-${String(encodeAllSymbols)}`; + if (this.stringsCache.has(cacheKey)) { + return this.stringsCache.get(cacheKey); + } + const radix = 16; + const replaceRegExp = new RegExp('[\\s\\S]', 'g'); + let prefix; + let template; + const result = string.replace(replaceRegExp, (character) => { + const shouldEncodeCharacter = encodeAllSymbols + || EscapeSequenceEncoder_1.forceEscapeCharactersRegExp.test(character); + if (!shouldEncodeCharacter) { + return character; + } + if (EscapeSequenceEncoder_1.ASCIICharactersRegExp.test(character)) { + prefix = '\\x'; + template = '00'; + } + else { + prefix = '\\u'; + template = '0000'; + } + return `${prefix}${(template + character.charCodeAt(0).toString(radix)).slice(-template.length)}`; + }); + this.stringsCache.set(cacheKey, result); + this.stringsCache.set(`${result}-${String(encodeAllSymbols)}`, result); + return result; + } +}; +EscapeSequenceEncoder.ASCIICharactersRegExp = /[\x00-\x7F]/; +EscapeSequenceEncoder.forceEscapeCharactersRegExp = /[\x00-\x1F\x7F-\x9F'"\\\s]/; +EscapeSequenceEncoder = EscapeSequenceEncoder_1 = __decorate([ + inversify_1.injectable() +], EscapeSequenceEncoder); +exports.EscapeSequenceEncoder = EscapeSequenceEncoder; + + +/***/ }), + +/***/ "./src/utils/LevelledTopologicalSorter.ts": +/*!************************************************!*\ + !*** ./src/utils/LevelledTopologicalSorter.ts ***! + \************************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LevelledTopologicalSorter = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +let LevelledTopologicalSorter = class LevelledTopologicalSorter { + constructor() { + this.graph = new Map(); + } + add(precedent, consequent = null) { + if (consequent !== null) { + return this.link(precedent, consequent); + } + return this.register(precedent); + } + sort() { + const consequents = Array.from(this.graph.keys()); + const results = []; + const marks = {}; + for (const consequent of consequents) { + if (marks[consequent] !== undefined) { + continue; + } + this.visit(results, marks, consequent); + } + return results; + } + sortByGroups() { + this.sort(); + const resultItemsGroups = []; + while (this.hasNodes()) { + const rootNodes = this.findRootNodes(); + resultItemsGroups.push(rootNodes); + for (const rootNode of rootNodes) { + this.delete(rootNode); + } + } + return resultItemsGroups; + } + delete(consequent) { + const precedents = this.getPrecedents(consequent); + if (precedents.length) { + throw new Error(`Unable to remove non-root node: ${consequent}`); + } + this.graph.delete(consequent); + const precedentsGroups = Array.from(this.graph.values()); + for (const precedentsGroup of precedentsGroups) { + const precedentsCount = precedentsGroup.length - 1; + for (let index = precedentsCount; index >= 0; index = index - 1) { + if (precedentsGroup[index] !== consequent) { + continue; + } + precedentsGroup.splice(index, 1); + } + } + } + findRootNodes() { + const consequents = Array.from(this.graph.keys()); + const rootNodes = []; + for (const consequent of consequents) { + if (!this.hasPrecedents(consequent)) { + rootNodes.push(consequent); + } + } + return rootNodes; + } + getPrecedents(consequent) { + const precedents = this.graph.get(consequent); + if (!precedents) { + throw new Error(`Unknown node: ${consequent}`); + } + return precedents; + } + hasNodes() { + return this.graph.size > 0; + } + hasPrecedents(consequent) { + return this.getPrecedents(consequent).length > 0; + } + link(precedent, consequent) { + this.register(precedent); + this.register(consequent); + const target = this.graph.get(consequent); + if (target && !target.includes(precedent)) { + target.push(precedent); + } + return this; + } + register(name) { + if (!this.graph.has(name)) { + this.graph.set(name, []); + } + return this; + } + visit(results, marks, name) { + const mark = marks[name]; + if (mark === 'visiting') { + throw new Error(`Detected cycle involving node: ${name}`); + } + if (mark) { + return; + } + marks[name] = 'visiting'; + const precedents = this.getPrecedents(name); + for (const precedent of precedents) { + this.visit(results, marks, precedent); + } + marks[name] = 'ok'; + results.push(name); + return; + } +}; +LevelledTopologicalSorter = __decorate([ + inversify_1.injectable() +], LevelledTopologicalSorter); +exports.LevelledTopologicalSorter = LevelledTopologicalSorter; + + +/***/ }), + +/***/ "./src/utils/NumberUtils.ts": +/*!**********************************!*\ + !*** ./src/utils/NumberUtils.ts ***! + \**********************************/ +/*! flagged exports */ +/*! export NumberUtils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__, __webpack_require__ */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.NumberUtils = void 0; +const Utils_1 = __webpack_require__(/*! ./Utils */ "./src/utils/Utils.ts"); +class NumberUtils { + static toHex(number) { + const radix = 16; + const basePart = typeof number === 'number' + ? number.toString(radix) + : `${number.toString(radix)}n`; + return `${Utils_1.Utils.hexadecimalPrefix}${basePart}`; + } + static isCeil(number) { + return typeof number === 'number' + ? number % 1 === 0 + : true; + } + static isPositive(number) { + if (isNaN(number)) { + throw new Error('Given value is NaN'); + } + if (number > 0) { + return true; + } + if (number < 0) { + return false; + } + if (1 / number === Number.POSITIVE_INFINITY) { + return true; + } + return false; + } + static isUnsafeNumber(number) { + if (isNaN(number)) { + throw new Error('Given value is NaN'); + } + return number < Number.MIN_SAFE_INTEGER || number > Number.MAX_SAFE_INTEGER; + } + static getFactors(number) { + if (number === 0) { + throw new Error('Invalid number. Allowed only non-zero number'); + } + number = Math.abs(number); + if (number === 1) { + return [-number, number]; + } + const factors = []; + const root = Math.sqrt(number); + const isEven = number % 2 === 0; + const incrementValue = isEven ? 1 : 2; + for (let currentFactor = 1; currentFactor <= root; currentFactor += incrementValue) { + if (number % currentFactor !== 0) { + continue; + } + factors.push(...[-currentFactor, currentFactor]); + const compliment = number / currentFactor; + if (compliment !== currentFactor) { + factors.push(...[-compliment, compliment]); + } + } + return factors.sort((a, b) => a - b); + } +} +exports.NumberUtils = NumberUtils; + + +/***/ }), + +/***/ "./src/utils/RandomGenerator.ts": +/*!**************************************!*\ + !*** ./src/utils/RandomGenerator.ts ***! + \**************************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var RandomGenerator_1, _a, _b, _c; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.RandomGenerator = void 0; +const inversify_1 = __webpack_require__(/*! inversify */ "inversify"); +const ServiceIdentifiers_1 = __webpack_require__(/*! ../container/ServiceIdentifiers */ "./src/container/ServiceIdentifiers.ts"); +const md5_1 = __importDefault(__webpack_require__(/*! md5 */ "md5")); +const chance_1 = __webpack_require__(/*! chance */ "chance"); +const IOptions_1 = __webpack_require__(/*! ../interfaces/options/IOptions */ "./src/interfaces/options/IOptions.ts"); +const ISourceCode_1 = __webpack_require__(/*! ../interfaces/source-code/ISourceCode */ "./src/interfaces/source-code/ISourceCode.ts"); +const Initializable_1 = __webpack_require__(/*! ../decorators/Initializable */ "./src/decorators/Initializable.ts"); +const AlphabetString_1 = __webpack_require__(/*! ../constants/AlphabetString */ "./src/constants/AlphabetString.ts"); +const AlphabetStringUppercase_1 = __webpack_require__(/*! ../constants/AlphabetStringUppercase */ "./src/constants/AlphabetStringUppercase.ts"); +let RandomGenerator = RandomGenerator_1 = class RandomGenerator { + constructor(sourceCode, options) { + this.sourceCode = sourceCode; + this.options = options; + } + initialize() { + this.randomGenerator = new chance_1.Chance(this.getRawSeed()); + } + getMathRandom() { + return this.getRandomInteger(0, 99999) / 100000; + } + getRandomGenerator() { + return this.randomGenerator; + } + getRandomInteger(min, max) { + return this.getRandomGenerator().integer({ + min: min, + max: max + }); + } + getRandomIntegerExcluding(min, max, valuesToExclude) { + const valuesToPickArray = []; + for (let value = min; value <= max; value++) { + if (valuesToExclude.includes(value)) { + continue; + } + valuesToPickArray.push(value); + } + return this.randomGenerator.pickone(valuesToPickArray); + } + getRandomString(length, pool = RandomGenerator_1.randomGeneratorPool) { + return this.getRandomGenerator().string({ length, pool }); + } + getInputSeed() { + return this.options.seed.toString(); + } + getRawSeed() { + const inputSeed = this.getInputSeed(); + const inputSeedParts = `${inputSeed}`.split('|'); + if (inputSeedParts.length > 1) { + return inputSeed; + } + const sourceCodeMD5Hash = md5_1.default(this.sourceCode.getSourceCode()); + return `${inputSeed}|${sourceCodeMD5Hash}`; + } +}; +RandomGenerator.randomGeneratorPool = `${AlphabetString_1.alphabetString}${AlphabetStringUppercase_1.alphabetStringUppercase}`; +__decorate([ + Initializable_1.initializable(), + __metadata("design:type", typeof (_a = typeof chance_1.Chance !== "undefined" && chance_1.Chance.Chance) === "function" ? _a : Object) +], RandomGenerator.prototype, "randomGenerator", void 0); +__decorate([ + inversify_1.postConstruct(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) +], RandomGenerator.prototype, "initialize", null); +RandomGenerator = RandomGenerator_1 = __decorate([ + inversify_1.injectable(), + __param(0, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.ISourceCode)), + __param(1, inversify_1.inject(ServiceIdentifiers_1.ServiceIdentifiers.IOptions)), + __metadata("design:paramtypes", [typeof (_b = typeof ISourceCode_1.ISourceCode !== "undefined" && ISourceCode_1.ISourceCode) === "function" ? _b : Object, typeof (_c = typeof IOptions_1.IOptions !== "undefined" && IOptions_1.IOptions) === "function" ? _c : Object]) +], RandomGenerator); +exports.RandomGenerator = RandomGenerator; + + +/***/ }), + +/***/ "./src/utils/StringUtils.ts": +/*!**********************************!*\ + !*** ./src/utils/StringUtils.ts ***! + \**********************************/ +/*! unknown exports (runtime-defined) */ +/*! runtime requirements: top-level-this-exports, __webpack_exports__, __webpack_require__ */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.StringUtils = void 0; +const js_string_escape_1 = __importDefault(__webpack_require__(/*! js-string-escape */ "js-string-escape")); +class StringUtils { + static escapeJsString(string) { + return js_string_escape_1.default(string); + } +} +exports.StringUtils = StringUtils; + + +/***/ }), + +/***/ "./src/utils/Utils.ts": +/*!****************************!*\ + !*** ./src/utils/Utils.ts ***! + \****************************/ +/*! flagged exports */ +/*! export Utils [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export __esModule [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: __webpack_exports__ */ +/***/ ((__unused_webpack_module, exports) => { + + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Utils = void 0; +class Utils { + static buildVersionMessage(version, buildTimestamp) { + if (!version || !buildTimestamp) { + return 'unknown'; + } + const buildDate = new Date(parseInt(buildTimestamp, 10)).toISOString(); + return `${version}_${buildDate}`; + } + static extractDomainFrom(url) { + let domain; + if (url.includes('://') || url.indexOf('//') === 0) { + domain = url.split('/')[2]; + } + else { + domain = url.split('/')[0]; + } + domain = domain.split(':')[0]; + return domain; + } + static getIdentifiersPrefixForMultipleSources(identifiersPrefix, sourceCodeIndex) { + const baseIdentifiersPrefix = !!identifiersPrefix + ? identifiersPrefix + : Utils.baseMultipleSourcesIdentifiersPrefix; + return `${baseIdentifiersPrefix}${sourceCodeIndex}`; + } + static makeEnum(enumLikeObject) { + return Object.freeze(Object.assign({}, enumLikeObject)); + } +} +exports.Utils = Utils; +Utils.baseMultipleSourcesIdentifiersPrefix = 'a'; +Utils.hexadecimalPrefix = '0x'; + + +/***/ }), + +/***/ "./src/node-transformers/rename-properties-transformers/replacer/ReservedDomProperties.json": +/*!**************************************************************************************************!*\ + !*** ./src/node-transformers/rename-properties-transformers/replacer/ReservedDomProperties.json ***! + \**************************************************************************************************/ +/*! default exports */ +/*! export 0 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 10 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 11 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 12 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 13 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 14 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 15 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 16 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 17 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 18 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 19 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 1999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 20 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 21 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 22 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 23 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 24 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 25 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 26 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 27 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 28 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 29 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 2999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 30 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 31 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 32 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 33 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 34 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 35 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 36 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 37 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 38 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 39 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 3999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 40 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 41 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 42 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 43 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 44 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 45 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 46 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 47 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 48 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 49 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 4999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 50 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5000 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5001 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5002 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5003 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5004 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5005 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5006 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5007 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5008 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5009 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5010 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5011 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5012 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5013 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5014 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5015 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5016 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5017 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5018 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5019 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5020 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5021 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5022 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5023 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5024 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5025 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5026 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5027 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5028 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5029 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5030 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5031 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5032 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5033 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5034 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5035 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5036 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5037 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5038 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5039 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5040 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5041 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5042 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5043 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5044 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5045 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5046 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5047 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5048 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5049 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5050 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5051 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5052 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5053 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5054 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5055 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5056 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5057 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5058 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5059 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5060 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5061 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5062 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5063 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5064 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5065 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5066 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5067 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5068 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5069 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5070 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5071 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5072 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5073 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5074 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5075 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5076 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5077 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5078 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5079 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5080 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5081 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5082 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5083 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5084 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5085 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5086 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5087 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5088 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5089 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5090 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5091 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5092 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5093 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5094 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5095 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5096 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5097 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5098 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5099 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 51 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5100 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5101 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5102 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5103 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5104 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5105 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5106 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5107 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5108 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5109 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5110 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5111 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5112 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5113 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5114 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5115 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5116 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5117 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5118 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5119 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5120 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5121 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5122 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5123 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5124 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5125 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5126 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5127 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5128 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5129 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5130 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5131 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5132 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5133 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5134 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5135 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5136 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5137 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5138 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5139 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5140 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5141 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5142 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5143 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5144 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5145 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5146 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5147 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5148 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5149 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5150 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5151 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5152 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5153 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5154 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5155 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5156 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5157 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5158 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5159 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5160 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5161 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5162 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5163 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5164 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5165 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5166 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5167 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5168 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5169 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5170 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5171 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5172 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5173 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5174 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5175 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5176 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5177 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5178 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5179 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5180 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5181 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5182 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5183 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5184 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5185 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5186 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5187 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5188 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5189 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5190 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5191 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5192 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5193 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5194 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5195 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5196 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5197 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5198 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5199 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 52 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5200 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5201 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5202 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5203 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5204 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5205 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5206 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5207 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5208 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5209 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5210 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5211 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5212 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5213 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5214 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5215 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5216 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5217 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5218 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5219 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5220 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5221 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5222 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5223 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5224 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5225 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5226 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5227 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5228 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5229 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5230 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5231 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5232 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5233 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5234 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5235 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5236 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5237 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5238 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5239 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5240 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5241 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5242 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5243 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5244 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5245 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5246 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5247 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5248 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5249 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5250 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5251 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5252 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5253 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5254 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5255 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5256 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5257 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5258 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5259 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5260 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5261 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5262 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5263 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5264 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5265 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5266 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5267 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5268 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5269 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5270 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5271 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5272 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5273 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5274 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5275 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5276 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5277 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5278 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5279 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5280 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5281 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5282 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5283 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5284 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5285 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5286 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5287 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5288 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5289 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5290 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5291 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5292 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5293 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5294 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5295 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5296 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5297 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5298 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5299 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 53 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5300 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5301 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5302 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5303 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5304 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5305 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5306 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5307 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5308 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5309 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5310 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5311 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5312 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5313 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5314 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5315 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5316 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5317 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5318 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5319 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5320 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5321 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5322 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5323 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5324 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5325 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5326 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5327 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5328 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5329 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5330 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5331 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5332 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5333 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5334 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5335 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5336 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5337 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5338 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5339 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5340 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5341 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5342 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5343 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5344 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5345 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5346 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5347 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5348 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5349 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5350 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5351 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5352 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5353 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5354 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5355 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5356 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5357 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5358 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5359 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5360 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5361 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5362 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5363 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5364 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5365 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5366 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5367 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5368 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5369 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5370 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5371 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5372 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5373 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5374 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5375 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5376 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5377 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5378 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5379 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5380 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5381 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5382 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5383 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5384 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5385 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5386 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5387 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5388 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5389 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5390 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5391 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5392 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5393 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5394 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5395 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5396 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5397 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5398 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5399 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 54 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5400 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5401 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5402 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5403 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5404 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5405 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5406 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5407 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5408 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5409 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5410 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5411 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5412 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5413 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5414 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5415 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5416 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5417 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5418 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5419 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5420 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5421 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5422 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5423 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5424 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5425 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5426 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5427 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5428 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5429 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5430 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5431 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5432 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5433 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5434 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5435 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5436 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5437 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5438 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5439 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5440 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5441 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5442 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5443 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5444 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5445 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5446 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5447 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5448 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5449 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5450 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5451 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5452 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5453 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5454 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5455 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5456 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5457 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5458 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5459 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5460 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5461 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5462 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5463 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5464 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5465 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5466 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5467 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5468 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5469 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5470 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5471 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5472 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5473 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5474 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5475 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5476 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5477 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5478 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5479 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5480 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5481 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5482 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5483 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5484 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5485 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5486 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5487 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5488 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5489 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5490 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5491 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5492 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5493 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5494 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5495 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5496 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5497 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5498 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5499 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 55 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5500 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5501 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5502 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5503 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5504 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5505 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5506 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5507 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5508 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5509 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5510 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5511 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5512 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5513 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5514 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5515 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5516 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5517 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5518 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5519 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5520 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5521 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5522 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5523 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5524 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5525 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5526 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5527 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5528 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5529 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5530 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5531 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5532 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5533 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5534 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5535 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5536 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5537 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5538 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5539 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5540 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5541 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5542 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5543 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5544 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5545 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5546 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5547 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5548 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5549 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5550 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5551 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5552 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5553 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5554 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5555 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 556 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 557 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 558 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 559 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 56 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 560 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 561 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 5616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 562 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 563 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 564 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 565 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 566 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 567 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 568 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 569 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 57 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 570 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 571 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 572 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 573 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 574 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 575 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 576 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 577 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 578 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 579 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 58 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 580 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 581 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 582 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 583 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 584 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 585 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 586 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 587 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 588 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 589 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 59 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 590 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 591 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 592 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 593 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 594 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 595 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 596 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 597 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 598 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 599 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 6 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 60 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 600 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 601 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 602 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 603 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 604 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 605 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 606 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 607 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 608 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 609 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 61 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 610 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 611 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 612 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 613 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 614 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 615 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 616 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 617 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 618 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 619 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 62 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 620 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 621 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 622 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 623 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 624 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 625 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 626 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 627 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 628 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 629 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 63 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 630 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 631 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 632 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 633 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 634 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 635 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 636 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 637 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 638 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 639 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 64 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 640 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 641 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 642 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 643 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 644 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 645 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 646 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 647 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 648 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 649 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 65 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 650 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 651 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 652 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 653 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 654 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 655 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 656 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 657 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 658 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 659 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 66 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 660 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 661 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 662 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 663 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 664 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 665 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 666 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 667 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 668 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 669 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 67 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 670 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 671 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 672 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 673 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 674 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 675 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 676 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 677 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 678 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 679 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 68 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 680 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 681 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 682 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 683 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 684 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 685 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 686 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 687 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 688 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 689 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 69 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 690 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 691 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 692 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 693 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 694 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 695 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 696 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 697 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 698 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 699 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 7 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 70 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 700 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 701 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 702 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 703 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 704 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 705 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 706 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 707 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 708 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 709 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 71 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 710 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 711 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 712 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 713 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 714 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 715 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 716 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 717 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 718 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 719 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 72 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 720 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 721 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 722 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 723 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 724 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 725 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 726 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 727 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 728 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 729 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 73 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 730 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 731 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 732 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 733 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 734 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 735 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 736 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 737 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 738 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 739 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 74 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 740 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 741 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 742 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 743 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 744 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 745 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 746 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 747 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 748 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 749 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 75 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 750 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 751 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 752 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 753 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 754 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 755 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 756 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 757 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 758 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 759 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 76 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 760 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 761 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 762 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 763 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 764 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 765 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 766 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 767 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 768 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 769 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 77 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 770 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 771 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 772 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 773 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 774 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 775 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 776 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 777 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 778 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 779 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 78 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 780 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 781 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 782 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 783 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 784 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 785 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 786 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 787 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 788 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 789 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 79 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 790 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 791 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 792 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 793 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 794 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 795 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 796 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 797 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 798 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 799 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 8 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 80 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 800 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 801 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 802 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 803 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 804 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 805 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 806 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 807 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 808 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 809 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 81 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 810 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 811 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 812 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 813 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 814 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 815 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 816 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 817 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 818 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 819 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 82 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 820 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 821 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 822 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 823 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 824 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 825 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 826 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 827 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 828 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 829 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 83 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 830 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 831 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 832 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 833 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 834 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 835 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 836 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 837 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 838 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 839 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 84 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 840 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 841 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 842 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 843 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 844 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 845 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 846 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 847 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 848 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 849 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 85 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 850 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 851 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 852 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 853 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 854 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 855 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 856 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 857 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 858 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 859 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 86 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 860 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 861 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 862 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 863 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 864 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 865 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 866 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 867 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 868 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 869 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 87 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 870 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 871 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 872 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 873 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 874 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 875 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 876 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 877 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 878 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 879 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 88 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 880 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 881 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 882 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 883 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 884 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 885 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 886 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 887 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 888 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 889 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 89 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 890 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 891 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 892 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 893 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 894 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 895 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 896 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 897 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 898 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 899 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 9 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 90 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 900 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 901 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 902 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 903 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 904 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 905 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 906 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 907 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 908 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 909 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 91 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 910 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 911 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 912 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 913 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 914 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 915 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 916 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 917 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 918 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 919 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 92 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 920 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 921 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 922 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 923 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 924 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 925 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 926 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 927 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 928 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 929 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 93 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 930 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 931 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 932 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 933 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 934 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 935 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 936 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 937 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 938 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 939 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 94 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 940 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 941 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 942 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 943 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 944 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 945 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 946 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 947 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 948 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 949 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 95 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 950 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 951 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 952 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 953 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 954 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 955 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 956 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 957 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 958 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 959 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 96 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 960 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 961 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 962 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 963 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 964 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 965 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 966 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 967 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 968 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 969 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 97 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 970 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 971 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 972 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 973 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 974 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 975 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 976 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 977 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 978 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 979 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 98 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 980 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 981 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 982 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 983 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 984 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 985 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 986 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 987 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 988 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 989 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 99 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 990 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 991 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 992 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 993 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 994 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 995 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 996 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 997 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 998 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! export 999 [provided] [no usage info] [missing usage info prevents renaming] */ +/*! other exports [not provided] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = JSON.parse("[\"$&\",\"$'\",\"$*\",\"$+\",\"$1\",\"$2\",\"$3\",\"$4\",\"$5\",\"$6\",\"$7\",\"$8\",\"$9\",\"$_\",\"$`\",\"$input\",\"@@iterator\",\"ABORT_ERR\",\"ACTIVE\",\"ACTIVE_ATTRIBUTES\",\"ACTIVE_TEXTURE\",\"ACTIVE_UNIFORMS\",\"ADDITION\",\"ALIASED_LINE_WIDTH_RANGE\",\"ALIASED_POINT_SIZE_RANGE\",\"ALLOW_KEYBOARD_INPUT\",\"ALLPASS\",\"ALPHA\",\"ALPHA_BITS\",\"ALT_MASK\",\"ALWAYS\",\"ANY_TYPE\",\"ANY_UNORDERED_NODE_TYPE\",\"ARRAY_BUFFER\",\"ARRAY_BUFFER_BINDING\",\"ATTACHED_SHADERS\",\"ATTRIBUTE_NODE\",\"AT_TARGET\",\"AddSearchProvider\",\"AnalyserNode\",\"AnimationEvent\",\"AnonXMLHttpRequest\",\"ApplicationCache\",\"ApplicationCacheErrorEvent\",\"Array\",\"ArrayBuffer\",\"Attr\",\"Audio\",\"AudioBuffer\",\"AudioBufferSourceNode\",\"AudioContext\",\"AudioDestinationNode\",\"AudioListener\",\"AudioNode\",\"AudioParam\",\"AudioProcessingEvent\",\"AudioStreamTrack\",\"AutocompleteErrorEvent\",\"BACK\",\"BAD_BOUNDARYPOINTS_ERR\",\"BANDPASS\",\"BLEND\",\"BLEND_COLOR\",\"BLEND_DST_ALPHA\",\"BLEND_DST_RGB\",\"BLEND_EQUATION\",\"BLEND_EQUATION_ALPHA\",\"BLEND_EQUATION_RGB\",\"BLEND_SRC_ALPHA\",\"BLEND_SRC_RGB\",\"BLUE_BITS\",\"BLUR\",\"BOOL\",\"BOOLEAN_TYPE\",\"BOOL_VEC2\",\"BOOL_VEC3\",\"BOOL_VEC4\",\"BOTH\",\"BROWSER_DEFAULT_WEBGL\",\"BUBBLING_PHASE\",\"BUFFER_SIZE\",\"BUFFER_USAGE\",\"BYTE\",\"BYTES_PER_ELEMENT\",\"BarProp\",\"BaseHref\",\"BatteryManager\",\"BeforeLoadEvent\",\"BeforeUnloadEvent\",\"BiquadFilterNode\",\"Blob\",\"BlobEvent\",\"Boolean\",\"CAPTURING_PHASE\",\"CCW\",\"CDATASection\",\"CDATA_SECTION_NODE\",\"CHANGE\",\"CHARSET_RULE\",\"CHECKING\",\"CLAMP_TO_EDGE\",\"CLICK\",\"CLOSED\",\"CLOSING\",\"COLOR_ATTACHMENT0\",\"COLOR_BUFFER_BIT\",\"COLOR_CLEAR_VALUE\",\"COLOR_WRITEMASK\",\"COMMENT_NODE\",\"COMPILE_STATUS\",\"COMPRESSED_RGBA_S3TC_DXT1_EXT\",\"COMPRESSED_RGBA_S3TC_DXT3_EXT\",\"COMPRESSED_RGBA_S3TC_DXT5_EXT\",\"COMPRESSED_RGB_S3TC_DXT1_EXT\",\"COMPRESSED_TEXTURE_FORMATS\",\"CONNECTING\",\"CONSTANT_ALPHA\",\"CONSTANT_COLOR\",\"CONSTRAINT_ERR\",\"CONTEXT_LOST_WEBGL\",\"CONTROL_MASK\",\"COUNTER_STYLE_RULE\",\"CSS\",\"CSS2Properties\",\"CSSCharsetRule\",\"CSSConditionRule\",\"CSSCounterStyleRule\",\"CSSFontFaceRule\",\"CSSFontFeatureValuesRule\",\"CSSGroupingRule\",\"CSSImportRule\",\"CSSKeyframeRule\",\"CSSKeyframesRule\",\"CSSMediaRule\",\"CSSMozDocumentRule\",\"CSSNameSpaceRule\",\"CSSPageRule\",\"CSSPrimitiveValue\",\"CSSRule\",\"CSSRuleList\",\"CSSStyleDeclaration\",\"CSSStyleRule\",\"CSSStyleSheet\",\"CSSSupportsRule\",\"CSSUnknownRule\",\"CSSValue\",\"CSSValueList\",\"CSSVariablesDeclaration\",\"CSSVariablesRule\",\"CSSViewportRule\",\"CSS_ATTR\",\"CSS_CM\",\"CSS_COUNTER\",\"CSS_CUSTOM\",\"CSS_DEG\",\"CSS_DIMENSION\",\"CSS_EMS\",\"CSS_EXS\",\"CSS_FILTER_BLUR\",\"CSS_FILTER_BRIGHTNESS\",\"CSS_FILTER_CONTRAST\",\"CSS_FILTER_CUSTOM\",\"CSS_FILTER_DROP_SHADOW\",\"CSS_FILTER_GRAYSCALE\",\"CSS_FILTER_HUE_ROTATE\",\"CSS_FILTER_INVERT\",\"CSS_FILTER_OPACITY\",\"CSS_FILTER_REFERENCE\",\"CSS_FILTER_SATURATE\",\"CSS_FILTER_SEPIA\",\"CSS_GRAD\",\"CSS_HZ\",\"CSS_IDENT\",\"CSS_IN\",\"CSS_INHERIT\",\"CSS_KHZ\",\"CSS_MATRIX\",\"CSS_MATRIX3D\",\"CSS_MM\",\"CSS_MS\",\"CSS_NUMBER\",\"CSS_PC\",\"CSS_PERCENTAGE\",\"CSS_PERSPECTIVE\",\"CSS_PRIMITIVE_VALUE\",\"CSS_PT\",\"CSS_PX\",\"CSS_RAD\",\"CSS_RECT\",\"CSS_RGBCOLOR\",\"CSS_ROTATE\",\"CSS_ROTATE3D\",\"CSS_ROTATEX\",\"CSS_ROTATEY\",\"CSS_ROTATEZ\",\"CSS_S\",\"CSS_SCALE\",\"CSS_SCALE3D\",\"CSS_SCALEX\",\"CSS_SCALEY\",\"CSS_SCALEZ\",\"CSS_SKEW\",\"CSS_SKEWX\",\"CSS_SKEWY\",\"CSS_STRING\",\"CSS_TRANSLATE\",\"CSS_TRANSLATE3D\",\"CSS_TRANSLATEX\",\"CSS_TRANSLATEY\",\"CSS_TRANSLATEZ\",\"CSS_UNKNOWN\",\"CSS_URI\",\"CSS_VALUE_LIST\",\"CSS_VH\",\"CSS_VMAX\",\"CSS_VMIN\",\"CSS_VW\",\"CULL_FACE\",\"CULL_FACE_MODE\",\"CURRENT_PROGRAM\",\"CURRENT_VERTEX_ATTRIB\",\"CUSTOM\",\"CW\",\"CanvasGradient\",\"CanvasPattern\",\"CanvasRenderingContext2D\",\"CaretPosition\",\"ChannelMergerNode\",\"ChannelSplitterNode\",\"CharacterData\",\"ClientRect\",\"ClientRectList\",\"Clipboard\",\"ClipboardEvent\",\"CloseEvent\",\"Collator\",\"CommandEvent\",\"Comment\",\"CompositionEvent\",\"Console\",\"Controllers\",\"ConvolverNode\",\"Counter\",\"Crypto\",\"CryptoKey\",\"CustomEvent\",\"DATABASE_ERR\",\"DATA_CLONE_ERR\",\"DATA_ERR\",\"DBLCLICK\",\"DECR\",\"DECR_WRAP\",\"DELETE_STATUS\",\"DEPTH_ATTACHMENT\",\"DEPTH_BITS\",\"DEPTH_BUFFER_BIT\",\"DEPTH_CLEAR_VALUE\",\"DEPTH_COMPONENT\",\"DEPTH_COMPONENT16\",\"DEPTH_FUNC\",\"DEPTH_RANGE\",\"DEPTH_STENCIL\",\"DEPTH_STENCIL_ATTACHMENT\",\"DEPTH_TEST\",\"DEPTH_WRITEMASK\",\"DIRECTION_DOWN\",\"DIRECTION_LEFT\",\"DIRECTION_RIGHT\",\"DIRECTION_UP\",\"DISABLED\",\"DISPATCH_REQUEST_ERR\",\"DITHER\",\"DOCUMENT_FRAGMENT_NODE\",\"DOCUMENT_NODE\",\"DOCUMENT_POSITION_CONTAINED_BY\",\"DOCUMENT_POSITION_CONTAINS\",\"DOCUMENT_POSITION_DISCONNECTED\",\"DOCUMENT_POSITION_FOLLOWING\",\"DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\",\"DOCUMENT_POSITION_PRECEDING\",\"DOCUMENT_TYPE_NODE\",\"DOMCursor\",\"DOMError\",\"DOMException\",\"DOMImplementation\",\"DOMImplementationLS\",\"DOMMatrix\",\"DOMMatrixReadOnly\",\"DOMParser\",\"DOMPoint\",\"DOMPointReadOnly\",\"DOMQuad\",\"DOMRect\",\"DOMRectList\",\"DOMRectReadOnly\",\"DOMRequest\",\"DOMSTRING_SIZE_ERR\",\"DOMSettableTokenList\",\"DOMStringList\",\"DOMStringMap\",\"DOMTokenList\",\"DOMTransactionEvent\",\"DOM_DELTA_LINE\",\"DOM_DELTA_PAGE\",\"DOM_DELTA_PIXEL\",\"DOM_INPUT_METHOD_DROP\",\"DOM_INPUT_METHOD_HANDWRITING\",\"DOM_INPUT_METHOD_IME\",\"DOM_INPUT_METHOD_KEYBOARD\",\"DOM_INPUT_METHOD_MULTIMODAL\",\"DOM_INPUT_METHOD_OPTION\",\"DOM_INPUT_METHOD_PASTE\",\"DOM_INPUT_METHOD_SCRIPT\",\"DOM_INPUT_METHOD_UNKNOWN\",\"DOM_INPUT_METHOD_VOICE\",\"DOM_KEY_LOCATION_JOYSTICK\",\"DOM_KEY_LOCATION_LEFT\",\"DOM_KEY_LOCATION_MOBILE\",\"DOM_KEY_LOCATION_NUMPAD\",\"DOM_KEY_LOCATION_RIGHT\",\"DOM_KEY_LOCATION_STANDARD\",\"DOM_VK_0\",\"DOM_VK_1\",\"DOM_VK_2\",\"DOM_VK_3\",\"DOM_VK_4\",\"DOM_VK_5\",\"DOM_VK_6\",\"DOM_VK_7\",\"DOM_VK_8\",\"DOM_VK_9\",\"DOM_VK_A\",\"DOM_VK_ACCEPT\",\"DOM_VK_ADD\",\"DOM_VK_ALT\",\"DOM_VK_ALTGR\",\"DOM_VK_AMPERSAND\",\"DOM_VK_ASTERISK\",\"DOM_VK_AT\",\"DOM_VK_ATTN\",\"DOM_VK_B\",\"DOM_VK_BACKSPACE\",\"DOM_VK_BACK_QUOTE\",\"DOM_VK_BACK_SLASH\",\"DOM_VK_BACK_SPACE\",\"DOM_VK_C\",\"DOM_VK_CANCEL\",\"DOM_VK_CAPS_LOCK\",\"DOM_VK_CIRCUMFLEX\",\"DOM_VK_CLEAR\",\"DOM_VK_CLOSE_BRACKET\",\"DOM_VK_CLOSE_CURLY_BRACKET\",\"DOM_VK_CLOSE_PAREN\",\"DOM_VK_COLON\",\"DOM_VK_COMMA\",\"DOM_VK_CONTEXT_MENU\",\"DOM_VK_CONTROL\",\"DOM_VK_CONVERT\",\"DOM_VK_CRSEL\",\"DOM_VK_CTRL\",\"DOM_VK_D\",\"DOM_VK_DECIMAL\",\"DOM_VK_DELETE\",\"DOM_VK_DIVIDE\",\"DOM_VK_DOLLAR\",\"DOM_VK_DOUBLE_QUOTE\",\"DOM_VK_DOWN\",\"DOM_VK_E\",\"DOM_VK_EISU\",\"DOM_VK_END\",\"DOM_VK_ENTER\",\"DOM_VK_EQUALS\",\"DOM_VK_EREOF\",\"DOM_VK_ESCAPE\",\"DOM_VK_EXCLAMATION\",\"DOM_VK_EXECUTE\",\"DOM_VK_EXSEL\",\"DOM_VK_F\",\"DOM_VK_F1\",\"DOM_VK_F10\",\"DOM_VK_F11\",\"DOM_VK_F12\",\"DOM_VK_F13\",\"DOM_VK_F14\",\"DOM_VK_F15\",\"DOM_VK_F16\",\"DOM_VK_F17\",\"DOM_VK_F18\",\"DOM_VK_F19\",\"DOM_VK_F2\",\"DOM_VK_F20\",\"DOM_VK_F21\",\"DOM_VK_F22\",\"DOM_VK_F23\",\"DOM_VK_F24\",\"DOM_VK_F25\",\"DOM_VK_F26\",\"DOM_VK_F27\",\"DOM_VK_F28\",\"DOM_VK_F29\",\"DOM_VK_F3\",\"DOM_VK_F30\",\"DOM_VK_F31\",\"DOM_VK_F32\",\"DOM_VK_F33\",\"DOM_VK_F34\",\"DOM_VK_F35\",\"DOM_VK_F36\",\"DOM_VK_F4\",\"DOM_VK_F5\",\"DOM_VK_F6\",\"DOM_VK_F7\",\"DOM_VK_F8\",\"DOM_VK_F9\",\"DOM_VK_FINAL\",\"DOM_VK_FRONT\",\"DOM_VK_G\",\"DOM_VK_GREATER_THAN\",\"DOM_VK_H\",\"DOM_VK_HANGUL\",\"DOM_VK_HANJA\",\"DOM_VK_HASH\",\"DOM_VK_HELP\",\"DOM_VK_HK_TOGGLE\",\"DOM_VK_HOME\",\"DOM_VK_HYPHEN_MINUS\",\"DOM_VK_I\",\"DOM_VK_INSERT\",\"DOM_VK_J\",\"DOM_VK_JUNJA\",\"DOM_VK_K\",\"DOM_VK_KANA\",\"DOM_VK_KANJI\",\"DOM_VK_L\",\"DOM_VK_LEFT\",\"DOM_VK_LEFT_TAB\",\"DOM_VK_LESS_THAN\",\"DOM_VK_M\",\"DOM_VK_META\",\"DOM_VK_MODECHANGE\",\"DOM_VK_MULTIPLY\",\"DOM_VK_N\",\"DOM_VK_NONCONVERT\",\"DOM_VK_NUMPAD0\",\"DOM_VK_NUMPAD1\",\"DOM_VK_NUMPAD2\",\"DOM_VK_NUMPAD3\",\"DOM_VK_NUMPAD4\",\"DOM_VK_NUMPAD5\",\"DOM_VK_NUMPAD6\",\"DOM_VK_NUMPAD7\",\"DOM_VK_NUMPAD8\",\"DOM_VK_NUMPAD9\",\"DOM_VK_NUM_LOCK\",\"DOM_VK_O\",\"DOM_VK_OEM_1\",\"DOM_VK_OEM_102\",\"DOM_VK_OEM_2\",\"DOM_VK_OEM_3\",\"DOM_VK_OEM_4\",\"DOM_VK_OEM_5\",\"DOM_VK_OEM_6\",\"DOM_VK_OEM_7\",\"DOM_VK_OEM_8\",\"DOM_VK_OEM_COMMA\",\"DOM_VK_OEM_MINUS\",\"DOM_VK_OEM_PERIOD\",\"DOM_VK_OEM_PLUS\",\"DOM_VK_OPEN_BRACKET\",\"DOM_VK_OPEN_CURLY_BRACKET\",\"DOM_VK_OPEN_PAREN\",\"DOM_VK_P\",\"DOM_VK_PA1\",\"DOM_VK_PAGEDOWN\",\"DOM_VK_PAGEUP\",\"DOM_VK_PAGE_DOWN\",\"DOM_VK_PAGE_UP\",\"DOM_VK_PAUSE\",\"DOM_VK_PERCENT\",\"DOM_VK_PERIOD\",\"DOM_VK_PIPE\",\"DOM_VK_PLAY\",\"DOM_VK_PLUS\",\"DOM_VK_PRINT\",\"DOM_VK_PRINTSCREEN\",\"DOM_VK_PROCESSKEY\",\"DOM_VK_PROPERITES\",\"DOM_VK_Q\",\"DOM_VK_QUESTION_MARK\",\"DOM_VK_QUOTE\",\"DOM_VK_R\",\"DOM_VK_REDO\",\"DOM_VK_RETURN\",\"DOM_VK_RIGHT\",\"DOM_VK_S\",\"DOM_VK_SCROLL_LOCK\",\"DOM_VK_SELECT\",\"DOM_VK_SEMICOLON\",\"DOM_VK_SEPARATOR\",\"DOM_VK_SHIFT\",\"DOM_VK_SLASH\",\"DOM_VK_SLEEP\",\"DOM_VK_SPACE\",\"DOM_VK_SUBTRACT\",\"DOM_VK_T\",\"DOM_VK_TAB\",\"DOM_VK_TILDE\",\"DOM_VK_U\",\"DOM_VK_UNDERSCORE\",\"DOM_VK_UNDO\",\"DOM_VK_UNICODE\",\"DOM_VK_UP\",\"DOM_VK_V\",\"DOM_VK_VOLUME_DOWN\",\"DOM_VK_VOLUME_MUTE\",\"DOM_VK_VOLUME_UP\",\"DOM_VK_W\",\"DOM_VK_WIN\",\"DOM_VK_WINDOW\",\"DOM_VK_WIN_ICO_00\",\"DOM_VK_WIN_ICO_CLEAR\",\"DOM_VK_WIN_ICO_HELP\",\"DOM_VK_WIN_OEM_ATTN\",\"DOM_VK_WIN_OEM_AUTO\",\"DOM_VK_WIN_OEM_BACKTAB\",\"DOM_VK_WIN_OEM_CLEAR\",\"DOM_VK_WIN_OEM_COPY\",\"DOM_VK_WIN_OEM_CUSEL\",\"DOM_VK_WIN_OEM_ENLW\",\"DOM_VK_WIN_OEM_FINISH\",\"DOM_VK_WIN_OEM_FJ_JISHO\",\"DOM_VK_WIN_OEM_FJ_LOYA\",\"DOM_VK_WIN_OEM_FJ_MASSHOU\",\"DOM_VK_WIN_OEM_FJ_ROYA\",\"DOM_VK_WIN_OEM_FJ_TOUROKU\",\"DOM_VK_WIN_OEM_JUMP\",\"DOM_VK_WIN_OEM_PA1\",\"DOM_VK_WIN_OEM_PA2\",\"DOM_VK_WIN_OEM_PA3\",\"DOM_VK_WIN_OEM_RESET\",\"DOM_VK_WIN_OEM_WSCTRL\",\"DOM_VK_X\",\"DOM_VK_XF86XK_ADD_FAVORITE\",\"DOM_VK_XF86XK_APPLICATION_LEFT\",\"DOM_VK_XF86XK_APPLICATION_RIGHT\",\"DOM_VK_XF86XK_AUDIO_CYCLE_TRACK\",\"DOM_VK_XF86XK_AUDIO_FORWARD\",\"DOM_VK_XF86XK_AUDIO_LOWER_VOLUME\",\"DOM_VK_XF86XK_AUDIO_MEDIA\",\"DOM_VK_XF86XK_AUDIO_MUTE\",\"DOM_VK_XF86XK_AUDIO_NEXT\",\"DOM_VK_XF86XK_AUDIO_PAUSE\",\"DOM_VK_XF86XK_AUDIO_PLAY\",\"DOM_VK_XF86XK_AUDIO_PREV\",\"DOM_VK_XF86XK_AUDIO_RAISE_VOLUME\",\"DOM_VK_XF86XK_AUDIO_RANDOM_PLAY\",\"DOM_VK_XF86XK_AUDIO_RECORD\",\"DOM_VK_XF86XK_AUDIO_REPEAT\",\"DOM_VK_XF86XK_AUDIO_REWIND\",\"DOM_VK_XF86XK_AUDIO_STOP\",\"DOM_VK_XF86XK_AWAY\",\"DOM_VK_XF86XK_BACK\",\"DOM_VK_XF86XK_BACK_FORWARD\",\"DOM_VK_XF86XK_BATTERY\",\"DOM_VK_XF86XK_BLUE\",\"DOM_VK_XF86XK_BLUETOOTH\",\"DOM_VK_XF86XK_BOOK\",\"DOM_VK_XF86XK_BRIGHTNESS_ADJUST\",\"DOM_VK_XF86XK_CALCULATOR\",\"DOM_VK_XF86XK_CALENDAR\",\"DOM_VK_XF86XK_CD\",\"DOM_VK_XF86XK_CLOSE\",\"DOM_VK_XF86XK_COMMUNITY\",\"DOM_VK_XF86XK_CONTRAST_ADJUST\",\"DOM_VK_XF86XK_COPY\",\"DOM_VK_XF86XK_CUT\",\"DOM_VK_XF86XK_CYCLE_ANGLE\",\"DOM_VK_XF86XK_DISPLAY\",\"DOM_VK_XF86XK_DOCUMENTS\",\"DOM_VK_XF86XK_DOS\",\"DOM_VK_XF86XK_EJECT\",\"DOM_VK_XF86XK_EXCEL\",\"DOM_VK_XF86XK_EXPLORER\",\"DOM_VK_XF86XK_FAVORITES\",\"DOM_VK_XF86XK_FINANCE\",\"DOM_VK_XF86XK_FORWARD\",\"DOM_VK_XF86XK_FRAME_BACK\",\"DOM_VK_XF86XK_FRAME_FORWARD\",\"DOM_VK_XF86XK_GAME\",\"DOM_VK_XF86XK_GO\",\"DOM_VK_XF86XK_GREEN\",\"DOM_VK_XF86XK_HIBERNATE\",\"DOM_VK_XF86XK_HISTORY\",\"DOM_VK_XF86XK_HOME_PAGE\",\"DOM_VK_XF86XK_HOT_LINKS\",\"DOM_VK_XF86XK_I_TOUCH\",\"DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN\",\"DOM_VK_XF86XK_KBD_BRIGHTNESS_UP\",\"DOM_VK_XF86XK_KBD_LIGHT_ON_OFF\",\"DOM_VK_XF86XK_LAUNCH0\",\"DOM_VK_XF86XK_LAUNCH1\",\"DOM_VK_XF86XK_LAUNCH2\",\"DOM_VK_XF86XK_LAUNCH3\",\"DOM_VK_XF86XK_LAUNCH4\",\"DOM_VK_XF86XK_LAUNCH5\",\"DOM_VK_XF86XK_LAUNCH6\",\"DOM_VK_XF86XK_LAUNCH7\",\"DOM_VK_XF86XK_LAUNCH8\",\"DOM_VK_XF86XK_LAUNCH9\",\"DOM_VK_XF86XK_LAUNCH_A\",\"DOM_VK_XF86XK_LAUNCH_B\",\"DOM_VK_XF86XK_LAUNCH_C\",\"DOM_VK_XF86XK_LAUNCH_D\",\"DOM_VK_XF86XK_LAUNCH_E\",\"DOM_VK_XF86XK_LAUNCH_F\",\"DOM_VK_XF86XK_LIGHT_BULB\",\"DOM_VK_XF86XK_LOG_OFF\",\"DOM_VK_XF86XK_MAIL\",\"DOM_VK_XF86XK_MAIL_FORWARD\",\"DOM_VK_XF86XK_MARKET\",\"DOM_VK_XF86XK_MEETING\",\"DOM_VK_XF86XK_MEMO\",\"DOM_VK_XF86XK_MENU_KB\",\"DOM_VK_XF86XK_MENU_PB\",\"DOM_VK_XF86XK_MESSENGER\",\"DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN\",\"DOM_VK_XF86XK_MON_BRIGHTNESS_UP\",\"DOM_VK_XF86XK_MUSIC\",\"DOM_VK_XF86XK_MY_COMPUTER\",\"DOM_VK_XF86XK_MY_SITES\",\"DOM_VK_XF86XK_NEW\",\"DOM_VK_XF86XK_NEWS\",\"DOM_VK_XF86XK_OFFICE_HOME\",\"DOM_VK_XF86XK_OPEN\",\"DOM_VK_XF86XK_OPEN_URL\",\"DOM_VK_XF86XK_OPTION\",\"DOM_VK_XF86XK_PASTE\",\"DOM_VK_XF86XK_PHONE\",\"DOM_VK_XF86XK_PICTURES\",\"DOM_VK_XF86XK_POWER_DOWN\",\"DOM_VK_XF86XK_POWER_OFF\",\"DOM_VK_XF86XK_RED\",\"DOM_VK_XF86XK_REFRESH\",\"DOM_VK_XF86XK_RELOAD\",\"DOM_VK_XF86XK_REPLY\",\"DOM_VK_XF86XK_ROCKER_DOWN\",\"DOM_VK_XF86XK_ROCKER_ENTER\",\"DOM_VK_XF86XK_ROCKER_UP\",\"DOM_VK_XF86XK_ROTATE_WINDOWS\",\"DOM_VK_XF86XK_ROTATION_KB\",\"DOM_VK_XF86XK_ROTATION_PB\",\"DOM_VK_XF86XK_SAVE\",\"DOM_VK_XF86XK_SCREEN_SAVER\",\"DOM_VK_XF86XK_SCROLL_CLICK\",\"DOM_VK_XF86XK_SCROLL_DOWN\",\"DOM_VK_XF86XK_SCROLL_UP\",\"DOM_VK_XF86XK_SEARCH\",\"DOM_VK_XF86XK_SEND\",\"DOM_VK_XF86XK_SHOP\",\"DOM_VK_XF86XK_SPELL\",\"DOM_VK_XF86XK_SPLIT_SCREEN\",\"DOM_VK_XF86XK_STANDBY\",\"DOM_VK_XF86XK_START\",\"DOM_VK_XF86XK_STOP\",\"DOM_VK_XF86XK_SUBTITLE\",\"DOM_VK_XF86XK_SUPPORT\",\"DOM_VK_XF86XK_SUSPEND\",\"DOM_VK_XF86XK_TASK_PANE\",\"DOM_VK_XF86XK_TERMINAL\",\"DOM_VK_XF86XK_TIME\",\"DOM_VK_XF86XK_TOOLS\",\"DOM_VK_XF86XK_TOP_MENU\",\"DOM_VK_XF86XK_TO_DO_LIST\",\"DOM_VK_XF86XK_TRAVEL\",\"DOM_VK_XF86XK_USER1KB\",\"DOM_VK_XF86XK_USER2KB\",\"DOM_VK_XF86XK_USER_PB\",\"DOM_VK_XF86XK_UWB\",\"DOM_VK_XF86XK_VENDOR_HOME\",\"DOM_VK_XF86XK_VIDEO\",\"DOM_VK_XF86XK_VIEW\",\"DOM_VK_XF86XK_WAKE_UP\",\"DOM_VK_XF86XK_WEB_CAM\",\"DOM_VK_XF86XK_WHEEL_BUTTON\",\"DOM_VK_XF86XK_WLAN\",\"DOM_VK_XF86XK_WORD\",\"DOM_VK_XF86XK_WWW\",\"DOM_VK_XF86XK_XFER\",\"DOM_VK_XF86XK_YELLOW\",\"DOM_VK_XF86XK_ZOOM_IN\",\"DOM_VK_XF86XK_ZOOM_OUT\",\"DOM_VK_Y\",\"DOM_VK_Z\",\"DOM_VK_ZOOM\",\"DONE\",\"DONT_CARE\",\"DOWNLOADING\",\"DRAGDROP\",\"DST_ALPHA\",\"DST_COLOR\",\"DYNAMIC_DRAW\",\"DataChannel\",\"DataTransfer\",\"DataTransferItem\",\"DataTransferItemList\",\"DataView\",\"Date\",\"DateTimeFormat\",\"DelayNode\",\"DesktopNotification\",\"DesktopNotificationCenter\",\"DeviceLightEvent\",\"DeviceMotionEvent\",\"DeviceOrientationEvent\",\"DeviceProximityEvent\",\"DeviceStorage\",\"DeviceStorageChangeEvent\",\"Document\",\"DocumentFragment\",\"DocumentType\",\"DragEvent\",\"DynamicsCompressorNode\",\"E\",\"ELEMENT_ARRAY_BUFFER\",\"ELEMENT_ARRAY_BUFFER_BINDING\",\"ELEMENT_NODE\",\"EMPTY\",\"ENCODING_ERR\",\"ENDED\",\"END_TO_END\",\"END_TO_START\",\"ENTITY_NODE\",\"ENTITY_REFERENCE_NODE\",\"EPSILON\",\"EQUAL\",\"EQUALPOWER\",\"ERROR\",\"EXPONENTIAL_DISTANCE\",\"Element\",\"ElementQuery\",\"Entity\",\"EntityReference\",\"Error\",\"ErrorEvent\",\"EvalError\",\"Event\",\"EventException\",\"EventSource\",\"EventTarget\",\"External\",\"FASTEST\",\"FIDOSDK\",\"FILTER_ACCEPT\",\"FILTER_INTERRUPT\",\"FILTER_REJECT\",\"FILTER_SKIP\",\"FINISHED_STATE\",\"FIRST_ORDERED_NODE_TYPE\",\"FLOAT\",\"FLOAT_MAT2\",\"FLOAT_MAT3\",\"FLOAT_MAT4\",\"FLOAT_VEC2\",\"FLOAT_VEC3\",\"FLOAT_VEC4\",\"FOCUS\",\"FONT_FACE_RULE\",\"FONT_FEATURE_VALUES_RULE\",\"FRAGMENT_SHADER\",\"FRAGMENT_SHADER_DERIVATIVE_HINT_OES\",\"FRAMEBUFFER\",\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",\"FRAMEBUFFER_BINDING\",\"FRAMEBUFFER_COMPLETE\",\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",\"FRAMEBUFFER_UNSUPPORTED\",\"FRONT\",\"FRONT_AND_BACK\",\"FRONT_FACE\",\"FUNC_ADD\",\"FUNC_REVERSE_SUBTRACT\",\"FUNC_SUBTRACT\",\"Feed\",\"FeedEntry\",\"File\",\"FileError\",\"FileList\",\"FileReader\",\"FindInPage\",\"Float32Array\",\"Float64Array\",\"FocusEvent\",\"FontFace\",\"FormData\",\"Function\",\"GENERATE_MIPMAP_HINT\",\"GEQUAL\",\"GREATER\",\"GREEN_BITS\",\"GainNode\",\"Gamepad\",\"GamepadButton\",\"GamepadEvent\",\"GestureEvent\",\"HAVE_CURRENT_DATA\",\"HAVE_ENOUGH_DATA\",\"HAVE_FUTURE_DATA\",\"HAVE_METADATA\",\"HAVE_NOTHING\",\"HEADERS_RECEIVED\",\"HIDDEN\",\"HIERARCHY_REQUEST_ERR\",\"HIGHPASS\",\"HIGHSHELF\",\"HIGH_FLOAT\",\"HIGH_INT\",\"HORIZONTAL\",\"HORIZONTAL_AXIS\",\"HRTF\",\"HTMLAllCollection\",\"HTMLAnchorElement\",\"HTMLAppletElement\",\"HTMLAreaElement\",\"HTMLAudioElement\",\"HTMLBRElement\",\"HTMLBaseElement\",\"HTMLBaseFontElement\",\"HTMLBlockquoteElement\",\"HTMLBodyElement\",\"HTMLButtonElement\",\"HTMLCanvasElement\",\"HTMLCollection\",\"HTMLCommandElement\",\"HTMLContentElement\",\"HTMLDListElement\",\"HTMLDataElement\",\"HTMLDataListElement\",\"HTMLDetailsElement\",\"HTMLDialogElement\",\"HTMLDirectoryElement\",\"HTMLDivElement\",\"HTMLDocument\",\"HTMLElement\",\"HTMLEmbedElement\",\"HTMLFieldSetElement\",\"HTMLFontElement\",\"HTMLFormControlsCollection\",\"HTMLFormElement\",\"HTMLFrameElement\",\"HTMLFrameSetElement\",\"HTMLHRElement\",\"HTMLHeadElement\",\"HTMLHeadingElement\",\"HTMLHtmlElement\",\"HTMLIFrameElement\",\"HTMLImageElement\",\"HTMLInputElement\",\"HTMLIsIndexElement\",\"HTMLKeygenElement\",\"HTMLLIElement\",\"HTMLLabelElement\",\"HTMLLegendElement\",\"HTMLLinkElement\",\"HTMLMapElement\",\"HTMLMarqueeElement\",\"HTMLMediaElement\",\"HTMLMenuElement\",\"HTMLMenuItemElement\",\"HTMLMetaElement\",\"HTMLMeterElement\",\"HTMLModElement\",\"HTMLOListElement\",\"HTMLObjectElement\",\"HTMLOptGroupElement\",\"HTMLOptionElement\",\"HTMLOptionsCollection\",\"HTMLOutputElement\",\"HTMLParagraphElement\",\"HTMLParamElement\",\"HTMLPictureElement\",\"HTMLPreElement\",\"HTMLProgressElement\",\"HTMLPropertiesCollection\",\"HTMLQuoteElement\",\"HTMLScriptElement\",\"HTMLSelectElement\",\"HTMLShadowElement\",\"HTMLSourceElement\",\"HTMLSpanElement\",\"HTMLStyleElement\",\"HTMLTableCaptionElement\",\"HTMLTableCellElement\",\"HTMLTableColElement\",\"HTMLTableElement\",\"HTMLTableRowElement\",\"HTMLTableSectionElement\",\"HTMLTemplateElement\",\"HTMLTextAreaElement\",\"HTMLTimeElement\",\"HTMLTitleElement\",\"HTMLTrackElement\",\"HTMLUListElement\",\"HTMLUnknownElement\",\"HTMLVideoElement\",\"HashChangeEvent\",\"Headers\",\"History\",\"ICE_CHECKING\",\"ICE_CLOSED\",\"ICE_COMPLETED\",\"ICE_CONNECTED\",\"ICE_FAILED\",\"ICE_GATHERING\",\"ICE_WAITING\",\"IDBCursor\",\"IDBCursorWithValue\",\"IDBDatabase\",\"IDBDatabaseException\",\"IDBFactory\",\"IDBFileHandle\",\"IDBFileRequest\",\"IDBIndex\",\"IDBKeyRange\",\"IDBMutableFile\",\"IDBObjectStore\",\"IDBOpenDBRequest\",\"IDBRequest\",\"IDBTransaction\",\"IDBVersionChangeEvent\",\"IDLE\",\"IMPLEMENTATION_COLOR_READ_FORMAT\",\"IMPLEMENTATION_COLOR_READ_TYPE\",\"IMPORT_RULE\",\"INCR\",\"INCR_WRAP\",\"INDEX_SIZE_ERR\",\"INT\",\"INT_VEC2\",\"INT_VEC3\",\"INT_VEC4\",\"INUSE_ATTRIBUTE_ERR\",\"INVALID_ACCESS_ERR\",\"INVALID_CHARACTER_ERR\",\"INVALID_ENUM\",\"INVALID_EXPRESSION_ERR\",\"INVALID_FRAMEBUFFER_OPERATION\",\"INVALID_MODIFICATION_ERR\",\"INVALID_NODE_TYPE_ERR\",\"INVALID_OPERATION\",\"INVALID_STATE_ERR\",\"INVALID_VALUE\",\"INVERSE_DISTANCE\",\"INVERT\",\"IceCandidate\",\"Image\",\"ImageBitmap\",\"ImageData\",\"Infinity\",\"InputEvent\",\"InputMethodContext\",\"InstallTrigger\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Intent\",\"InternalError\",\"Intl\",\"IsSearchProviderInstalled\",\"Iterator\",\"JSON\",\"KEEP\",\"KEYDOWN\",\"KEYFRAMES_RULE\",\"KEYFRAME_RULE\",\"KEYPRESS\",\"KEYUP\",\"KeyEvent\",\"KeyboardEvent\",\"LENGTHADJUST_SPACING\",\"LENGTHADJUST_SPACINGANDGLYPHS\",\"LENGTHADJUST_UNKNOWN\",\"LEQUAL\",\"LESS\",\"LINEAR\",\"LINEAR_DISTANCE\",\"LINEAR_MIPMAP_LINEAR\",\"LINEAR_MIPMAP_NEAREST\",\"LINES\",\"LINE_LOOP\",\"LINE_STRIP\",\"LINE_WIDTH\",\"LINK_STATUS\",\"LIVE\",\"LN10\",\"LN2\",\"LOADED\",\"LOADING\",\"LOG10E\",\"LOG2E\",\"LOWPASS\",\"LOWSHELF\",\"LOW_FLOAT\",\"LOW_INT\",\"LSException\",\"LSParserFilter\",\"LUMINANCE\",\"LUMINANCE_ALPHA\",\"LocalMediaStream\",\"Location\",\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",\"MAX_CUBE_MAP_TEXTURE_SIZE\",\"MAX_FRAGMENT_UNIFORM_VECTORS\",\"MAX_RENDERBUFFER_SIZE\",\"MAX_SAFE_INTEGER\",\"MAX_TEXTURE_IMAGE_UNITS\",\"MAX_TEXTURE_MAX_ANISOTROPY_EXT\",\"MAX_TEXTURE_SIZE\",\"MAX_VALUE\",\"MAX_VARYING_VECTORS\",\"MAX_VERTEX_ATTRIBS\",\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",\"MAX_VERTEX_UNIFORM_VECTORS\",\"MAX_VIEWPORT_DIMS\",\"MEDIA_ERR_ABORTED\",\"MEDIA_ERR_DECODE\",\"MEDIA_ERR_ENCRYPTED\",\"MEDIA_ERR_NETWORK\",\"MEDIA_ERR_SRC_NOT_SUPPORTED\",\"MEDIA_KEYERR_CLIENT\",\"MEDIA_KEYERR_DOMAIN\",\"MEDIA_KEYERR_HARDWARECHANGE\",\"MEDIA_KEYERR_OUTPUT\",\"MEDIA_KEYERR_SERVICE\",\"MEDIA_KEYERR_UNKNOWN\",\"MEDIA_RULE\",\"MEDIUM_FLOAT\",\"MEDIUM_INT\",\"META_MASK\",\"MIN_SAFE_INTEGER\",\"MIN_VALUE\",\"MIRRORED_REPEAT\",\"MODE_ASYNCHRONOUS\",\"MODE_SYNCHRONOUS\",\"MODIFICATION\",\"MOUSEDOWN\",\"MOUSEDRAG\",\"MOUSEMOVE\",\"MOUSEOUT\",\"MOUSEOVER\",\"MOUSEUP\",\"MOZ_KEYFRAMES_RULE\",\"MOZ_KEYFRAME_RULE\",\"MOZ_SOURCE_CURSOR\",\"MOZ_SOURCE_ERASER\",\"MOZ_SOURCE_KEYBOARD\",\"MOZ_SOURCE_MOUSE\",\"MOZ_SOURCE_PEN\",\"MOZ_SOURCE_TOUCH\",\"MOZ_SOURCE_UNKNOWN\",\"MSGESTURE_FLAG_BEGIN\",\"MSGESTURE_FLAG_CANCEL\",\"MSGESTURE_FLAG_END\",\"MSGESTURE_FLAG_INERTIA\",\"MSGESTURE_FLAG_NONE\",\"MSPOINTER_TYPE_MOUSE\",\"MSPOINTER_TYPE_PEN\",\"MSPOINTER_TYPE_TOUCH\",\"MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE\",\"MS_ASYNC_CALLBACK_STATUS_CANCEL\",\"MS_ASYNC_CALLBACK_STATUS_CHOOSEANY\",\"MS_ASYNC_CALLBACK_STATUS_ERROR\",\"MS_ASYNC_CALLBACK_STATUS_JOIN\",\"MS_ASYNC_OP_STATUS_CANCELED\",\"MS_ASYNC_OP_STATUS_ERROR\",\"MS_ASYNC_OP_STATUS_SUCCESS\",\"MS_MANIPULATION_STATE_ACTIVE\",\"MS_MANIPULATION_STATE_CANCELLED\",\"MS_MANIPULATION_STATE_COMMITTED\",\"MS_MANIPULATION_STATE_DRAGGING\",\"MS_MANIPULATION_STATE_INERTIA\",\"MS_MANIPULATION_STATE_PRESELECT\",\"MS_MANIPULATION_STATE_SELECTING\",\"MS_MANIPULATION_STATE_STOPPED\",\"MS_MEDIA_ERR_ENCRYPTED\",\"MS_MEDIA_KEYERR_CLIENT\",\"MS_MEDIA_KEYERR_DOMAIN\",\"MS_MEDIA_KEYERR_HARDWARECHANGE\",\"MS_MEDIA_KEYERR_OUTPUT\",\"MS_MEDIA_KEYERR_SERVICE\",\"MS_MEDIA_KEYERR_UNKNOWN\",\"Map\",\"Math\",\"MediaController\",\"MediaDevices\",\"MediaElementAudioSourceNode\",\"MediaEncryptedEvent\",\"MediaError\",\"MediaKeyError\",\"MediaKeyEvent\",\"MediaKeyMessageEvent\",\"MediaKeyNeededEvent\",\"MediaKeySession\",\"MediaKeyStatusMap\",\"MediaKeySystemAccess\",\"MediaKeys\",\"MediaList\",\"MediaQueryList\",\"MediaQueryListEvent\",\"MediaRecorder\",\"MediaSource\",\"MediaStream\",\"MediaStreamAudioDestinationNode\",\"MediaStreamAudioSourceNode\",\"MediaStreamEvent\",\"MediaStreamTrack\",\"MediaStreamTrackEvent\",\"MessageChannel\",\"MessageEvent\",\"MessagePort\",\"Methods\",\"MimeType\",\"MimeTypeArray\",\"MouseEvent\",\"MouseScrollEvent\",\"MozAnimation\",\"MozAnimationDelay\",\"MozAnimationDirection\",\"MozAnimationDuration\",\"MozAnimationFillMode\",\"MozAnimationIterationCount\",\"MozAnimationName\",\"MozAnimationPlayState\",\"MozAnimationTimingFunction\",\"MozAppearance\",\"MozBackfaceVisibility\",\"MozBinding\",\"MozBorderBottomColors\",\"MozBorderEnd\",\"MozBorderEndColor\",\"MozBorderEndStyle\",\"MozBorderEndWidth\",\"MozBorderImage\",\"MozBorderLeftColors\",\"MozBorderRightColors\",\"MozBorderStart\",\"MozBorderStartColor\",\"MozBorderStartStyle\",\"MozBorderStartWidth\",\"MozBorderTopColors\",\"MozBoxAlign\",\"MozBoxDirection\",\"MozBoxFlex\",\"MozBoxOrdinalGroup\",\"MozBoxOrient\",\"MozBoxPack\",\"MozBoxSizing\",\"MozCSSKeyframeRule\",\"MozCSSKeyframesRule\",\"MozColumnCount\",\"MozColumnFill\",\"MozColumnGap\",\"MozColumnRule\",\"MozColumnRuleColor\",\"MozColumnRuleStyle\",\"MozColumnRuleWidth\",\"MozColumnWidth\",\"MozColumns\",\"MozContactChangeEvent\",\"MozFloatEdge\",\"MozFontFeatureSettings\",\"MozFontLanguageOverride\",\"MozForceBrokenImageIcon\",\"MozHyphens\",\"MozImageRegion\",\"MozMarginEnd\",\"MozMarginStart\",\"MozMmsEvent\",\"MozMmsMessage\",\"MozMobileMessageThread\",\"MozOSXFontSmoothing\",\"MozOrient\",\"MozOutlineRadius\",\"MozOutlineRadiusBottomleft\",\"MozOutlineRadiusBottomright\",\"MozOutlineRadiusTopleft\",\"MozOutlineRadiusTopright\",\"MozPaddingEnd\",\"MozPaddingStart\",\"MozPerspective\",\"MozPerspectiveOrigin\",\"MozPowerManager\",\"MozSettingsEvent\",\"MozSmsEvent\",\"MozSmsMessage\",\"MozStackSizing\",\"MozTabSize\",\"MozTextAlignLast\",\"MozTextDecorationColor\",\"MozTextDecorationLine\",\"MozTextDecorationStyle\",\"MozTextSizeAdjust\",\"MozTransform\",\"MozTransformOrigin\",\"MozTransformStyle\",\"MozTransition\",\"MozTransitionDelay\",\"MozTransitionDuration\",\"MozTransitionProperty\",\"MozTransitionTimingFunction\",\"MozUserFocus\",\"MozUserInput\",\"MozUserModify\",\"MozUserSelect\",\"MozWindowDragging\",\"MozWindowShadow\",\"MutationEvent\",\"MutationObserver\",\"MutationRecord\",\"NAMESPACE_ERR\",\"NAMESPACE_RULE\",\"NEAREST\",\"NEAREST_MIPMAP_LINEAR\",\"NEAREST_MIPMAP_NEAREST\",\"NEGATIVE_INFINITY\",\"NETWORK_EMPTY\",\"NETWORK_ERR\",\"NETWORK_IDLE\",\"NETWORK_LOADED\",\"NETWORK_LOADING\",\"NETWORK_NO_SOURCE\",\"NEVER\",\"NEW\",\"NEXT\",\"NEXT_NO_DUPLICATE\",\"NICEST\",\"NODE_AFTER\",\"NODE_BEFORE\",\"NODE_BEFORE_AND_AFTER\",\"NODE_INSIDE\",\"NONE\",\"NON_TRANSIENT_ERR\",\"NOTATION_NODE\",\"NOTCH\",\"NOTEQUAL\",\"NOT_ALLOWED_ERR\",\"NOT_FOUND_ERR\",\"NOT_READABLE_ERR\",\"NOT_SUPPORTED_ERR\",\"NO_DATA_ALLOWED_ERR\",\"NO_ERR\",\"NO_ERROR\",\"NO_MODIFICATION_ALLOWED_ERR\",\"NUMBER_TYPE\",\"NUM_COMPRESSED_TEXTURE_FORMATS\",\"NaN\",\"NamedNodeMap\",\"Navigator\",\"NearbyLinks\",\"NetworkInformation\",\"Node\",\"NodeFilter\",\"NodeIterator\",\"NodeList\",\"Notation\",\"Notification\",\"NotifyPaintEvent\",\"Number\",\"NumberFormat\",\"OBSOLETE\",\"ONE\",\"ONE_MINUS_CONSTANT_ALPHA\",\"ONE_MINUS_CONSTANT_COLOR\",\"ONE_MINUS_DST_ALPHA\",\"ONE_MINUS_DST_COLOR\",\"ONE_MINUS_SRC_ALPHA\",\"ONE_MINUS_SRC_COLOR\",\"OPEN\",\"OPENED\",\"OPENING\",\"ORDERED_NODE_ITERATOR_TYPE\",\"ORDERED_NODE_SNAPSHOT_TYPE\",\"OUT_OF_MEMORY\",\"Object\",\"OfflineAudioCompletionEvent\",\"OfflineAudioContext\",\"OfflineResourceList\",\"Option\",\"OscillatorNode\",\"OverflowEvent\",\"PACK_ALIGNMENT\",\"PAGE_RULE\",\"PARSE_ERR\",\"PATHSEG_ARC_ABS\",\"PATHSEG_ARC_REL\",\"PATHSEG_CLOSEPATH\",\"PATHSEG_CURVETO_CUBIC_ABS\",\"PATHSEG_CURVETO_CUBIC_REL\",\"PATHSEG_CURVETO_CUBIC_SMOOTH_ABS\",\"PATHSEG_CURVETO_CUBIC_SMOOTH_REL\",\"PATHSEG_CURVETO_QUADRATIC_ABS\",\"PATHSEG_CURVETO_QUADRATIC_REL\",\"PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS\",\"PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL\",\"PATHSEG_LINETO_ABS\",\"PATHSEG_LINETO_HORIZONTAL_ABS\",\"PATHSEG_LINETO_HORIZONTAL_REL\",\"PATHSEG_LINETO_REL\",\"PATHSEG_LINETO_VERTICAL_ABS\",\"PATHSEG_LINETO_VERTICAL_REL\",\"PATHSEG_MOVETO_ABS\",\"PATHSEG_MOVETO_REL\",\"PATHSEG_UNKNOWN\",\"PATH_EXISTS_ERR\",\"PEAKING\",\"PERMISSION_DENIED\",\"PERSISTENT\",\"PI\",\"PLAYING_STATE\",\"POINTS\",\"POLYGON_OFFSET_FACTOR\",\"POLYGON_OFFSET_FILL\",\"POLYGON_OFFSET_UNITS\",\"POSITION_UNAVAILABLE\",\"POSITIVE_INFINITY\",\"PREV\",\"PREV_NO_DUPLICATE\",\"PROCESSING_INSTRUCTION_NODE\",\"PageChangeEvent\",\"PageTransitionEvent\",\"PaintRequest\",\"PaintRequestList\",\"PannerNode\",\"Path2D\",\"Performance\",\"PerformanceEntry\",\"PerformanceMark\",\"PerformanceMeasure\",\"PerformanceNavigation\",\"PerformanceResourceTiming\",\"PerformanceTiming\",\"PeriodicWave\",\"Plugin\",\"PluginArray\",\"PopStateEvent\",\"PopupBlockedEvent\",\"ProcessingInstruction\",\"ProgressEvent\",\"Promise\",\"PropertyNodeList\",\"Proxy\",\"PushManager\",\"PushSubscription\",\"Q\",\"QUOTA_ERR\",\"QUOTA_EXCEEDED_ERR\",\"QueryInterface\",\"READ_ONLY\",\"READ_ONLY_ERR\",\"READ_WRITE\",\"RED_BITS\",\"REMOVAL\",\"RENDERBUFFER\",\"RENDERBUFFER_ALPHA_SIZE\",\"RENDERBUFFER_BINDING\",\"RENDERBUFFER_BLUE_SIZE\",\"RENDERBUFFER_DEPTH_SIZE\",\"RENDERBUFFER_GREEN_SIZE\",\"RENDERBUFFER_HEIGHT\",\"RENDERBUFFER_INTERNAL_FORMAT\",\"RENDERBUFFER_RED_SIZE\",\"RENDERBUFFER_STENCIL_SIZE\",\"RENDERBUFFER_WIDTH\",\"RENDERER\",\"RENDERING_INTENT_ABSOLUTE_COLORIMETRIC\",\"RENDERING_INTENT_AUTO\",\"RENDERING_INTENT_PERCEPTUAL\",\"RENDERING_INTENT_RELATIVE_COLORIMETRIC\",\"RENDERING_INTENT_SATURATION\",\"RENDERING_INTENT_UNKNOWN\",\"REPEAT\",\"REPLACE\",\"RGB\",\"RGB565\",\"RGB5_A1\",\"RGBA\",\"RGBA4\",\"RGBColor\",\"ROTATION_CLOCKWISE\",\"ROTATION_COUNTERCLOCKWISE\",\"RTCDataChannelEvent\",\"RTCIceCandidate\",\"RTCPeerConnectionIceEvent\",\"RTCRtpReceiver\",\"RTCRtpSender\",\"RTCSessionDescription\",\"RTCStatsReport\",\"RadioNodeList\",\"Range\",\"RangeError\",\"RangeException\",\"RecordErrorEvent\",\"Rect\",\"ReferenceError\",\"RegExp\",\"Request\",\"Response\",\"SAMPLER_2D\",\"SAMPLER_CUBE\",\"SAMPLES\",\"SAMPLE_ALPHA_TO_COVERAGE\",\"SAMPLE_BUFFERS\",\"SAMPLE_COVERAGE\",\"SAMPLE_COVERAGE_INVERT\",\"SAMPLE_COVERAGE_VALUE\",\"SAWTOOTH\",\"SCHEDULED_STATE\",\"SCISSOR_BOX\",\"SCISSOR_TEST\",\"SCROLL_PAGE_DOWN\",\"SCROLL_PAGE_UP\",\"SDP_ANSWER\",\"SDP_OFFER\",\"SDP_PRANSWER\",\"SECURITY_ERR\",\"SELECT\",\"SERIALIZE_ERR\",\"SEVERITY_ERROR\",\"SEVERITY_FATAL_ERROR\",\"SEVERITY_WARNING\",\"SHADER_COMPILER\",\"SHADER_TYPE\",\"SHADING_LANGUAGE_VERSION\",\"SHIFT_MASK\",\"SHORT\",\"SHOWING\",\"SHOW_ALL\",\"SHOW_ATTRIBUTE\",\"SHOW_CDATA_SECTION\",\"SHOW_COMMENT\",\"SHOW_DOCUMENT\",\"SHOW_DOCUMENT_FRAGMENT\",\"SHOW_DOCUMENT_TYPE\",\"SHOW_ELEMENT\",\"SHOW_ENTITY\",\"SHOW_ENTITY_REFERENCE\",\"SHOW_NOTATION\",\"SHOW_PROCESSING_INSTRUCTION\",\"SHOW_TEXT\",\"SINE\",\"SOUNDFIELD\",\"SQLException\",\"SQRT1_2\",\"SQRT2\",\"SQUARE\",\"SRC_ALPHA\",\"SRC_ALPHA_SATURATE\",\"SRC_COLOR\",\"START_TO_END\",\"START_TO_START\",\"STATIC_DRAW\",\"STENCIL_ATTACHMENT\",\"STENCIL_BACK_FAIL\",\"STENCIL_BACK_FUNC\",\"STENCIL_BACK_PASS_DEPTH_FAIL\",\"STENCIL_BACK_PASS_DEPTH_PASS\",\"STENCIL_BACK_REF\",\"STENCIL_BACK_VALUE_MASK\",\"STENCIL_BACK_WRITEMASK\",\"STENCIL_BITS\",\"STENCIL_BUFFER_BIT\",\"STENCIL_CLEAR_VALUE\",\"STENCIL_FAIL\",\"STENCIL_FUNC\",\"STENCIL_INDEX\",\"STENCIL_INDEX8\",\"STENCIL_PASS_DEPTH_FAIL\",\"STENCIL_PASS_DEPTH_PASS\",\"STENCIL_REF\",\"STENCIL_TEST\",\"STENCIL_VALUE_MASK\",\"STENCIL_WRITEMASK\",\"STREAM_DRAW\",\"STRING_TYPE\",\"STYLE_RULE\",\"SUBPIXEL_BITS\",\"SUPPORTS_RULE\",\"SVGAElement\",\"SVGAltGlyphDefElement\",\"SVGAltGlyphElement\",\"SVGAltGlyphItemElement\",\"SVGAngle\",\"SVGAnimateColorElement\",\"SVGAnimateElement\",\"SVGAnimateMotionElement\",\"SVGAnimateTransformElement\",\"SVGAnimatedAngle\",\"SVGAnimatedBoolean\",\"SVGAnimatedEnumeration\",\"SVGAnimatedInteger\",\"SVGAnimatedLength\",\"SVGAnimatedLengthList\",\"SVGAnimatedNumber\",\"SVGAnimatedNumberList\",\"SVGAnimatedPreserveAspectRatio\",\"SVGAnimatedRect\",\"SVGAnimatedString\",\"SVGAnimatedTransformList\",\"SVGAnimationElement\",\"SVGCircleElement\",\"SVGClipPathElement\",\"SVGColor\",\"SVGComponentTransferFunctionElement\",\"SVGCursorElement\",\"SVGDefsElement\",\"SVGDescElement\",\"SVGDiscardElement\",\"SVGDocument\",\"SVGElement\",\"SVGElementInstance\",\"SVGElementInstanceList\",\"SVGEllipseElement\",\"SVGException\",\"SVGFEBlendElement\",\"SVGFEColorMatrixElement\",\"SVGFEComponentTransferElement\",\"SVGFECompositeElement\",\"SVGFEConvolveMatrixElement\",\"SVGFEDiffuseLightingElement\",\"SVGFEDisplacementMapElement\",\"SVGFEDistantLightElement\",\"SVGFEDropShadowElement\",\"SVGFEFloodElement\",\"SVGFEFuncAElement\",\"SVGFEFuncBElement\",\"SVGFEFuncGElement\",\"SVGFEFuncRElement\",\"SVGFEGaussianBlurElement\",\"SVGFEImageElement\",\"SVGFEMergeElement\",\"SVGFEMergeNodeElement\",\"SVGFEMorphologyElement\",\"SVGFEOffsetElement\",\"SVGFEPointLightElement\",\"SVGFESpecularLightingElement\",\"SVGFESpotLightElement\",\"SVGFETileElement\",\"SVGFETurbulenceElement\",\"SVGFilterElement\",\"SVGFontElement\",\"SVGFontFaceElement\",\"SVGFontFaceFormatElement\",\"SVGFontFaceNameElement\",\"SVGFontFaceSrcElement\",\"SVGFontFaceUriElement\",\"SVGForeignObjectElement\",\"SVGGElement\",\"SVGGeometryElement\",\"SVGGlyphElement\",\"SVGGlyphRefElement\",\"SVGGradientElement\",\"SVGGraphicsElement\",\"SVGHKernElement\",\"SVGImageElement\",\"SVGLength\",\"SVGLengthList\",\"SVGLineElement\",\"SVGLinearGradientElement\",\"SVGMPathElement\",\"SVGMarkerElement\",\"SVGMaskElement\",\"SVGMatrix\",\"SVGMetadataElement\",\"SVGMissingGlyphElement\",\"SVGNumber\",\"SVGNumberList\",\"SVGPaint\",\"SVGPathElement\",\"SVGPathSeg\",\"SVGPathSegArcAbs\",\"SVGPathSegArcRel\",\"SVGPathSegClosePath\",\"SVGPathSegCurvetoCubicAbs\",\"SVGPathSegCurvetoCubicRel\",\"SVGPathSegCurvetoCubicSmoothAbs\",\"SVGPathSegCurvetoCubicSmoothRel\",\"SVGPathSegCurvetoQuadraticAbs\",\"SVGPathSegCurvetoQuadraticRel\",\"SVGPathSegCurvetoQuadraticSmoothAbs\",\"SVGPathSegCurvetoQuadraticSmoothRel\",\"SVGPathSegLinetoAbs\",\"SVGPathSegLinetoHorizontalAbs\",\"SVGPathSegLinetoHorizontalRel\",\"SVGPathSegLinetoRel\",\"SVGPathSegLinetoVerticalAbs\",\"SVGPathSegLinetoVerticalRel\",\"SVGPathSegList\",\"SVGPathSegMovetoAbs\",\"SVGPathSegMovetoRel\",\"SVGPatternElement\",\"SVGPoint\",\"SVGPointList\",\"SVGPolygonElement\",\"SVGPolylineElement\",\"SVGPreserveAspectRatio\",\"SVGRadialGradientElement\",\"SVGRect\",\"SVGRectElement\",\"SVGRenderingIntent\",\"SVGSVGElement\",\"SVGScriptElement\",\"SVGSetElement\",\"SVGStopElement\",\"SVGStringList\",\"SVGStyleElement\",\"SVGSwitchElement\",\"SVGSymbolElement\",\"SVGTRefElement\",\"SVGTSpanElement\",\"SVGTextContentElement\",\"SVGTextElement\",\"SVGTextPathElement\",\"SVGTextPositioningElement\",\"SVGTitleElement\",\"SVGTransform\",\"SVGTransformList\",\"SVGUnitTypes\",\"SVGUseElement\",\"SVGVKernElement\",\"SVGViewElement\",\"SVGViewSpec\",\"SVGZoomAndPan\",\"SVGZoomEvent\",\"SVG_ANGLETYPE_DEG\",\"SVG_ANGLETYPE_GRAD\",\"SVG_ANGLETYPE_RAD\",\"SVG_ANGLETYPE_UNKNOWN\",\"SVG_ANGLETYPE_UNSPECIFIED\",\"SVG_CHANNEL_A\",\"SVG_CHANNEL_B\",\"SVG_CHANNEL_G\",\"SVG_CHANNEL_R\",\"SVG_CHANNEL_UNKNOWN\",\"SVG_COLORTYPE_CURRENTCOLOR\",\"SVG_COLORTYPE_RGBCOLOR\",\"SVG_COLORTYPE_RGBCOLOR_ICCCOLOR\",\"SVG_COLORTYPE_UNKNOWN\",\"SVG_EDGEMODE_DUPLICATE\",\"SVG_EDGEMODE_NONE\",\"SVG_EDGEMODE_UNKNOWN\",\"SVG_EDGEMODE_WRAP\",\"SVG_FEBLEND_MODE_COLOR\",\"SVG_FEBLEND_MODE_COLOR_BURN\",\"SVG_FEBLEND_MODE_COLOR_DODGE\",\"SVG_FEBLEND_MODE_DARKEN\",\"SVG_FEBLEND_MODE_DIFFERENCE\",\"SVG_FEBLEND_MODE_EXCLUSION\",\"SVG_FEBLEND_MODE_HARD_LIGHT\",\"SVG_FEBLEND_MODE_HUE\",\"SVG_FEBLEND_MODE_LIGHTEN\",\"SVG_FEBLEND_MODE_LUMINOSITY\",\"SVG_FEBLEND_MODE_MULTIPLY\",\"SVG_FEBLEND_MODE_NORMAL\",\"SVG_FEBLEND_MODE_OVERLAY\",\"SVG_FEBLEND_MODE_SATURATION\",\"SVG_FEBLEND_MODE_SCREEN\",\"SVG_FEBLEND_MODE_SOFT_LIGHT\",\"SVG_FEBLEND_MODE_UNKNOWN\",\"SVG_FECOLORMATRIX_TYPE_HUEROTATE\",\"SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA\",\"SVG_FECOLORMATRIX_TYPE_MATRIX\",\"SVG_FECOLORMATRIX_TYPE_SATURATE\",\"SVG_FECOLORMATRIX_TYPE_UNKNOWN\",\"SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE\",\"SVG_FECOMPONENTTRANSFER_TYPE_GAMMA\",\"SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY\",\"SVG_FECOMPONENTTRANSFER_TYPE_LINEAR\",\"SVG_FECOMPONENTTRANSFER_TYPE_TABLE\",\"SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN\",\"SVG_FECOMPOSITE_OPERATOR_ARITHMETIC\",\"SVG_FECOMPOSITE_OPERATOR_ATOP\",\"SVG_FECOMPOSITE_OPERATOR_IN\",\"SVG_FECOMPOSITE_OPERATOR_OUT\",\"SVG_FECOMPOSITE_OPERATOR_OVER\",\"SVG_FECOMPOSITE_OPERATOR_UNKNOWN\",\"SVG_FECOMPOSITE_OPERATOR_XOR\",\"SVG_INVALID_VALUE_ERR\",\"SVG_LENGTHTYPE_CM\",\"SVG_LENGTHTYPE_EMS\",\"SVG_LENGTHTYPE_EXS\",\"SVG_LENGTHTYPE_IN\",\"SVG_LENGTHTYPE_MM\",\"SVG_LENGTHTYPE_NUMBER\",\"SVG_LENGTHTYPE_PC\",\"SVG_LENGTHTYPE_PERCENTAGE\",\"SVG_LENGTHTYPE_PT\",\"SVG_LENGTHTYPE_PX\",\"SVG_LENGTHTYPE_UNKNOWN\",\"SVG_MARKERUNITS_STROKEWIDTH\",\"SVG_MARKERUNITS_UNKNOWN\",\"SVG_MARKERUNITS_USERSPACEONUSE\",\"SVG_MARKER_ORIENT_ANGLE\",\"SVG_MARKER_ORIENT_AUTO\",\"SVG_MARKER_ORIENT_UNKNOWN\",\"SVG_MASKTYPE_ALPHA\",\"SVG_MASKTYPE_LUMINANCE\",\"SVG_MATRIX_NOT_INVERTABLE\",\"SVG_MEETORSLICE_MEET\",\"SVG_MEETORSLICE_SLICE\",\"SVG_MEETORSLICE_UNKNOWN\",\"SVG_MORPHOLOGY_OPERATOR_DILATE\",\"SVG_MORPHOLOGY_OPERATOR_ERODE\",\"SVG_MORPHOLOGY_OPERATOR_UNKNOWN\",\"SVG_PAINTTYPE_CURRENTCOLOR\",\"SVG_PAINTTYPE_NONE\",\"SVG_PAINTTYPE_RGBCOLOR\",\"SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR\",\"SVG_PAINTTYPE_UNKNOWN\",\"SVG_PAINTTYPE_URI\",\"SVG_PAINTTYPE_URI_CURRENTCOLOR\",\"SVG_PAINTTYPE_URI_NONE\",\"SVG_PAINTTYPE_URI_RGBCOLOR\",\"SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR\",\"SVG_PRESERVEASPECTRATIO_NONE\",\"SVG_PRESERVEASPECTRATIO_UNKNOWN\",\"SVG_PRESERVEASPECTRATIO_XMAXYMAX\",\"SVG_PRESERVEASPECTRATIO_XMAXYMID\",\"SVG_PRESERVEASPECTRATIO_XMAXYMIN\",\"SVG_PRESERVEASPECTRATIO_XMIDYMAX\",\"SVG_PRESERVEASPECTRATIO_XMIDYMID\",\"SVG_PRESERVEASPECTRATIO_XMIDYMIN\",\"SVG_PRESERVEASPECTRATIO_XMINYMAX\",\"SVG_PRESERVEASPECTRATIO_XMINYMID\",\"SVG_PRESERVEASPECTRATIO_XMINYMIN\",\"SVG_SPREADMETHOD_PAD\",\"SVG_SPREADMETHOD_REFLECT\",\"SVG_SPREADMETHOD_REPEAT\",\"SVG_SPREADMETHOD_UNKNOWN\",\"SVG_STITCHTYPE_NOSTITCH\",\"SVG_STITCHTYPE_STITCH\",\"SVG_STITCHTYPE_UNKNOWN\",\"SVG_TRANSFORM_MATRIX\",\"SVG_TRANSFORM_ROTATE\",\"SVG_TRANSFORM_SCALE\",\"SVG_TRANSFORM_SKEWX\",\"SVG_TRANSFORM_SKEWY\",\"SVG_TRANSFORM_TRANSLATE\",\"SVG_TRANSFORM_UNKNOWN\",\"SVG_TURBULENCE_TYPE_FRACTALNOISE\",\"SVG_TURBULENCE_TYPE_TURBULENCE\",\"SVG_TURBULENCE_TYPE_UNKNOWN\",\"SVG_UNIT_TYPE_OBJECTBOUNDINGBOX\",\"SVG_UNIT_TYPE_UNKNOWN\",\"SVG_UNIT_TYPE_USERSPACEONUSE\",\"SVG_WRONG_TYPE_ERR\",\"SVG_ZOOMANDPAN_DISABLE\",\"SVG_ZOOMANDPAN_MAGNIFY\",\"SVG_ZOOMANDPAN_UNKNOWN\",\"SYNTAX_ERR\",\"SavedPages\",\"Screen\",\"ScreenOrientation\",\"Script\",\"ScriptProcessorNode\",\"ScrollAreaEvent\",\"SecurityPolicyViolationEvent\",\"Selection\",\"ServiceWorker\",\"ServiceWorkerContainer\",\"ServiceWorkerRegistration\",\"SessionDescription\",\"Set\",\"ShadowRoot\",\"SharedWorker\",\"SimpleGestureEvent\",\"SpeechSynthesisEvent\",\"SpeechSynthesisUtterance\",\"StopIteration\",\"Storage\",\"StorageEvent\",\"String\",\"StyleSheet\",\"StyleSheetList\",\"SubtleCrypto\",\"Symbol\",\"SyntaxError\",\"TEMPORARY\",\"TEXTPATH_METHODTYPE_ALIGN\",\"TEXTPATH_METHODTYPE_STRETCH\",\"TEXTPATH_METHODTYPE_UNKNOWN\",\"TEXTPATH_SPACINGTYPE_AUTO\",\"TEXTPATH_SPACINGTYPE_EXACT\",\"TEXTPATH_SPACINGTYPE_UNKNOWN\",\"TEXTURE\",\"TEXTURE0\",\"TEXTURE1\",\"TEXTURE10\",\"TEXTURE11\",\"TEXTURE12\",\"TEXTURE13\",\"TEXTURE14\",\"TEXTURE15\",\"TEXTURE16\",\"TEXTURE17\",\"TEXTURE18\",\"TEXTURE19\",\"TEXTURE2\",\"TEXTURE20\",\"TEXTURE21\",\"TEXTURE22\",\"TEXTURE23\",\"TEXTURE24\",\"TEXTURE25\",\"TEXTURE26\",\"TEXTURE27\",\"TEXTURE28\",\"TEXTURE29\",\"TEXTURE3\",\"TEXTURE30\",\"TEXTURE31\",\"TEXTURE4\",\"TEXTURE5\",\"TEXTURE6\",\"TEXTURE7\",\"TEXTURE8\",\"TEXTURE9\",\"TEXTURE_2D\",\"TEXTURE_BINDING_2D\",\"TEXTURE_BINDING_CUBE_MAP\",\"TEXTURE_CUBE_MAP\",\"TEXTURE_CUBE_MAP_NEGATIVE_X\",\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",\"TEXTURE_CUBE_MAP_POSITIVE_X\",\"TEXTURE_CUBE_MAP_POSITIVE_Y\",\"TEXTURE_CUBE_MAP_POSITIVE_Z\",\"TEXTURE_MAG_FILTER\",\"TEXTURE_MAX_ANISOTROPY_EXT\",\"TEXTURE_MIN_FILTER\",\"TEXTURE_WRAP_S\",\"TEXTURE_WRAP_T\",\"TEXT_NODE\",\"TIMEOUT\",\"TIMEOUT_ERR\",\"TOO_LARGE_ERR\",\"TRANSACTION_INACTIVE_ERR\",\"TRIANGLE\",\"TRIANGLES\",\"TRIANGLE_FAN\",\"TRIANGLE_STRIP\",\"TYPE_BACK_FORWARD\",\"TYPE_ERR\",\"TYPE_MISMATCH_ERR\",\"TYPE_NAVIGATE\",\"TYPE_RELOAD\",\"TYPE_RESERVED\",\"Text\",\"TextDecoder\",\"TextEncoder\",\"TextEvent\",\"TextMetrics\",\"TextTrack\",\"TextTrackCue\",\"TextTrackCueList\",\"TextTrackList\",\"TimeEvent\",\"TimeRanges\",\"Touch\",\"TouchEvent\",\"TouchList\",\"TrackEvent\",\"TransitionEvent\",\"TreeWalker\",\"TypeError\",\"UIEvent\",\"UNCACHED\",\"UNKNOWN_ERR\",\"UNKNOWN_RULE\",\"UNMASKED_RENDERER_WEBGL\",\"UNMASKED_VENDOR_WEBGL\",\"UNORDERED_NODE_ITERATOR_TYPE\",\"UNORDERED_NODE_SNAPSHOT_TYPE\",\"UNPACK_ALIGNMENT\",\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",\"UNPACK_FLIP_Y_WEBGL\",\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",\"UNSCHEDULED_STATE\",\"UNSENT\",\"UNSIGNED_BYTE\",\"UNSIGNED_INT\",\"UNSIGNED_SHORT\",\"UNSIGNED_SHORT_4_4_4_4\",\"UNSIGNED_SHORT_5_5_5_1\",\"UNSIGNED_SHORT_5_6_5\",\"UNSPECIFIED_EVENT_TYPE_ERR\",\"UPDATEREADY\",\"URIError\",\"URL\",\"URLSearchParams\",\"URLUnencoded\",\"URL_MISMATCH_ERR\",\"UTC\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"UserMessageHandler\",\"UserMessageHandlersNamespace\",\"UserProximityEvent\",\"VALIDATE_STATUS\",\"VALIDATION_ERR\",\"VARIABLES_RULE\",\"VENDOR\",\"VERSION\",\"VERSION_CHANGE\",\"VERSION_ERR\",\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",\"VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE\",\"VERTEX_ATTRIB_ARRAY_ENABLED\",\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",\"VERTEX_ATTRIB_ARRAY_POINTER\",\"VERTEX_ATTRIB_ARRAY_SIZE\",\"VERTEX_ATTRIB_ARRAY_STRIDE\",\"VERTEX_ATTRIB_ARRAY_TYPE\",\"VERTEX_SHADER\",\"VERTICAL\",\"VERTICAL_AXIS\",\"VER_ERR\",\"VIEWPORT\",\"VIEWPORT_RULE\",\"VTTCue\",\"VTTRegion\",\"ValidityState\",\"VideoStreamTrack\",\"WEBKIT_FILTER_RULE\",\"WEBKIT_KEYFRAMES_RULE\",\"WEBKIT_KEYFRAME_RULE\",\"WEBKIT_REGION_RULE\",\"WRONG_DOCUMENT_ERR\",\"WaveShaperNode\",\"WeakMap\",\"WeakSet\",\"WebGLActiveInfo\",\"WebGLBuffer\",\"WebGLContextEvent\",\"WebGLFramebuffer\",\"WebGLProgram\",\"WebGLRenderbuffer\",\"WebGLRenderingContext\",\"WebGLShader\",\"WebGLShaderPrecisionFormat\",\"WebGLTexture\",\"WebGLUniformLocation\",\"WebGLVertexArray\",\"WebKitAnimationEvent\",\"WebKitBlobBuilder\",\"WebKitCSSFilterRule\",\"WebKitCSSFilterValue\",\"WebKitCSSKeyframeRule\",\"WebKitCSSKeyframesRule\",\"WebKitCSSMatrix\",\"WebKitCSSRegionRule\",\"WebKitCSSTransformValue\",\"WebKitDataCue\",\"WebKitGamepad\",\"WebKitMediaKeyError\",\"WebKitMediaKeyMessageEvent\",\"WebKitMediaKeySession\",\"WebKitMediaKeys\",\"WebKitMediaSource\",\"WebKitMutationObserver\",\"WebKitNamespace\",\"WebKitPlaybackTargetAvailabilityEvent\",\"WebKitPoint\",\"WebKitShadowRoot\",\"WebKitSourceBuffer\",\"WebKitSourceBufferList\",\"WebKitTransitionEvent\",\"WebSocket\",\"WheelEvent\",\"Window\",\"Worker\",\"XMLDocument\",\"XMLHttpRequest\",\"XMLHttpRequestEventTarget\",\"XMLHttpRequestException\",\"XMLHttpRequestProgressEvent\",\"XMLHttpRequestUpload\",\"XMLSerializer\",\"XMLStylesheetProcessingInstruction\",\"XPathEvaluator\",\"XPathException\",\"XPathExpression\",\"XPathNSResolver\",\"XPathResult\",\"XSLTProcessor\",\"ZERO\",\"_XD0M_\",\"_YD0M_\",\"__defineGetter__\",\"__defineSetter__\",\"__lookupGetter__\",\"__lookupSetter__\",\"__opera\",\"__proto__\",\"_browserjsran\",\"a\",\"aLink\",\"abbr\",\"abort\",\"abs\",\"absolute\",\"acceleration\",\"accelerationIncludingGravity\",\"accelerator\",\"accept\",\"acceptCharset\",\"acceptNode\",\"accessKey\",\"accessKeyLabel\",\"accuracy\",\"acos\",\"acosh\",\"action\",\"actionURL\",\"active\",\"activeCues\",\"activeElement\",\"activeSourceBuffers\",\"activeSourceCount\",\"activeTexture\",\"add\",\"addBehavior\",\"addCandidate\",\"addColorStop\",\"addCue\",\"addElement\",\"addEventListener\",\"addFilter\",\"addFromString\",\"addFromUri\",\"addIceCandidate\",\"addImport\",\"addListener\",\"addNamed\",\"addPageRule\",\"addPath\",\"addPointer\",\"addRange\",\"addRegion\",\"addRule\",\"addSearchEngine\",\"addSourceBuffer\",\"addStream\",\"addTextTrack\",\"addTrack\",\"addWakeLockListener\",\"addedNodes\",\"additionalName\",\"additiveSymbols\",\"addons\",\"adoptNode\",\"adr\",\"advance\",\"alert\",\"algorithm\",\"align\",\"align-content\",\"align-items\",\"align-self\",\"alignContent\",\"alignItems\",\"alignSelf\",\"alignmentBaseline\",\"alinkColor\",\"all\",\"allSettled\",\"allowFullscreen\",\"allowedDirections\",\"alpha\",\"alt\",\"altGraphKey\",\"altHtml\",\"altKey\",\"altLeft\",\"altitude\",\"altitudeAccuracy\",\"amplitude\",\"ancestorOrigins\",\"anchor\",\"anchorNode\",\"anchorOffset\",\"anchors\",\"angle\",\"animVal\",\"animate\",\"animatedInstanceRoot\",\"animatedNormalizedPathSegList\",\"animatedPathSegList\",\"animatedPoints\",\"animation\",\"animation-delay\",\"animation-direction\",\"animation-duration\",\"animation-fill-mode\",\"animation-iteration-count\",\"animation-name\",\"animation-play-state\",\"animation-timing-function\",\"animationDelay\",\"animationDirection\",\"animationDuration\",\"animationFillMode\",\"animationIterationCount\",\"animationName\",\"animationPlayState\",\"animationStartTime\",\"animationTimingFunction\",\"animationsPaused\",\"anniversary\",\"any\",\"app\",\"appCodeName\",\"appMinorVersion\",\"appName\",\"appNotifications\",\"appVersion\",\"append\",\"appendBuffer\",\"appendChild\",\"appendData\",\"appendItem\",\"appendMedium\",\"appendNamed\",\"appendRule\",\"appendStream\",\"appendWindowEnd\",\"appendWindowStart\",\"applets\",\"applicationCache\",\"apply\",\"applyElement\",\"arc\",\"arcTo\",\"archive\",\"areas\",\"arguments\",\"arrayBuffer\",\"asin\",\"asinh\",\"assert\",\"assign\",\"async\",\"atEnd\",\"atan\",\"atan2\",\"atanh\",\"atob\",\"attachEvent\",\"attachShader\",\"attachShadow\",\"attachments\",\"attack\",\"attrChange\",\"attrName\",\"attributeFilter\",\"attributeName\",\"attributeNamespace\",\"attributeOldValue\",\"attributes\",\"audioTracks\",\"autoIncrement\",\"autobuffer\",\"autocapitalize\",\"autocomplete\",\"autocorrect\",\"autofocus\",\"autoplay\",\"availHeight\",\"availLeft\",\"availTop\",\"availWidth\",\"availability\",\"available\",\"aversion\",\"axes\",\"axis\",\"azimuth\",\"b\",\"back\",\"backface-visibility\",\"backfaceVisibility\",\"background\",\"background-attachment\",\"background-blend-mode\",\"background-clip\",\"background-color\",\"background-image\",\"background-origin\",\"background-position\",\"background-repeat\",\"background-size\",\"backgroundAttachment\",\"backgroundBlendMode\",\"backgroundClip\",\"backgroundColor\",\"backgroundImage\",\"backgroundOrigin\",\"backgroundPosition\",\"backgroundPositionX\",\"backgroundPositionY\",\"backgroundRepeat\",\"backgroundSize\",\"badInput\",\"balance\",\"baseFrequencyX\",\"baseFrequencyY\",\"baseNode\",\"baseOffset\",\"baseURI\",\"baseVal\",\"baselineShift\",\"battery\",\"bday\",\"beginElement\",\"beginElementAt\",\"beginPath\",\"behavior\",\"behaviorCookie\",\"behaviorPart\",\"behaviorUrns\",\"beta\",\"bezierCurveTo\",\"bgColor\",\"bgProperties\",\"bias\",\"big\",\"binaryType\",\"bind\",\"bindAttribLocation\",\"bindBuffer\",\"bindFramebuffer\",\"bindRenderbuffer\",\"bindTexture\",\"blendColor\",\"blendEquation\",\"blendEquationSeparate\",\"blendFunc\",\"blendFuncSeparate\",\"blink\",\"blob\",\"blockDirection\",\"blue\",\"blur\",\"body\",\"bodyUsed\",\"bold\",\"bookmarks\",\"booleanValue\",\"border\",\"border-bottom\",\"border-bottom-color\",\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-bottom-style\",\"border-bottom-width\",\"border-collapse\",\"border-color\",\"border-image\",\"border-image-outset\",\"border-image-repeat\",\"border-image-slice\",\"border-image-source\",\"border-image-width\",\"border-left\",\"border-left-color\",\"border-left-style\",\"border-left-width\",\"border-radius\",\"border-right\",\"border-right-color\",\"border-right-style\",\"border-right-width\",\"border-spacing\",\"border-style\",\"border-top\",\"border-top-color\",\"border-top-left-radius\",\"border-top-right-radius\",\"border-top-style\",\"border-top-width\",\"border-width\",\"borderBottom\",\"borderBottomColor\",\"borderBottomLeftRadius\",\"borderBottomRightRadius\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderCollapse\",\"borderColor\",\"borderColorDark\",\"borderColorLight\",\"borderImage\",\"borderImageOutset\",\"borderImageRepeat\",\"borderImageSlice\",\"borderImageSource\",\"borderImageWidth\",\"borderLeft\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\",\"borderRadius\",\"borderRight\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderSpacing\",\"borderStyle\",\"borderTop\",\"borderTopColor\",\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderTopStyle\",\"borderTopWidth\",\"borderWidth\",\"bottom\",\"bottomMargin\",\"bound\",\"boundElements\",\"boundingClientRect\",\"boundingHeight\",\"boundingLeft\",\"boundingTop\",\"boundingWidth\",\"bounds\",\"box-decoration-break\",\"box-shadow\",\"box-sizing\",\"boxDecorationBreak\",\"boxShadow\",\"boxSizing\",\"breakAfter\",\"breakBefore\",\"breakInside\",\"browserLanguage\",\"btoa\",\"bubbles\",\"buffer\",\"bufferData\",\"bufferDepth\",\"bufferSize\",\"bufferSubData\",\"buffered\",\"bufferedAmount\",\"buildID\",\"buildNumber\",\"button\",\"buttonID\",\"buttons\",\"byteLength\",\"byteOffset\",\"c\",\"call\",\"caller\",\"canBeFormatted\",\"canBeMounted\",\"canBeShared\",\"canHaveChildren\",\"canHaveHTML\",\"canPlayType\",\"cancel\",\"cancelAnimationFrame\",\"cancelBubble\",\"cancelScheduledValues\",\"cancelable\",\"candidate\",\"canvas\",\"caption\",\"caption-side\",\"captionSide\",\"capture\",\"captureEvents\",\"captureStackTrace\",\"caretPositionFromPoint\",\"caretRangeFromPoint\",\"cast\",\"catch\",\"category\",\"cbrt\",\"cd\",\"ceil\",\"cellIndex\",\"cellPadding\",\"cellSpacing\",\"cells\",\"ch\",\"chOff\",\"chain\",\"challenge\",\"changedTouches\",\"channel\",\"channelCount\",\"channelCountMode\",\"channelInterpretation\",\"char\",\"charAt\",\"charCode\",\"charCodeAt\",\"charIndex\",\"characterData\",\"characterDataOldValue\",\"characterSet\",\"charging\",\"chargingTime\",\"charset\",\"checkEnclosure\",\"checkFramebufferStatus\",\"checkIntersection\",\"checkValidity\",\"checked\",\"childElementCount\",\"childList\",\"childNodes\",\"children\",\"chrome\",\"ciphertext\",\"cite\",\"classList\",\"className\",\"classid\",\"clear\",\"clearAttributes\",\"clearColor\",\"clearData\",\"clearDepth\",\"clearImmediate\",\"clearInterval\",\"clearMarks\",\"clearMeasures\",\"clearParameters\",\"clearRect\",\"clearResourceTimings\",\"clearShadow\",\"clearStencil\",\"clearTimeout\",\"clearWatch\",\"click\",\"clickCount\",\"clientHeight\",\"clientInformation\",\"clientLeft\",\"clientRect\",\"clientRects\",\"clientTop\",\"clientWidth\",\"clientX\",\"clientY\",\"clip\",\"clip-path\",\"clip-rule\",\"clipBottom\",\"clipLeft\",\"clipPath\",\"clipPathUnits\",\"clipRight\",\"clipRule\",\"clipTop\",\"clipboardData\",\"clone\",\"cloneContents\",\"cloneNode\",\"cloneRange\",\"close\",\"closePath\",\"closed\",\"closest\",\"clz\",\"clz32\",\"cmp\",\"code\",\"codeBase\",\"codePointAt\",\"codeType\",\"colSpan\",\"collapse\",\"collapseToEnd\",\"collapseToStart\",\"collapsed\",\"collect\",\"colno\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"colorDepth\",\"colorInterpolation\",\"colorInterpolationFilters\",\"colorMask\",\"colorType\",\"cols\",\"columnCount\",\"columnFill\",\"columnGap\",\"columnNumber\",\"columnRule\",\"columnRuleColor\",\"columnRuleStyle\",\"columnRuleWidth\",\"columnSpan\",\"columnWidth\",\"columns\",\"command\",\"commitPreferences\",\"commonAncestorContainer\",\"compact\",\"compareBoundaryPoints\",\"compareDocumentPosition\",\"compareEndPoints\",\"compareNode\",\"comparePoint\",\"compatMode\",\"compatible\",\"compile\",\"compileShader\",\"complete\",\"componentFromPoint\",\"compositionEndOffset\",\"compositionStartOffset\",\"compressedTexImage2D\",\"compressedTexSubImage2D\",\"concat\",\"conditionText\",\"coneInnerAngle\",\"coneOuterAngle\",\"coneOuterGain\",\"confirm\",\"confirmComposition\",\"confirmSiteSpecificTrackingException\",\"confirmWebWideTrackingException\",\"connect\",\"connectEnd\",\"connectStart\",\"connected\",\"connection\",\"connectionSpeed\",\"console\",\"consolidate\",\"constrictionActive\",\"constructor\",\"contactID\",\"contains\",\"containsNode\",\"content\",\"contentDocument\",\"contentEditable\",\"contentOverflow\",\"contentScriptType\",\"contentStyleType\",\"contentType\",\"contentWindow\",\"context\",\"contextMenu\",\"contextmenu\",\"continue\",\"continuous\",\"control\",\"controller\",\"controls\",\"convertToSpecifiedUnits\",\"cookie\",\"cookieEnabled\",\"coords\",\"copyFromChannel\",\"copyTexImage2D\",\"copyTexSubImage2D\",\"copyToChannel\",\"copyWithin\",\"correspondingElement\",\"correspondingUseElement\",\"cos\",\"cosh\",\"count\",\"counter-increment\",\"counter-reset\",\"counterIncrement\",\"counterReset\",\"cpuClass\",\"cpuSleepAllowed\",\"create\",\"createAnalyser\",\"createAnswer\",\"createAttribute\",\"createAttributeNS\",\"createBiquadFilter\",\"createBuffer\",\"createBufferSource\",\"createCDATASection\",\"createCSSStyleSheet\",\"createCaption\",\"createChannelMerger\",\"createChannelSplitter\",\"createComment\",\"createContextualFragment\",\"createControlRange\",\"createConvolver\",\"createDTMFSender\",\"createDataChannel\",\"createDelay\",\"createDelayNode\",\"createDocument\",\"createDocumentFragment\",\"createDocumentType\",\"createDynamicsCompressor\",\"createElement\",\"createElementNS\",\"createEntityReference\",\"createEvent\",\"createEventObject\",\"createExpression\",\"createFramebuffer\",\"createFunction\",\"createGain\",\"createGainNode\",\"createHTMLDocument\",\"createImageBitmap\",\"createImageData\",\"createIndex\",\"createJavaScriptNode\",\"createLinearGradient\",\"createMediaElementSource\",\"createMediaKeys\",\"createMediaStreamDestination\",\"createMediaStreamSource\",\"createMutableFile\",\"createNSResolver\",\"createNodeIterator\",\"createNotification\",\"createObjectStore\",\"createObjectURL\",\"createOffer\",\"createOscillator\",\"createPanner\",\"createPattern\",\"createPeriodicWave\",\"createPopup\",\"createProcessingInstruction\",\"createProgram\",\"createRadialGradient\",\"createRange\",\"createRangeCollection\",\"createRenderbuffer\",\"createSVGAngle\",\"createSVGLength\",\"createSVGMatrix\",\"createSVGNumber\",\"createSVGPathSegArcAbs\",\"createSVGPathSegArcRel\",\"createSVGPathSegClosePath\",\"createSVGPathSegCurvetoCubicAbs\",\"createSVGPathSegCurvetoCubicRel\",\"createSVGPathSegCurvetoCubicSmoothAbs\",\"createSVGPathSegCurvetoCubicSmoothRel\",\"createSVGPathSegCurvetoQuadraticAbs\",\"createSVGPathSegCurvetoQuadraticRel\",\"createSVGPathSegCurvetoQuadraticSmoothAbs\",\"createSVGPathSegCurvetoQuadraticSmoothRel\",\"createSVGPathSegLinetoAbs\",\"createSVGPathSegLinetoHorizontalAbs\",\"createSVGPathSegLinetoHorizontalRel\",\"createSVGPathSegLinetoRel\",\"createSVGPathSegLinetoVerticalAbs\",\"createSVGPathSegLinetoVerticalRel\",\"createSVGPathSegMovetoAbs\",\"createSVGPathSegMovetoRel\",\"createSVGPoint\",\"createSVGRect\",\"createSVGTransform\",\"createSVGTransformFromMatrix\",\"createScriptProcessor\",\"createSession\",\"createShader\",\"createShadowRoot\",\"createStereoPanner\",\"createStyleSheet\",\"createTBody\",\"createTFoot\",\"createTHead\",\"createTextNode\",\"createTextRange\",\"createTexture\",\"createTouch\",\"createTouchList\",\"createTreeWalker\",\"createWaveShaper\",\"creationTime\",\"crossOrigin\",\"crypto\",\"csi\",\"cssFloat\",\"cssRules\",\"cssText\",\"cssValueType\",\"ctrlKey\",\"ctrlLeft\",\"cues\",\"cullFace\",\"currentNode\",\"currentPage\",\"currentScale\",\"currentScript\",\"currentSrc\",\"currentState\",\"currentStyle\",\"currentTarget\",\"currentTime\",\"currentTranslate\",\"currentView\",\"cursor\",\"curve\",\"customError\",\"cx\",\"cy\",\"d\",\"data\",\"dataFld\",\"dataFormatAs\",\"dataPageSize\",\"dataSrc\",\"dataTransfer\",\"database\",\"dataset\",\"dateTime\",\"db\",\"debug\",\"debuggerEnabled\",\"declare\",\"decode\",\"decodeAudioData\",\"decodeURI\",\"decodeURIComponent\",\"decodingInfo\",\"decrypt\",\"default\",\"defaultCharset\",\"defaultChecked\",\"defaultMuted\",\"defaultPlaybackRate\",\"defaultPrevented\",\"defaultSelected\",\"defaultStatus\",\"defaultURL\",\"defaultValue\",\"defaultView\",\"defaultstatus\",\"defer\",\"defineMagicFunction\",\"defineMagicVariable\",\"defineProperties\",\"defineProperty\",\"delayTime\",\"delete\",\"deleteBuffer\",\"deleteCaption\",\"deleteCell\",\"deleteContents\",\"deleteData\",\"deleteDatabase\",\"deleteFramebuffer\",\"deleteFromDocument\",\"deleteIndex\",\"deleteMedium\",\"deleteObjectStore\",\"deleteProgram\",\"deleteRenderbuffer\",\"deleteRow\",\"deleteRule\",\"deleteShader\",\"deleteTFoot\",\"deleteTHead\",\"deleteTexture\",\"deliverChangeRecords\",\"delivery\",\"deliveryInfo\",\"deliveryStatus\",\"deliveryTimestamp\",\"delta\",\"deltaMode\",\"deltaX\",\"deltaY\",\"deltaZ\",\"depthFunc\",\"depthMask\",\"depthRange\",\"deriveBits\",\"deriveKey\",\"description\",\"deselectAll\",\"designMode\",\"destination\",\"destinationURL\",\"detach\",\"detachEvent\",\"detachShader\",\"detail\",\"detune\",\"devicePixelRatio\",\"deviceXDPI\",\"deviceYDPI\",\"diffuseConstant\",\"digest\",\"dimensions\",\"dir\",\"dirName\",\"direction\",\"dirxml\",\"disable\",\"disableVertexAttribArray\",\"disabled\",\"dischargingTime\",\"disconnect\",\"dispatchEvent\",\"display\",\"distanceModel\",\"divisor\",\"djsapi\",\"djsproxy\",\"doImport\",\"doNotTrack\",\"doScroll\",\"doctype\",\"document\",\"documentElement\",\"documentMode\",\"documentURI\",\"dolphin\",\"dolphinGameCenter\",\"dolphininfo\",\"dolphinmeta\",\"domComplete\",\"domContentLoadedEventEnd\",\"domContentLoadedEventStart\",\"domInteractive\",\"domLoading\",\"domain\",\"domainLookupEnd\",\"domainLookupStart\",\"dominant-baseline\",\"dominantBaseline\",\"done\",\"dopplerFactor\",\"download\",\"dragDrop\",\"draggable\",\"drawArrays\",\"drawArraysInstancedANGLE\",\"drawCustomFocusRing\",\"drawElements\",\"drawElementsInstancedANGLE\",\"drawFocusIfNeeded\",\"drawImage\",\"drawImageFromRect\",\"drawSystemFocusRing\",\"drawingBufferHeight\",\"drawingBufferWidth\",\"dropEffect\",\"droppedVideoFrames\",\"dropzone\",\"dump\",\"duplicate\",\"duration\",\"dvname\",\"dvnum\",\"dx\",\"dy\",\"dynsrc\",\"e\",\"edgeMode\",\"effectAllowed\",\"elapsedTime\",\"elementFromPoint\",\"elements\",\"elevation\",\"ellipse\",\"email\",\"embeds\",\"empty\",\"empty-cells\",\"emptyCells\",\"enable\",\"enableBackground\",\"enableStyleSheetsForSet\",\"enableVertexAttribArray\",\"enabled\",\"enabledPlugin\",\"encode\",\"encodeURI\",\"encodeURIComponent\",\"encoding\",\"encrypt\",\"enctype\",\"end\",\"endContainer\",\"endElement\",\"endElementAt\",\"endOfStream\",\"endOffset\",\"endTime\",\"ended\",\"endsWith\",\"entities\",\"entries\",\"entryType\",\"enumerate\",\"enumerateEditable\",\"error\",\"errorCode\",\"escape\",\"eval\",\"evaluate\",\"event\",\"eventPhase\",\"every\",\"exception\",\"exec\",\"execCommand\",\"execCommandShowHelp\",\"execScript\",\"exitFullscreen\",\"exitPointerLock\",\"exp\",\"expand\",\"expandEntityReferences\",\"expando\",\"expansion\",\"expiryDate\",\"explicitOriginalTarget\",\"expm1\",\"exponent\",\"exponentialRampToValueAtTime\",\"exportKey\",\"extend\",\"extensions\",\"extentNode\",\"extentOffset\",\"external\",\"externalResourcesRequired\",\"extractContents\",\"extractable\",\"f\",\"face\",\"factoryReset\",\"fallback\",\"familyName\",\"farthestViewportElement\",\"fastSeek\",\"fatal\",\"fetch\",\"fetchStart\",\"fftSize\",\"fgColor\",\"fileCreatedDate\",\"fileHandle\",\"fileModifiedDate\",\"fileName\",\"fileSize\",\"fileUpdatedDate\",\"filename\",\"files\",\"fill\",\"fill-opacity\",\"fill-rule\",\"fillOpacity\",\"fillRect\",\"fillRule\",\"fillStyle\",\"fillText\",\"filter\",\"filterResX\",\"filterResY\",\"filterUnits\",\"filters\",\"finally\",\"find\",\"findIndex\",\"findRule\",\"findText\",\"finish\",\"fireEvent\",\"firstChild\",\"firstElementChild\",\"firstPage\",\"fixed\",\"flex\",\"flex-basis\",\"flex-direction\",\"flex-flow\",\"flex-grow\",\"flex-shrink\",\"flex-wrap\",\"flexBasis\",\"flexDirection\",\"flexFlow\",\"flexGrow\",\"flexShrink\",\"flexWrap\",\"flipX\",\"flipY\",\"float\",\"flood-color\",\"flood-opacity\",\"floodColor\",\"floodOpacity\",\"floor\",\"flush\",\"focus\",\"focusNode\",\"focusOffset\",\"font\",\"font-family\",\"font-feature-settings\",\"font-kerning\",\"font-language-override\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-synthesis\",\"font-variant\",\"font-variant-alternates\",\"font-variant-caps\",\"font-variant-east-asian\",\"font-variant-ligatures\",\"font-variant-numeric\",\"font-variant-position\",\"font-weight\",\"fontFamily\",\"fontFeatureSettings\",\"fontKerning\",\"fontLanguageOverride\",\"fontSize\",\"fontSizeAdjust\",\"fontSmoothingEnabled\",\"fontStretch\",\"fontStyle\",\"fontSynthesis\",\"fontVariant\",\"fontVariantAlternates\",\"fontVariantCaps\",\"fontVariantEastAsian\",\"fontVariantLigatures\",\"fontVariantNumeric\",\"fontVariantPosition\",\"fontWeight\",\"fontcolor\",\"fonts\",\"fontsize\",\"for\",\"forEach\",\"forceRedraw\",\"form\",\"formAction\",\"formEnctype\",\"formMethod\",\"formNoValidate\",\"formTarget\",\"format\",\"formatToParts\",\"forms\",\"forward\",\"fr\",\"frame\",\"frameBorder\",\"frameElement\",\"frameSpacing\",\"framebufferRenderbuffer\",\"framebufferTexture2D\",\"frames\",\"freeSpace\",\"freeze\",\"frequency\",\"frequencyBinCount\",\"from\",\"fromCharCode\",\"fromCodePoint\",\"fromElement\",\"frontFace\",\"fround\",\"fullScreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fx\",\"fy\",\"gain\",\"gamepad\",\"gamma\",\"genderIdentity\",\"generateKey\",\"generateMipmap\",\"generateRequest\",\"geolocation\",\"gestureObject\",\"get\",\"getActiveAttrib\",\"getActiveUniform\",\"getAdjacentText\",\"getAll\",\"getAllResponseHeaders\",\"getAsFile\",\"getAsString\",\"getAttachedShaders\",\"getAttribLocation\",\"getAttribute\",\"getAttributeNS\",\"getAttributeNode\",\"getAttributeNodeNS\",\"getAudioTracks\",\"getBBox\",\"getBattery\",\"getBlob\",\"getBookmark\",\"getBoundingClientRect\",\"getBufferParameter\",\"getByteFrequencyData\",\"getByteTimeDomainData\",\"getCSSCanvasContext\",\"getCTM\",\"getCandidateWindowClientRect\",\"getChannelData\",\"getCharNumAtPosition\",\"getClientRect\",\"getClientRects\",\"getCompositionAlternatives\",\"getComputedStyle\",\"getComputedTextLength\",\"getConfiguration\",\"getContext\",\"getContextAttributes\",\"getCounterValue\",\"getCueAsHTML\",\"getCueById\",\"getCurrentPosition\",\"getCurrentTime\",\"getData\",\"getDatabaseNames\",\"getDate\",\"getDay\",\"getDefaultComputedStyle\",\"getDestinationInsertionPoints\",\"getDistributedNodes\",\"getEditable\",\"getElementById\",\"getElementsByClassName\",\"getElementsByName\",\"getElementsByTagName\",\"getElementsByTagNameNS\",\"getEnclosureList\",\"getEndPositionOfChar\",\"getEntries\",\"getEntriesByName\",\"getEntriesByType\",\"getError\",\"getExtension\",\"getExtentOfChar\",\"getFeature\",\"getFile\",\"getFloat32\",\"getFloat64\",\"getFloatFrequencyData\",\"getFloatTimeDomainData\",\"getFloatValue\",\"getFramebufferAttachmentParameter\",\"getFrequencyResponse\",\"getFullYear\",\"getGamepads\",\"getHours\",\"getImageData\",\"getInt16\",\"getInt32\",\"getInt8\",\"getIntersectionList\",\"getItem\",\"getItems\",\"getKey\",\"getLineDash\",\"getLocalStreams\",\"getMarks\",\"getMatchedCSSRules\",\"getMeasures\",\"getMetadata\",\"getMilliseconds\",\"getMinutes\",\"getModifierState\",\"getMonth\",\"getNamedItem\",\"getNamedItemNS\",\"getNotifier\",\"getNumberOfChars\",\"getOverrideHistoryNavigationMode\",\"getOverrideStyle\",\"getOwnPropertyDescriptor\",\"getOwnPropertyNames\",\"getOwnPropertySymbols\",\"getParameter\",\"getPathSegAtLength\",\"getPointAtLength\",\"getPreference\",\"getPreferenceDefault\",\"getPresentationAttribute\",\"getPreventDefault\",\"getProgramInfoLog\",\"getProgramParameter\",\"getPropertyCSSValue\",\"getPropertyPriority\",\"getPropertyShorthand\",\"getPropertyValue\",\"getPrototypeOf\",\"getRGBColorValue\",\"getRandomValues\",\"getRangeAt\",\"getReceivers\",\"getRectValue\",\"getRegistration\",\"getRemoteStreams\",\"getRenderbufferParameter\",\"getResponseHeader\",\"getRoot\",\"getRotationOfChar\",\"getSVGDocument\",\"getScreenCTM\",\"getSeconds\",\"getSelection\",\"getSenders\",\"getShaderInfoLog\",\"getShaderParameter\",\"getShaderPrecisionFormat\",\"getShaderSource\",\"getSimpleDuration\",\"getSiteIcons\",\"getSources\",\"getSpeculativeParserUrls\",\"getStartPositionOfChar\",\"getStartTime\",\"getStats\",\"getStorageUpdates\",\"getStreamById\",\"getStringValue\",\"getSubStringLength\",\"getSubscription\",\"getSupportedExtensions\",\"getTexParameter\",\"getTime\",\"getTimezoneOffset\",\"getTotalLength\",\"getTrackById\",\"getTracks\",\"getTransformToElement\",\"getUTCDate\",\"getUTCDay\",\"getUTCFullYear\",\"getUTCHours\",\"getUTCMilliseconds\",\"getUTCMinutes\",\"getUTCMonth\",\"getUTCSeconds\",\"getUint16\",\"getUint32\",\"getUint8\",\"getUniform\",\"getUniformLocation\",\"getUserMedia\",\"getValues\",\"getVarDate\",\"getVariableValue\",\"getVertexAttrib\",\"getVertexAttribOffset\",\"getVideoPlaybackQuality\",\"getVideoTracks\",\"getWakeLockState\",\"getYear\",\"givenName\",\"global\",\"globalAlpha\",\"globalCompositeOperation\",\"glyphOrientationHorizontal\",\"glyphOrientationVertical\",\"glyphRef\",\"go\",\"gradientTransform\",\"gradientUnits\",\"grammars\",\"green\",\"group\",\"groupCollapsed\",\"groupEnd\",\"hardwareConcurrency\",\"has\",\"hasAttribute\",\"hasAttributeNS\",\"hasAttributes\",\"hasChildNodes\",\"hasComposition\",\"hasExtension\",\"hasFeature\",\"hasFocus\",\"hasLayout\",\"hasOwnProperty\",\"hash\",\"head\",\"headers\",\"heading\",\"height\",\"hidden\",\"hide\",\"hideFocus\",\"high\",\"hint\",\"history\",\"honorificPrefix\",\"honorificSuffix\",\"horizontalOverflow\",\"host\",\"hostname\",\"href\",\"hreflang\",\"hspace\",\"html5TagCheckInerface\",\"htmlFor\",\"htmlText\",\"httpEquiv\",\"hwTimestamp\",\"hypot\",\"iccId\",\"iceConnectionState\",\"iceGatheringState\",\"icon\",\"id\",\"identifier\",\"identity\",\"ignoreBOM\",\"ignoreCase\",\"image-orientation\",\"image-rendering\",\"imageOrientation\",\"imageRendering\",\"images\",\"ime-mode\",\"imeMode\",\"implementation\",\"importKey\",\"importNode\",\"importStylesheet\",\"imports\",\"impp\",\"imul\",\"in1\",\"in2\",\"inBandMetadataTrackDispatchType\",\"inRange\",\"includes\",\"incremental\",\"indeterminate\",\"index\",\"indexNames\",\"indexOf\",\"indexedDB\",\"inertiaDestinationX\",\"inertiaDestinationY\",\"info\",\"init\",\"initAnimationEvent\",\"initBeforeLoadEvent\",\"initClipboardEvent\",\"initCloseEvent\",\"initCommandEvent\",\"initCompositionEvent\",\"initCustomEvent\",\"initData\",\"initDeviceMotionEvent\",\"initDeviceOrientationEvent\",\"initDragEvent\",\"initErrorEvent\",\"initEvent\",\"initFocusEvent\",\"initGestureEvent\",\"initHashChangeEvent\",\"initKeyEvent\",\"initKeyboardEvent\",\"initMSManipulationEvent\",\"initMessageEvent\",\"initMouseEvent\",\"initMouseScrollEvent\",\"initMouseWheelEvent\",\"initMutationEvent\",\"initNSMouseEvent\",\"initOverflowEvent\",\"initPageEvent\",\"initPageTransitionEvent\",\"initPointerEvent\",\"initPopStateEvent\",\"initProgressEvent\",\"initScrollAreaEvent\",\"initSimpleGestureEvent\",\"initStorageEvent\",\"initTextEvent\",\"initTimeEvent\",\"initTouchEvent\",\"initTransitionEvent\",\"initUIEvent\",\"initWebKitAnimationEvent\",\"initWebKitTransitionEvent\",\"initWebKitWheelEvent\",\"initWheelEvent\",\"initialTime\",\"initialize\",\"initiatorType\",\"inner\",\"innerHTML\",\"innerHeight\",\"innerText\",\"innerWidth\",\"input\",\"inputBuffer\",\"inputEncoding\",\"inputMethod\",\"insertAdjacentElement\",\"insertAdjacentHTML\",\"insertAdjacentText\",\"insertBefore\",\"insertCell\",\"insertData\",\"insertItemBefore\",\"insertNode\",\"insertRow\",\"insertRule\",\"instanceRoot\",\"intercept\",\"interimResults\",\"internalSubset\",\"intersectsNode\",\"interval\",\"invalidIteratorState\",\"inverse\",\"invertSelf\",\"is\",\"is2D\",\"isAlternate\",\"isArray\",\"isBingCurrentSearchDefault\",\"isBuffer\",\"isCandidateWindowVisible\",\"isChar\",\"isCollapsed\",\"isComposing\",\"isContentEditable\",\"isContentHandlerRegistered\",\"isContextLost\",\"isDefaultNamespace\",\"isDisabled\",\"isEnabled\",\"isEqual\",\"isEqualNode\",\"isExtensible\",\"isFinite\",\"isFramebuffer\",\"isFrozen\",\"isGenerator\",\"isId\",\"isInjected\",\"isInteger\",\"isMap\",\"isMultiLine\",\"isNaN\",\"isOpen\",\"isPointInFill\",\"isPointInPath\",\"isPointInRange\",\"isPointInStroke\",\"isPrefAlternate\",\"isPrimary\",\"isProgram\",\"isPropertyImplicit\",\"isProtocolHandlerRegistered\",\"isPrototypeOf\",\"isRenderbuffer\",\"isSafeInteger\",\"isSameNode\",\"isSealed\",\"isShader\",\"isSupported\",\"isTextEdit\",\"isTexture\",\"isTrusted\",\"isTypeSupported\",\"isView\",\"isolation\",\"italics\",\"item\",\"itemId\",\"itemProp\",\"itemRef\",\"itemScope\",\"itemType\",\"itemValue\",\"iterateNext\",\"iterator\",\"javaEnabled\",\"jobTitle\",\"join\",\"json\",\"justify-content\",\"justifyContent\",\"k1\",\"k2\",\"k3\",\"k4\",\"kernelMatrix\",\"kernelUnitLengthX\",\"kernelUnitLengthY\",\"kerning\",\"key\",\"keyCode\",\"keyFor\",\"keyIdentifier\",\"keyLightEnabled\",\"keyLocation\",\"keyPath\",\"keySystem\",\"keyText\",\"keyUsage\",\"keys\",\"keytype\",\"kind\",\"knee\",\"label\",\"labels\",\"lang\",\"language\",\"languages\",\"largeArcFlag\",\"lastChild\",\"lastElementChild\",\"lastEventId\",\"lastIndex\",\"lastIndexOf\",\"lastMatch\",\"lastMessageSubject\",\"lastMessageType\",\"lastModified\",\"lastModifiedDate\",\"lastPage\",\"lastParen\",\"lastState\",\"lastStyleSheetSet\",\"latitude\",\"layerX\",\"layerY\",\"layoutFlow\",\"layoutGrid\",\"layoutGridChar\",\"layoutGridLine\",\"layoutGridMode\",\"layoutGridType\",\"lbound\",\"left\",\"leftContext\",\"leftMargin\",\"length\",\"lengthAdjust\",\"lengthComputable\",\"letter-spacing\",\"letterSpacing\",\"level\",\"lighting-color\",\"lightingColor\",\"limitingConeAngle\",\"line\",\"line-height\",\"lineAlign\",\"lineBreak\",\"lineCap\",\"lineDashOffset\",\"lineHeight\",\"lineJoin\",\"lineNumber\",\"lineTo\",\"lineWidth\",\"linearRampToValueAtTime\",\"lineno\",\"link\",\"linkColor\",\"linkProgram\",\"links\",\"list\",\"list-style\",\"list-style-image\",\"list-style-position\",\"list-style-type\",\"listStyle\",\"listStyleImage\",\"listStylePosition\",\"listStyleType\",\"listener\",\"load\",\"loadEventEnd\",\"loadEventStart\",\"loadTimes\",\"loaded\",\"localDescription\",\"localName\",\"localStorage\",\"locale\",\"localeCompare\",\"location\",\"locationbar\",\"lock\",\"lockedFile\",\"log\",\"log10\",\"log1p\",\"log2\",\"logicalXDPI\",\"logicalYDPI\",\"longDesc\",\"longitude\",\"lookupNamespaceURI\",\"lookupPrefix\",\"loop\",\"loopEnd\",\"loopStart\",\"looping\",\"low\",\"lower\",\"lowerBound\",\"lowerOpen\",\"lowsrc\",\"m11\",\"m12\",\"m13\",\"m14\",\"m21\",\"m22\",\"m23\",\"m24\",\"m31\",\"m32\",\"m33\",\"m34\",\"m41\",\"m42\",\"m43\",\"m44\",\"manifest\",\"map\",\"mapping\",\"margin\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"marginBottom\",\"marginHeight\",\"marginLeft\",\"marginRight\",\"marginTop\",\"marginWidth\",\"mark\",\"marker\",\"marker-end\",\"marker-mid\",\"marker-offset\",\"marker-start\",\"markerEnd\",\"markerHeight\",\"markerMid\",\"markerOffset\",\"markerStart\",\"markerUnits\",\"markerWidth\",\"marks\",\"mask\",\"mask-type\",\"maskContentUnits\",\"maskType\",\"maskUnits\",\"match\",\"matchMedia\",\"matchMedium\",\"matches\",\"matrix\",\"matrixTransform\",\"max\",\"max-height\",\"max-width\",\"maxAlternatives\",\"maxChannelCount\",\"maxConnectionsPerServer\",\"maxDecibels\",\"maxDistance\",\"maxHeight\",\"maxLength\",\"maxTouchPoints\",\"maxValue\",\"maxWidth\",\"measure\",\"measureText\",\"media\",\"mediaCapabilities\",\"mediaDevices\",\"mediaElement\",\"mediaGroup\",\"mediaKeys\",\"mediaText\",\"meetOrSlice\",\"memory\",\"menubar\",\"mergeAttributes\",\"message\",\"messageClass\",\"messageHandlers\",\"metaKey\",\"method\",\"mimeType\",\"mimeTypes\",\"min\",\"min-height\",\"min-width\",\"minDecibels\",\"minHeight\",\"minValue\",\"minWidth\",\"miterLimit\",\"mix-blend-mode\",\"mixBlendMode\",\"mode\",\"modify\",\"mount\",\"move\",\"moveBy\",\"moveEnd\",\"moveFirst\",\"moveFocusDown\",\"moveFocusLeft\",\"moveFocusRight\",\"moveFocusUp\",\"moveNext\",\"moveRow\",\"moveStart\",\"moveTo\",\"moveToBookmark\",\"moveToElementText\",\"moveToPoint\",\"mozAdd\",\"mozAnimationStartTime\",\"mozAnon\",\"mozApps\",\"mozAudioCaptured\",\"mozAudioChannelType\",\"mozAutoplayEnabled\",\"mozCancelAnimationFrame\",\"mozCancelFullScreen\",\"mozCancelRequestAnimationFrame\",\"mozCaptureStream\",\"mozCaptureStreamUntilEnded\",\"mozClearDataAt\",\"mozContact\",\"mozContacts\",\"mozCreateFileHandle\",\"mozCurrentTransform\",\"mozCurrentTransformInverse\",\"mozCursor\",\"mozDash\",\"mozDashOffset\",\"mozDecodedFrames\",\"mozExitPointerLock\",\"mozFillRule\",\"mozFragmentEnd\",\"mozFrameDelay\",\"mozFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozGetAll\",\"mozGetAllKeys\",\"mozGetAsFile\",\"mozGetDataAt\",\"mozGetMetadata\",\"mozGetUserMedia\",\"mozHasAudio\",\"mozHasItem\",\"mozHidden\",\"mozImageSmoothingEnabled\",\"mozIndexedDB\",\"mozInnerScreenX\",\"mozInnerScreenY\",\"mozInputSource\",\"mozIsTextField\",\"mozItem\",\"mozItemCount\",\"mozItems\",\"mozLength\",\"mozLockOrientation\",\"mozMatchesSelector\",\"mozMovementX\",\"mozMovementY\",\"mozOpaque\",\"mozOrientation\",\"mozPaintCount\",\"mozPaintedFrames\",\"mozParsedFrames\",\"mozPay\",\"mozPointerLockElement\",\"mozPresentedFrames\",\"mozPreservesPitch\",\"mozPressure\",\"mozPrintCallback\",\"mozRTCIceCandidate\",\"mozRTCPeerConnection\",\"mozRTCSessionDescription\",\"mozRemove\",\"mozRequestAnimationFrame\",\"mozRequestFullScreen\",\"mozRequestPointerLock\",\"mozSetDataAt\",\"mozSetImageElement\",\"mozSourceNode\",\"mozSrcObject\",\"mozSystem\",\"mozTCPSocket\",\"mozTextStyle\",\"mozTypesAt\",\"mozUnlockOrientation\",\"mozUserCancelled\",\"mozVisibilityState\",\"msAnimation\",\"msAnimationDelay\",\"msAnimationDirection\",\"msAnimationDuration\",\"msAnimationFillMode\",\"msAnimationIterationCount\",\"msAnimationName\",\"msAnimationPlayState\",\"msAnimationStartTime\",\"msAnimationTimingFunction\",\"msBackfaceVisibility\",\"msBlockProgression\",\"msCSSOMElementFloatMetrics\",\"msCaching\",\"msCachingEnabled\",\"msCancelRequestAnimationFrame\",\"msCapsLockWarningOff\",\"msClearImmediate\",\"msClose\",\"msContentZoomChaining\",\"msContentZoomFactor\",\"msContentZoomLimit\",\"msContentZoomLimitMax\",\"msContentZoomLimitMin\",\"msContentZoomSnap\",\"msContentZoomSnapPoints\",\"msContentZoomSnapType\",\"msContentZooming\",\"msConvertURL\",\"msCrypto\",\"msDoNotTrack\",\"msElementsFromPoint\",\"msElementsFromRect\",\"msExitFullscreen\",\"msExtendedCode\",\"msFillRule\",\"msFirstPaint\",\"msFlex\",\"msFlexAlign\",\"msFlexDirection\",\"msFlexFlow\",\"msFlexItemAlign\",\"msFlexLinePack\",\"msFlexNegative\",\"msFlexOrder\",\"msFlexPack\",\"msFlexPositive\",\"msFlexPreferredSize\",\"msFlexWrap\",\"msFlowFrom\",\"msFlowInto\",\"msFontFeatureSettings\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"msGetInputContext\",\"msGetRegionContent\",\"msGetUntransformedBounds\",\"msGraphicsTrustStatus\",\"msGridColumn\",\"msGridColumnAlign\",\"msGridColumnSpan\",\"msGridColumns\",\"msGridRow\",\"msGridRowAlign\",\"msGridRowSpan\",\"msGridRows\",\"msHidden\",\"msHighContrastAdjust\",\"msHyphenateLimitChars\",\"msHyphenateLimitLines\",\"msHyphenateLimitZone\",\"msHyphens\",\"msImageSmoothingEnabled\",\"msImeAlign\",\"msIndexedDB\",\"msInterpolationMode\",\"msIsStaticHTML\",\"msKeySystem\",\"msKeys\",\"msLaunchUri\",\"msLockOrientation\",\"msManipulationViewsEnabled\",\"msMatchMedia\",\"msMatchesSelector\",\"msMaxTouchPoints\",\"msOrientation\",\"msOverflowStyle\",\"msPerspective\",\"msPerspectiveOrigin\",\"msPlayToDisabled\",\"msPlayToPreferredSourceUri\",\"msPlayToPrimary\",\"msPointerEnabled\",\"msRegionOverflow\",\"msReleasePointerCapture\",\"msRequestAnimationFrame\",\"msRequestFullscreen\",\"msSaveBlob\",\"msSaveOrOpenBlob\",\"msScrollChaining\",\"msScrollLimit\",\"msScrollLimitXMax\",\"msScrollLimitXMin\",\"msScrollLimitYMax\",\"msScrollLimitYMin\",\"msScrollRails\",\"msScrollSnapPointsX\",\"msScrollSnapPointsY\",\"msScrollSnapType\",\"msScrollSnapX\",\"msScrollSnapY\",\"msScrollTranslation\",\"msSetImmediate\",\"msSetMediaKeys\",\"msSetPointerCapture\",\"msTextCombineHorizontal\",\"msTextSizeAdjust\",\"msToBlob\",\"msTouchAction\",\"msTouchSelect\",\"msTraceAsyncCallbackCompleted\",\"msTraceAsyncCallbackStarting\",\"msTraceAsyncOperationCompleted\",\"msTraceAsyncOperationStarting\",\"msTransform\",\"msTransformOrigin\",\"msTransformStyle\",\"msTransition\",\"msTransitionDelay\",\"msTransitionDuration\",\"msTransitionProperty\",\"msTransitionTimingFunction\",\"msUnlockOrientation\",\"msUpdateAsyncCallbackRelation\",\"msUserSelect\",\"msVisibilityState\",\"msWrapFlow\",\"msWrapMargin\",\"msWrapThrough\",\"msWriteProfilerMark\",\"msZoom\",\"msZoomTo\",\"mt\",\"multiEntry\",\"multiSelectionObj\",\"multiline\",\"multiple\",\"multiply\",\"multiplySelf\",\"mutableFile\",\"muted\",\"n\",\"name\",\"nameProp\",\"namedItem\",\"namedRecordset\",\"names\",\"namespaceURI\",\"namespaces\",\"naturalHeight\",\"naturalWidth\",\"navigate\",\"navigation\",\"navigationMode\",\"navigationStart\",\"navigator\",\"near\",\"nearestViewportElement\",\"negative\",\"netscape\",\"networkState\",\"newScale\",\"newTranslate\",\"newURL\",\"newValue\",\"newValueSpecifiedUnits\",\"newVersion\",\"newhome\",\"next\",\"nextElementSibling\",\"nextNode\",\"nextPage\",\"nextSibling\",\"nickname\",\"noHref\",\"noResize\",\"noShade\",\"noValidate\",\"noWrap\",\"nodeName\",\"nodeType\",\"nodeValue\",\"normalize\",\"normalizedPathSegList\",\"notationName\",\"notations\",\"note\",\"noteGrainOn\",\"noteOff\",\"noteOn\",\"now\",\"numOctaves\",\"number\",\"numberOfChannels\",\"numberOfInputs\",\"numberOfItems\",\"numberOfOutputs\",\"numberValue\",\"oMatchesSelector\",\"object\",\"object-fit\",\"object-position\",\"objectFit\",\"objectPosition\",\"objectStore\",\"objectStoreNames\",\"observe\",\"of\",\"offscreenBuffering\",\"offset\",\"offsetHeight\",\"offsetLeft\",\"offsetNode\",\"offsetParent\",\"offsetTop\",\"offsetWidth\",\"offsetX\",\"offsetY\",\"ok\",\"oldURL\",\"oldValue\",\"oldVersion\",\"olderShadowRoot\",\"onLine\",\"onabort\",\"onactivate\",\"onactive\",\"onaddstream\",\"onaddtrack\",\"onafterprint\",\"onafterscriptexecute\",\"onafterupdate\",\"onaudioend\",\"onaudioprocess\",\"onaudiostart\",\"onautocomplete\",\"onautocompleteerror\",\"onbeforeactivate\",\"onbeforecopy\",\"onbeforecut\",\"onbeforedeactivate\",\"onbeforeeditfocus\",\"onbeforepaste\",\"onbeforeprint\",\"onbeforescriptexecute\",\"onbeforeunload\",\"onbeforeupdate\",\"onblocked\",\"onblur\",\"onbounce\",\"onboundary\",\"oncached\",\"oncancel\",\"oncandidatewindowhide\",\"oncandidatewindowshow\",\"oncandidatewindowupdate\",\"oncanplay\",\"oncanplaythrough\",\"once\",\"oncellchange\",\"onchange\",\"onchargingchange\",\"onchargingtimechange\",\"onchecking\",\"onclick\",\"onclose\",\"oncompassneedscalibration\",\"oncomplete\",\"oncontextmenu\",\"oncontrolselect\",\"oncopy\",\"oncuechange\",\"oncut\",\"ondataavailable\",\"ondatachannel\",\"ondatasetchanged\",\"ondatasetcomplete\",\"ondblclick\",\"ondeactivate\",\"ondevicelight\",\"ondevicemotion\",\"ondeviceorientation\",\"ondeviceproximity\",\"ondischargingtimechange\",\"ondisplay\",\"ondownloading\",\"ondrag\",\"ondragend\",\"ondragenter\",\"ondragleave\",\"ondragover\",\"ondragstart\",\"ondrop\",\"ondurationchange\",\"onemptied\",\"onencrypted\",\"onend\",\"onended\",\"onenter\",\"onerror\",\"onerrorupdate\",\"onexit\",\"onfilterchange\",\"onfinish\",\"onfocus\",\"onfocusin\",\"onfocusout\",\"onfullscreenchange\",\"onfullscreenerror\",\"ongesturechange\",\"ongestureend\",\"ongesturestart\",\"ongotpointercapture\",\"onhashchange\",\"onhelp\",\"onicecandidate\",\"oniceconnectionstatechange\",\"oninactive\",\"oninput\",\"oninvalid\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onlanguagechange\",\"onlayoutcomplete\",\"onlevelchange\",\"onload\",\"onloadeddata\",\"onloadedmetadata\",\"onloadend\",\"onloadstart\",\"onlosecapture\",\"onlostpointercapture\",\"only\",\"onmark\",\"onmessage\",\"onmousedown\",\"onmouseenter\",\"onmouseleave\",\"onmousemove\",\"onmouseout\",\"onmouseover\",\"onmouseup\",\"onmousewheel\",\"onmove\",\"onmoveend\",\"onmovestart\",\"onmozfullscreenchange\",\"onmozfullscreenerror\",\"onmozorientationchange\",\"onmozpointerlockchange\",\"onmozpointerlockerror\",\"onmscontentzoom\",\"onmsfullscreenchange\",\"onmsfullscreenerror\",\"onmsgesturechange\",\"onmsgesturedoubletap\",\"onmsgestureend\",\"onmsgesturehold\",\"onmsgesturestart\",\"onmsgesturetap\",\"onmsgotpointercapture\",\"onmsinertiastart\",\"onmslostpointercapture\",\"onmsmanipulationstatechanged\",\"onmsneedkey\",\"onmsorientationchange\",\"onmspointercancel\",\"onmspointerdown\",\"onmspointerenter\",\"onmspointerhover\",\"onmspointerleave\",\"onmspointermove\",\"onmspointerout\",\"onmspointerover\",\"onmspointerup\",\"onmssitemodejumplistitemremoved\",\"onmsthumbnailclick\",\"onnegotiationneeded\",\"onnomatch\",\"onnoupdate\",\"onobsolete\",\"onoffline\",\"ononline\",\"onopen\",\"onorientationchange\",\"onpagechange\",\"onpagehide\",\"onpageshow\",\"onpaste\",\"onpause\",\"onplay\",\"onplaying\",\"onpluginstreamstart\",\"onpointercancel\",\"onpointerdown\",\"onpointerenter\",\"onpointerleave\",\"onpointerlockchange\",\"onpointerlockerror\",\"onpointermove\",\"onpointerout\",\"onpointerover\",\"onpointerup\",\"onpopstate\",\"onprogress\",\"onpropertychange\",\"onratechange\",\"onreadystatechange\",\"onremovestream\",\"onremovetrack\",\"onreset\",\"onresize\",\"onresizeend\",\"onresizestart\",\"onresourcetimingbufferfull\",\"onresult\",\"onresume\",\"onrowenter\",\"onrowexit\",\"onrowsdelete\",\"onrowsinserted\",\"onscroll\",\"onsearch\",\"onseeked\",\"onseeking\",\"onselect\",\"onselectionchange\",\"onselectstart\",\"onshow\",\"onsignalingstatechange\",\"onsoundend\",\"onsoundstart\",\"onspeechend\",\"onspeechstart\",\"onstalled\",\"onstart\",\"onstatechange\",\"onstop\",\"onstorage\",\"onstoragecommit\",\"onsubmit\",\"onsuccess\",\"onsuspend\",\"ontextinput\",\"ontimeout\",\"ontimeupdate\",\"ontoggle\",\"ontouchcancel\",\"ontouchend\",\"ontouchmove\",\"ontouchstart\",\"ontransitionend\",\"onunload\",\"onupdateready\",\"onupgradeneeded\",\"onuserproximity\",\"onversionchange\",\"onvoiceschanged\",\"onvolumechange\",\"onwaiting\",\"onwarning\",\"onwebkitanimationend\",\"onwebkitanimationiteration\",\"onwebkitanimationstart\",\"onwebkitcurrentplaybacktargetiswirelesschanged\",\"onwebkitfullscreenchange\",\"onwebkitfullscreenerror\",\"onwebkitkeyadded\",\"onwebkitkeyerror\",\"onwebkitkeymessage\",\"onwebkitneedkey\",\"onwebkitorientationchange\",\"onwebkitplaybacktargetavailabilitychanged\",\"onwebkitpointerlockchange\",\"onwebkitpointerlockerror\",\"onwebkitresourcetimingbufferfull\",\"onwebkittransitionend\",\"onwheel\",\"onzoom\",\"opacity\",\"open\",\"openCursor\",\"openDatabase\",\"openKeyCursor\",\"opener\",\"opera\",\"operationType\",\"operator\",\"opr\",\"optimum\",\"options\",\"order\",\"orderX\",\"orderY\",\"ordered\",\"org\",\"orient\",\"orientAngle\",\"orientType\",\"orientation\",\"origin\",\"originalTarget\",\"orphans\",\"oscpu\",\"outerHTML\",\"outerHeight\",\"outerText\",\"outerWidth\",\"outline\",\"outline-color\",\"outline-offset\",\"outline-style\",\"outline-width\",\"outlineColor\",\"outlineOffset\",\"outlineStyle\",\"outlineWidth\",\"outputBuffer\",\"overflow\",\"overflow-x\",\"overflow-y\",\"overflowX\",\"overflowY\",\"overrideMimeType\",\"oversample\",\"ownerDocument\",\"ownerElement\",\"ownerNode\",\"ownerRule\",\"ownerSVGElement\",\"owningElement\",\"p1\",\"p2\",\"p3\",\"p4\",\"pad\",\"padding\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"paddingBottom\",\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"page\",\"page-break-after\",\"page-break-before\",\"page-break-inside\",\"pageBreakAfter\",\"pageBreakBefore\",\"pageBreakInside\",\"pageCount\",\"pageX\",\"pageXOffset\",\"pageY\",\"pageYOffset\",\"pages\",\"paint-order\",\"paintOrder\",\"paintRequests\",\"paintType\",\"palette\",\"panningModel\",\"parent\",\"parentElement\",\"parentNode\",\"parentRule\",\"parentStyleSheet\",\"parentTextEdit\",\"parentWindow\",\"parse\",\"parseFloat\",\"parseFromString\",\"parseInt\",\"participants\",\"passive\",\"password\",\"pasteHTML\",\"path\",\"pathLength\",\"pathSegList\",\"pathSegType\",\"pathSegTypeAsLetter\",\"pathname\",\"pattern\",\"patternContentUnits\",\"patternMismatch\",\"patternTransform\",\"patternUnits\",\"pause\",\"pauseAnimations\",\"pauseOnExit\",\"paused\",\"pending\",\"performance\",\"permission\",\"persisted\",\"personalbar\",\"perspective\",\"perspective-origin\",\"perspectiveOrigin\",\"phoneticFamilyName\",\"phoneticGivenName\",\"photo\",\"ping\",\"pitch\",\"pixelBottom\",\"pixelDepth\",\"pixelHeight\",\"pixelLeft\",\"pixelRight\",\"pixelStorei\",\"pixelTop\",\"pixelUnitToMillimeterX\",\"pixelUnitToMillimeterY\",\"pixelWidth\",\"placeholder\",\"platform\",\"play\",\"playbackRate\",\"playbackState\",\"playbackTime\",\"played\",\"plugins\",\"pluginspage\",\"pname\",\"pointer-events\",\"pointerBeforeReferenceNode\",\"pointerEnabled\",\"pointerEvents\",\"pointerId\",\"pointerLockElement\",\"pointerType\",\"points\",\"pointsAtX\",\"pointsAtY\",\"pointsAtZ\",\"polygonOffset\",\"pop\",\"popupWindowFeatures\",\"popupWindowName\",\"popupWindowURI\",\"port\",\"port1\",\"port2\",\"ports\",\"posBottom\",\"posHeight\",\"posLeft\",\"posRight\",\"posTop\",\"posWidth\",\"position\",\"positionAlign\",\"postError\",\"postMessage\",\"poster\",\"pow\",\"powerOff\",\"preMultiplySelf\",\"precision\",\"preferredStyleSheetSet\",\"preferredStylesheetSet\",\"prefix\",\"preload\",\"prepend\",\"preserveAlpha\",\"preserveAspectRatio\",\"preserveAspectRatioString\",\"pressed\",\"pressure\",\"prevValue\",\"preventDefault\",\"preventExtensions\",\"previousElementSibling\",\"previousNode\",\"previousPage\",\"previousScale\",\"previousSibling\",\"previousTranslate\",\"primaryKey\",\"primitiveType\",\"primitiveUnits\",\"principals\",\"print\",\"privateKey\",\"probablySupportsContext\",\"process\",\"processIceMessage\",\"product\",\"productSub\",\"profile\",\"profileEnd\",\"profiles\",\"prompt\",\"properties\",\"propertyIsEnumerable\",\"propertyName\",\"protocol\",\"protocolLong\",\"prototype\",\"pseudoClass\",\"pseudoElement\",\"publicId\",\"publicKey\",\"published\",\"push\",\"pushNotification\",\"pushState\",\"put\",\"putImageData\",\"quadraticCurveTo\",\"qualifier\",\"queryCommandEnabled\",\"queryCommandIndeterm\",\"queryCommandState\",\"queryCommandSupported\",\"queryCommandText\",\"queryCommandValue\",\"querySelector\",\"querySelectorAll\",\"quote\",\"quotes\",\"r\",\"r1\",\"r2\",\"race\",\"radiogroup\",\"radiusX\",\"radiusY\",\"random\",\"range\",\"rangeCount\",\"rangeMax\",\"rangeMin\",\"rangeOffset\",\"rangeOverflow\",\"rangeParent\",\"rangeUnderflow\",\"rate\",\"ratio\",\"raw\",\"read\",\"readAsArrayBuffer\",\"readAsBinaryString\",\"readAsBlob\",\"readAsDataURL\",\"readAsText\",\"readOnly\",\"readPixels\",\"readReportRequested\",\"readyState\",\"reason\",\"reboot\",\"receiver\",\"receivers\",\"recordNumber\",\"recordset\",\"rect\",\"red\",\"redirectCount\",\"redirectEnd\",\"redirectStart\",\"reduce\",\"reduceRight\",\"reduction\",\"refDistance\",\"refX\",\"refY\",\"referenceNode\",\"referrer\",\"refresh\",\"region\",\"regionAnchorX\",\"regionAnchorY\",\"regionId\",\"regions\",\"register\",\"registerContentHandler\",\"registerElement\",\"registerProtocolHandler\",\"reject\",\"rel\",\"relList\",\"relatedNode\",\"relatedTarget\",\"release\",\"releaseCapture\",\"releaseEvents\",\"releasePointerCapture\",\"releaseShaderCompiler\",\"reliable\",\"reload\",\"remainingSpace\",\"remoteDescription\",\"remove\",\"removeAllRanges\",\"removeAttribute\",\"removeAttributeNS\",\"removeAttributeNode\",\"removeBehavior\",\"removeChild\",\"removeCue\",\"removeEventListener\",\"removeFilter\",\"removeImport\",\"removeItem\",\"removeListener\",\"removeNamedItem\",\"removeNamedItemNS\",\"removeNode\",\"removeParameter\",\"removeProperty\",\"removeRange\",\"removeRegion\",\"removeRule\",\"removeSiteSpecificTrackingException\",\"removeSourceBuffer\",\"removeStream\",\"removeTrack\",\"removeVariable\",\"removeWakeLockListener\",\"removeWebWideTrackingException\",\"removedNodes\",\"renderbufferStorage\",\"renderedBuffer\",\"renderingMode\",\"repeat\",\"replace\",\"replaceAdjacentText\",\"replaceChild\",\"replaceData\",\"replaceId\",\"replaceItem\",\"replaceNode\",\"replaceState\",\"replaceTrack\",\"replaceWholeText\",\"reportValidity\",\"requestAnimationFrame\",\"requestAutocomplete\",\"requestData\",\"requestFullscreen\",\"requestMediaKeySystemAccess\",\"requestPermission\",\"requestPointerLock\",\"requestStart\",\"requestingWindow\",\"required\",\"requiredExtensions\",\"requiredFeatures\",\"reset\",\"resetTransform\",\"resize\",\"resizeBy\",\"resizeTo\",\"resolve\",\"response\",\"responseBody\",\"responseEnd\",\"responseStart\",\"responseText\",\"responseType\",\"responseURL\",\"responseXML\",\"restore\",\"result\",\"resultType\",\"resume\",\"returnValue\",\"rev\",\"reverse\",\"reversed\",\"revocable\",\"revokeObjectURL\",\"rgbColor\",\"right\",\"rightContext\",\"rightMargin\",\"rolloffFactor\",\"root\",\"rootElement\",\"rotate\",\"rotateAxisAngle\",\"rotateAxisAngleSelf\",\"rotateFromVector\",\"rotateFromVectorSelf\",\"rotateSelf\",\"rotation\",\"rotationRate\",\"round\",\"rowIndex\",\"rowSpan\",\"rows\",\"rubyAlign\",\"rubyOverhang\",\"rubyPosition\",\"rules\",\"runtime\",\"runtimeStyle\",\"rx\",\"ry\",\"safari\",\"sampleCoverage\",\"sampleRate\",\"sandbox\",\"save\",\"scale\",\"scale3d\",\"scale3dSelf\",\"scaleNonUniform\",\"scaleNonUniformSelf\",\"scaleSelf\",\"scheme\",\"scissor\",\"scope\",\"scopeName\",\"scoped\",\"screen\",\"screenBrightness\",\"screenEnabled\",\"screenLeft\",\"screenPixelToMillimeterX\",\"screenPixelToMillimeterY\",\"screenTop\",\"screenX\",\"screenY\",\"scripts\",\"scroll\",\"scroll-behavior\",\"scrollAmount\",\"scrollBehavior\",\"scrollBy\",\"scrollByLines\",\"scrollByPages\",\"scrollDelay\",\"scrollHeight\",\"scrollIntoView\",\"scrollIntoViewIfNeeded\",\"scrollLeft\",\"scrollLeftMax\",\"scrollMaxX\",\"scrollMaxY\",\"scrollTo\",\"scrollTop\",\"scrollTopMax\",\"scrollWidth\",\"scrollX\",\"scrollY\",\"scrollbar3dLightColor\",\"scrollbarArrowColor\",\"scrollbarBaseColor\",\"scrollbarDarkShadowColor\",\"scrollbarFaceColor\",\"scrollbarHighlightColor\",\"scrollbarShadowColor\",\"scrollbarTrackColor\",\"scrollbars\",\"scrolling\",\"sdp\",\"sdpMLineIndex\",\"sdpMid\",\"seal\",\"search\",\"searchBox\",\"searchBoxJavaBridge_\",\"searchParams\",\"sectionRowIndex\",\"secureConnectionStart\",\"security\",\"seed\",\"seekable\",\"seeking\",\"select\",\"selectAllChildren\",\"selectNode\",\"selectNodeContents\",\"selectNodes\",\"selectSingleNode\",\"selectSubString\",\"selected\",\"selectedIndex\",\"selectedOptions\",\"selectedStyleSheetSet\",\"selectedStylesheetSet\",\"selection\",\"selectionDirection\",\"selectionEnd\",\"selectionStart\",\"selector\",\"selectorText\",\"self\",\"send\",\"sendAsBinary\",\"sendBeacon\",\"sender\",\"sentTimestamp\",\"separator\",\"serializeToString\",\"serviceWorker\",\"sessionId\",\"sessionStorage\",\"set\",\"setActive\",\"setAlpha\",\"setAttribute\",\"setAttributeNS\",\"setAttributeNode\",\"setAttributeNodeNS\",\"setBaseAndExtent\",\"setBingCurrentSearchDefault\",\"setCapture\",\"setColor\",\"setCompositeOperation\",\"setCurrentTime\",\"setCustomValidity\",\"setData\",\"setDate\",\"setDragImage\",\"setEnd\",\"setEndAfter\",\"setEndBefore\",\"setEndPoint\",\"setFillColor\",\"setFilterRes\",\"setFloat32\",\"setFloat64\",\"setFloatValue\",\"setFullYear\",\"setHours\",\"setImmediate\",\"setInt16\",\"setInt32\",\"setInt8\",\"setInterval\",\"setItem\",\"setLineCap\",\"setLineDash\",\"setLineJoin\",\"setLineWidth\",\"setLocalDescription\",\"setMatrix\",\"setMatrixValue\",\"setMediaKeys\",\"setMilliseconds\",\"setMinutes\",\"setMiterLimit\",\"setMonth\",\"setNamedItem\",\"setNamedItemNS\",\"setNonUserCodeExceptions\",\"setOrientToAngle\",\"setOrientToAuto\",\"setOrientation\",\"setOverrideHistoryNavigationMode\",\"setPaint\",\"setParameter\",\"setPeriodicWave\",\"setPointerCapture\",\"setPosition\",\"setPreference\",\"setProperty\",\"setPrototypeOf\",\"setRGBColor\",\"setRGBColorICCColor\",\"setRadius\",\"setRangeText\",\"setRemoteDescription\",\"setRequestHeader\",\"setResizable\",\"setResourceTimingBufferSize\",\"setRotate\",\"setScale\",\"setSeconds\",\"setSelectionRange\",\"setServerCertificate\",\"setShadow\",\"setSkewX\",\"setSkewY\",\"setStart\",\"setStartAfter\",\"setStartBefore\",\"setStdDeviation\",\"setStringValue\",\"setStrokeColor\",\"setSuggestResult\",\"setTargetAtTime\",\"setTargetValueAtTime\",\"setTime\",\"setTimeout\",\"setTransform\",\"setTranslate\",\"setUTCDate\",\"setUTCFullYear\",\"setUTCHours\",\"setUTCMilliseconds\",\"setUTCMinutes\",\"setUTCMonth\",\"setUTCSeconds\",\"setUint16\",\"setUint32\",\"setUint8\",\"setUri\",\"setValueAtTime\",\"setValueCurveAtTime\",\"setVariable\",\"setVelocity\",\"setVersion\",\"setYear\",\"settingName\",\"settingValue\",\"sex\",\"shaderSource\",\"shadowBlur\",\"shadowColor\",\"shadowOffsetX\",\"shadowOffsetY\",\"shadowRoot\",\"shape\",\"shape-rendering\",\"shapeRendering\",\"sheet\",\"shift\",\"shiftKey\",\"shiftLeft\",\"show\",\"showHelp\",\"showModal\",\"showModalDialog\",\"showModelessDialog\",\"showNotification\",\"sidebar\",\"sign\",\"signalingState\",\"sin\",\"singleNodeValue\",\"sinh\",\"size\",\"sizeToContent\",\"sizes\",\"skewX\",\"skewXSelf\",\"skewY\",\"skewYSelf\",\"slice\",\"slope\",\"small\",\"smil\",\"smooth\",\"smoothingTimeConstant\",\"snapToLines\",\"snapshotItem\",\"snapshotLength\",\"some\",\"sort\",\"source\",\"sourceBuffer\",\"sourceBuffers\",\"sourceIndex\",\"spacing\",\"span\",\"speakAs\",\"speaking\",\"specified\",\"specularConstant\",\"specularExponent\",\"speechSynthesis\",\"speed\",\"speedOfSound\",\"spellcheck\",\"splice\",\"split\",\"splitText\",\"spreadMethod\",\"sqrt\",\"src\",\"srcElement\",\"srcFilter\",\"srcUrn\",\"srcdoc\",\"srclang\",\"srcset\",\"stack\",\"stackTraceLimit\",\"stacktrace\",\"standalone\",\"standby\",\"start\",\"startContainer\",\"startIce\",\"startOffset\",\"startRendering\",\"startTime\",\"startsWith\",\"state\",\"status\",\"statusMessage\",\"statusText\",\"statusbar\",\"stdDeviationX\",\"stdDeviationY\",\"stencilFunc\",\"stencilFuncSeparate\",\"stencilMask\",\"stencilMaskSeparate\",\"stencilOp\",\"stencilOpSeparate\",\"step\",\"stepDown\",\"stepMismatch\",\"stepUp\",\"sticky\",\"stitchTiles\",\"stop\",\"stop-color\",\"stop-opacity\",\"stopColor\",\"stopImmediatePropagation\",\"stopOpacity\",\"stopPropagation\",\"storageArea\",\"storageName\",\"storageStatus\",\"storeSiteSpecificTrackingException\",\"storeWebWideTrackingException\",\"stpVersion\",\"stream\",\"strike\",\"stringValue\",\"stringify\",\"stroke\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"strokeDasharray\",\"strokeDashoffset\",\"strokeLinecap\",\"strokeLinejoin\",\"strokeMiterlimit\",\"strokeOpacity\",\"strokeRect\",\"strokeStyle\",\"strokeText\",\"strokeWidth\",\"style\",\"styleFloat\",\"styleMedia\",\"styleSheet\",\"styleSheetSets\",\"styleSheets\",\"sub\",\"subarray\",\"subject\",\"submit\",\"subscribe\",\"substr\",\"substring\",\"substringData\",\"subtle\",\"subtree\",\"suffix\",\"suffixes\",\"summary\",\"sup\",\"supports\",\"surfaceScale\",\"surroundContents\",\"suspend\",\"suspendRedraw\",\"swapCache\",\"swapNode\",\"sweepFlag\",\"symbols\",\"system\",\"systemCode\",\"systemId\",\"systemLanguage\",\"systemXDPI\",\"systemYDPI\",\"tBodies\",\"tFoot\",\"tHead\",\"tabIndex\",\"table\",\"table-layout\",\"tableLayout\",\"tableValues\",\"tag\",\"tagName\",\"tagUrn\",\"tags\",\"taintEnabled\",\"takeRecords\",\"tan\",\"tanh\",\"target\",\"targetElement\",\"targetTouches\",\"targetX\",\"targetY\",\"tel\",\"terminate\",\"test\",\"texImage2D\",\"texParameterf\",\"texParameteri\",\"texSubImage2D\",\"text\",\"text-align\",\"text-anchor\",\"text-decoration\",\"text-decoration-color\",\"text-decoration-line\",\"text-decoration-style\",\"text-indent\",\"text-overflow\",\"text-rendering\",\"text-shadow\",\"text-transform\",\"textAlign\",\"textAlignLast\",\"textAnchor\",\"textAutospace\",\"textBaseline\",\"textContent\",\"textDecoration\",\"textDecorationBlink\",\"textDecorationColor\",\"textDecorationLine\",\"textDecorationLineThrough\",\"textDecorationNone\",\"textDecorationOverline\",\"textDecorationStyle\",\"textDecorationUnderline\",\"textIndent\",\"textJustify\",\"textJustifyTrim\",\"textKashida\",\"textKashidaSpace\",\"textLength\",\"textOverflow\",\"textRendering\",\"textShadow\",\"textTracks\",\"textTransform\",\"textUnderlinePosition\",\"then\",\"threadId\",\"threshold\",\"tiltX\",\"tiltY\",\"time\",\"timeEnd\",\"timeStamp\",\"timeout\",\"timestamp\",\"timestampOffset\",\"timing\",\"title\",\"toArray\",\"toBlob\",\"toDataURL\",\"toDateString\",\"toElement\",\"toExponential\",\"toFixed\",\"toFloat32Array\",\"toFloat64Array\",\"toGMTString\",\"toISOString\",\"toJSON\",\"toLocaleDateString\",\"toLocaleFormat\",\"toLocaleLowerCase\",\"toLocaleString\",\"toLocaleTimeString\",\"toLocaleUpperCase\",\"toLowerCase\",\"toMethod\",\"toPrecision\",\"toSdp\",\"toSource\",\"toStaticHTML\",\"toString\",\"toStringTag\",\"toTimeString\",\"toUTCString\",\"toUpperCase\",\"toggle\",\"toggleLongPressEnabled\",\"tooLong\",\"toolbar\",\"top\",\"topMargin\",\"total\",\"totalFrameDelay\",\"totalVideoFrames\",\"touchAction\",\"touches\",\"trace\",\"track\",\"transaction\",\"transactions\",\"transform\",\"transform-origin\",\"transform-style\",\"transformOrigin\",\"transformPoint\",\"transformString\",\"transformStyle\",\"transformToDocument\",\"transformToFragment\",\"transition\",\"transition-delay\",\"transition-duration\",\"transition-property\",\"transition-timing-function\",\"transitionDelay\",\"transitionDuration\",\"transitionProperty\",\"transitionTimingFunction\",\"translate\",\"translateSelf\",\"translationX\",\"translationY\",\"trim\",\"trimLeft\",\"trimRight\",\"trueSpeed\",\"trunc\",\"truncate\",\"type\",\"typeDetail\",\"typeMismatch\",\"typeMustMatch\",\"types\",\"ubound\",\"undefined\",\"unescape\",\"uneval\",\"unicode-bidi\",\"unicodeBidi\",\"uniform1f\",\"uniform1fv\",\"uniform1i\",\"uniform1iv\",\"uniform2f\",\"uniform2fv\",\"uniform2i\",\"uniform2iv\",\"uniform3f\",\"uniform3fv\",\"uniform3i\",\"uniform3iv\",\"uniform4f\",\"uniform4fv\",\"uniform4i\",\"uniform4iv\",\"uniformMatrix2fv\",\"uniformMatrix3fv\",\"uniformMatrix4fv\",\"unique\",\"uniqueID\",\"uniqueNumber\",\"unitType\",\"units\",\"unloadEventEnd\",\"unloadEventStart\",\"unlock\",\"unmount\",\"unobserve\",\"unpause\",\"unpauseAnimations\",\"unreadCount\",\"unregister\",\"unregisterContentHandler\",\"unregisterProtocolHandler\",\"unscopables\",\"unselectable\",\"unshift\",\"unsubscribe\",\"unsuspendRedraw\",\"unsuspendRedrawAll\",\"unwatch\",\"unwrapKey\",\"update\",\"updateCommands\",\"updateIce\",\"updateInterval\",\"updateSettings\",\"updated\",\"updating\",\"upload\",\"upper\",\"upperBound\",\"upperOpen\",\"uri\",\"url\",\"urn\",\"urns\",\"usages\",\"useCurrentView\",\"useMap\",\"useProgram\",\"usedSpace\",\"userAgent\",\"userLanguage\",\"username\",\"v8BreakIterator\",\"vAlign\",\"vLink\",\"valid\",\"validateProgram\",\"validationMessage\",\"validity\",\"value\",\"valueAsDate\",\"valueAsNumber\",\"valueAsString\",\"valueInSpecifiedUnits\",\"valueMissing\",\"valueOf\",\"valueText\",\"valueType\",\"values\",\"vector-effect\",\"vectorEffect\",\"velocityAngular\",\"velocityExpansion\",\"velocityX\",\"velocityY\",\"vendor\",\"vendorSub\",\"verify\",\"version\",\"vertexAttrib1f\",\"vertexAttrib1fv\",\"vertexAttrib2f\",\"vertexAttrib2fv\",\"vertexAttrib3f\",\"vertexAttrib3fv\",\"vertexAttrib4f\",\"vertexAttrib4fv\",\"vertexAttribDivisorANGLE\",\"vertexAttribPointer\",\"vertical\",\"vertical-align\",\"verticalAlign\",\"verticalOverflow\",\"vibrate\",\"videoHeight\",\"videoTracks\",\"videoWidth\",\"view\",\"viewBox\",\"viewBoxString\",\"viewTarget\",\"viewTargetString\",\"viewport\",\"viewportAnchorX\",\"viewportAnchorY\",\"viewportElement\",\"visibility\",\"visibilityState\",\"visible\",\"vlinkColor\",\"voice\",\"volume\",\"vrml\",\"vspace\",\"w\",\"wand\",\"warn\",\"wasClean\",\"watch\",\"watchPosition\",\"webdriver\",\"webkitAddKey\",\"webkitAnimation\",\"webkitAnimationDelay\",\"webkitAnimationDirection\",\"webkitAnimationDuration\",\"webkitAnimationFillMode\",\"webkitAnimationIterationCount\",\"webkitAnimationName\",\"webkitAnimationPlayState\",\"webkitAnimationTimingFunction\",\"webkitAppearance\",\"webkitAudioContext\",\"webkitAudioDecodedByteCount\",\"webkitAudioPannerNode\",\"webkitBackfaceVisibility\",\"webkitBackground\",\"webkitBackgroundAttachment\",\"webkitBackgroundClip\",\"webkitBackgroundColor\",\"webkitBackgroundImage\",\"webkitBackgroundOrigin\",\"webkitBackgroundPosition\",\"webkitBackgroundPositionX\",\"webkitBackgroundPositionY\",\"webkitBackgroundRepeat\",\"webkitBackgroundSize\",\"webkitBackingStorePixelRatio\",\"webkitBorderImage\",\"webkitBorderImageOutset\",\"webkitBorderImageRepeat\",\"webkitBorderImageSlice\",\"webkitBorderImageSource\",\"webkitBorderImageWidth\",\"webkitBoxAlign\",\"webkitBoxDirection\",\"webkitBoxFlex\",\"webkitBoxOrdinalGroup\",\"webkitBoxOrient\",\"webkitBoxPack\",\"webkitBoxSizing\",\"webkitCancelAnimationFrame\",\"webkitCancelFullScreen\",\"webkitCancelKeyRequest\",\"webkitCancelRequestAnimationFrame\",\"webkitClearResourceTimings\",\"webkitClosedCaptionsVisible\",\"webkitConvertPointFromNodeToPage\",\"webkitConvertPointFromPageToNode\",\"webkitCreateShadowRoot\",\"webkitCurrentFullScreenElement\",\"webkitCurrentPlaybackTargetIsWireless\",\"webkitDirectionInvertedFromDevice\",\"webkitDisplayingFullscreen\",\"webkitEnterFullScreen\",\"webkitEnterFullscreen\",\"webkitExitFullScreen\",\"webkitExitFullscreen\",\"webkitExitPointerLock\",\"webkitFullScreenKeyboardInputAllowed\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitGenerateKeyRequest\",\"webkitGetAsEntry\",\"webkitGetDatabaseNames\",\"webkitGetEntries\",\"webkitGetEntriesByName\",\"webkitGetEntriesByType\",\"webkitGetFlowByName\",\"webkitGetGamepads\",\"webkitGetImageDataHD\",\"webkitGetNamedFlows\",\"webkitGetRegionFlowRanges\",\"webkitGetUserMedia\",\"webkitHasClosedCaptions\",\"webkitHidden\",\"webkitIDBCursor\",\"webkitIDBDatabase\",\"webkitIDBDatabaseError\",\"webkitIDBDatabaseException\",\"webkitIDBFactory\",\"webkitIDBIndex\",\"webkitIDBKeyRange\",\"webkitIDBObjectStore\",\"webkitIDBRequest\",\"webkitIDBTransaction\",\"webkitImageSmoothingEnabled\",\"webkitIndexedDB\",\"webkitInitMessageEvent\",\"webkitIsFullScreen\",\"webkitKeys\",\"webkitLineDashOffset\",\"webkitLockOrientation\",\"webkitMatchesSelector\",\"webkitMediaStream\",\"webkitNotifications\",\"webkitOfflineAudioContext\",\"webkitOrientation\",\"webkitPeerConnection00\",\"webkitPersistentStorage\",\"webkitPointerLockElement\",\"webkitPostMessage\",\"webkitPreservesPitch\",\"webkitPutImageDataHD\",\"webkitRTCPeerConnection\",\"webkitRegionOverset\",\"webkitRequestAnimationFrame\",\"webkitRequestFileSystem\",\"webkitRequestFullScreen\",\"webkitRequestFullscreen\",\"webkitRequestPointerLock\",\"webkitResolveLocalFileSystemURL\",\"webkitSetMediaKeys\",\"webkitSetResourceTimingBufferSize\",\"webkitShadowRoot\",\"webkitShowPlaybackTargetPicker\",\"webkitSlice\",\"webkitSpeechGrammar\",\"webkitSpeechGrammarList\",\"webkitSpeechRecognition\",\"webkitSpeechRecognitionError\",\"webkitSpeechRecognitionEvent\",\"webkitStorageInfo\",\"webkitSupportsFullscreen\",\"webkitTemporaryStorage\",\"webkitTextSizeAdjust\",\"webkitTransform\",\"webkitTransformOrigin\",\"webkitTransition\",\"webkitTransitionDelay\",\"webkitTransitionDuration\",\"webkitTransitionProperty\",\"webkitTransitionTimingFunction\",\"webkitURL\",\"webkitUnlockOrientation\",\"webkitUserSelect\",\"webkitVideoDecodedByteCount\",\"webkitVisibilityState\",\"webkitWirelessVideoPlaybackDisabled\",\"webkitdropzone\",\"webstore\",\"weight\",\"whatToShow\",\"wheelDelta\",\"wheelDeltaX\",\"wheelDeltaY\",\"which\",\"white-space\",\"whiteSpace\",\"wholeText\",\"widows\",\"width\",\"will-change\",\"willChange\",\"willValidate\",\"window\",\"withCredentials\",\"word-break\",\"word-spacing\",\"word-wrap\",\"wordBreak\",\"wordSpacing\",\"wordWrap\",\"wrap\",\"wrapKey\",\"write\",\"writeln\",\"writingMode\",\"x\",\"x1\",\"x2\",\"xChannelSelector\",\"xmlEncoding\",\"xmlStandalone\",\"xmlVersion\",\"xmlbase\",\"xmllang\",\"xmlspace\",\"y\",\"y1\",\"y2\",\"yChannelSelector\",\"yandex\",\"z\",\"z-index\",\"zIndex\",\"zoom\",\"zoomAndPan\",\"zoomRectScreen\"]"); + +/***/ }), + +/***/ "@javascript-obfuscator/escodegen": +/*!***************************************************!*\ + !*** external "@javascript-obfuscator/escodegen" ***! + \***************************************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("@javascript-obfuscator/escodegen");; + +/***/ }), + +/***/ "acorn": +/*!************************!*\ + !*** external "acorn" ***! + \************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("acorn");; + +/***/ }), + +/***/ "chalk": +/*!************************!*\ + !*** external "chalk" ***! + \************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("chalk");; + +/***/ }), + +/***/ "chance": +/*!*************************!*\ + !*** external "chance" ***! + \*************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("chance");; + +/***/ }), + +/***/ "class-validator": +/*!**********************************!*\ + !*** external "class-validator" ***! + \**********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("class-validator");; + +/***/ }), + +/***/ "eslint-scope": +/*!*******************************!*\ + !*** external "eslint-scope" ***! + \*******************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("eslint-scope");; + +/***/ }), + +/***/ "estraverse": +/*!*****************************!*\ + !*** external "estraverse" ***! + \*****************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("estraverse");; + +/***/ }), + +/***/ "eventemitter3": +/*!********************************!*\ + !*** external "eventemitter3" ***! + \********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("eventemitter3");; + +/***/ }), + +/***/ "fast-deep-equal": +/*!**********************************!*\ + !*** external "fast-deep-equal" ***! + \**********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("fast-deep-equal");; + +/***/ }), + +/***/ "inversify": +/*!****************************!*\ + !*** external "inversify" ***! + \****************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("inversify");; + +/***/ }), + +/***/ "js-string-escape": +/*!***********************************!*\ + !*** external "js-string-escape" ***! + \***********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("js-string-escape");; + +/***/ }), + +/***/ "md5": +/*!**********************!*\ + !*** external "md5" ***! + \**********************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("md5");; + +/***/ }), + +/***/ "reflect-metadata": +/*!***********************************!*\ + !*** external "reflect-metadata" ***! + \***********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("reflect-metadata");; + +/***/ }), + +/***/ "string-template": +/*!**********************************!*\ + !*** external "string-template" ***! + \**********************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("string-template");; + +/***/ }), + +/***/ "stringz": +/*!**************************!*\ + !*** external "stringz" ***! + \**************************/ +/*! dynamic exports */ +/*! exports [maybe provided (runtime-defined)] [no usage info] */ +/*! runtime requirements: module */ +/***/ ((module) => { + +module.exports = require("stringz");; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ if(__webpack_module_cache__[moduleId]) { +/******/ return __webpack_module_cache__[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ // module exports must be returned from runtime so entry inlining is disabled +/******/ // startup +/******/ // Load entry module and return exports +/******/ return __webpack_require__("./index.ts"); +/******/ })() +; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts b/src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts new file mode 100644 index 00000000..ec693a45 --- /dev/null +++ b/src/constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount.ts @@ -0,0 +1,6 @@ +/** + * Max count of root string array calls wrapper parameters + * + * @type {number} + */ +export const stringArrayRootCallsWrapperParametersDefaultCount: number = 2; diff --git a/src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts b/src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts new file mode 100644 index 00000000..7e48c371 --- /dev/null +++ b/src/constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount.ts @@ -0,0 +1,6 @@ +/** + * Max count of scope string array calls wrapper parameters + * + * @type {number} + */ +export const stringArrayScopeCallsWrapperParametersMaxCount: number = 5; diff --git a/src/container/modules/custom-nodes/CustomNodesModule.ts b/src/container/modules/custom-nodes/CustomNodesModule.ts index 0c2d065e..08584c19 100644 --- a/src/container/modules/custom-nodes/CustomNodesModule.ts +++ b/src/container/modules/custom-nodes/CustomNodesModule.ts @@ -141,6 +141,8 @@ export const customNodesModule: interfaces.ContainerModule = new ContainerModule ServiceIdentifiers.Factory__IIdentifierNamesGenerator, ServiceIdentifiers.Factory__IStringArrayIndexNode, ServiceIdentifiers.ICustomCodeHelperFormatter, + ServiceIdentifiers.IStringArrayStorage, + ServiceIdentifiers.IArrayUtils, ServiceIdentifiers.IRandomGenerator, ServiceIdentifiers.IOptions )); diff --git a/src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts b/src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts index 745090ea..99df254a 100644 --- a/src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts +++ b/src/custom-nodes/string-array-nodes/AbstractStringArrayCallNode.ts @@ -10,6 +10,7 @@ import { TStringArrayIndexNodeFactory } from '../../types/container/custom-nodes import { ICustomCodeHelperFormatter } from '../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter'; import { IOptions } from '../../interfaces/options/IOptions'; import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator'; +import { IStringArrayStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayStorage'; import { StringArrayIndexesType } from '../../enums/node-transformers/string-array-transformers/StringArrayIndexesType'; import { StringArrayIndexNode } from '../../enums/custom-nodes/string-array-index-nodes/StringArrayIndexNode'; @@ -18,6 +19,7 @@ import { AbstractCustomNode } from '../AbstractCustomNode'; import { NodeFactory } from '../../node/NodeFactory'; import { NodeMetadata } from '../../node/NodeMetadata'; import { NodeUtils } from '../../node/NodeUtils'; +import { IArrayUtils } from '../../interfaces/utils/IArrayUtils'; @injectable() export abstract class AbstractStringArrayCallNode extends AbstractCustomNode { @@ -29,6 +31,16 @@ export abstract class AbstractStringArrayCallNode extends AbstractCustomNode { [StringArrayIndexesType.HexadecimalNumericString, StringArrayIndexNode.StringArrayHexadecimalNumericStringIndexNode] ]); + /** + * @type {IArrayUtils} + */ + protected readonly arrayUtils: IArrayUtils; + + /** + * @type {IStringArrayStorage} + */ + protected readonly stringArrayStorage: IStringArrayStorage; + /** * @type {TStringArrayIndexNodeFactory} */ @@ -38,6 +50,8 @@ export abstract class AbstractStringArrayCallNode extends AbstractCustomNode { * @param {TIdentifierNamesGeneratorFactory} identifierNamesGeneratorFactory * @param {TStringArrayIndexNodeFactory} stringArrayIndexNodeFactory * @param {ICustomCodeHelperFormatter} customCodeHelperFormatter + * @param {IStringArrayStorage} stringArrayStorage + * @param {IArrayUtils} arrayUtils * @param {IRandomGenerator} randomGenerator * @param {IOptions} options */ @@ -47,6 +61,8 @@ export abstract class AbstractStringArrayCallNode extends AbstractCustomNode { @inject(ServiceIdentifiers.Factory__IStringArrayIndexNode) stringArrayIndexNodeFactory: TStringArrayIndexNodeFactory, @inject(ServiceIdentifiers.ICustomCodeHelperFormatter) customCodeHelperFormatter: ICustomCodeHelperFormatter, + @inject(ServiceIdentifiers.IStringArrayStorage) stringArrayStorage: IStringArrayStorage, + @inject(ServiceIdentifiers.IArrayUtils) arrayUtils: IArrayUtils, @inject(ServiceIdentifiers.IRandomGenerator) randomGenerator: IRandomGenerator, @inject(ServiceIdentifiers.IOptions) options: IOptions ) { @@ -58,6 +74,8 @@ export abstract class AbstractStringArrayCallNode extends AbstractCustomNode { ); this.stringArrayIndexNodeFactory = stringArrayIndexNodeFactory; + this.stringArrayStorage = stringArrayStorage; + this.arrayUtils = arrayUtils; } /** diff --git a/src/custom-nodes/string-array-nodes/StringArrayCallNode.ts b/src/custom-nodes/string-array-nodes/StringArrayCallNode.ts index 20749736..acc978b9 100644 --- a/src/custom-nodes/string-array-nodes/StringArrayCallNode.ts +++ b/src/custom-nodes/string-array-nodes/StringArrayCallNode.ts @@ -7,12 +7,18 @@ import { TIdentifierNamesGeneratorFactory } from '../../types/container/generato import { TStatement } from '../../types/node/TStatement'; import { TStringArrayIndexNodeFactory } from '../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory'; +import { IArrayUtils } from '../../interfaces/utils/IArrayUtils'; import { ICustomCodeHelperFormatter } from '../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter'; import { IOptions } from '../../interfaces/options/IOptions'; import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator'; +import { IStringArrayScopeCallsWrapperParameterIndexesData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperParameterIndexesData'; +import { IStringArrayStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayStorage'; import { initializable } from '../../decorators/Initializable'; +import { stringArrayRootCallsWrapperParametersDefaultCount } from '../../constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount'; +import { stringArrayScopeCallsWrapperParametersMaxCount } from '../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount'; + import { AbstractStringArrayCallNode } from './AbstractStringArrayCallNode'; import { NodeFactory } from '../../node/NodeFactory'; import { NodeUtils } from '../../node/NodeUtils'; @@ -43,10 +49,18 @@ export class StringArrayCallNode extends AbstractStringArrayCallNode { @initializable() private stringArrayCallsWrapperName!: string; + /** + * @type {IStringArrayScopeCallsWrapperParameterIndexesData | null} + */ + @initializable() + private stringArrayCallsWrapperParameterIndexesData!: IStringArrayScopeCallsWrapperParameterIndexesData | null; + /** * @param {TIdentifierNamesGeneratorFactory} identifierNamesGeneratorFactory * @param {TStringArrayIndexNodeFactory} stringArrayIndexNodeFactory * @param {ICustomCodeHelperFormatter} customCodeHelperFormatter + * @param {IStringArrayStorage} stringArrayStorage + * @param {IArrayUtils} arrayUtils * @param {IRandomGenerator} randomGenerator * @param {IOptions} options */ @@ -56,6 +70,8 @@ export class StringArrayCallNode extends AbstractStringArrayCallNode { @inject(ServiceIdentifiers.Factory__IStringArrayIndexNode) stringArrayIndexNodeFactory: TStringArrayIndexNodeFactory, @inject(ServiceIdentifiers.ICustomCodeHelperFormatter) customCodeHelperFormatter: ICustomCodeHelperFormatter, + @inject(ServiceIdentifiers.IStringArrayStorage) stringArrayStorage: IStringArrayStorage, + @inject(ServiceIdentifiers.IArrayUtils) arrayUtils: IArrayUtils, @inject(ServiceIdentifiers.IRandomGenerator) randomGenerator: IRandomGenerator, @inject(ServiceIdentifiers.IOptions) options: IOptions ) { @@ -63,6 +79,8 @@ export class StringArrayCallNode extends AbstractStringArrayCallNode { identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, + stringArrayStorage, + arrayUtils, randomGenerator, options ); @@ -70,17 +88,20 @@ export class StringArrayCallNode extends AbstractStringArrayCallNode { /** * @param {string} stringArrayCallsWrapperName + * @param {IStringArrayScopeCallsWrapperParameterIndexesData | null} stringArrayCallsWrapperParameterIndexesData * @param {number} index * @param {number} indexShiftAmount * @param {string | null} decodeKey */ public initialize ( stringArrayCallsWrapperName: string, + stringArrayCallsWrapperParameterIndexesData: IStringArrayScopeCallsWrapperParameterIndexesData | null, index: number, indexShiftAmount: number, decodeKey: string | null ): void { this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + this.stringArrayCallsWrapperParameterIndexesData = stringArrayCallsWrapperParameterIndexesData; this.index = index; this.indexShiftAmount = indexShiftAmount; this.decodeKey = decodeKey; @@ -90,21 +111,42 @@ export class StringArrayCallNode extends AbstractStringArrayCallNode { * @returns {TStatement[]} */ protected getNodeStructure (): TStatement[] { - const callExpressionArgs: ESTree.Expression[] = [ - this.getStringArrayIndexNode(this.indexShiftAmount + this.index) - ]; + const resultIndex: number = this.indexShiftAmount + this.index; - if (this.decodeKey) { - callExpressionArgs.push(this.getRc4KeyLiteralNode(this.decodeKey)); + const indexNode: ESTree.Expression = this.getStringArrayIndexNode(resultIndex); + const rc4KeyLiteralNode: ESTree.Literal | null = this.decodeKey + ? this.getRc4KeyLiteralNode(this.decodeKey) + : null; + + // filling call expression arguments with a fake arguments first + const callExpressionArgs: ESTree.Expression[] = this.arrayUtils.fillWithRange( + !this.stringArrayCallsWrapperParameterIndexesData + // root string array calls wrapper + ? stringArrayRootCallsWrapperParametersDefaultCount + // scope string array calls wrapper + : stringArrayScopeCallsWrapperParametersMaxCount, + () => this.getFakeStringArrayIndexNode(resultIndex) + ); + + callExpressionArgs.splice(this.stringArrayCallsWrapperParameterIndexesData?.index ?? 0, 1, indexNode); + + if (this.stringArrayCallsWrapperParameterIndexesData) { + callExpressionArgs.splice( + this.stringArrayCallsWrapperParameterIndexesData.decodeKey, + 1, + // use rc4 key literal node if exists or a node with fake string array wrapper index + rc4KeyLiteralNode ?? this.getFakeStringArrayIndexNode(resultIndex) + ); + } else if (rc4KeyLiteralNode) { + callExpressionArgs.splice(1, 1, rc4KeyLiteralNode); + } else { + // have to delete element + callExpressionArgs.splice(1, 1); } - const stringArrayIdentifierNode: ESTree.Identifier = - NodeFactory.identifierNode(this.stringArrayCallsWrapperName); - - const structure: TStatement = NodeFactory.expressionStatementNode( NodeFactory.callExpressionNode( - stringArrayIdentifierNode, + NodeFactory.identifierNode(this.stringArrayCallsWrapperName), callExpressionArgs ) ); @@ -113,4 +155,27 @@ export class StringArrayCallNode extends AbstractStringArrayCallNode { return [structure]; } + + /** + * @param {number} actualIndex + * @returns {Expression} + */ + private getFakeStringArrayIndexNode (actualIndex: number): ESTree.Expression { + return this.getStringArrayIndexNode(this.getFakeStringArrayIndex(actualIndex)); + } + + /** + * @param {number} actualIndex + * @returns {number} + */ + private getFakeStringArrayIndex (actualIndex: number): number { + const stringArrayStorageLength: number = this.stringArrayStorage.getLength(); + + const fakeIndexOffset: number = stringArrayStorageLength / 2; + + const minimumIndex: number = actualIndex - fakeIndexOffset; + const maximumIndex: number = actualIndex + fakeIndexOffset; + + return this.randomGenerator.getRandomInteger(minimumIndex, maximumIndex); + } } diff --git a/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts b/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts index 6fd39d85..4cb3620e 100644 --- a/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts +++ b/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperFunctionNode.ts @@ -7,15 +7,21 @@ import { TIdentifierNamesGeneratorFactory } from '../../types/container/generato import { TStatement } from '../../types/node/TStatement'; import { TStringArrayIndexNodeFactory } from '../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory'; +import { IArrayUtils } from '../../interfaces/utils/IArrayUtils'; import { ICustomCodeHelperFormatter } from '../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter'; import { IOptions } from '../../interfaces/options/IOptions'; import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator'; +import { IStringArrayScopeCallsWrapperParameterIndexesData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperParameterIndexesData'; +import { IStringArrayStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayStorage'; import { initializable } from '../../decorators/Initializable'; +import { stringArrayScopeCallsWrapperParametersMaxCount } from '../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount'; + import { AbstractStringArrayCallNode } from './AbstractStringArrayCallNode'; import { NodeFactory } from '../../node/NodeFactory'; import { NodeUtils } from '../../node/NodeUtils'; +import { stringArrayRootCallsWrapperParametersDefaultCount } from '../../constants/node-transformers/string-array-transformers/StringArrayRootCallsWrapperParametersDefaultCount'; @injectable() export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArrayCallNode { @@ -29,7 +35,13 @@ export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArra * @type {string} */ @initializable() - private stringArrayCallsWrapperName!: string; + private upperStringArrayCallsWrapperName!: string; + + /** + * @type {IStringArrayScopeCallsWrapperParameterIndexesData} + */ + @initializable() + private upperStringArrayCallsWrapperParameterIndexesData!: IStringArrayScopeCallsWrapperParameterIndexesData | null; /** * @type {string} @@ -37,11 +49,19 @@ export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArra @initializable() private stringArrayScopeCallsWrapperName!: string; + /** + * @type {IStringArrayScopeCallsWrapperParameterIndexesData} + */ + @initializable() + private stringArrayScopeCallsWrapperParameterIndexesData!: IStringArrayScopeCallsWrapperParameterIndexesData | null; + /** * @param {TIdentifierNamesGeneratorFactory} identifierNamesGeneratorFactory * @param {TStringArrayIndexNodeFactory} stringArrayIndexNodeFactory * @param {ICustomCodeHelperFormatter} customCodeHelperFormatter + * @param {IStringArrayStorage} stringArrayStorage + * @param {IArrayUtils} arrayUtils * @param {IRandomGenerator} randomGenerator * @param {IOptions} options */ @@ -51,6 +71,8 @@ export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArra @inject(ServiceIdentifiers.Factory__IStringArrayIndexNode) stringArrayIndexNodeFactory: TStringArrayIndexNodeFactory, @inject(ServiceIdentifiers.ICustomCodeHelperFormatter) customCodeHelperFormatter: ICustomCodeHelperFormatter, + @inject(ServiceIdentifiers.IStringArrayStorage) stringArrayStorage: IStringArrayStorage, + @inject(ServiceIdentifiers.IArrayUtils) arrayUtils: IArrayUtils, @inject(ServiceIdentifiers.IRandomGenerator) randomGenerator: IRandomGenerator, @inject(ServiceIdentifiers.IOptions) options: IOptions ) { @@ -58,6 +80,8 @@ export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArra identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, + stringArrayStorage, + arrayUtils, randomGenerator, options ); @@ -65,16 +89,22 @@ export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArra /** * @param {string} stringArrayScopeCallsWrapperName - * @param {string} stringArrayCallsWrapperName + * @param {IStringArrayScopeCallsWrapperParameterIndexesData | null} stringArrayScopeCallsWrapperParameterIndexesData + * @param {string} upperStringArrayCallsWrapperName + * @param {IStringArrayScopeCallsWrapperParameterIndexesData | null} upperStringArrayCallsWrapperParameterIndexesData * @param {number} shiftedIndex */ public initialize ( stringArrayScopeCallsWrapperName: string, - stringArrayCallsWrapperName: string, - shiftedIndex: number + stringArrayScopeCallsWrapperParameterIndexesData: IStringArrayScopeCallsWrapperParameterIndexesData | null, + upperStringArrayCallsWrapperName: string, + upperStringArrayCallsWrapperParameterIndexesData: IStringArrayScopeCallsWrapperParameterIndexesData | null, + shiftedIndex: number, ): void { this.stringArrayScopeCallsWrapperName = stringArrayScopeCallsWrapperName; - this.stringArrayCallsWrapperName = stringArrayCallsWrapperName; + this.stringArrayScopeCallsWrapperParameterIndexesData = stringArrayScopeCallsWrapperParameterIndexesData; + this.upperStringArrayCallsWrapperName = upperStringArrayCallsWrapperName; + this.upperStringArrayCallsWrapperParameterIndexesData = upperStringArrayCallsWrapperParameterIndexesData; this.shiftedIndex = shiftedIndex; } @@ -84,32 +114,52 @@ export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArra protected getNodeStructure (): TStatement[] { // identifiers of function expression parameters // as a temporary names use random strings - const firstParameterIdentifierNode: ESTree.Identifier = NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); - const secondParameterIdentifierNode: ESTree.Identifier = NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + const stringArrayCallIdentifierNode: ESTree.Identifier = NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + const decodeKeyIdentifierNode: ESTree.Identifier = NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); - // identifiers of call to the parent string array scope wrapper - // as a temporary names use random strings - const firstCallArgumentIdentifierNode: ESTree.Identifier = NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); - const secondCallArgumentIdentifierNode: ESTree.Identifier = NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + const stringArrayCallNode: ESTree.Expression = this.getUpperStringArrayCallNode( + stringArrayCallIdentifierNode, + this.getStringArrayIndexNode(this.shiftedIndex) + ); - // function expression node + // stage 1: function expression node parameters + // filling all parameters with a fake parameters first + const parameters: ESTree.Identifier[] = this.arrayUtils.fillWithRange( + !this.stringArrayScopeCallsWrapperParameterIndexesData + // root string array calls wrapper + ? stringArrayRootCallsWrapperParametersDefaultCount + // scope string array calls wrapper + : stringArrayScopeCallsWrapperParametersMaxCount, + () => this.getFakeParameterNode() + ); + parameters.splice(this.stringArrayScopeCallsWrapperParameterIndexesData?.index ?? 0, 1, stringArrayCallIdentifierNode); + parameters.splice(this.stringArrayScopeCallsWrapperParameterIndexesData?.decodeKey ?? 1, 1, decodeKeyIdentifierNode); + + // stage 2: upper string array call expression arguments + // filling all call expression arguments with a fake string array calls + const callExpressionArgs: ESTree.Expression[] = this.arrayUtils.fillWithRange( + !this.upperStringArrayCallsWrapperParameterIndexesData + // root string array calls wrapper + ? stringArrayRootCallsWrapperParametersDefaultCount + // scope string array calls wrapper + : stringArrayScopeCallsWrapperParametersMaxCount, + (index: number) => this.getUpperStringArrayCallNode( + parameters[index], + this.getFakeUpperStringArrayIndexNode() + ) + ); + + callExpressionArgs.splice(this.upperStringArrayCallsWrapperParameterIndexesData?.index ?? 0, 1, stringArrayCallNode); + callExpressionArgs.splice(this.upperStringArrayCallsWrapperParameterIndexesData?.decodeKey ?? 1, 1, decodeKeyIdentifierNode); + + // stage 3: function expression node const functionExpressionNode: ESTree.FunctionExpression = NodeFactory.functionExpressionNode( - [ - firstParameterIdentifierNode, - secondParameterIdentifierNode, - ], + parameters, NodeFactory.blockStatementNode([ NodeFactory.returnStatementNode( NodeFactory.callExpressionNode( - NodeFactory.identifierNode(this.stringArrayCallsWrapperName), - [ - NodeFactory.binaryExpressionNode( - '-', - firstCallArgumentIdentifierNode, - this.getStringArrayIndexNode(this.shiftedIndex) - ), - secondCallArgumentIdentifierNode - ] + NodeFactory.identifierNode(this.upperStringArrayCallsWrapperName), + callExpressionArgs ) ) ]) @@ -127,16 +177,42 @@ export class StringArrayScopeCallsWrapperFunctionNode extends AbstractStringArra NodeUtils.parentizeAst(structure); + // stage 4: rename // have to generate names for both parameter and call identifiers - const firstParameterName: string = this.identifierNamesGenerator.generateForLexicalScope(functionExpressionNode); - const secondParameterName: string = this.identifierNamesGenerator.generateForLexicalScope(functionExpressionNode); - - firstParameterIdentifierNode.name = firstParameterName; - secondParameterIdentifierNode.name = secondParameterName; - - firstCallArgumentIdentifierNode.name = firstParameterName; - secondCallArgumentIdentifierNode.name = secondParameterName; + for (const parameter of parameters) { + parameter.name = this.identifierNamesGenerator.generateForLexicalScope(functionExpressionNode); + } return [structure]; } + + /** + * @param {Identifier} indexParameterIdentifierNode + * @param {Expression} indexShiftNode + * @returns {Expression} + */ + private getUpperStringArrayCallNode ( + indexParameterIdentifierNode: ESTree.Identifier, + indexShiftNode: ESTree.Expression + ): ESTree.Expression { + return NodeFactory.binaryExpressionNode( + '-', + indexParameterIdentifierNode, + indexShiftNode + ); + } + + /** + * @returns {Identifier} + */ + private getFakeParameterNode (): ESTree.Identifier { + return NodeFactory.identifierNode(this.randomGenerator.getRandomString(6)); + } + + /** + * @returns {Expression} + */ + private getFakeUpperStringArrayIndexNode (): ESTree.Expression { + return this.getStringArrayIndexNode(this.randomGenerator.getRandomInteger(0, 500)); + } } diff --git a/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts b/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts index 4478e382..80af87a0 100644 --- a/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts +++ b/src/custom-nodes/string-array-nodes/StringArrayScopeCallsWrapperVariableNode.ts @@ -5,9 +5,11 @@ import { TIdentifierNamesGeneratorFactory } from '../../types/container/generato import { TStatement } from '../../types/node/TStatement'; import { TStringArrayIndexNodeFactory } from '../../types/container/custom-nodes/string-array-index-nodes/TStringArrayIndexNodeFactory'; +import { IArrayUtils } from '../../interfaces/utils/IArrayUtils'; import { ICustomCodeHelperFormatter } from '../../interfaces/custom-code-helpers/ICustomCodeHelperFormatter'; import { IOptions } from '../../interfaces/options/IOptions'; import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator'; +import { IStringArrayStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayStorage'; import { initializable } from '../../decorators/Initializable'; @@ -34,6 +36,8 @@ export class StringArrayScopeCallsWrapperVariableNode extends AbstractStringArra * @param {TIdentifierNamesGeneratorFactory} identifierNamesGeneratorFactory * @param {TStringArrayIndexNodeFactory} stringArrayIndexNodeFactory * @param {ICustomCodeHelperFormatter} customCodeHelperFormatter + * @param {IStringArrayStorage} stringArrayStorage + * @param {IArrayUtils} arrayUtils * @param {IRandomGenerator} randomGenerator * @param {IOptions} options */ @@ -43,6 +47,8 @@ export class StringArrayScopeCallsWrapperVariableNode extends AbstractStringArra @inject(ServiceIdentifiers.Factory__IStringArrayIndexNode) stringArrayIndexNodeFactory: TStringArrayIndexNodeFactory, @inject(ServiceIdentifiers.ICustomCodeHelperFormatter) customCodeHelperFormatter: ICustomCodeHelperFormatter, + @inject(ServiceIdentifiers.IStringArrayStorage) stringArrayStorage: IStringArrayStorage, + @inject(ServiceIdentifiers.IArrayUtils) arrayUtils: IArrayUtils, @inject(ServiceIdentifiers.IRandomGenerator) randomGenerator: IRandomGenerator, @inject(ServiceIdentifiers.IOptions) options: IOptions, ) { @@ -50,6 +56,8 @@ export class StringArrayScopeCallsWrapperVariableNode extends AbstractStringArra identifierNamesGeneratorFactory, stringArrayIndexNodeFactory, customCodeHelperFormatter, + stringArrayStorage, + arrayUtils, randomGenerator, options ); diff --git a/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperData.ts b/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperData.ts new file mode 100644 index 00000000..b1bfd00e --- /dev/null +++ b/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperData.ts @@ -0,0 +1,18 @@ +import { IStringArrayScopeCallsWrapperParameterIndexesData } from './IStringArrayScopeCallsWrapperParameterIndexesData'; + +export interface IStringArrayScopeCallsWrapperData { + /** + * @type {number} + */ + index: number; + + /** + * @type {string} + */ + name: string; + + /** + * @type {IStringArrayScopeCallsWrapperParameterIndexesData | null} + */ + parameterIndexesData: IStringArrayScopeCallsWrapperParameterIndexesData | null; +} diff --git a/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeData.ts b/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeData.ts index 4afb98d0..24f32313 100644 --- a/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeData.ts +++ b/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeData.ts @@ -1,5 +1,7 @@ import { TNodeWithLexicalScopeStatements } from '../../../types/node/TNodeWithLexicalScopeStatements'; +import { IStringArrayScopeCallsWrapperParameterIndexesData } from './IStringArrayScopeCallsWrapperParameterIndexesData'; + export interface IStringArrayScopeCallsWrapperLexicalScopeData { /** * @type {TNodeWithLexicalScopeStatements | null} @@ -15,4 +17,9 @@ export interface IStringArrayScopeCallsWrapperLexicalScopeData { * @type {number} */ scopeShiftedIndex: number; + + /** + * @type {IStringArrayScopeCallsWrapperParameterIndexesData | null} + */ + callsWrappersParameterIndexesData: IStringArrayScopeCallsWrapperParameterIndexesData | null; } diff --git a/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperParameterIndexesData.ts b/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperParameterIndexesData.ts new file mode 100644 index 00000000..4b1fc9a8 --- /dev/null +++ b/src/interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperParameterIndexesData.ts @@ -0,0 +1,11 @@ +export interface IStringArrayScopeCallsWrapperParameterIndexesData { + /** + * @type {number} + */ + index: number; + + /** + * @type {number} + */ + decodeKey: number; +} diff --git a/src/interfaces/utils/IArrayUtils.ts b/src/interfaces/utils/IArrayUtils.ts index 430cd5c2..86f52c9c 100644 --- a/src/interfaces/utils/IArrayUtils.ts +++ b/src/interfaces/utils/IArrayUtils.ts @@ -5,6 +5,13 @@ export interface IArrayUtils { */ createWithRange (length: number): number[]; + /** + * @param {number} length + * @param {(index: number) => TValue} valueFunction + * @returns {TValue[]} + */ + fillWithRange (length: number, valueFunction: (index: number) => TValue): TValue[]; + /** * @param {T[]} array * @returns {T | null} diff --git a/src/interfaces/utils/IRandomGenerator.ts b/src/interfaces/utils/IRandomGenerator.ts index d9a8d7c8..65c5f4d2 100644 --- a/src/interfaces/utils/IRandomGenerator.ts +++ b/src/interfaces/utils/IRandomGenerator.ts @@ -20,6 +20,14 @@ export interface IRandomGenerator { */ getRandomInteger (min: number, max: number): number; + /** + * @param {number} min + * @param {number} max + * @param {number[]} valuesToExclude + * @returns {number} + */ + getRandomIntegerExcluding (min: number, max: number, valuesToExclude: number[]): number; + /** * @param length * @param pool diff --git a/src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts b/src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts index c9c92170..662b19f4 100644 --- a/src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts +++ b/src/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperTransformer.ts @@ -12,10 +12,12 @@ import { TStringArrayCustomNodeFactory } from '../../types/container/custom-node import { ICustomNode } from '../../interfaces/custom-nodes/ICustomNode'; import { IOptions } from '../../interfaces/options/IOptions'; import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator'; +import { IStringArrayScopeCallsWrapperData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperData'; import { IStringArrayScopeCallsWrapperLexicalScopeData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeData'; import { IStringArrayScopeCallsWrapperLexicalScopeDataStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage'; import { IStringArrayScopeCallsWrapperNamesData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperNamesData'; import { IStringArrayScopeCallsWrapperNamesDataStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage'; +import { IStringArrayScopeCallsWrapperParameterIndexesData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperParameterIndexesData'; import { IStringArrayStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayStorage'; import { IVisitedLexicalScopeNodesStackStorage } from '../../interfaces/storages/string-array-transformers/IVisitedLexicalScopeNodesStackStorage'; import { IVisitor } from '../../interfaces/node-transformers/IVisitor'; @@ -132,6 +134,9 @@ export class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransfo return lexicalScopeBodyNode; } + const { + callsWrappersParameterIndexesData: stringArrayScopeCallsWrapperParameterIndexes + } = stringArrayScopeCallsWrapperLexicalScopeData; const stringArrayScopeCallsWrapperNamesDataList: (IStringArrayScopeCallsWrapperNamesData | undefined)[] = Object.values(stringArrayScopeCallsWrapperNamesDataByEncoding); @@ -150,17 +155,20 @@ export class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransfo */ for (let i = namesLength - 1; i >= 0; i--) { const stringArrayScopeCallsWrapperName: string = names[i]; - const [ - upperStringArrayCallsWrapperName, - upperStringArrayCallsWrapperShiftedIndex, - ] = this.getUpperStringArrayCallsWrapperData( + const { + name: upperStringArrayCallsWrapperName, + index: upperStringArrayCallsWrapperShiftedIndex, + parameterIndexesData: upperStringArrayCallsWrapperParameterIndexes + } = this.getUpperStringArrayCallsWrapperData( stringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData, ); const stringArrayScopeCallsWrapperNode: TStatement[] = this.getStringArrayScopeCallsWrapperNode( stringArrayScopeCallsWrapperName, + stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, + upperStringArrayCallsWrapperParameterIndexes, upperStringArrayCallsWrapperShiftedIndex ); @@ -177,30 +185,31 @@ export class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransfo /** * @param {IStringArrayScopeCallsWrapperNamesData} stringArrayScopeCallsWrapperNamesData * @param {IStringArrayScopeCallsWrapperLexicalScopeData} stringArrayScopeCallsWrapperLexicalScopeData - * @returns {[name: string, index: number]} + * @returns {IStringArrayScopeCallsWrapperData} */ private getRootStringArrayCallsWrapperData ( stringArrayScopeCallsWrapperNamesData: IStringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData: IStringArrayScopeCallsWrapperLexicalScopeData - ): [name: string, index: number] { + ): IStringArrayScopeCallsWrapperData { const {encoding} = stringArrayScopeCallsWrapperNamesData; const {resultShiftedIndex} = stringArrayScopeCallsWrapperLexicalScopeData; - return [ - this.stringArrayStorage.getStorageCallsWrapperName(encoding), - resultShiftedIndex - ]; + return { + name: this.stringArrayStorage.getStorageCallsWrapperName(encoding), + index: resultShiftedIndex, + parameterIndexesData: null + }; } /** * @param {IStringArrayScopeCallsWrapperNamesData} stringArrayScopeCallsWrapperNamesData * @param {IStringArrayScopeCallsWrapperLexicalScopeData} stringArrayScopeCallsWrapperLexicalScopeData - * @returns {[name: string, index: number]} + * @returns {IStringArrayScopeCallsWrapperData} */ private getUpperStringArrayCallsWrapperData ( stringArrayScopeCallsWrapperNamesData: IStringArrayScopeCallsWrapperNamesData, stringArrayScopeCallsWrapperLexicalScopeData: IStringArrayScopeCallsWrapperLexicalScopeData - ): [name: string, index: number] { + ): IStringArrayScopeCallsWrapperData { const {encoding} = stringArrayScopeCallsWrapperNamesData; const {scopeShiftedIndex} = stringArrayScopeCallsWrapperLexicalScopeData; @@ -223,6 +232,9 @@ export class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransfo const parentLexicalScopeNamesDataByEncoding: TStringArrayScopeCallsWrapperNamesDataByEncoding | null = this.stringArrayScopeCallsWrapperNamesDataStorage .get(parentLexicalScopeBodyNode) ?? null; + const parentScopeCallsWrapperLexicalScopeData: IStringArrayScopeCallsWrapperLexicalScopeData | null = this.stringArrayScopeCallsWrapperLexicalScopeDataStorage + .get(parentLexicalScopeBodyNode) ?? null; + const parentLexicalScopeNames: string[] | null = parentLexicalScopeNamesDataByEncoding?.[encoding]?.names ?? null; if (!parentLexicalScopeNames?.length) { @@ -232,29 +244,38 @@ export class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransfo const upperStringArrayCallsWrapperName: string = this.randomGenerator .getRandomGenerator() .pickone(parentLexicalScopeNames); + const parameterIndexesData: IStringArrayScopeCallsWrapperParameterIndexesData | null = + parentScopeCallsWrapperLexicalScopeData?.callsWrappersParameterIndexesData ?? null; - return [ - upperStringArrayCallsWrapperName, - scopeShiftedIndex - ]; + return { + name: upperStringArrayCallsWrapperName, + index: scopeShiftedIndex, + parameterIndexesData + }; } /** * @param {string} stringArrayScopeCallsWrapperName + * @param {IStringArrayScopeCallsWrapperParameterIndexesData | null} stringArrayScopeCallsWrapperParameterIndexes * @param {string} upperStringArrayCallsWrapperName + * @param {IStringArrayScopeCallsWrapperParameterIndexesData | null} upperStringArrayCallsWrapperParameterIndexes * @param {number} stringArrayScopeCallsWrapperShiftedIndex * @returns {TStatement[]} */ private getStringArrayScopeCallsWrapperNode ( stringArrayScopeCallsWrapperName: string, + stringArrayScopeCallsWrapperParameterIndexes: IStringArrayScopeCallsWrapperParameterIndexesData | null, upperStringArrayCallsWrapperName: string, + upperStringArrayCallsWrapperParameterIndexes: IStringArrayScopeCallsWrapperParameterIndexesData | null, stringArrayScopeCallsWrapperShiftedIndex: number ): TStatement[] { switch (this.options.stringArrayWrappersType) { case StringArrayWrappersType.Function: return this.getStringArrayScopeCallsWrapperFunctionNode( stringArrayScopeCallsWrapperName, + stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, + upperStringArrayCallsWrapperParameterIndexes, stringArrayScopeCallsWrapperShiftedIndex ); @@ -291,13 +312,17 @@ export class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransfo /** * @param {string} stringArrayScopeCallsWrapperName + * @param {IStringArrayScopeCallsWrapperParameterIndexesData | null} stringArrayScopeCallsWrapperParameterIndexes * @param {string} upperStringArrayCallsWrapperName + * @param {IStringArrayScopeCallsWrapperParameterIndexesData | null} upperStringArrayCallsWrapperParameterIndexes * @param {number} stringArrayScopeCallsWrapperShiftedIndex * @returns {TStatement[]} */ private getStringArrayScopeCallsWrapperFunctionNode ( stringArrayScopeCallsWrapperName: string, + stringArrayScopeCallsWrapperParameterIndexes: IStringArrayScopeCallsWrapperParameterIndexesData | null, upperStringArrayCallsWrapperName: string, + upperStringArrayCallsWrapperParameterIndexes: IStringArrayScopeCallsWrapperParameterIndexesData | null, stringArrayScopeCallsWrapperShiftedIndex: number ): TStatement[] { const stringArrayScopeCallsWrapperFunctionNode: ICustomNode> = @@ -307,8 +332,10 @@ export class StringArrayScopeCallsWrapperTransformer extends AbstractNodeTransfo stringArrayScopeCallsWrapperFunctionNode.initialize( stringArrayScopeCallsWrapperName, + stringArrayScopeCallsWrapperParameterIndexes, upperStringArrayCallsWrapperName, - stringArrayScopeCallsWrapperShiftedIndex + upperStringArrayCallsWrapperParameterIndexes, + stringArrayScopeCallsWrapperShiftedIndex, ); return stringArrayScopeCallsWrapperFunctionNode.getNode(); diff --git a/src/node-transformers/string-array-transformers/StringArrayTransformer.ts b/src/node-transformers/string-array-transformers/StringArrayTransformer.ts index a8c37d76..0a28d31b 100644 --- a/src/node-transformers/string-array-transformers/StringArrayTransformer.ts +++ b/src/node-transformers/string-array-transformers/StringArrayTransformer.ts @@ -15,9 +15,11 @@ import { IIdentifierNamesGenerator } from '../../interfaces/generators/identifie import { ILiteralNodesCacheStorage } from '../../interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage'; import { IOptions } from '../../interfaces/options/IOptions'; import { IRandomGenerator } from '../../interfaces/utils/IRandomGenerator'; +import { IStringArrayScopeCallsWrapperData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperData'; import { IStringArrayScopeCallsWrapperLexicalScopeData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeData'; import { IStringArrayScopeCallsWrapperLexicalScopeDataStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperLexicalScopeDataStorage'; import { IStringArrayScopeCallsWrapperNamesDataStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayScopeCallsWrapperNamesDataStorage'; +import { IStringArrayScopeCallsWrapperParameterIndexesData } from '../../interfaces/node-transformers/string-array-transformers/IStringArrayScopeCallsWrapperParameterIndexesData'; import { IStringArrayStorage } from '../../interfaces/storages/string-array-transformers/IStringArrayStorage'; import { IStringArrayStorageAnalyzer } from '../../interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer'; import { IStringArrayStorageItemData } from '../../interfaces/storages/string-array-transformers/IStringArrayStorageItem'; @@ -28,6 +30,8 @@ import { NodeTransformationStage } from '../../enums/node-transformers/NodeTrans import { StringArrayCustomNode } from '../../enums/custom-nodes/StringArrayCustomNode'; import { StringArrayWrappersType } from '../../enums/node-transformers/string-array-transformers/StringArrayWrappersType'; +import { stringArrayScopeCallsWrapperParametersMaxCount } from '../../constants/node-transformers/string-array-transformers/StringArrayScopeCallsWrapperParametersMaxCount'; + import { AbstractNodeTransformer } from '../AbstractNodeTransformer'; import { NodeGuards } from '../../node/NodeGuards'; import { NodeLiteralUtils } from '../../node/NodeLiteralUtils'; @@ -207,7 +211,11 @@ export class StringArrayTransformer extends AbstractNodeTransformer { * @returns {Expression} */ private getStringArrayCallNode (stringArrayStorageItemData: IStringArrayStorageItemData): ESTree.Expression { - const [stringArrayCallsWrapperName, index] = this.getStringArrayCallsWrapperData(stringArrayStorageItemData); + const { + name: stringArrayCallsWrapperName, + index, + parameterIndexesData + } = this.getStringArrayCallsWrapperData(stringArrayStorageItemData); const {decodeKey } = stringArrayStorageItemData; const stringArrayCallCustomNode: ICustomNode> = @@ -215,6 +223,7 @@ export class StringArrayTransformer extends AbstractNodeTransformer { stringArrayCallCustomNode.initialize( stringArrayCallsWrapperName, + parameterIndexesData, index, this.stringArrayStorage.getIndexShiftAmount(), decodeKey @@ -231,11 +240,11 @@ export class StringArrayTransformer extends AbstractNodeTransformer { /** * @param {IStringArrayStorageItemData} stringArrayStorageItemData - * @returns {[name: string, index: number]} + * @returns {IStringArrayScopeCallsWrapperData} */ private getStringArrayCallsWrapperData ( stringArrayStorageItemData: IStringArrayStorageItemData - ): [name: string, index: number] { + ): IStringArrayScopeCallsWrapperData { return !this.options.stringArrayWrappersCount ? this.getRootStringArrayCallsWrapperData(stringArrayStorageItemData) : this.getUpperStringArrayCallsWrapperData(stringArrayStorageItemData); @@ -243,28 +252,29 @@ export class StringArrayTransformer extends AbstractNodeTransformer { /** * @param {IStringArrayStorageItemData} stringArrayStorageItemData - * @returns {[name: string, index: number]} + * @returns {IStringArrayScopeCallsWrapperData} */ private getRootStringArrayCallsWrapperData ( stringArrayStorageItemData: IStringArrayStorageItemData - ): [name: string, index: number] { + ): IStringArrayScopeCallsWrapperData { const {encoding, index} = stringArrayStorageItemData; const rootStringArrayCallsWrapperName: string = this.stringArrayStorage.getStorageCallsWrapperName(encoding); - return [ - rootStringArrayCallsWrapperName, + return { + name: rootStringArrayCallsWrapperName, + parameterIndexesData: null, index - ]; + }; } /** * @param {IStringArrayStorageItemData} stringArrayStorageItemData - * @returns {[name: string, index: number]} + * @returns {IStringArrayScopeCallsWrapperData} */ private getUpperStringArrayCallsWrapperData ( stringArrayStorageItemData: IStringArrayStorageItemData - ): [name: string, index: number] { + ): IStringArrayScopeCallsWrapperData { const {encoding, index} = stringArrayStorageItemData; const currentLexicalScopeBodyNode: TNodeWithLexicalScopeStatements | null = this.visitedLexicalScopeNodesStackStorage.getLastElement() ?? null; @@ -295,10 +305,11 @@ export class StringArrayTransformer extends AbstractNodeTransformer { ? stringArrayScopeCallsWrapperLexicalScopeData.resultShiftedIndex + index : index; - return [ - randomUpperStringArrayCallsWrapperName, - resultIndex - ]; + return { + name: randomUpperStringArrayCallsWrapperName, + index: resultIndex, + parameterIndexesData: stringArrayScopeCallsWrapperLexicalScopeData.callsWrappersParameterIndexesData + }; } /** @@ -362,6 +373,10 @@ export class StringArrayTransformer extends AbstractNodeTransformer { ? this.stringArrayScopeCallsWrapperLexicalScopeDataStorage.get(parentLexicalScopeBodyNode) ?? null : null; + const callsWrappersParameterIndexesData: IStringArrayScopeCallsWrapperParameterIndexesData | null = + this.options.stringArrayWrappersType === StringArrayWrappersType.Function + ? this.getStringArrayCallsWrapperParameterIndexesData() + : null; const scopeShiftedIndex: number = this.options.stringArrayWrappersType === StringArrayWrappersType.Function ? this.randomGenerator.getRandomInteger( StringArrayTransformer.minShiftedIndexValue, @@ -373,6 +388,7 @@ export class StringArrayTransformer extends AbstractNodeTransformer { : scopeShiftedIndex; const lexicalScopeData: IStringArrayScopeCallsWrapperLexicalScopeData = { + callsWrappersParameterIndexesData, parentLexicalScopeBodyNode, resultShiftedIndex, scopeShiftedIndex @@ -385,4 +401,20 @@ export class StringArrayTransformer extends AbstractNodeTransformer { return lexicalScopeData; } + + /** + * @returns {IStringArrayScopeCallsWrapperParameterIndexesData} + */ + private getStringArrayCallsWrapperParameterIndexesData (): IStringArrayScopeCallsWrapperParameterIndexesData { + const minIndexValue: number = 0; + const maxIndexValue: number = stringArrayScopeCallsWrapperParametersMaxCount - 1; + + const index: number = this.randomGenerator.getRandomInteger(minIndexValue, maxIndexValue); + const decodeKey: number = this.randomGenerator.getRandomIntegerExcluding(minIndexValue, maxIndexValue, [index]); + + return { + index, + decodeKey + }; + } } diff --git a/src/utils/ArrayUtils.ts b/src/utils/ArrayUtils.ts index c6dfb90e..4133fd93 100644 --- a/src/utils/ArrayUtils.ts +++ b/src/utils/ArrayUtils.ts @@ -34,6 +34,21 @@ export class ArrayUtils implements IArrayUtils { return range; } + /** + * @param {number} length + * @param {(index: number) => TValue} valueFunction + * @returns {TValue[]} + */ + public fillWithRange (length: number, valueFunction: (index: number) => TValue): TValue[] { + const range: TValue[] = []; + + for (let i: number = 0; i < length; i++) { + range.push(valueFunction(i)); + } + + return range; + } + /** * @param {T[]} array * @returns {T | null} diff --git a/src/utils/RandomGenerator.ts b/src/utils/RandomGenerator.ts index e83c5024..a27daf4c 100644 --- a/src/utils/RandomGenerator.ts +++ b/src/utils/RandomGenerator.ts @@ -80,6 +80,26 @@ export class RandomGenerator implements IRandomGenerator, IInitializable { }); } + /** + * @param {number} min + * @param {number} max + * @param {number[]} valuesToExclude + * @returns {number} + */ + public getRandomIntegerExcluding (min: number, max: number, valuesToExclude: number[]): number { + const valuesToPickArray: number[] = []; + + for (let value: number = min; value <= max; value++) { + if (valuesToExclude.includes(value)) { + continue; + } + + valuesToPickArray.push(value); + } + + return this.randomGenerator.pickone(valuesToPickArray); + } + /** * @param {number} length * @param {string} pool diff --git a/test/dev/dev.ts b/test/dev/dev.ts index 68c45ada..9479ed99 100644 --- a/test/dev/dev.ts +++ b/test/dev/dev.ts @@ -2,6 +2,7 @@ import { NO_ADDITIONAL_NODES_PRESET } from '../../src/options/presets/NoCustomNodes'; import { StringArrayIndexesType } from '../../src/enums/node-transformers/string-array-transformers/StringArrayIndexesType'; +import { StringArrayEncoding } from '../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding'; (function () { const JavaScriptObfuscator: any = require('../../index'); @@ -35,6 +36,9 @@ import { StringArrayIndexesType } from '../../src/enums/node-transformers/string rotateStringArray: true, shuffleStringArray: true, stringArray: true, + stringArrayEncoding: [ + StringArrayEncoding.Rc4 + ], stringArrayIndexesType: [ StringArrayIndexesType.HexadecimalNumericString, StringArrayIndexesType.HexadecimalNumber diff --git a/test/index.spec.ts b/test/index.spec.ts index 538fcbe6..ab4e4c19 100644 --- a/test/index.spec.ts +++ b/test/index.spec.ts @@ -44,6 +44,7 @@ import './unit-tests/utils/CryptUtilsSwappedAlphabet.spec'; import './unit-tests/utils/EscapeSequenceEncoder.spec'; import './unit-tests/utils/LevelledTopologicalSorter.spec'; import './unit-tests/utils/NumberUtils.spec'; +import './unit-tests/utils/RandomGenerator.spec'; import './unit-tests/utils/StringUtils.spec'; import './unit-tests/utils/Utils.spec'; diff --git a/test/unit-tests/utils/ArrayUtils.spec.ts b/test/unit-tests/utils/ArrayUtils.spec.ts index d927ea5e..e5ba41d1 100644 --- a/test/unit-tests/utils/ArrayUtils.spec.ts +++ b/test/unit-tests/utils/ArrayUtils.spec.ts @@ -66,6 +66,61 @@ describe('ArrayUtils', () => { }); }); + describe('fillWithRange', () => { + const valueFunction: (index: number) => string = (index: number) => `foo${index}`; + + describe('range length more than 0', () => { + const rangeLength: number = 5; + const expectedArray: string[] = [ + 'foo0', + 'foo1', + 'foo2', + 'foo3', + 'foo4', + ]; + + let array: string[]; + + before(() => { + array = arrayUtils.fillWithRange(rangeLength, valueFunction); + }); + + it('should return array with range of strings', () => { + assert.deepEqual(array, expectedArray); + }); + }); + + describe('range length is 0', () => { + const rangeLength: number = 0; + const expectedArray: string[] = []; + + let array: string[]; + + before(() => { + array = arrayUtils.fillWithRange(rangeLength, valueFunction); + }); + + it('should return empty array', () => { + assert.deepEqual(array, expectedArray); + }); + }); + + describe('range length less than 0', () => { + const rangeLength: number = -5; + const expectedArray: string[] = []; + + let array: string[]; + + before(() => { + array = arrayUtils.fillWithRange(rangeLength, valueFunction); + }); + + it('should return empty array', () => { + assert.deepEqual(array, expectedArray); + }); + }); + }); + describe('findMostOccurringElement', () => { describe('empty array', () => { const array: string[] = []; diff --git a/test/unit-tests/utils/RandomGenerator.spec.ts b/test/unit-tests/utils/RandomGenerator.spec.ts new file mode 100644 index 00000000..7671f67f --- /dev/null +++ b/test/unit-tests/utils/RandomGenerator.spec.ts @@ -0,0 +1,92 @@ +import 'reflect-metadata'; + +import { assert } from 'chai'; + +import { ServiceIdentifiers } from '../../../src/container/ServiceIdentifiers'; + +import { IInversifyContainerFacade } from '../../../src/interfaces/container/IInversifyContainerFacade'; +import { IRandomGenerator } from '../../../src/interfaces/utils/IRandomGenerator'; + +import { InversifyContainerFacade } from '../../../src/container/InversifyContainerFacade'; + +describe('RandomGenerator', () => { + let randomGenerator: IRandomGenerator; + + before(() => { + const inversifyContainerFacade: IInversifyContainerFacade = new InversifyContainerFacade(); + + inversifyContainerFacade.load('', '', {}); + randomGenerator = inversifyContainerFacade.get(ServiceIdentifiers.IRandomGenerator); + }); + + describe('getRandomIntegerExcluding', () => { + describe('Variant #1: avoid excluded values', () => { + const samplesCount: number = 500; + + const minValue: number = 5; + const maxValue: number = 10; + const valuesToExclude: number[] = [6, 9]; + + const expectedRandomIntegerValues: number[] = [5, 7, 8, 10]; + + let isRandomIntegerInAllowedValuesRange: boolean = true; + + before(() => { + for (let i = 0; i < samplesCount; i++) { + const randomInteger = randomGenerator.getRandomIntegerExcluding(minValue, maxValue, valuesToExclude); + + if (!expectedRandomIntegerValues.includes(randomInteger)) { + isRandomIntegerInAllowedValuesRange = false; + } + } + }); + + it('should return a random integer in allowed values range', () => { + assert.isTrue(isRandomIntegerInAllowedValuesRange); + }); + }); + + describe('Variant #2: values boundaries', () => { + const samplesCount: number = 500; + + const minValue: number = 5; + const maxValue: number = 10; + const valuesToExclude: number[] = [6, 9]; + + const delta: number = 0.15; + + const expectedValueChance: number = 0.2 + + let minValuesCount: number = 0; + let maxValuesCount: number = 0; + + let minValueChance: number; + let maxValueChance: number; + + before(() => { + for (let i = 0; i < samplesCount; i++) { + const randomInteger: number = randomGenerator.getRandomIntegerExcluding(minValue, maxValue, valuesToExclude); + + if (randomInteger === minValue) { + minValuesCount += 1; + } + + if (randomInteger === maxValue) { + maxValuesCount += 1; + } + + minValueChance = minValuesCount / samplesCount; + maxValueChance = maxValuesCount / samplesCount; + } + }); + + it('should generate min values', () => { + assert.closeTo(minValueChance, expectedValueChance, delta); + }); + + it('should generate max values', () => { + assert.closeTo(maxValueChance, expectedValueChance, delta); + }); + }); + }); +});