├── .gitignore ├── LICENSE ├── README.md ├── index.js ├── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # nyc test coverage 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # node-waf configuration 24 | .lock-wscript 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | # Dependency directories 30 | node_modules 31 | jspm_packages 32 | 33 | # Optional npm cache directory 34 | .npm 35 | 36 | # Optional REPL history 37 | .node_repl_history 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AWS Access 2 | 3 | aws-access is a command line utility to update an AWS security group with your current IP 4 | across one or more regions. 5 | 6 | This is a relatively cheap way to lock down access to AWS resources to whitelisted ips. 7 | Defaults to whitelisting port 22. Configure ports using the --ports|-P argument. 8 | 9 | To use: 10 | 11 | * Step 1: Create security group for whitelisted ips e.g. 'remote-working' 12 | * Step 2: Assign security group to appropriate resources 13 | * Step 3: Install aws-access `npm install -g aws-access` 14 | * Step 4: [Set up aws credentials](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html) 15 | * Step 5: Run aws-access to whitelist your current ip e.g. `aws-access -g remote-working` 16 | 17 | ## Example 18 | 19 | # enable access to SSH and Postgres from the current IP 20 | aws-access -p myprofile -g mysecuritygroup -r us-east-1 eu-west-1 -P 22 5432 21 | 22 | ## Installing 23 | 24 | npm install -g aws-access 25 | 26 | ## Prerequisites 27 | 28 | * nodejs 7.6+ 29 | 30 | ## Command Line 31 | 32 | aws-access 33 | 34 | Options: 35 | -h Show help [boolean] 36 | -p, --profile [optional] 37 | -g, --group [required] 38 | -r, --region [default: "us-east-1"] 39 | -P, --ports [array] [default: ["22"]] 40 | 41 | ## Security Considerations 42 | 43 | * It's likely that a users IP will be stale over time, potentially allowing access to the AWS resources from unexpected IPs. This is still better than allowing access from the whole internet (i.e. 0.0.0.0/0) but this should be part of a defense in depth i.e. resources that are made accessible via aws-access should also be properly secured. 44 | * Removing old users from the security group managed by aws-access should be part of any offboarding process 45 | * If a user is renamed, their old username should be cleaned from the security group managed by aws-access 46 | * If this is used for multiple users, any of the users have the ability to modify rules set up by other users 47 | 48 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const AWS = require("aws-sdk"); 4 | const axios = require("axios"); 5 | 6 | async function run(options) { 7 | const { group, regions, ports, url } = options; 8 | const { data } = await axios(url); 9 | const ip = data.trim(); 10 | console.log("using ip " + ip); 11 | 12 | const iam = new AWS.IAM(); 13 | const date = new Date().toISOString().slice(0, 16); 14 | 15 | const { 16 | User: { UserName: userName } 17 | } = await iam.getUser().promise(); 18 | 19 | for (let region of regions) { 20 | AWS.config.update({ region: region }); 21 | const ec2 = new AWS.EC2(); 22 | const { SecurityGroups: securityGroups } = await ec2 23 | .describeSecurityGroups({ 24 | GroupNames: [group] 25 | }) 26 | .promise(); 27 | if (securityGroups == undefined) { 28 | throw "No security groups found with name " + group; 29 | } 30 | if (securityGroups.length != 1) { 31 | throw "Should only be 1 security group but was " + securityGroups.length; 32 | } 33 | 34 | const securityGroup = securityGroups[0]; 35 | 36 | const groupId = securityGroup.GroupId; 37 | console.log(region + " found group " + groupId); 38 | 39 | let ipPermissions = securityGroup.IpPermissions 40 | // only change permissions for the current user 41 | .filter(permission => { 42 | return ( 43 | permission.IpRanges && 44 | permission.IpRanges.some( 45 | range => 46 | range.Description === `${userName}` 47 | ) && 48 | ports.includes(permission.ToPort) 49 | ); 50 | }) 51 | .map(permission => { 52 | const result = {}; 53 | Object.keys(permission).forEach(key => { 54 | if (permission[key]) { 55 | if (Array.isArray(permission[key])) { 56 | if (permission[key].length > 0) { 57 | result[key] = permission[key]; 58 | } 59 | } else { 60 | result[key] = permission[key]; 61 | } 62 | } 63 | }); 64 | return result; 65 | }); 66 | 67 | let newIpPermissions = []; 68 | 69 | if (ipPermissions.length > 0) { 70 | await ec2 71 | .revokeSecurityGroupIngress({ 72 | GroupId: groupId, 73 | IpPermissions: ipPermissions 74 | }) 75 | .promise(); 76 | 77 | newIpPermissions = ports.map(function(port) { 78 | const p = parseInt(port); 79 | let ret = null; 80 | ipPermissions.forEach(function(permission) { 81 | if(permission.ToPort === p) { 82 | let ipRanges = permission.IpRanges.map(function(range) { 83 | if(range.Description === `${userName}`) { 84 | return { 85 | CidrIp: ip + "/32", 86 | Description: `${userName}` 87 | }; 88 | } else { 89 | return { 90 | CidrIp: range.CidrIp, 91 | Description: range.Description 92 | }; 93 | } 94 | }); 95 | ret = { 96 | IpRanges: ipRanges, 97 | FromPort: p, 98 | ToPort: p, 99 | IpProtocol: "tcp" 100 | }; 101 | } 102 | }); 103 | 104 | if(!ret) { 105 | ret = { 106 | IpRanges: [ 107 | { 108 | CidrIp: ip + "/32", 109 | Description: `${userName}` 110 | } 111 | ], 112 | FromPort: p, 113 | ToPort: p, 114 | IpProtocol: "tcp" 115 | }; 116 | } 117 | return ret; 118 | }); 119 | } else { 120 | newIpPermissions = ports.map(function(port) { 121 | const p = parseInt(port); 122 | return { 123 | IpRanges: [ 124 | { 125 | CidrIp: ip + "/32", 126 | Description: `${userName}` 127 | } 128 | ], 129 | FromPort: p, 130 | ToPort: p, 131 | IpProtocol: "tcp" 132 | }; 133 | }); 134 | } 135 | 136 | await ec2 137 | .authorizeSecurityGroupIngress({ 138 | GroupId: groupId, 139 | IpPermissions: newIpPermissions 140 | }) 141 | .promise(); 142 | 143 | console.log( 144 | region + 145 | " updated group " + 146 | groupId + 147 | " to ip " + 148 | ip + 149 | "/32 and ports " + 150 | ports 151 | ); 152 | } 153 | } 154 | 155 | const argv = require("yargs") 156 | .usage("aws-access") 157 | .alias("p", "profile") 158 | .alias("g", "group") 159 | .alias("r", "regions") 160 | .alias("P", "ports") 161 | .alias("u", "url") 162 | .array("P") 163 | .array("r") 164 | .demand(["g"]) 165 | .default("r", "us-east-1") 166 | .default("P", ["22"]) 167 | .default("u", "http://checkip.amazonaws.com/") 168 | .help("h").argv; 169 | 170 | if (argv.profile) { 171 | const credentials = new AWS.SharedIniFileCredentials({ 172 | profile: argv.profile 173 | }); 174 | AWS.config.credentials = credentials; 175 | } 176 | 177 | run(argv) 178 | .then(function() { 179 | console.log("done"); 180 | process.exit(0); 181 | }) 182 | .catch(function(error) { 183 | console.log(error.stack); 184 | process.exit(1); 185 | }); 186 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aws-access", 3 | "version": "2.1.4", 4 | "description": "Update an AWS security group with your current IP", 5 | "main": "index.js", 6 | "homepage": "https://github.com/jamiemccrindle/aws-access/", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [ 11 | "aws", 12 | "security", 13 | "command line" 14 | ], 15 | "bin": { 16 | "aws-access": "./index.js" 17 | }, 18 | "author": "Jamie McCrindle", 19 | "repository": { 20 | "type": "git", 21 | "url": "git://github.com/jamiemccrindle/aws-access/" 22 | }, 23 | "license": "Apache-2.0", 24 | "dependencies": { 25 | "aws-sdk": "^2.538.0", 26 | "axios": "^0.19.0", 27 | "yargs": "^14.0.0" 28 | }, 29 | "devDependencies": { 30 | "eslint": "^6.5.0" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.5.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" 8 | integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/highlight@^7.0.0": 13 | version "7.5.0" 14 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 15 | integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== 16 | dependencies: 17 | chalk "^2.0.0" 18 | esutils "^2.0.2" 19 | js-tokens "^4.0.0" 20 | 21 | acorn-jsx@^5.0.2: 22 | version "5.0.2" 23 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" 24 | integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== 25 | 26 | acorn@^7.0.0: 27 | version "7.1.0" 28 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" 29 | integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== 30 | 31 | ajv@^6.10.0, ajv@^6.10.2: 32 | version "6.10.2" 33 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" 34 | integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== 35 | dependencies: 36 | fast-deep-equal "^2.0.1" 37 | fast-json-stable-stringify "^2.0.0" 38 | json-schema-traverse "^0.4.1" 39 | uri-js "^4.2.2" 40 | 41 | ansi-escapes@^3.2.0: 42 | version "3.2.0" 43 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" 44 | integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== 45 | 46 | ansi-regex@^3.0.0: 47 | version "3.0.0" 48 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 49 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 50 | 51 | ansi-regex@^4.1.0: 52 | version "4.1.0" 53 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 54 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 55 | 56 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 57 | version "3.2.1" 58 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 59 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 60 | dependencies: 61 | color-convert "^1.9.0" 62 | 63 | argparse@^1.0.7: 64 | version "1.0.10" 65 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 66 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 67 | dependencies: 68 | sprintf-js "~1.0.2" 69 | 70 | astral-regex@^1.0.0: 71 | version "1.0.0" 72 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 73 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 74 | 75 | aws-sdk@^2.538.0: 76 | version "2.538.0" 77 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.538.0.tgz#c2a6b482c191615457993d9cfb28a79d0847bb71" 78 | integrity sha512-mQTo1eWoU8UB2Pp1PyBBSrFKfaFIVNKeLjJslrhHV5eW/orv2Lw07shnbY4cSt+n2oumw45WStWORyLekRvjyA== 79 | dependencies: 80 | buffer "4.9.1" 81 | events "1.1.1" 82 | ieee754 "1.1.13" 83 | jmespath "0.15.0" 84 | querystring "0.2.0" 85 | sax "1.2.1" 86 | url "0.10.3" 87 | uuid "3.3.2" 88 | xml2js "0.4.19" 89 | 90 | axios@^0.19.0: 91 | version "0.19.0" 92 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8" 93 | integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ== 94 | dependencies: 95 | follow-redirects "1.5.10" 96 | is-buffer "^2.0.2" 97 | 98 | balanced-match@^1.0.0: 99 | version "1.0.0" 100 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 101 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 102 | 103 | base64-js@^1.0.2: 104 | version "1.3.0" 105 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" 106 | integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== 107 | 108 | brace-expansion@^1.1.7: 109 | version "1.1.11" 110 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 111 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 112 | dependencies: 113 | balanced-match "^1.0.0" 114 | concat-map "0.0.1" 115 | 116 | buffer@4.9.1: 117 | version "4.9.1" 118 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 119 | integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= 120 | dependencies: 121 | base64-js "^1.0.2" 122 | ieee754 "^1.1.4" 123 | isarray "^1.0.0" 124 | 125 | callsites@^3.0.0: 126 | version "3.1.0" 127 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 128 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 129 | 130 | camelcase@^5.0.0: 131 | version "5.3.1" 132 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 133 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 134 | 135 | chalk@^2.0.0, chalk@^2.1.0: 136 | version "2.4.1" 137 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 138 | integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== 139 | dependencies: 140 | ansi-styles "^3.2.1" 141 | escape-string-regexp "^1.0.5" 142 | supports-color "^5.3.0" 143 | 144 | chalk@^2.4.2: 145 | version "2.4.2" 146 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 147 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 148 | dependencies: 149 | ansi-styles "^3.2.1" 150 | escape-string-regexp "^1.0.5" 151 | supports-color "^5.3.0" 152 | 153 | chardet@^0.7.0: 154 | version "0.7.0" 155 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 156 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 157 | 158 | cli-cursor@^2.1.0: 159 | version "2.1.0" 160 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 161 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 162 | dependencies: 163 | restore-cursor "^2.0.0" 164 | 165 | cli-width@^2.0.0: 166 | version "2.2.0" 167 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 168 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 169 | 170 | cliui@^5.0.0: 171 | version "5.0.0" 172 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 173 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== 174 | dependencies: 175 | string-width "^3.1.0" 176 | strip-ansi "^5.2.0" 177 | wrap-ansi "^5.1.0" 178 | 179 | color-convert@^1.9.0: 180 | version "1.9.2" 181 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" 182 | integrity sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg== 183 | dependencies: 184 | color-name "1.1.1" 185 | 186 | color-name@1.1.1: 187 | version "1.1.1" 188 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" 189 | integrity sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok= 190 | 191 | concat-map@0.0.1: 192 | version "0.0.1" 193 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 194 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 195 | 196 | cross-spawn@^6.0.5: 197 | version "6.0.5" 198 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 199 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 200 | dependencies: 201 | nice-try "^1.0.4" 202 | path-key "^2.0.1" 203 | semver "^5.5.0" 204 | shebang-command "^1.2.0" 205 | which "^1.2.9" 206 | 207 | debug@=3.1.0: 208 | version "3.1.0" 209 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 210 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 211 | dependencies: 212 | ms "2.0.0" 213 | 214 | debug@^4.0.1: 215 | version "4.1.1" 216 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 217 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 218 | dependencies: 219 | ms "^2.1.1" 220 | 221 | decamelize@^1.2.0: 222 | version "1.2.0" 223 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 224 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 225 | 226 | deep-is@~0.1.3: 227 | version "0.1.3" 228 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 229 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 230 | 231 | doctrine@^3.0.0: 232 | version "3.0.0" 233 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 234 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 235 | dependencies: 236 | esutils "^2.0.2" 237 | 238 | emoji-regex@^7.0.1: 239 | version "7.0.3" 240 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 241 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 242 | 243 | escape-string-regexp@^1.0.5: 244 | version "1.0.5" 245 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 246 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 247 | 248 | eslint-scope@^5.0.0: 249 | version "5.0.0" 250 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" 251 | integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== 252 | dependencies: 253 | esrecurse "^4.1.0" 254 | estraverse "^4.1.1" 255 | 256 | eslint-utils@^1.4.2: 257 | version "1.4.2" 258 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" 259 | integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== 260 | dependencies: 261 | eslint-visitor-keys "^1.0.0" 262 | 263 | eslint-visitor-keys@^1.0.0: 264 | version "1.0.0" 265 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" 266 | integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== 267 | 268 | eslint-visitor-keys@^1.1.0: 269 | version "1.1.0" 270 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" 271 | integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== 272 | 273 | eslint@^6.5.0: 274 | version "6.5.0" 275 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.0.tgz#304623eec903969dd5c9f2d61c6ce3d6ecec8750" 276 | integrity sha512-IIbSW+vKOqMatPmS9ayyku4tvWxHY2iricSRtOz6+ZA5IPRlgXzEL0u/j6dr4eha0ugmhMwDTqxtmNu3kj9O4w== 277 | dependencies: 278 | "@babel/code-frame" "^7.0.0" 279 | ajv "^6.10.0" 280 | chalk "^2.1.0" 281 | cross-spawn "^6.0.5" 282 | debug "^4.0.1" 283 | doctrine "^3.0.0" 284 | eslint-scope "^5.0.0" 285 | eslint-utils "^1.4.2" 286 | eslint-visitor-keys "^1.1.0" 287 | espree "^6.1.1" 288 | esquery "^1.0.1" 289 | esutils "^2.0.2" 290 | file-entry-cache "^5.0.1" 291 | functional-red-black-tree "^1.0.1" 292 | glob-parent "^5.0.0" 293 | globals "^11.7.0" 294 | ignore "^4.0.6" 295 | import-fresh "^3.0.0" 296 | imurmurhash "^0.1.4" 297 | inquirer "^6.4.1" 298 | is-glob "^4.0.0" 299 | js-yaml "^3.13.1" 300 | json-stable-stringify-without-jsonify "^1.0.1" 301 | levn "^0.3.0" 302 | lodash "^4.17.14" 303 | minimatch "^3.0.4" 304 | mkdirp "^0.5.1" 305 | natural-compare "^1.4.0" 306 | optionator "^0.8.2" 307 | progress "^2.0.0" 308 | regexpp "^2.0.1" 309 | semver "^6.1.2" 310 | strip-ansi "^5.2.0" 311 | strip-json-comments "^3.0.1" 312 | table "^5.2.3" 313 | text-table "^0.2.0" 314 | v8-compile-cache "^2.0.3" 315 | 316 | espree@^6.1.1: 317 | version "6.1.1" 318 | resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" 319 | integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== 320 | dependencies: 321 | acorn "^7.0.0" 322 | acorn-jsx "^5.0.2" 323 | eslint-visitor-keys "^1.1.0" 324 | 325 | esprima@^4.0.0: 326 | version "4.0.0" 327 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 328 | integrity sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw== 329 | 330 | esquery@^1.0.1: 331 | version "1.0.1" 332 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 333 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 334 | dependencies: 335 | estraverse "^4.0.0" 336 | 337 | esrecurse@^4.1.0: 338 | version "4.2.1" 339 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 340 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 341 | dependencies: 342 | estraverse "^4.1.0" 343 | 344 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 345 | version "4.2.0" 346 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 347 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 348 | 349 | esutils@^2.0.2: 350 | version "2.0.2" 351 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 352 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 353 | 354 | events@1.1.1: 355 | version "1.1.1" 356 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 357 | integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= 358 | 359 | external-editor@^3.0.3: 360 | version "3.1.0" 361 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" 362 | integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== 363 | dependencies: 364 | chardet "^0.7.0" 365 | iconv-lite "^0.4.24" 366 | tmp "^0.0.33" 367 | 368 | fast-deep-equal@^2.0.1: 369 | version "2.0.1" 370 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 371 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 372 | 373 | fast-json-stable-stringify@^2.0.0: 374 | version "2.0.0" 375 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 376 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 377 | 378 | fast-levenshtein@~2.0.4: 379 | version "2.0.6" 380 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 381 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 382 | 383 | figures@^2.0.0: 384 | version "2.0.0" 385 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 386 | integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 387 | dependencies: 388 | escape-string-regexp "^1.0.5" 389 | 390 | file-entry-cache@^5.0.1: 391 | version "5.0.1" 392 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 393 | integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== 394 | dependencies: 395 | flat-cache "^2.0.1" 396 | 397 | find-up@^3.0.0: 398 | version "3.0.0" 399 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 400 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 401 | dependencies: 402 | locate-path "^3.0.0" 403 | 404 | flat-cache@^2.0.1: 405 | version "2.0.1" 406 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 407 | integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== 408 | dependencies: 409 | flatted "^2.0.0" 410 | rimraf "2.6.3" 411 | write "1.0.3" 412 | 413 | flatted@^2.0.0: 414 | version "2.0.1" 415 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" 416 | integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== 417 | 418 | follow-redirects@1.5.10: 419 | version "1.5.10" 420 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" 421 | integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== 422 | dependencies: 423 | debug "=3.1.0" 424 | 425 | fs.realpath@^1.0.0: 426 | version "1.0.0" 427 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 428 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 429 | 430 | functional-red-black-tree@^1.0.1: 431 | version "1.0.1" 432 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 433 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 434 | 435 | get-caller-file@^2.0.1: 436 | version "2.0.5" 437 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 438 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 439 | 440 | glob-parent@^5.0.0: 441 | version "5.1.0" 442 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" 443 | integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== 444 | dependencies: 445 | is-glob "^4.0.1" 446 | 447 | glob@^7.1.3: 448 | version "7.1.4" 449 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 450 | integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 451 | dependencies: 452 | fs.realpath "^1.0.0" 453 | inflight "^1.0.4" 454 | inherits "2" 455 | minimatch "^3.0.4" 456 | once "^1.3.0" 457 | path-is-absolute "^1.0.0" 458 | 459 | globals@^11.7.0: 460 | version "11.12.0" 461 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 462 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 463 | 464 | has-flag@^3.0.0: 465 | version "3.0.0" 466 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 467 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 468 | 469 | iconv-lite@^0.4.24: 470 | version "0.4.24" 471 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 472 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 473 | dependencies: 474 | safer-buffer ">= 2.1.2 < 3" 475 | 476 | ieee754@1.1.13: 477 | version "1.1.13" 478 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" 479 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== 480 | 481 | ieee754@^1.1.4: 482 | version "1.1.12" 483 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" 484 | integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== 485 | 486 | ignore@^4.0.6: 487 | version "4.0.6" 488 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 489 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 490 | 491 | import-fresh@^3.0.0: 492 | version "3.1.0" 493 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" 494 | integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== 495 | dependencies: 496 | parent-module "^1.0.0" 497 | resolve-from "^4.0.0" 498 | 499 | imurmurhash@^0.1.4: 500 | version "0.1.4" 501 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 502 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 503 | 504 | inflight@^1.0.4: 505 | version "1.0.6" 506 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 507 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 508 | dependencies: 509 | once "^1.3.0" 510 | wrappy "1" 511 | 512 | inherits@2: 513 | version "2.0.3" 514 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 515 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 516 | 517 | inquirer@^6.4.1: 518 | version "6.5.2" 519 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" 520 | integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== 521 | dependencies: 522 | ansi-escapes "^3.2.0" 523 | chalk "^2.4.2" 524 | cli-cursor "^2.1.0" 525 | cli-width "^2.0.0" 526 | external-editor "^3.0.3" 527 | figures "^2.0.0" 528 | lodash "^4.17.12" 529 | mute-stream "0.0.7" 530 | run-async "^2.2.0" 531 | rxjs "^6.4.0" 532 | string-width "^2.1.0" 533 | strip-ansi "^5.1.0" 534 | through "^2.3.6" 535 | 536 | is-buffer@^2.0.2: 537 | version "2.0.3" 538 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" 539 | integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== 540 | 541 | is-extglob@^2.1.1: 542 | version "2.1.1" 543 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 544 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 545 | 546 | is-fullwidth-code-point@^2.0.0: 547 | version "2.0.0" 548 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 549 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 550 | 551 | is-glob@^4.0.0, is-glob@^4.0.1: 552 | version "4.0.1" 553 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 554 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 555 | dependencies: 556 | is-extglob "^2.1.1" 557 | 558 | is-promise@^2.1.0: 559 | version "2.1.0" 560 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 561 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 562 | 563 | isarray@^1.0.0: 564 | version "1.0.0" 565 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 566 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 567 | 568 | isexe@^2.0.0: 569 | version "2.0.0" 570 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 571 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 572 | 573 | jmespath@0.15.0: 574 | version "0.15.0" 575 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" 576 | integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= 577 | 578 | js-tokens@^4.0.0: 579 | version "4.0.0" 580 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 581 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 582 | 583 | js-yaml@^3.13.1: 584 | version "3.13.1" 585 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 586 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 587 | dependencies: 588 | argparse "^1.0.7" 589 | esprima "^4.0.0" 590 | 591 | json-schema-traverse@^0.4.1: 592 | version "0.4.1" 593 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 594 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 595 | 596 | json-stable-stringify-without-jsonify@^1.0.1: 597 | version "1.0.1" 598 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 599 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 600 | 601 | levn@^0.3.0, levn@~0.3.0: 602 | version "0.3.0" 603 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 604 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 605 | dependencies: 606 | prelude-ls "~1.1.2" 607 | type-check "~0.3.2" 608 | 609 | locate-path@^3.0.0: 610 | version "3.0.0" 611 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 612 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 613 | dependencies: 614 | p-locate "^3.0.0" 615 | path-exists "^3.0.0" 616 | 617 | lodash@^4.17.12, lodash@^4.17.14: 618 | version "4.17.15" 619 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 620 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 621 | 622 | mimic-fn@^1.0.0: 623 | version "1.2.0" 624 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 625 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 626 | 627 | minimatch@^3.0.4: 628 | version "3.0.4" 629 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 630 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 631 | dependencies: 632 | brace-expansion "^1.1.7" 633 | 634 | minimist@0.0.8: 635 | version "0.0.8" 636 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 637 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 638 | 639 | mkdirp@^0.5.1: 640 | version "0.5.1" 641 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 642 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 643 | dependencies: 644 | minimist "0.0.8" 645 | 646 | ms@2.0.0: 647 | version "2.0.0" 648 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 649 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 650 | 651 | ms@^2.1.1: 652 | version "2.1.2" 653 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 654 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 655 | 656 | mute-stream@0.0.7: 657 | version "0.0.7" 658 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 659 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= 660 | 661 | natural-compare@^1.4.0: 662 | version "1.4.0" 663 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 664 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 665 | 666 | nice-try@^1.0.4: 667 | version "1.0.5" 668 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 669 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 670 | 671 | once@^1.3.0: 672 | version "1.4.0" 673 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 674 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 675 | dependencies: 676 | wrappy "1" 677 | 678 | onetime@^2.0.0: 679 | version "2.0.1" 680 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 681 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 682 | dependencies: 683 | mimic-fn "^1.0.0" 684 | 685 | optionator@^0.8.2: 686 | version "0.8.2" 687 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 688 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 689 | dependencies: 690 | deep-is "~0.1.3" 691 | fast-levenshtein "~2.0.4" 692 | levn "~0.3.0" 693 | prelude-ls "~1.1.2" 694 | type-check "~0.3.2" 695 | wordwrap "~1.0.0" 696 | 697 | os-tmpdir@~1.0.2: 698 | version "1.0.2" 699 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 700 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 701 | 702 | p-limit@^2.0.0: 703 | version "2.2.1" 704 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" 705 | integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== 706 | dependencies: 707 | p-try "^2.0.0" 708 | 709 | p-locate@^3.0.0: 710 | version "3.0.0" 711 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 712 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 713 | dependencies: 714 | p-limit "^2.0.0" 715 | 716 | p-try@^2.0.0: 717 | version "2.2.0" 718 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 719 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 720 | 721 | parent-module@^1.0.0: 722 | version "1.0.1" 723 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 724 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 725 | dependencies: 726 | callsites "^3.0.0" 727 | 728 | path-exists@^3.0.0: 729 | version "3.0.0" 730 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 731 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 732 | 733 | path-is-absolute@^1.0.0: 734 | version "1.0.1" 735 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 736 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 737 | 738 | path-key@^2.0.1: 739 | version "2.0.1" 740 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 741 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 742 | 743 | prelude-ls@~1.1.2: 744 | version "1.1.2" 745 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 746 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 747 | 748 | progress@^2.0.0: 749 | version "2.0.0" 750 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" 751 | integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= 752 | 753 | punycode@1.3.2: 754 | version "1.3.2" 755 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 756 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= 757 | 758 | punycode@^2.1.0: 759 | version "2.1.1" 760 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 761 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 762 | 763 | querystring@0.2.0: 764 | version "0.2.0" 765 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 766 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= 767 | 768 | regexpp@^2.0.1: 769 | version "2.0.1" 770 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 771 | integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== 772 | 773 | require-directory@^2.1.1: 774 | version "2.1.1" 775 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 776 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 777 | 778 | require-main-filename@^2.0.0: 779 | version "2.0.0" 780 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 781 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 782 | 783 | resolve-from@^4.0.0: 784 | version "4.0.0" 785 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 786 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 787 | 788 | restore-cursor@^2.0.0: 789 | version "2.0.0" 790 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 791 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 792 | dependencies: 793 | onetime "^2.0.0" 794 | signal-exit "^3.0.2" 795 | 796 | rimraf@2.6.3: 797 | version "2.6.3" 798 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 799 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 800 | dependencies: 801 | glob "^7.1.3" 802 | 803 | run-async@^2.2.0: 804 | version "2.3.0" 805 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 806 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 807 | dependencies: 808 | is-promise "^2.1.0" 809 | 810 | rxjs@^6.4.0: 811 | version "6.5.3" 812 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" 813 | integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== 814 | dependencies: 815 | tslib "^1.9.0" 816 | 817 | "safer-buffer@>= 2.1.2 < 3": 818 | version "2.1.2" 819 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 820 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 821 | 822 | sax@1.2.1: 823 | version "1.2.1" 824 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" 825 | integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= 826 | 827 | sax@>=0.6.0: 828 | version "1.2.4" 829 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 830 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 831 | 832 | semver@^5.5.0: 833 | version "5.7.1" 834 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 835 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 836 | 837 | semver@^6.1.2: 838 | version "6.3.0" 839 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 840 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 841 | 842 | set-blocking@^2.0.0: 843 | version "2.0.0" 844 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 845 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 846 | 847 | shebang-command@^1.2.0: 848 | version "1.2.0" 849 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 850 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 851 | dependencies: 852 | shebang-regex "^1.0.0" 853 | 854 | shebang-regex@^1.0.0: 855 | version "1.0.0" 856 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 857 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 858 | 859 | signal-exit@^3.0.2: 860 | version "3.0.2" 861 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 862 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 863 | 864 | slice-ansi@^2.1.0: 865 | version "2.1.0" 866 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 867 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== 868 | dependencies: 869 | ansi-styles "^3.2.0" 870 | astral-regex "^1.0.0" 871 | is-fullwidth-code-point "^2.0.0" 872 | 873 | sprintf-js@~1.0.2: 874 | version "1.0.3" 875 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 876 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 877 | 878 | string-width@^2.1.0: 879 | version "2.1.1" 880 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 881 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 882 | dependencies: 883 | is-fullwidth-code-point "^2.0.0" 884 | strip-ansi "^4.0.0" 885 | 886 | string-width@^3.0.0, string-width@^3.1.0: 887 | version "3.1.0" 888 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 889 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 890 | dependencies: 891 | emoji-regex "^7.0.1" 892 | is-fullwidth-code-point "^2.0.0" 893 | strip-ansi "^5.1.0" 894 | 895 | strip-ansi@^4.0.0: 896 | version "4.0.0" 897 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 898 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 899 | dependencies: 900 | ansi-regex "^3.0.0" 901 | 902 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 903 | version "5.2.0" 904 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 905 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 906 | dependencies: 907 | ansi-regex "^4.1.0" 908 | 909 | strip-json-comments@^3.0.1: 910 | version "3.0.1" 911 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" 912 | integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== 913 | 914 | supports-color@^5.3.0: 915 | version "5.4.0" 916 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 917 | integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== 918 | dependencies: 919 | has-flag "^3.0.0" 920 | 921 | table@^5.2.3: 922 | version "5.4.6" 923 | resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" 924 | integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== 925 | dependencies: 926 | ajv "^6.10.2" 927 | lodash "^4.17.14" 928 | slice-ansi "^2.1.0" 929 | string-width "^3.0.0" 930 | 931 | text-table@^0.2.0: 932 | version "0.2.0" 933 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 934 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 935 | 936 | through@^2.3.6: 937 | version "2.3.8" 938 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 939 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 940 | 941 | tmp@^0.0.33: 942 | version "0.0.33" 943 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 944 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 945 | dependencies: 946 | os-tmpdir "~1.0.2" 947 | 948 | tslib@^1.9.0: 949 | version "1.10.0" 950 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 951 | integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== 952 | 953 | type-check@~0.3.2: 954 | version "0.3.2" 955 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 956 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 957 | dependencies: 958 | prelude-ls "~1.1.2" 959 | 960 | uri-js@^4.2.2: 961 | version "4.2.2" 962 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 963 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 964 | dependencies: 965 | punycode "^2.1.0" 966 | 967 | url@0.10.3: 968 | version "0.10.3" 969 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" 970 | integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= 971 | dependencies: 972 | punycode "1.3.2" 973 | querystring "0.2.0" 974 | 975 | uuid@3.3.2: 976 | version "3.3.2" 977 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 978 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== 979 | 980 | v8-compile-cache@^2.0.3: 981 | version "2.1.0" 982 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" 983 | integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== 984 | 985 | which-module@^2.0.0: 986 | version "2.0.0" 987 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 988 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 989 | 990 | which@^1.2.9: 991 | version "1.3.1" 992 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 993 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 994 | dependencies: 995 | isexe "^2.0.0" 996 | 997 | wordwrap@~1.0.0: 998 | version "1.0.0" 999 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1000 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1001 | 1002 | wrap-ansi@^5.1.0: 1003 | version "5.1.0" 1004 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 1005 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== 1006 | dependencies: 1007 | ansi-styles "^3.2.0" 1008 | string-width "^3.0.0" 1009 | strip-ansi "^5.0.0" 1010 | 1011 | wrappy@1: 1012 | version "1.0.2" 1013 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1014 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1015 | 1016 | write@1.0.3: 1017 | version "1.0.3" 1018 | resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 1019 | integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== 1020 | dependencies: 1021 | mkdirp "^0.5.1" 1022 | 1023 | xml2js@0.4.19: 1024 | version "0.4.19" 1025 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" 1026 | integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== 1027 | dependencies: 1028 | sax ">=0.6.0" 1029 | xmlbuilder "~9.0.1" 1030 | 1031 | xmlbuilder@~9.0.1: 1032 | version "9.0.7" 1033 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" 1034 | integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= 1035 | 1036 | y18n@^4.0.0: 1037 | version "4.0.0" 1038 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 1039 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 1040 | 1041 | yargs-parser@^13.1.1: 1042 | version "13.1.1" 1043 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" 1044 | integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== 1045 | dependencies: 1046 | camelcase "^5.0.0" 1047 | decamelize "^1.2.0" 1048 | 1049 | yargs@^14.0.0: 1050 | version "14.0.0" 1051 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.0.0.tgz#ba4cacc802b3c0b3e36a9e791723763d57a85066" 1052 | integrity sha512-ssa5JuRjMeZEUjg7bEL99AwpitxU/zWGAGpdj0di41pOEmJti8NR6kyUIJBkR78DTYNPZOU08luUo0GTHuB+ow== 1053 | dependencies: 1054 | cliui "^5.0.0" 1055 | decamelize "^1.2.0" 1056 | find-up "^3.0.0" 1057 | get-caller-file "^2.0.1" 1058 | require-directory "^2.1.1" 1059 | require-main-filename "^2.0.0" 1060 | set-blocking "^2.0.0" 1061 | string-width "^3.0.0" 1062 | which-module "^2.0.0" 1063 | y18n "^4.0.0" 1064 | yargs-parser "^13.1.1" 1065 | --------------------------------------------------------------------------------