├── .eslintrc ├── .gitattributes ├── .gitignore ├── .npmignore ├── .travis.yml ├── License ├── README.md ├── logo.png ├── package-lock.json ├── package.json ├── secaibi.saz └── src └── index.js /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "standard" 3 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # parcel-bundler cache (https://parceljs.org/) 61 | .cache 62 | 63 | # next.js build output 64 | .next 65 | 66 | # nuxt.js build output 67 | .nuxt 68 | 69 | # vuepress build output 70 | .vuepress/dist 71 | 72 | # Serverless directories 73 | .serverless 74 | 75 | # FuseBox cache 76 | .fusebox/ 77 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | yarn-error.log 3 | temp.js 4 | package-lock.json 5 | tsconfig.json 6 | tslint.json 7 | .vscode/ 8 | src/ 9 | .travis.yml 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: stable 3 | 4 | # Travis-CI Caching 5 | cache: 6 | directories: 7 | - node_modules 8 | yarn: true 9 | 10 | # S: Build Lifecycle 11 | install: 12 | - yarn 13 | 14 | stages: 15 | - name: deploy 16 | 17 | jobs: 18 | include: 19 | - stage: deploy 20 | script: 21 | - npm run build 22 | deploy: 23 | provider: npm 24 | email: "" 25 | api_key: "${NPM_TOKEN}" 26 | skip_cleanup: true 27 | on: 28 | branch: master 29 | branches: 30 | only: 31 | - master 32 | -------------------------------------------------------------------------------- /License: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Redns 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # picgo-plugin-compression 2 | 3 | ![](https://img.shields.io/badge/release-v1.1.6-green) ![](https://img.shields.io/badge/License-MIT-blue) 4 | 5 | ## 简介 6 | 7 | [色彩笔](https://www.secaibi.com/tools/在线图片压缩/) 是一个免费的在线图片压缩小工具,可以非常方便得将 `PNG/GIF/JPG/JPEG` 图片大小优化到极限,为设备访问节约数据流量,提高访问速度 8 | 9 | ## 插件特点 10 | 11 | - 支持 `JPG/JPEG/GIF/PNG` 12 | - 支持多图片批量上传 13 | - 在图片体积大大减小后, 仍能让清晰度保持和原版一样 14 | - 图片在线处理,本地无需安装任何额外软件 15 | 16 | 该压缩插件完全依赖于色彩笔在线网站,因此插件的稳定性也完全依赖于网站的稳定性,并且使用此插件后不可避免地会消耗额外的时间来处理图片 17 | 18 | ## 环境搭建 19 | 20 | 1. GUI 用户直接在插件设置中搜索 `compression` 下载安装 21 | 22 | ![image-20231003010214817](https://image.krins.cloud/image-20231003010214817.png) 23 | 24 | 2. 点击右下角设置,选择配置Plugin 25 | 26 | ![image-20231003010246431](https://image.krins.cloud/image-20231003010246431.png) 27 | 28 | 3. 修改相关设置 29 | 30 | ![image-20220330224336924](http://jing-image.test.upcdn.net/image-20220330224336924.png) 31 | 32 | - `容许质量下降`:若您能够接受图片质量的轻微下降,可将该属性设置为 true 来获得更大压缩比 33 | - `图片质量`:取值范围 5 ~ 100(默认为 0)。数字越大,图像质量越好, 但相应能压缩的文件体积也较少(若您不确定具体的数值,请将其设置为 0,我们将根据具体情况帮您决定) 34 | 35 | 4. 点击 确定,设置完成 36 | 37 | 38 | 39 | 40 | [![Star History Chart](https://api.star-history.com/svg?repos=Redns/picgo-plugin-compression&type=Date)](https://star-history.com/#Redns/picgo-plugin-compression&Date) 41 | 42 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Redns/picgo-plugin-compression/e266aa45548b5891c733e05a41106e1485b95b12/logo.png -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "picgo-plugin-compression", 3 | "version": "1.1.5", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "picgo-plugin-compression", 9 | "version": "1.1.5", 10 | "license": "MIT", 11 | "devDependencies": { 12 | "eslint": "^5.0.1", 13 | "eslint-config-standard": "^11.0.0", 14 | "eslint-plugin-import": "^2.13.0", 15 | "eslint-plugin-node": "^6.0.1", 16 | "eslint-plugin-promise": "^3.8.0", 17 | "eslint-plugin-standard": "^3.1.0" 18 | } 19 | }, 20 | "node_modules/@babel/code-frame": { 21 | "version": "7.16.7", 22 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 23 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 24 | "dev": true, 25 | "dependencies": { 26 | "@babel/highlight": "^7.16.7" 27 | }, 28 | "engines": { 29 | "node": ">=6.9.0" 30 | } 31 | }, 32 | "node_modules/@babel/helper-validator-identifier": { 33 | "version": "7.16.7", 34 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 35 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 36 | "dev": true, 37 | "engines": { 38 | "node": ">=6.9.0" 39 | } 40 | }, 41 | "node_modules/@babel/highlight": { 42 | "version": "7.16.10", 43 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 44 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 45 | "dev": true, 46 | "dependencies": { 47 | "@babel/helper-validator-identifier": "^7.16.7", 48 | "chalk": "^2.0.0", 49 | "js-tokens": "^4.0.0" 50 | }, 51 | "engines": { 52 | "node": ">=6.9.0" 53 | } 54 | }, 55 | "node_modules/@types/json5": { 56 | "version": "0.0.29", 57 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 58 | "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", 59 | "dev": true 60 | }, 61 | "node_modules/acorn": { 62 | "version": "6.4.2", 63 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", 64 | "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", 65 | "dev": true, 66 | "bin": { 67 | "acorn": "bin/acorn" 68 | }, 69 | "engines": { 70 | "node": ">=0.4.0" 71 | } 72 | }, 73 | "node_modules/acorn-jsx": { 74 | "version": "5.3.2", 75 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 76 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 77 | "dev": true, 78 | "peerDependencies": { 79 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 80 | } 81 | }, 82 | "node_modules/ajv": { 83 | "version": "6.12.6", 84 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 85 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 86 | "dev": true, 87 | "dependencies": { 88 | "fast-deep-equal": "^3.1.1", 89 | "fast-json-stable-stringify": "^2.0.0", 90 | "json-schema-traverse": "^0.4.1", 91 | "uri-js": "^4.2.2" 92 | }, 93 | "funding": { 94 | "type": "github", 95 | "url": "https://github.com/sponsors/epoberezkin" 96 | } 97 | }, 98 | "node_modules/ansi-escapes": { 99 | "version": "3.2.0", 100 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 101 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", 102 | "dev": true, 103 | "engines": { 104 | "node": ">=4" 105 | } 106 | }, 107 | "node_modules/ansi-regex": { 108 | "version": "3.0.0", 109 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 110 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 111 | "dev": true, 112 | "engines": { 113 | "node": ">=4" 114 | } 115 | }, 116 | "node_modules/ansi-styles": { 117 | "version": "3.2.1", 118 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 119 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 120 | "dev": true, 121 | "dependencies": { 122 | "color-convert": "^1.9.0" 123 | }, 124 | "engines": { 125 | "node": ">=4" 126 | } 127 | }, 128 | "node_modules/argparse": { 129 | "version": "1.0.10", 130 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 131 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 132 | "dev": true, 133 | "dependencies": { 134 | "sprintf-js": "~1.0.2" 135 | } 136 | }, 137 | "node_modules/array-includes": { 138 | "version": "3.1.4", 139 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", 140 | "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", 141 | "dev": true, 142 | "dependencies": { 143 | "call-bind": "^1.0.2", 144 | "define-properties": "^1.1.3", 145 | "es-abstract": "^1.19.1", 146 | "get-intrinsic": "^1.1.1", 147 | "is-string": "^1.0.7" 148 | }, 149 | "engines": { 150 | "node": ">= 0.4" 151 | }, 152 | "funding": { 153 | "url": "https://github.com/sponsors/ljharb" 154 | } 155 | }, 156 | "node_modules/array.prototype.flat": { 157 | "version": "1.2.5", 158 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", 159 | "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", 160 | "dev": true, 161 | "dependencies": { 162 | "call-bind": "^1.0.2", 163 | "define-properties": "^1.1.3", 164 | "es-abstract": "^1.19.0" 165 | }, 166 | "engines": { 167 | "node": ">= 0.4" 168 | }, 169 | "funding": { 170 | "url": "https://github.com/sponsors/ljharb" 171 | } 172 | }, 173 | "node_modules/astral-regex": { 174 | "version": "1.0.0", 175 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 176 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 177 | "dev": true, 178 | "engines": { 179 | "node": ">=4" 180 | } 181 | }, 182 | "node_modules/balanced-match": { 183 | "version": "1.0.2", 184 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 185 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 186 | "dev": true 187 | }, 188 | "node_modules/brace-expansion": { 189 | "version": "1.1.11", 190 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 191 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 192 | "dev": true, 193 | "dependencies": { 194 | "balanced-match": "^1.0.0", 195 | "concat-map": "0.0.1" 196 | } 197 | }, 198 | "node_modules/call-bind": { 199 | "version": "1.0.2", 200 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 201 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 202 | "dev": true, 203 | "dependencies": { 204 | "function-bind": "^1.1.1", 205 | "get-intrinsic": "^1.0.2" 206 | }, 207 | "funding": { 208 | "url": "https://github.com/sponsors/ljharb" 209 | } 210 | }, 211 | "node_modules/callsites": { 212 | "version": "3.1.0", 213 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 214 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 215 | "dev": true, 216 | "engines": { 217 | "node": ">=6" 218 | } 219 | }, 220 | "node_modules/chalk": { 221 | "version": "2.4.2", 222 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 223 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 224 | "dev": true, 225 | "dependencies": { 226 | "ansi-styles": "^3.2.1", 227 | "escape-string-regexp": "^1.0.5", 228 | "supports-color": "^5.3.0" 229 | }, 230 | "engines": { 231 | "node": ">=4" 232 | } 233 | }, 234 | "node_modules/chardet": { 235 | "version": "0.7.0", 236 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 237 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 238 | "dev": true 239 | }, 240 | "node_modules/cli-cursor": { 241 | "version": "2.1.0", 242 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 243 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 244 | "dev": true, 245 | "dependencies": { 246 | "restore-cursor": "^2.0.0" 247 | }, 248 | "engines": { 249 | "node": ">=4" 250 | } 251 | }, 252 | "node_modules/cli-width": { 253 | "version": "2.2.1", 254 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", 255 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", 256 | "dev": true 257 | }, 258 | "node_modules/color-convert": { 259 | "version": "1.9.3", 260 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 261 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 262 | "dev": true, 263 | "dependencies": { 264 | "color-name": "1.1.3" 265 | } 266 | }, 267 | "node_modules/color-name": { 268 | "version": "1.1.3", 269 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 270 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 271 | "dev": true 272 | }, 273 | "node_modules/concat-map": { 274 | "version": "0.0.1", 275 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 276 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 277 | "dev": true 278 | }, 279 | "node_modules/cross-spawn": { 280 | "version": "6.0.5", 281 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 282 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 283 | "dev": true, 284 | "dependencies": { 285 | "nice-try": "^1.0.4", 286 | "path-key": "^2.0.1", 287 | "semver": "^5.5.0", 288 | "shebang-command": "^1.2.0", 289 | "which": "^1.2.9" 290 | }, 291 | "engines": { 292 | "node": ">=4.8" 293 | } 294 | }, 295 | "node_modules/debug": { 296 | "version": "4.3.4", 297 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 298 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 299 | "dev": true, 300 | "dependencies": { 301 | "ms": "2.1.2" 302 | }, 303 | "engines": { 304 | "node": ">=6.0" 305 | }, 306 | "peerDependenciesMeta": { 307 | "supports-color": { 308 | "optional": true 309 | } 310 | } 311 | }, 312 | "node_modules/deep-is": { 313 | "version": "0.1.4", 314 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 315 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 316 | "dev": true 317 | }, 318 | "node_modules/define-properties": { 319 | "version": "1.1.3", 320 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 321 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 322 | "dev": true, 323 | "dependencies": { 324 | "object-keys": "^1.0.12" 325 | }, 326 | "engines": { 327 | "node": ">= 0.4" 328 | } 329 | }, 330 | "node_modules/doctrine": { 331 | "version": "3.0.0", 332 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 333 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 334 | "dev": true, 335 | "dependencies": { 336 | "esutils": "^2.0.2" 337 | }, 338 | "engines": { 339 | "node": ">=6.0.0" 340 | } 341 | }, 342 | "node_modules/emoji-regex": { 343 | "version": "7.0.3", 344 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 345 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 346 | "dev": true 347 | }, 348 | "node_modules/es-abstract": { 349 | "version": "1.19.1", 350 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", 351 | "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", 352 | "dev": true, 353 | "dependencies": { 354 | "call-bind": "^1.0.2", 355 | "es-to-primitive": "^1.2.1", 356 | "function-bind": "^1.1.1", 357 | "get-intrinsic": "^1.1.1", 358 | "get-symbol-description": "^1.0.0", 359 | "has": "^1.0.3", 360 | "has-symbols": "^1.0.2", 361 | "internal-slot": "^1.0.3", 362 | "is-callable": "^1.2.4", 363 | "is-negative-zero": "^2.0.1", 364 | "is-regex": "^1.1.4", 365 | "is-shared-array-buffer": "^1.0.1", 366 | "is-string": "^1.0.7", 367 | "is-weakref": "^1.0.1", 368 | "object-inspect": "^1.11.0", 369 | "object-keys": "^1.1.1", 370 | "object.assign": "^4.1.2", 371 | "string.prototype.trimend": "^1.0.4", 372 | "string.prototype.trimstart": "^1.0.4", 373 | "unbox-primitive": "^1.0.1" 374 | }, 375 | "engines": { 376 | "node": ">= 0.4" 377 | }, 378 | "funding": { 379 | "url": "https://github.com/sponsors/ljharb" 380 | } 381 | }, 382 | "node_modules/es-to-primitive": { 383 | "version": "1.2.1", 384 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 385 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 386 | "dev": true, 387 | "dependencies": { 388 | "is-callable": "^1.1.4", 389 | "is-date-object": "^1.0.1", 390 | "is-symbol": "^1.0.2" 391 | }, 392 | "engines": { 393 | "node": ">= 0.4" 394 | }, 395 | "funding": { 396 | "url": "https://github.com/sponsors/ljharb" 397 | } 398 | }, 399 | "node_modules/escape-string-regexp": { 400 | "version": "1.0.5", 401 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 402 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 403 | "dev": true, 404 | "engines": { 405 | "node": ">=0.8.0" 406 | } 407 | }, 408 | "node_modules/eslint": { 409 | "version": "5.16.0", 410 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", 411 | "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", 412 | "dev": true, 413 | "dependencies": { 414 | "@babel/code-frame": "^7.0.0", 415 | "ajv": "^6.9.1", 416 | "chalk": "^2.1.0", 417 | "cross-spawn": "^6.0.5", 418 | "debug": "^4.0.1", 419 | "doctrine": "^3.0.0", 420 | "eslint-scope": "^4.0.3", 421 | "eslint-utils": "^1.3.1", 422 | "eslint-visitor-keys": "^1.0.0", 423 | "espree": "^5.0.1", 424 | "esquery": "^1.0.1", 425 | "esutils": "^2.0.2", 426 | "file-entry-cache": "^5.0.1", 427 | "functional-red-black-tree": "^1.0.1", 428 | "glob": "^7.1.2", 429 | "globals": "^11.7.0", 430 | "ignore": "^4.0.6", 431 | "import-fresh": "^3.0.0", 432 | "imurmurhash": "^0.1.4", 433 | "inquirer": "^6.2.2", 434 | "js-yaml": "^3.13.0", 435 | "json-stable-stringify-without-jsonify": "^1.0.1", 436 | "levn": "^0.3.0", 437 | "lodash": "^4.17.11", 438 | "minimatch": "^3.0.4", 439 | "mkdirp": "^0.5.1", 440 | "natural-compare": "^1.4.0", 441 | "optionator": "^0.8.2", 442 | "path-is-inside": "^1.0.2", 443 | "progress": "^2.0.0", 444 | "regexpp": "^2.0.1", 445 | "semver": "^5.5.1", 446 | "strip-ansi": "^4.0.0", 447 | "strip-json-comments": "^2.0.1", 448 | "table": "^5.2.3", 449 | "text-table": "^0.2.0" 450 | }, 451 | "bin": { 452 | "eslint": "bin/eslint.js" 453 | }, 454 | "engines": { 455 | "node": "^6.14.0 || ^8.10.0 || >=9.10.0" 456 | } 457 | }, 458 | "node_modules/eslint-config-standard": { 459 | "version": "11.0.0", 460 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz", 461 | "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==", 462 | "dev": true, 463 | "peerDependencies": { 464 | "eslint": ">=4.18.0", 465 | "eslint-plugin-import": ">=2.8.0", 466 | "eslint-plugin-node": ">=5.2.1", 467 | "eslint-plugin-promise": ">=3.6.0", 468 | "eslint-plugin-standard": ">=3.0.1" 469 | } 470 | }, 471 | "node_modules/eslint-import-resolver-node": { 472 | "version": "0.3.6", 473 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", 474 | "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", 475 | "dev": true, 476 | "dependencies": { 477 | "debug": "^3.2.7", 478 | "resolve": "^1.20.0" 479 | } 480 | }, 481 | "node_modules/eslint-import-resolver-node/node_modules/debug": { 482 | "version": "3.2.7", 483 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 484 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 485 | "dev": true, 486 | "dependencies": { 487 | "ms": "^2.1.1" 488 | } 489 | }, 490 | "node_modules/eslint-module-utils": { 491 | "version": "2.7.3", 492 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", 493 | "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", 494 | "dev": true, 495 | "dependencies": { 496 | "debug": "^3.2.7", 497 | "find-up": "^2.1.0" 498 | }, 499 | "engines": { 500 | "node": ">=4" 501 | } 502 | }, 503 | "node_modules/eslint-module-utils/node_modules/debug": { 504 | "version": "3.2.7", 505 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 506 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 507 | "dev": true, 508 | "dependencies": { 509 | "ms": "^2.1.1" 510 | } 511 | }, 512 | "node_modules/eslint-plugin-import": { 513 | "version": "2.25.4", 514 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", 515 | "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", 516 | "dev": true, 517 | "dependencies": { 518 | "array-includes": "^3.1.4", 519 | "array.prototype.flat": "^1.2.5", 520 | "debug": "^2.6.9", 521 | "doctrine": "^2.1.0", 522 | "eslint-import-resolver-node": "^0.3.6", 523 | "eslint-module-utils": "^2.7.2", 524 | "has": "^1.0.3", 525 | "is-core-module": "^2.8.0", 526 | "is-glob": "^4.0.3", 527 | "minimatch": "^3.0.4", 528 | "object.values": "^1.1.5", 529 | "resolve": "^1.20.0", 530 | "tsconfig-paths": "^3.12.0" 531 | }, 532 | "engines": { 533 | "node": ">=4" 534 | }, 535 | "peerDependencies": { 536 | "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" 537 | } 538 | }, 539 | "node_modules/eslint-plugin-import/node_modules/debug": { 540 | "version": "2.6.9", 541 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 542 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 543 | "dev": true, 544 | "dependencies": { 545 | "ms": "2.0.0" 546 | } 547 | }, 548 | "node_modules/eslint-plugin-import/node_modules/doctrine": { 549 | "version": "2.1.0", 550 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 551 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 552 | "dev": true, 553 | "dependencies": { 554 | "esutils": "^2.0.2" 555 | }, 556 | "engines": { 557 | "node": ">=0.10.0" 558 | } 559 | }, 560 | "node_modules/eslint-plugin-import/node_modules/ms": { 561 | "version": "2.0.0", 562 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 563 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 564 | "dev": true 565 | }, 566 | "node_modules/eslint-plugin-node": { 567 | "version": "6.0.1", 568 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", 569 | "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", 570 | "dev": true, 571 | "dependencies": { 572 | "ignore": "^3.3.6", 573 | "minimatch": "^3.0.4", 574 | "resolve": "^1.3.3", 575 | "semver": "^5.4.1" 576 | }, 577 | "engines": { 578 | "node": ">=4" 579 | }, 580 | "peerDependencies": { 581 | "eslint": ">=3.1.0" 582 | } 583 | }, 584 | "node_modules/eslint-plugin-node/node_modules/ignore": { 585 | "version": "3.3.10", 586 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", 587 | "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", 588 | "dev": true 589 | }, 590 | "node_modules/eslint-plugin-promise": { 591 | "version": "3.8.0", 592 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", 593 | "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", 594 | "dev": true, 595 | "engines": { 596 | "node": ">=4" 597 | } 598 | }, 599 | "node_modules/eslint-plugin-standard": { 600 | "version": "3.1.0", 601 | "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz", 602 | "integrity": "sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==", 603 | "dev": true, 604 | "peerDependencies": { 605 | "eslint": ">=3.19.0" 606 | } 607 | }, 608 | "node_modules/eslint-scope": { 609 | "version": "4.0.3", 610 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", 611 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", 612 | "dev": true, 613 | "dependencies": { 614 | "esrecurse": "^4.1.0", 615 | "estraverse": "^4.1.1" 616 | }, 617 | "engines": { 618 | "node": ">=4.0.0" 619 | } 620 | }, 621 | "node_modules/eslint-utils": { 622 | "version": "1.4.3", 623 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", 624 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", 625 | "dev": true, 626 | "dependencies": { 627 | "eslint-visitor-keys": "^1.1.0" 628 | }, 629 | "engines": { 630 | "node": ">=6" 631 | } 632 | }, 633 | "node_modules/eslint-visitor-keys": { 634 | "version": "1.3.0", 635 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 636 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 637 | "dev": true, 638 | "engines": { 639 | "node": ">=4" 640 | } 641 | }, 642 | "node_modules/espree": { 643 | "version": "5.0.1", 644 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", 645 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", 646 | "dev": true, 647 | "dependencies": { 648 | "acorn": "^6.0.7", 649 | "acorn-jsx": "^5.0.0", 650 | "eslint-visitor-keys": "^1.0.0" 651 | }, 652 | "engines": { 653 | "node": ">=6.0.0" 654 | } 655 | }, 656 | "node_modules/esprima": { 657 | "version": "4.0.1", 658 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 659 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 660 | "dev": true, 661 | "bin": { 662 | "esparse": "bin/esparse.js", 663 | "esvalidate": "bin/esvalidate.js" 664 | }, 665 | "engines": { 666 | "node": ">=4" 667 | } 668 | }, 669 | "node_modules/esquery": { 670 | "version": "1.4.0", 671 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 672 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 673 | "dev": true, 674 | "dependencies": { 675 | "estraverse": "^5.1.0" 676 | }, 677 | "engines": { 678 | "node": ">=0.10" 679 | } 680 | }, 681 | "node_modules/esquery/node_modules/estraverse": { 682 | "version": "5.3.0", 683 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 684 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 685 | "dev": true, 686 | "engines": { 687 | "node": ">=4.0" 688 | } 689 | }, 690 | "node_modules/esrecurse": { 691 | "version": "4.3.0", 692 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 693 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 694 | "dev": true, 695 | "dependencies": { 696 | "estraverse": "^5.2.0" 697 | }, 698 | "engines": { 699 | "node": ">=4.0" 700 | } 701 | }, 702 | "node_modules/esrecurse/node_modules/estraverse": { 703 | "version": "5.3.0", 704 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 705 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 706 | "dev": true, 707 | "engines": { 708 | "node": ">=4.0" 709 | } 710 | }, 711 | "node_modules/estraverse": { 712 | "version": "4.3.0", 713 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 714 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 715 | "dev": true, 716 | "engines": { 717 | "node": ">=4.0" 718 | } 719 | }, 720 | "node_modules/esutils": { 721 | "version": "2.0.3", 722 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 723 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 724 | "dev": true, 725 | "engines": { 726 | "node": ">=0.10.0" 727 | } 728 | }, 729 | "node_modules/external-editor": { 730 | "version": "3.1.0", 731 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 732 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 733 | "dev": true, 734 | "dependencies": { 735 | "chardet": "^0.7.0", 736 | "iconv-lite": "^0.4.24", 737 | "tmp": "^0.0.33" 738 | }, 739 | "engines": { 740 | "node": ">=4" 741 | } 742 | }, 743 | "node_modules/fast-deep-equal": { 744 | "version": "3.1.3", 745 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 746 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 747 | "dev": true 748 | }, 749 | "node_modules/fast-json-stable-stringify": { 750 | "version": "2.1.0", 751 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 752 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 753 | "dev": true 754 | }, 755 | "node_modules/fast-levenshtein": { 756 | "version": "2.0.6", 757 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 758 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 759 | "dev": true 760 | }, 761 | "node_modules/figures": { 762 | "version": "2.0.0", 763 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 764 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 765 | "dev": true, 766 | "dependencies": { 767 | "escape-string-regexp": "^1.0.5" 768 | }, 769 | "engines": { 770 | "node": ">=4" 771 | } 772 | }, 773 | "node_modules/file-entry-cache": { 774 | "version": "5.0.1", 775 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 776 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 777 | "dev": true, 778 | "dependencies": { 779 | "flat-cache": "^2.0.1" 780 | }, 781 | "engines": { 782 | "node": ">=4" 783 | } 784 | }, 785 | "node_modules/find-up": { 786 | "version": "2.1.0", 787 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 788 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 789 | "dev": true, 790 | "dependencies": { 791 | "locate-path": "^2.0.0" 792 | }, 793 | "engines": { 794 | "node": ">=4" 795 | } 796 | }, 797 | "node_modules/flat-cache": { 798 | "version": "2.0.1", 799 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 800 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 801 | "dev": true, 802 | "dependencies": { 803 | "flatted": "^2.0.0", 804 | "rimraf": "2.6.3", 805 | "write": "1.0.3" 806 | }, 807 | "engines": { 808 | "node": ">=4" 809 | } 810 | }, 811 | "node_modules/flatted": { 812 | "version": "2.0.2", 813 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 814 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 815 | "dev": true 816 | }, 817 | "node_modules/fs.realpath": { 818 | "version": "1.0.0", 819 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 820 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 821 | "dev": true 822 | }, 823 | "node_modules/function-bind": { 824 | "version": "1.1.1", 825 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 826 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 827 | "dev": true 828 | }, 829 | "node_modules/functional-red-black-tree": { 830 | "version": "1.0.1", 831 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 832 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 833 | "dev": true 834 | }, 835 | "node_modules/get-intrinsic": { 836 | "version": "1.1.1", 837 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 838 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 839 | "dev": true, 840 | "dependencies": { 841 | "function-bind": "^1.1.1", 842 | "has": "^1.0.3", 843 | "has-symbols": "^1.0.1" 844 | }, 845 | "funding": { 846 | "url": "https://github.com/sponsors/ljharb" 847 | } 848 | }, 849 | "node_modules/get-symbol-description": { 850 | "version": "1.0.0", 851 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", 852 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", 853 | "dev": true, 854 | "dependencies": { 855 | "call-bind": "^1.0.2", 856 | "get-intrinsic": "^1.1.1" 857 | }, 858 | "engines": { 859 | "node": ">= 0.4" 860 | }, 861 | "funding": { 862 | "url": "https://github.com/sponsors/ljharb" 863 | } 864 | }, 865 | "node_modules/glob": { 866 | "version": "7.2.0", 867 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 868 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 869 | "dev": true, 870 | "dependencies": { 871 | "fs.realpath": "^1.0.0", 872 | "inflight": "^1.0.4", 873 | "inherits": "2", 874 | "minimatch": "^3.0.4", 875 | "once": "^1.3.0", 876 | "path-is-absolute": "^1.0.0" 877 | }, 878 | "engines": { 879 | "node": "*" 880 | }, 881 | "funding": { 882 | "url": "https://github.com/sponsors/isaacs" 883 | } 884 | }, 885 | "node_modules/globals": { 886 | "version": "11.12.0", 887 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 888 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 889 | "dev": true, 890 | "engines": { 891 | "node": ">=4" 892 | } 893 | }, 894 | "node_modules/has": { 895 | "version": "1.0.3", 896 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 897 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 898 | "dev": true, 899 | "dependencies": { 900 | "function-bind": "^1.1.1" 901 | }, 902 | "engines": { 903 | "node": ">= 0.4.0" 904 | } 905 | }, 906 | "node_modules/has-bigints": { 907 | "version": "1.0.1", 908 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", 909 | "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", 910 | "dev": true, 911 | "funding": { 912 | "url": "https://github.com/sponsors/ljharb" 913 | } 914 | }, 915 | "node_modules/has-flag": { 916 | "version": "3.0.0", 917 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 918 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 919 | "dev": true, 920 | "engines": { 921 | "node": ">=4" 922 | } 923 | }, 924 | "node_modules/has-symbols": { 925 | "version": "1.0.2", 926 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", 927 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", 928 | "dev": true, 929 | "engines": { 930 | "node": ">= 0.4" 931 | }, 932 | "funding": { 933 | "url": "https://github.com/sponsors/ljharb" 934 | } 935 | }, 936 | "node_modules/has-tostringtag": { 937 | "version": "1.0.0", 938 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 939 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 940 | "dev": true, 941 | "dependencies": { 942 | "has-symbols": "^1.0.2" 943 | }, 944 | "engines": { 945 | "node": ">= 0.4" 946 | }, 947 | "funding": { 948 | "url": "https://github.com/sponsors/ljharb" 949 | } 950 | }, 951 | "node_modules/iconv-lite": { 952 | "version": "0.4.24", 953 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 954 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 955 | "dev": true, 956 | "dependencies": { 957 | "safer-buffer": ">= 2.1.2 < 3" 958 | }, 959 | "engines": { 960 | "node": ">=0.10.0" 961 | } 962 | }, 963 | "node_modules/ignore": { 964 | "version": "4.0.6", 965 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 966 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 967 | "dev": true, 968 | "engines": { 969 | "node": ">= 4" 970 | } 971 | }, 972 | "node_modules/import-fresh": { 973 | "version": "3.3.0", 974 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 975 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 976 | "dev": true, 977 | "dependencies": { 978 | "parent-module": "^1.0.0", 979 | "resolve-from": "^4.0.0" 980 | }, 981 | "engines": { 982 | "node": ">=6" 983 | }, 984 | "funding": { 985 | "url": "https://github.com/sponsors/sindresorhus" 986 | } 987 | }, 988 | "node_modules/imurmurhash": { 989 | "version": "0.1.4", 990 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 991 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 992 | "dev": true, 993 | "engines": { 994 | "node": ">=0.8.19" 995 | } 996 | }, 997 | "node_modules/inflight": { 998 | "version": "1.0.6", 999 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1000 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1001 | "dev": true, 1002 | "dependencies": { 1003 | "once": "^1.3.0", 1004 | "wrappy": "1" 1005 | } 1006 | }, 1007 | "node_modules/inherits": { 1008 | "version": "2.0.4", 1009 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1010 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1011 | "dev": true 1012 | }, 1013 | "node_modules/inquirer": { 1014 | "version": "6.5.2", 1015 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", 1016 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", 1017 | "dev": true, 1018 | "dependencies": { 1019 | "ansi-escapes": "^3.2.0", 1020 | "chalk": "^2.4.2", 1021 | "cli-cursor": "^2.1.0", 1022 | "cli-width": "^2.0.0", 1023 | "external-editor": "^3.0.3", 1024 | "figures": "^2.0.0", 1025 | "lodash": "^4.17.12", 1026 | "mute-stream": "0.0.7", 1027 | "run-async": "^2.2.0", 1028 | "rxjs": "^6.4.0", 1029 | "string-width": "^2.1.0", 1030 | "strip-ansi": "^5.1.0", 1031 | "through": "^2.3.6" 1032 | }, 1033 | "engines": { 1034 | "node": ">=6.0.0" 1035 | } 1036 | }, 1037 | "node_modules/inquirer/node_modules/ansi-regex": { 1038 | "version": "4.1.0", 1039 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1040 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 1041 | "dev": true, 1042 | "engines": { 1043 | "node": ">=6" 1044 | } 1045 | }, 1046 | "node_modules/inquirer/node_modules/strip-ansi": { 1047 | "version": "5.2.0", 1048 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1049 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1050 | "dev": true, 1051 | "dependencies": { 1052 | "ansi-regex": "^4.1.0" 1053 | }, 1054 | "engines": { 1055 | "node": ">=6" 1056 | } 1057 | }, 1058 | "node_modules/internal-slot": { 1059 | "version": "1.0.3", 1060 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", 1061 | "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", 1062 | "dev": true, 1063 | "dependencies": { 1064 | "get-intrinsic": "^1.1.0", 1065 | "has": "^1.0.3", 1066 | "side-channel": "^1.0.4" 1067 | }, 1068 | "engines": { 1069 | "node": ">= 0.4" 1070 | } 1071 | }, 1072 | "node_modules/is-bigint": { 1073 | "version": "1.0.4", 1074 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 1075 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 1076 | "dev": true, 1077 | "dependencies": { 1078 | "has-bigints": "^1.0.1" 1079 | }, 1080 | "funding": { 1081 | "url": "https://github.com/sponsors/ljharb" 1082 | } 1083 | }, 1084 | "node_modules/is-boolean-object": { 1085 | "version": "1.1.2", 1086 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 1087 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 1088 | "dev": true, 1089 | "dependencies": { 1090 | "call-bind": "^1.0.2", 1091 | "has-tostringtag": "^1.0.0" 1092 | }, 1093 | "engines": { 1094 | "node": ">= 0.4" 1095 | }, 1096 | "funding": { 1097 | "url": "https://github.com/sponsors/ljharb" 1098 | } 1099 | }, 1100 | "node_modules/is-callable": { 1101 | "version": "1.2.4", 1102 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", 1103 | "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", 1104 | "dev": true, 1105 | "engines": { 1106 | "node": ">= 0.4" 1107 | }, 1108 | "funding": { 1109 | "url": "https://github.com/sponsors/ljharb" 1110 | } 1111 | }, 1112 | "node_modules/is-core-module": { 1113 | "version": "2.8.1", 1114 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 1115 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 1116 | "dev": true, 1117 | "dependencies": { 1118 | "has": "^1.0.3" 1119 | }, 1120 | "funding": { 1121 | "url": "https://github.com/sponsors/ljharb" 1122 | } 1123 | }, 1124 | "node_modules/is-date-object": { 1125 | "version": "1.0.5", 1126 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 1127 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 1128 | "dev": true, 1129 | "dependencies": { 1130 | "has-tostringtag": "^1.0.0" 1131 | }, 1132 | "engines": { 1133 | "node": ">= 0.4" 1134 | }, 1135 | "funding": { 1136 | "url": "https://github.com/sponsors/ljharb" 1137 | } 1138 | }, 1139 | "node_modules/is-extglob": { 1140 | "version": "2.1.1", 1141 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1142 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1143 | "dev": true, 1144 | "engines": { 1145 | "node": ">=0.10.0" 1146 | } 1147 | }, 1148 | "node_modules/is-fullwidth-code-point": { 1149 | "version": "2.0.0", 1150 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1151 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1152 | "dev": true, 1153 | "engines": { 1154 | "node": ">=4" 1155 | } 1156 | }, 1157 | "node_modules/is-glob": { 1158 | "version": "4.0.3", 1159 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1160 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1161 | "dev": true, 1162 | "dependencies": { 1163 | "is-extglob": "^2.1.1" 1164 | }, 1165 | "engines": { 1166 | "node": ">=0.10.0" 1167 | } 1168 | }, 1169 | "node_modules/is-negative-zero": { 1170 | "version": "2.0.2", 1171 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", 1172 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", 1173 | "dev": true, 1174 | "engines": { 1175 | "node": ">= 0.4" 1176 | }, 1177 | "funding": { 1178 | "url": "https://github.com/sponsors/ljharb" 1179 | } 1180 | }, 1181 | "node_modules/is-number-object": { 1182 | "version": "1.0.6", 1183 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", 1184 | "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", 1185 | "dev": true, 1186 | "dependencies": { 1187 | "has-tostringtag": "^1.0.0" 1188 | }, 1189 | "engines": { 1190 | "node": ">= 0.4" 1191 | }, 1192 | "funding": { 1193 | "url": "https://github.com/sponsors/ljharb" 1194 | } 1195 | }, 1196 | "node_modules/is-regex": { 1197 | "version": "1.1.4", 1198 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 1199 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 1200 | "dev": true, 1201 | "dependencies": { 1202 | "call-bind": "^1.0.2", 1203 | "has-tostringtag": "^1.0.0" 1204 | }, 1205 | "engines": { 1206 | "node": ">= 0.4" 1207 | }, 1208 | "funding": { 1209 | "url": "https://github.com/sponsors/ljharb" 1210 | } 1211 | }, 1212 | "node_modules/is-shared-array-buffer": { 1213 | "version": "1.0.1", 1214 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", 1215 | "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", 1216 | "dev": true, 1217 | "funding": { 1218 | "url": "https://github.com/sponsors/ljharb" 1219 | } 1220 | }, 1221 | "node_modules/is-string": { 1222 | "version": "1.0.7", 1223 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 1224 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 1225 | "dev": true, 1226 | "dependencies": { 1227 | "has-tostringtag": "^1.0.0" 1228 | }, 1229 | "engines": { 1230 | "node": ">= 0.4" 1231 | }, 1232 | "funding": { 1233 | "url": "https://github.com/sponsors/ljharb" 1234 | } 1235 | }, 1236 | "node_modules/is-symbol": { 1237 | "version": "1.0.4", 1238 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 1239 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 1240 | "dev": true, 1241 | "dependencies": { 1242 | "has-symbols": "^1.0.2" 1243 | }, 1244 | "engines": { 1245 | "node": ">= 0.4" 1246 | }, 1247 | "funding": { 1248 | "url": "https://github.com/sponsors/ljharb" 1249 | } 1250 | }, 1251 | "node_modules/is-weakref": { 1252 | "version": "1.0.2", 1253 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 1254 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 1255 | "dev": true, 1256 | "dependencies": { 1257 | "call-bind": "^1.0.2" 1258 | }, 1259 | "funding": { 1260 | "url": "https://github.com/sponsors/ljharb" 1261 | } 1262 | }, 1263 | "node_modules/isexe": { 1264 | "version": "2.0.0", 1265 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1266 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1267 | "dev": true 1268 | }, 1269 | "node_modules/js-tokens": { 1270 | "version": "4.0.0", 1271 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1272 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1273 | "dev": true 1274 | }, 1275 | "node_modules/js-yaml": { 1276 | "version": "3.14.1", 1277 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 1278 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 1279 | "dev": true, 1280 | "dependencies": { 1281 | "argparse": "^1.0.7", 1282 | "esprima": "^4.0.0" 1283 | }, 1284 | "bin": { 1285 | "js-yaml": "bin/js-yaml.js" 1286 | } 1287 | }, 1288 | "node_modules/json-schema-traverse": { 1289 | "version": "0.4.1", 1290 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1291 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1292 | "dev": true 1293 | }, 1294 | "node_modules/json-stable-stringify-without-jsonify": { 1295 | "version": "1.0.1", 1296 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1297 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1298 | "dev": true 1299 | }, 1300 | "node_modules/json5": { 1301 | "version": "1.0.1", 1302 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", 1303 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", 1304 | "dev": true, 1305 | "dependencies": { 1306 | "minimist": "^1.2.0" 1307 | }, 1308 | "bin": { 1309 | "json5": "lib/cli.js" 1310 | } 1311 | }, 1312 | "node_modules/levn": { 1313 | "version": "0.3.0", 1314 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1315 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1316 | "dev": true, 1317 | "dependencies": { 1318 | "prelude-ls": "~1.1.2", 1319 | "type-check": "~0.3.2" 1320 | }, 1321 | "engines": { 1322 | "node": ">= 0.8.0" 1323 | } 1324 | }, 1325 | "node_modules/locate-path": { 1326 | "version": "2.0.0", 1327 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1328 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 1329 | "dev": true, 1330 | "dependencies": { 1331 | "p-locate": "^2.0.0", 1332 | "path-exists": "^3.0.0" 1333 | }, 1334 | "engines": { 1335 | "node": ">=4" 1336 | } 1337 | }, 1338 | "node_modules/lodash": { 1339 | "version": "4.17.21", 1340 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1341 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1342 | "dev": true 1343 | }, 1344 | "node_modules/mimic-fn": { 1345 | "version": "1.2.0", 1346 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 1347 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 1348 | "dev": true, 1349 | "engines": { 1350 | "node": ">=4" 1351 | } 1352 | }, 1353 | "node_modules/minimatch": { 1354 | "version": "3.1.1", 1355 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.1.tgz", 1356 | "integrity": "sha512-reLxBcKUPNBnc/sVtAbxgRVFSegoGeLaSjmphNhcwcolhYLRgtJscn5mRl6YRZNQv40Y7P6JM2YhSIsbL9OB5A==", 1357 | "dev": true, 1358 | "dependencies": { 1359 | "brace-expansion": "^1.1.7" 1360 | }, 1361 | "engines": { 1362 | "node": "*" 1363 | } 1364 | }, 1365 | "node_modules/minimist": { 1366 | "version": "1.2.5", 1367 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1368 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 1369 | "dev": true 1370 | }, 1371 | "node_modules/mkdirp": { 1372 | "version": "0.5.5", 1373 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 1374 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 1375 | "dev": true, 1376 | "dependencies": { 1377 | "minimist": "^1.2.5" 1378 | }, 1379 | "bin": { 1380 | "mkdirp": "bin/cmd.js" 1381 | } 1382 | }, 1383 | "node_modules/ms": { 1384 | "version": "2.1.2", 1385 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1386 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1387 | "dev": true 1388 | }, 1389 | "node_modules/mute-stream": { 1390 | "version": "0.0.7", 1391 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 1392 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 1393 | "dev": true 1394 | }, 1395 | "node_modules/natural-compare": { 1396 | "version": "1.4.0", 1397 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1398 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1399 | "dev": true 1400 | }, 1401 | "node_modules/nice-try": { 1402 | "version": "1.0.5", 1403 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1404 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 1405 | "dev": true 1406 | }, 1407 | "node_modules/object-inspect": { 1408 | "version": "1.12.0", 1409 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", 1410 | "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", 1411 | "dev": true, 1412 | "funding": { 1413 | "url": "https://github.com/sponsors/ljharb" 1414 | } 1415 | }, 1416 | "node_modules/object-keys": { 1417 | "version": "1.1.1", 1418 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1419 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1420 | "dev": true, 1421 | "engines": { 1422 | "node": ">= 0.4" 1423 | } 1424 | }, 1425 | "node_modules/object.assign": { 1426 | "version": "4.1.2", 1427 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", 1428 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", 1429 | "dev": true, 1430 | "dependencies": { 1431 | "call-bind": "^1.0.0", 1432 | "define-properties": "^1.1.3", 1433 | "has-symbols": "^1.0.1", 1434 | "object-keys": "^1.1.1" 1435 | }, 1436 | "engines": { 1437 | "node": ">= 0.4" 1438 | }, 1439 | "funding": { 1440 | "url": "https://github.com/sponsors/ljharb" 1441 | } 1442 | }, 1443 | "node_modules/object.values": { 1444 | "version": "1.1.5", 1445 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", 1446 | "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", 1447 | "dev": true, 1448 | "dependencies": { 1449 | "call-bind": "^1.0.2", 1450 | "define-properties": "^1.1.3", 1451 | "es-abstract": "^1.19.1" 1452 | }, 1453 | "engines": { 1454 | "node": ">= 0.4" 1455 | }, 1456 | "funding": { 1457 | "url": "https://github.com/sponsors/ljharb" 1458 | } 1459 | }, 1460 | "node_modules/once": { 1461 | "version": "1.4.0", 1462 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1463 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1464 | "dev": true, 1465 | "dependencies": { 1466 | "wrappy": "1" 1467 | } 1468 | }, 1469 | "node_modules/onetime": { 1470 | "version": "2.0.1", 1471 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 1472 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 1473 | "dev": true, 1474 | "dependencies": { 1475 | "mimic-fn": "^1.0.0" 1476 | }, 1477 | "engines": { 1478 | "node": ">=4" 1479 | } 1480 | }, 1481 | "node_modules/optionator": { 1482 | "version": "0.8.3", 1483 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 1484 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 1485 | "dev": true, 1486 | "dependencies": { 1487 | "deep-is": "~0.1.3", 1488 | "fast-levenshtein": "~2.0.6", 1489 | "levn": "~0.3.0", 1490 | "prelude-ls": "~1.1.2", 1491 | "type-check": "~0.3.2", 1492 | "word-wrap": "~1.2.3" 1493 | }, 1494 | "engines": { 1495 | "node": ">= 0.8.0" 1496 | } 1497 | }, 1498 | "node_modules/os-tmpdir": { 1499 | "version": "1.0.2", 1500 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1501 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 1502 | "dev": true, 1503 | "engines": { 1504 | "node": ">=0.10.0" 1505 | } 1506 | }, 1507 | "node_modules/p-limit": { 1508 | "version": "1.3.0", 1509 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 1510 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 1511 | "dev": true, 1512 | "dependencies": { 1513 | "p-try": "^1.0.0" 1514 | }, 1515 | "engines": { 1516 | "node": ">=4" 1517 | } 1518 | }, 1519 | "node_modules/p-locate": { 1520 | "version": "2.0.0", 1521 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 1522 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 1523 | "dev": true, 1524 | "dependencies": { 1525 | "p-limit": "^1.1.0" 1526 | }, 1527 | "engines": { 1528 | "node": ">=4" 1529 | } 1530 | }, 1531 | "node_modules/p-try": { 1532 | "version": "1.0.0", 1533 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 1534 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 1535 | "dev": true, 1536 | "engines": { 1537 | "node": ">=4" 1538 | } 1539 | }, 1540 | "node_modules/parent-module": { 1541 | "version": "1.0.1", 1542 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1543 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1544 | "dev": true, 1545 | "dependencies": { 1546 | "callsites": "^3.0.0" 1547 | }, 1548 | "engines": { 1549 | "node": ">=6" 1550 | } 1551 | }, 1552 | "node_modules/path-exists": { 1553 | "version": "3.0.0", 1554 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1555 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1556 | "dev": true, 1557 | "engines": { 1558 | "node": ">=4" 1559 | } 1560 | }, 1561 | "node_modules/path-is-absolute": { 1562 | "version": "1.0.1", 1563 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1564 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1565 | "dev": true, 1566 | "engines": { 1567 | "node": ">=0.10.0" 1568 | } 1569 | }, 1570 | "node_modules/path-is-inside": { 1571 | "version": "1.0.2", 1572 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 1573 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 1574 | "dev": true 1575 | }, 1576 | "node_modules/path-key": { 1577 | "version": "2.0.1", 1578 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1579 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 1580 | "dev": true, 1581 | "engines": { 1582 | "node": ">=4" 1583 | } 1584 | }, 1585 | "node_modules/path-parse": { 1586 | "version": "1.0.7", 1587 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1588 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1589 | "dev": true 1590 | }, 1591 | "node_modules/prelude-ls": { 1592 | "version": "1.1.2", 1593 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 1594 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 1595 | "dev": true, 1596 | "engines": { 1597 | "node": ">= 0.8.0" 1598 | } 1599 | }, 1600 | "node_modules/progress": { 1601 | "version": "2.0.3", 1602 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 1603 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 1604 | "dev": true, 1605 | "engines": { 1606 | "node": ">=0.4.0" 1607 | } 1608 | }, 1609 | "node_modules/punycode": { 1610 | "version": "2.1.1", 1611 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1612 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1613 | "dev": true, 1614 | "engines": { 1615 | "node": ">=6" 1616 | } 1617 | }, 1618 | "node_modules/regexpp": { 1619 | "version": "2.0.1", 1620 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 1621 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 1622 | "dev": true, 1623 | "engines": { 1624 | "node": ">=6.5.0" 1625 | } 1626 | }, 1627 | "node_modules/resolve": { 1628 | "version": "1.22.0", 1629 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1630 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1631 | "dev": true, 1632 | "dependencies": { 1633 | "is-core-module": "^2.8.1", 1634 | "path-parse": "^1.0.7", 1635 | "supports-preserve-symlinks-flag": "^1.0.0" 1636 | }, 1637 | "bin": { 1638 | "resolve": "bin/resolve" 1639 | }, 1640 | "funding": { 1641 | "url": "https://github.com/sponsors/ljharb" 1642 | } 1643 | }, 1644 | "node_modules/resolve-from": { 1645 | "version": "4.0.0", 1646 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1647 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1648 | "dev": true, 1649 | "engines": { 1650 | "node": ">=4" 1651 | } 1652 | }, 1653 | "node_modules/restore-cursor": { 1654 | "version": "2.0.0", 1655 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 1656 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 1657 | "dev": true, 1658 | "dependencies": { 1659 | "onetime": "^2.0.0", 1660 | "signal-exit": "^3.0.2" 1661 | }, 1662 | "engines": { 1663 | "node": ">=4" 1664 | } 1665 | }, 1666 | "node_modules/rimraf": { 1667 | "version": "2.6.3", 1668 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1669 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1670 | "dev": true, 1671 | "dependencies": { 1672 | "glob": "^7.1.3" 1673 | }, 1674 | "bin": { 1675 | "rimraf": "bin.js" 1676 | } 1677 | }, 1678 | "node_modules/run-async": { 1679 | "version": "2.4.1", 1680 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", 1681 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", 1682 | "dev": true, 1683 | "engines": { 1684 | "node": ">=0.12.0" 1685 | } 1686 | }, 1687 | "node_modules/rxjs": { 1688 | "version": "6.6.7", 1689 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 1690 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 1691 | "dev": true, 1692 | "dependencies": { 1693 | "tslib": "^1.9.0" 1694 | }, 1695 | "engines": { 1696 | "npm": ">=2.0.0" 1697 | } 1698 | }, 1699 | "node_modules/safer-buffer": { 1700 | "version": "2.1.2", 1701 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1702 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1703 | "dev": true 1704 | }, 1705 | "node_modules/semver": { 1706 | "version": "5.7.1", 1707 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1708 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1709 | "dev": true, 1710 | "bin": { 1711 | "semver": "bin/semver" 1712 | } 1713 | }, 1714 | "node_modules/shebang-command": { 1715 | "version": "1.2.0", 1716 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1717 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1718 | "dev": true, 1719 | "dependencies": { 1720 | "shebang-regex": "^1.0.0" 1721 | }, 1722 | "engines": { 1723 | "node": ">=0.10.0" 1724 | } 1725 | }, 1726 | "node_modules/shebang-regex": { 1727 | "version": "1.0.0", 1728 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1729 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 1730 | "dev": true, 1731 | "engines": { 1732 | "node": ">=0.10.0" 1733 | } 1734 | }, 1735 | "node_modules/side-channel": { 1736 | "version": "1.0.4", 1737 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1738 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1739 | "dev": true, 1740 | "dependencies": { 1741 | "call-bind": "^1.0.0", 1742 | "get-intrinsic": "^1.0.2", 1743 | "object-inspect": "^1.9.0" 1744 | }, 1745 | "funding": { 1746 | "url": "https://github.com/sponsors/ljharb" 1747 | } 1748 | }, 1749 | "node_modules/signal-exit": { 1750 | "version": "3.0.7", 1751 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1752 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1753 | "dev": true 1754 | }, 1755 | "node_modules/slice-ansi": { 1756 | "version": "2.1.0", 1757 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 1758 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 1759 | "dev": true, 1760 | "dependencies": { 1761 | "ansi-styles": "^3.2.0", 1762 | "astral-regex": "^1.0.0", 1763 | "is-fullwidth-code-point": "^2.0.0" 1764 | }, 1765 | "engines": { 1766 | "node": ">=6" 1767 | } 1768 | }, 1769 | "node_modules/sprintf-js": { 1770 | "version": "1.0.3", 1771 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1772 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1773 | "dev": true 1774 | }, 1775 | "node_modules/string-width": { 1776 | "version": "2.1.1", 1777 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1778 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1779 | "dev": true, 1780 | "dependencies": { 1781 | "is-fullwidth-code-point": "^2.0.0", 1782 | "strip-ansi": "^4.0.0" 1783 | }, 1784 | "engines": { 1785 | "node": ">=4" 1786 | } 1787 | }, 1788 | "node_modules/string.prototype.trimend": { 1789 | "version": "1.0.4", 1790 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", 1791 | "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", 1792 | "dev": true, 1793 | "dependencies": { 1794 | "call-bind": "^1.0.2", 1795 | "define-properties": "^1.1.3" 1796 | }, 1797 | "funding": { 1798 | "url": "https://github.com/sponsors/ljharb" 1799 | } 1800 | }, 1801 | "node_modules/string.prototype.trimstart": { 1802 | "version": "1.0.4", 1803 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", 1804 | "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", 1805 | "dev": true, 1806 | "dependencies": { 1807 | "call-bind": "^1.0.2", 1808 | "define-properties": "^1.1.3" 1809 | }, 1810 | "funding": { 1811 | "url": "https://github.com/sponsors/ljharb" 1812 | } 1813 | }, 1814 | "node_modules/strip-ansi": { 1815 | "version": "4.0.0", 1816 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1817 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1818 | "dev": true, 1819 | "dependencies": { 1820 | "ansi-regex": "^3.0.0" 1821 | }, 1822 | "engines": { 1823 | "node": ">=4" 1824 | } 1825 | }, 1826 | "node_modules/strip-bom": { 1827 | "version": "3.0.0", 1828 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1829 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 1830 | "dev": true, 1831 | "engines": { 1832 | "node": ">=4" 1833 | } 1834 | }, 1835 | "node_modules/strip-json-comments": { 1836 | "version": "2.0.1", 1837 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1838 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 1839 | "dev": true, 1840 | "engines": { 1841 | "node": ">=0.10.0" 1842 | } 1843 | }, 1844 | "node_modules/supports-color": { 1845 | "version": "5.5.0", 1846 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1847 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1848 | "dev": true, 1849 | "dependencies": { 1850 | "has-flag": "^3.0.0" 1851 | }, 1852 | "engines": { 1853 | "node": ">=4" 1854 | } 1855 | }, 1856 | "node_modules/supports-preserve-symlinks-flag": { 1857 | "version": "1.0.0", 1858 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1859 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1860 | "dev": true, 1861 | "engines": { 1862 | "node": ">= 0.4" 1863 | }, 1864 | "funding": { 1865 | "url": "https://github.com/sponsors/ljharb" 1866 | } 1867 | }, 1868 | "node_modules/table": { 1869 | "version": "5.4.6", 1870 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 1871 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 1872 | "dev": true, 1873 | "dependencies": { 1874 | "ajv": "^6.10.2", 1875 | "lodash": "^4.17.14", 1876 | "slice-ansi": "^2.1.0", 1877 | "string-width": "^3.0.0" 1878 | }, 1879 | "engines": { 1880 | "node": ">=6.0.0" 1881 | } 1882 | }, 1883 | "node_modules/table/node_modules/ansi-regex": { 1884 | "version": "4.1.0", 1885 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1886 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 1887 | "dev": true, 1888 | "engines": { 1889 | "node": ">=6" 1890 | } 1891 | }, 1892 | "node_modules/table/node_modules/string-width": { 1893 | "version": "3.1.0", 1894 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 1895 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 1896 | "dev": true, 1897 | "dependencies": { 1898 | "emoji-regex": "^7.0.1", 1899 | "is-fullwidth-code-point": "^2.0.0", 1900 | "strip-ansi": "^5.1.0" 1901 | }, 1902 | "engines": { 1903 | "node": ">=6" 1904 | } 1905 | }, 1906 | "node_modules/table/node_modules/strip-ansi": { 1907 | "version": "5.2.0", 1908 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1909 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1910 | "dev": true, 1911 | "dependencies": { 1912 | "ansi-regex": "^4.1.0" 1913 | }, 1914 | "engines": { 1915 | "node": ">=6" 1916 | } 1917 | }, 1918 | "node_modules/text-table": { 1919 | "version": "0.2.0", 1920 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1921 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1922 | "dev": true 1923 | }, 1924 | "node_modules/through": { 1925 | "version": "2.3.8", 1926 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1927 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1928 | "dev": true 1929 | }, 1930 | "node_modules/tmp": { 1931 | "version": "0.0.33", 1932 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1933 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1934 | "dev": true, 1935 | "dependencies": { 1936 | "os-tmpdir": "~1.0.2" 1937 | }, 1938 | "engines": { 1939 | "node": ">=0.6.0" 1940 | } 1941 | }, 1942 | "node_modules/tsconfig-paths": { 1943 | "version": "3.12.0", 1944 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", 1945 | "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", 1946 | "dev": true, 1947 | "dependencies": { 1948 | "@types/json5": "^0.0.29", 1949 | "json5": "^1.0.1", 1950 | "minimist": "^1.2.0", 1951 | "strip-bom": "^3.0.0" 1952 | } 1953 | }, 1954 | "node_modules/tslib": { 1955 | "version": "1.14.1", 1956 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1957 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 1958 | "dev": true 1959 | }, 1960 | "node_modules/type-check": { 1961 | "version": "0.3.2", 1962 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1963 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1964 | "dev": true, 1965 | "dependencies": { 1966 | "prelude-ls": "~1.1.2" 1967 | }, 1968 | "engines": { 1969 | "node": ">= 0.8.0" 1970 | } 1971 | }, 1972 | "node_modules/unbox-primitive": { 1973 | "version": "1.0.1", 1974 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", 1975 | "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", 1976 | "dev": true, 1977 | "dependencies": { 1978 | "function-bind": "^1.1.1", 1979 | "has-bigints": "^1.0.1", 1980 | "has-symbols": "^1.0.2", 1981 | "which-boxed-primitive": "^1.0.2" 1982 | }, 1983 | "funding": { 1984 | "url": "https://github.com/sponsors/ljharb" 1985 | } 1986 | }, 1987 | "node_modules/uri-js": { 1988 | "version": "4.4.1", 1989 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1990 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1991 | "dev": true, 1992 | "dependencies": { 1993 | "punycode": "^2.1.0" 1994 | } 1995 | }, 1996 | "node_modules/which": { 1997 | "version": "1.3.1", 1998 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1999 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2000 | "dev": true, 2001 | "dependencies": { 2002 | "isexe": "^2.0.0" 2003 | }, 2004 | "bin": { 2005 | "which": "bin/which" 2006 | } 2007 | }, 2008 | "node_modules/which-boxed-primitive": { 2009 | "version": "1.0.2", 2010 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 2011 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 2012 | "dev": true, 2013 | "dependencies": { 2014 | "is-bigint": "^1.0.1", 2015 | "is-boolean-object": "^1.1.0", 2016 | "is-number-object": "^1.0.4", 2017 | "is-string": "^1.0.5", 2018 | "is-symbol": "^1.0.3" 2019 | }, 2020 | "funding": { 2021 | "url": "https://github.com/sponsors/ljharb" 2022 | } 2023 | }, 2024 | "node_modules/word-wrap": { 2025 | "version": "1.2.3", 2026 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2027 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2028 | "dev": true, 2029 | "engines": { 2030 | "node": ">=0.10.0" 2031 | } 2032 | }, 2033 | "node_modules/wrappy": { 2034 | "version": "1.0.2", 2035 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2036 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2037 | "dev": true 2038 | }, 2039 | "node_modules/write": { 2040 | "version": "1.0.3", 2041 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 2042 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 2043 | "dev": true, 2044 | "dependencies": { 2045 | "mkdirp": "^0.5.1" 2046 | }, 2047 | "engines": { 2048 | "node": ">=4" 2049 | } 2050 | } 2051 | }, 2052 | "dependencies": { 2053 | "@babel/code-frame": { 2054 | "version": "7.16.7", 2055 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 2056 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 2057 | "dev": true, 2058 | "requires": { 2059 | "@babel/highlight": "^7.16.7" 2060 | } 2061 | }, 2062 | "@babel/helper-validator-identifier": { 2063 | "version": "7.16.7", 2064 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 2065 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 2066 | "dev": true 2067 | }, 2068 | "@babel/highlight": { 2069 | "version": "7.16.10", 2070 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", 2071 | "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", 2072 | "dev": true, 2073 | "requires": { 2074 | "@babel/helper-validator-identifier": "^7.16.7", 2075 | "chalk": "^2.0.0", 2076 | "js-tokens": "^4.0.0" 2077 | } 2078 | }, 2079 | "@types/json5": { 2080 | "version": "0.0.29", 2081 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 2082 | "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", 2083 | "dev": true 2084 | }, 2085 | "acorn": { 2086 | "version": "6.4.2", 2087 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", 2088 | "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", 2089 | "dev": true 2090 | }, 2091 | "acorn-jsx": { 2092 | "version": "5.3.2", 2093 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 2094 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 2095 | "dev": true, 2096 | "requires": {} 2097 | }, 2098 | "ajv": { 2099 | "version": "6.12.6", 2100 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 2101 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 2102 | "dev": true, 2103 | "requires": { 2104 | "fast-deep-equal": "^3.1.1", 2105 | "fast-json-stable-stringify": "^2.0.0", 2106 | "json-schema-traverse": "^0.4.1", 2107 | "uri-js": "^4.2.2" 2108 | } 2109 | }, 2110 | "ansi-escapes": { 2111 | "version": "3.2.0", 2112 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 2113 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", 2114 | "dev": true 2115 | }, 2116 | "ansi-regex": { 2117 | "version": "3.0.0", 2118 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 2119 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 2120 | "dev": true 2121 | }, 2122 | "ansi-styles": { 2123 | "version": "3.2.1", 2124 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2125 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2126 | "dev": true, 2127 | "requires": { 2128 | "color-convert": "^1.9.0" 2129 | } 2130 | }, 2131 | "argparse": { 2132 | "version": "1.0.10", 2133 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 2134 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 2135 | "dev": true, 2136 | "requires": { 2137 | "sprintf-js": "~1.0.2" 2138 | } 2139 | }, 2140 | "array-includes": { 2141 | "version": "3.1.4", 2142 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", 2143 | "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", 2144 | "dev": true, 2145 | "requires": { 2146 | "call-bind": "^1.0.2", 2147 | "define-properties": "^1.1.3", 2148 | "es-abstract": "^1.19.1", 2149 | "get-intrinsic": "^1.1.1", 2150 | "is-string": "^1.0.7" 2151 | } 2152 | }, 2153 | "array.prototype.flat": { 2154 | "version": "1.2.5", 2155 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", 2156 | "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", 2157 | "dev": true, 2158 | "requires": { 2159 | "call-bind": "^1.0.2", 2160 | "define-properties": "^1.1.3", 2161 | "es-abstract": "^1.19.0" 2162 | } 2163 | }, 2164 | "astral-regex": { 2165 | "version": "1.0.0", 2166 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 2167 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 2168 | "dev": true 2169 | }, 2170 | "balanced-match": { 2171 | "version": "1.0.2", 2172 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2173 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2174 | "dev": true 2175 | }, 2176 | "brace-expansion": { 2177 | "version": "1.1.11", 2178 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2179 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2180 | "dev": true, 2181 | "requires": { 2182 | "balanced-match": "^1.0.0", 2183 | "concat-map": "0.0.1" 2184 | } 2185 | }, 2186 | "call-bind": { 2187 | "version": "1.0.2", 2188 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 2189 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 2190 | "dev": true, 2191 | "requires": { 2192 | "function-bind": "^1.1.1", 2193 | "get-intrinsic": "^1.0.2" 2194 | } 2195 | }, 2196 | "callsites": { 2197 | "version": "3.1.0", 2198 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 2199 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 2200 | "dev": true 2201 | }, 2202 | "chalk": { 2203 | "version": "2.4.2", 2204 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2205 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2206 | "dev": true, 2207 | "requires": { 2208 | "ansi-styles": "^3.2.1", 2209 | "escape-string-regexp": "^1.0.5", 2210 | "supports-color": "^5.3.0" 2211 | } 2212 | }, 2213 | "chardet": { 2214 | "version": "0.7.0", 2215 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 2216 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 2217 | "dev": true 2218 | }, 2219 | "cli-cursor": { 2220 | "version": "2.1.0", 2221 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 2222 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 2223 | "dev": true, 2224 | "requires": { 2225 | "restore-cursor": "^2.0.0" 2226 | } 2227 | }, 2228 | "cli-width": { 2229 | "version": "2.2.1", 2230 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", 2231 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", 2232 | "dev": true 2233 | }, 2234 | "color-convert": { 2235 | "version": "1.9.3", 2236 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2237 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2238 | "dev": true, 2239 | "requires": { 2240 | "color-name": "1.1.3" 2241 | } 2242 | }, 2243 | "color-name": { 2244 | "version": "1.1.3", 2245 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2246 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 2247 | "dev": true 2248 | }, 2249 | "concat-map": { 2250 | "version": "0.0.1", 2251 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2252 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 2253 | "dev": true 2254 | }, 2255 | "cross-spawn": { 2256 | "version": "6.0.5", 2257 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 2258 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 2259 | "dev": true, 2260 | "requires": { 2261 | "nice-try": "^1.0.4", 2262 | "path-key": "^2.0.1", 2263 | "semver": "^5.5.0", 2264 | "shebang-command": "^1.2.0", 2265 | "which": "^1.2.9" 2266 | } 2267 | }, 2268 | "debug": { 2269 | "version": "4.3.4", 2270 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 2271 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 2272 | "dev": true, 2273 | "requires": { 2274 | "ms": "2.1.2" 2275 | } 2276 | }, 2277 | "deep-is": { 2278 | "version": "0.1.4", 2279 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 2280 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 2281 | "dev": true 2282 | }, 2283 | "define-properties": { 2284 | "version": "1.1.3", 2285 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 2286 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 2287 | "dev": true, 2288 | "requires": { 2289 | "object-keys": "^1.0.12" 2290 | } 2291 | }, 2292 | "doctrine": { 2293 | "version": "3.0.0", 2294 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 2295 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 2296 | "dev": true, 2297 | "requires": { 2298 | "esutils": "^2.0.2" 2299 | } 2300 | }, 2301 | "emoji-regex": { 2302 | "version": "7.0.3", 2303 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 2304 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 2305 | "dev": true 2306 | }, 2307 | "es-abstract": { 2308 | "version": "1.19.1", 2309 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", 2310 | "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", 2311 | "dev": true, 2312 | "requires": { 2313 | "call-bind": "^1.0.2", 2314 | "es-to-primitive": "^1.2.1", 2315 | "function-bind": "^1.1.1", 2316 | "get-intrinsic": "^1.1.1", 2317 | "get-symbol-description": "^1.0.0", 2318 | "has": "^1.0.3", 2319 | "has-symbols": "^1.0.2", 2320 | "internal-slot": "^1.0.3", 2321 | "is-callable": "^1.2.4", 2322 | "is-negative-zero": "^2.0.1", 2323 | "is-regex": "^1.1.4", 2324 | "is-shared-array-buffer": "^1.0.1", 2325 | "is-string": "^1.0.7", 2326 | "is-weakref": "^1.0.1", 2327 | "object-inspect": "^1.11.0", 2328 | "object-keys": "^1.1.1", 2329 | "object.assign": "^4.1.2", 2330 | "string.prototype.trimend": "^1.0.4", 2331 | "string.prototype.trimstart": "^1.0.4", 2332 | "unbox-primitive": "^1.0.1" 2333 | } 2334 | }, 2335 | "es-to-primitive": { 2336 | "version": "1.2.1", 2337 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 2338 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 2339 | "dev": true, 2340 | "requires": { 2341 | "is-callable": "^1.1.4", 2342 | "is-date-object": "^1.0.1", 2343 | "is-symbol": "^1.0.2" 2344 | } 2345 | }, 2346 | "escape-string-regexp": { 2347 | "version": "1.0.5", 2348 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2349 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 2350 | "dev": true 2351 | }, 2352 | "eslint": { 2353 | "version": "5.16.0", 2354 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", 2355 | "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", 2356 | "dev": true, 2357 | "requires": { 2358 | "@babel/code-frame": "^7.0.0", 2359 | "ajv": "^6.9.1", 2360 | "chalk": "^2.1.0", 2361 | "cross-spawn": "^6.0.5", 2362 | "debug": "^4.0.1", 2363 | "doctrine": "^3.0.0", 2364 | "eslint-scope": "^4.0.3", 2365 | "eslint-utils": "^1.3.1", 2366 | "eslint-visitor-keys": "^1.0.0", 2367 | "espree": "^5.0.1", 2368 | "esquery": "^1.0.1", 2369 | "esutils": "^2.0.2", 2370 | "file-entry-cache": "^5.0.1", 2371 | "functional-red-black-tree": "^1.0.1", 2372 | "glob": "^7.1.2", 2373 | "globals": "^11.7.0", 2374 | "ignore": "^4.0.6", 2375 | "import-fresh": "^3.0.0", 2376 | "imurmurhash": "^0.1.4", 2377 | "inquirer": "^6.2.2", 2378 | "js-yaml": "^3.13.0", 2379 | "json-stable-stringify-without-jsonify": "^1.0.1", 2380 | "levn": "^0.3.0", 2381 | "lodash": "^4.17.11", 2382 | "minimatch": "^3.0.4", 2383 | "mkdirp": "^0.5.1", 2384 | "natural-compare": "^1.4.0", 2385 | "optionator": "^0.8.2", 2386 | "path-is-inside": "^1.0.2", 2387 | "progress": "^2.0.0", 2388 | "regexpp": "^2.0.1", 2389 | "semver": "^5.5.1", 2390 | "strip-ansi": "^4.0.0", 2391 | "strip-json-comments": "^2.0.1", 2392 | "table": "^5.2.3", 2393 | "text-table": "^0.2.0" 2394 | } 2395 | }, 2396 | "eslint-config-standard": { 2397 | "version": "11.0.0", 2398 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-11.0.0.tgz", 2399 | "integrity": "sha512-oDdENzpViEe5fwuRCWla7AXQd++/oyIp8zP+iP9jiUPG6NBj3SHgdgtl/kTn00AjeN+1HNvavTKmYbMo+xMOlw==", 2400 | "dev": true, 2401 | "requires": {} 2402 | }, 2403 | "eslint-import-resolver-node": { 2404 | "version": "0.3.6", 2405 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", 2406 | "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", 2407 | "dev": true, 2408 | "requires": { 2409 | "debug": "^3.2.7", 2410 | "resolve": "^1.20.0" 2411 | }, 2412 | "dependencies": { 2413 | "debug": { 2414 | "version": "3.2.7", 2415 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2416 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2417 | "dev": true, 2418 | "requires": { 2419 | "ms": "^2.1.1" 2420 | } 2421 | } 2422 | } 2423 | }, 2424 | "eslint-module-utils": { 2425 | "version": "2.7.3", 2426 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", 2427 | "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", 2428 | "dev": true, 2429 | "requires": { 2430 | "debug": "^3.2.7", 2431 | "find-up": "^2.1.0" 2432 | }, 2433 | "dependencies": { 2434 | "debug": { 2435 | "version": "3.2.7", 2436 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2437 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2438 | "dev": true, 2439 | "requires": { 2440 | "ms": "^2.1.1" 2441 | } 2442 | } 2443 | } 2444 | }, 2445 | "eslint-plugin-import": { 2446 | "version": "2.25.4", 2447 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", 2448 | "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", 2449 | "dev": true, 2450 | "requires": { 2451 | "array-includes": "^3.1.4", 2452 | "array.prototype.flat": "^1.2.5", 2453 | "debug": "^2.6.9", 2454 | "doctrine": "^2.1.0", 2455 | "eslint-import-resolver-node": "^0.3.6", 2456 | "eslint-module-utils": "^2.7.2", 2457 | "has": "^1.0.3", 2458 | "is-core-module": "^2.8.0", 2459 | "is-glob": "^4.0.3", 2460 | "minimatch": "^3.0.4", 2461 | "object.values": "^1.1.5", 2462 | "resolve": "^1.20.0", 2463 | "tsconfig-paths": "^3.12.0" 2464 | }, 2465 | "dependencies": { 2466 | "debug": { 2467 | "version": "2.6.9", 2468 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2469 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2470 | "dev": true, 2471 | "requires": { 2472 | "ms": "2.0.0" 2473 | } 2474 | }, 2475 | "doctrine": { 2476 | "version": "2.1.0", 2477 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 2478 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 2479 | "dev": true, 2480 | "requires": { 2481 | "esutils": "^2.0.2" 2482 | } 2483 | }, 2484 | "ms": { 2485 | "version": "2.0.0", 2486 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2487 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2488 | "dev": true 2489 | } 2490 | } 2491 | }, 2492 | "eslint-plugin-node": { 2493 | "version": "6.0.1", 2494 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.1.tgz", 2495 | "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", 2496 | "dev": true, 2497 | "requires": { 2498 | "ignore": "^3.3.6", 2499 | "minimatch": "^3.0.4", 2500 | "resolve": "^1.3.3", 2501 | "semver": "^5.4.1" 2502 | }, 2503 | "dependencies": { 2504 | "ignore": { 2505 | "version": "3.3.10", 2506 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", 2507 | "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", 2508 | "dev": true 2509 | } 2510 | } 2511 | }, 2512 | "eslint-plugin-promise": { 2513 | "version": "3.8.0", 2514 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", 2515 | "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", 2516 | "dev": true 2517 | }, 2518 | "eslint-plugin-standard": { 2519 | "version": "3.1.0", 2520 | "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz", 2521 | "integrity": "sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==", 2522 | "dev": true, 2523 | "requires": {} 2524 | }, 2525 | "eslint-scope": { 2526 | "version": "4.0.3", 2527 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", 2528 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", 2529 | "dev": true, 2530 | "requires": { 2531 | "esrecurse": "^4.1.0", 2532 | "estraverse": "^4.1.1" 2533 | } 2534 | }, 2535 | "eslint-utils": { 2536 | "version": "1.4.3", 2537 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", 2538 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", 2539 | "dev": true, 2540 | "requires": { 2541 | "eslint-visitor-keys": "^1.1.0" 2542 | } 2543 | }, 2544 | "eslint-visitor-keys": { 2545 | "version": "1.3.0", 2546 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 2547 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 2548 | "dev": true 2549 | }, 2550 | "espree": { 2551 | "version": "5.0.1", 2552 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", 2553 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", 2554 | "dev": true, 2555 | "requires": { 2556 | "acorn": "^6.0.7", 2557 | "acorn-jsx": "^5.0.0", 2558 | "eslint-visitor-keys": "^1.0.0" 2559 | } 2560 | }, 2561 | "esprima": { 2562 | "version": "4.0.1", 2563 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 2564 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 2565 | "dev": true 2566 | }, 2567 | "esquery": { 2568 | "version": "1.4.0", 2569 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 2570 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 2571 | "dev": true, 2572 | "requires": { 2573 | "estraverse": "^5.1.0" 2574 | }, 2575 | "dependencies": { 2576 | "estraverse": { 2577 | "version": "5.3.0", 2578 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2579 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2580 | "dev": true 2581 | } 2582 | } 2583 | }, 2584 | "esrecurse": { 2585 | "version": "4.3.0", 2586 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2587 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2588 | "dev": true, 2589 | "requires": { 2590 | "estraverse": "^5.2.0" 2591 | }, 2592 | "dependencies": { 2593 | "estraverse": { 2594 | "version": "5.3.0", 2595 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2596 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2597 | "dev": true 2598 | } 2599 | } 2600 | }, 2601 | "estraverse": { 2602 | "version": "4.3.0", 2603 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 2604 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 2605 | "dev": true 2606 | }, 2607 | "esutils": { 2608 | "version": "2.0.3", 2609 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2610 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2611 | "dev": true 2612 | }, 2613 | "external-editor": { 2614 | "version": "3.1.0", 2615 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 2616 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 2617 | "dev": true, 2618 | "requires": { 2619 | "chardet": "^0.7.0", 2620 | "iconv-lite": "^0.4.24", 2621 | "tmp": "^0.0.33" 2622 | } 2623 | }, 2624 | "fast-deep-equal": { 2625 | "version": "3.1.3", 2626 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2627 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2628 | "dev": true 2629 | }, 2630 | "fast-json-stable-stringify": { 2631 | "version": "2.1.0", 2632 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2633 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2634 | "dev": true 2635 | }, 2636 | "fast-levenshtein": { 2637 | "version": "2.0.6", 2638 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2639 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 2640 | "dev": true 2641 | }, 2642 | "figures": { 2643 | "version": "2.0.0", 2644 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 2645 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 2646 | "dev": true, 2647 | "requires": { 2648 | "escape-string-regexp": "^1.0.5" 2649 | } 2650 | }, 2651 | "file-entry-cache": { 2652 | "version": "5.0.1", 2653 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 2654 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 2655 | "dev": true, 2656 | "requires": { 2657 | "flat-cache": "^2.0.1" 2658 | } 2659 | }, 2660 | "find-up": { 2661 | "version": "2.1.0", 2662 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 2663 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 2664 | "dev": true, 2665 | "requires": { 2666 | "locate-path": "^2.0.0" 2667 | } 2668 | }, 2669 | "flat-cache": { 2670 | "version": "2.0.1", 2671 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 2672 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 2673 | "dev": true, 2674 | "requires": { 2675 | "flatted": "^2.0.0", 2676 | "rimraf": "2.6.3", 2677 | "write": "1.0.3" 2678 | } 2679 | }, 2680 | "flatted": { 2681 | "version": "2.0.2", 2682 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 2683 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 2684 | "dev": true 2685 | }, 2686 | "fs.realpath": { 2687 | "version": "1.0.0", 2688 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2689 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 2690 | "dev": true 2691 | }, 2692 | "function-bind": { 2693 | "version": "1.1.1", 2694 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2695 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2696 | "dev": true 2697 | }, 2698 | "functional-red-black-tree": { 2699 | "version": "1.0.1", 2700 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 2701 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 2702 | "dev": true 2703 | }, 2704 | "get-intrinsic": { 2705 | "version": "1.1.1", 2706 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 2707 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 2708 | "dev": true, 2709 | "requires": { 2710 | "function-bind": "^1.1.1", 2711 | "has": "^1.0.3", 2712 | "has-symbols": "^1.0.1" 2713 | } 2714 | }, 2715 | "get-symbol-description": { 2716 | "version": "1.0.0", 2717 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", 2718 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", 2719 | "dev": true, 2720 | "requires": { 2721 | "call-bind": "^1.0.2", 2722 | "get-intrinsic": "^1.1.1" 2723 | } 2724 | }, 2725 | "glob": { 2726 | "version": "7.2.0", 2727 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 2728 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 2729 | "dev": true, 2730 | "requires": { 2731 | "fs.realpath": "^1.0.0", 2732 | "inflight": "^1.0.4", 2733 | "inherits": "2", 2734 | "minimatch": "^3.0.4", 2735 | "once": "^1.3.0", 2736 | "path-is-absolute": "^1.0.0" 2737 | } 2738 | }, 2739 | "globals": { 2740 | "version": "11.12.0", 2741 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 2742 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 2743 | "dev": true 2744 | }, 2745 | "has": { 2746 | "version": "1.0.3", 2747 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2748 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2749 | "dev": true, 2750 | "requires": { 2751 | "function-bind": "^1.1.1" 2752 | } 2753 | }, 2754 | "has-bigints": { 2755 | "version": "1.0.1", 2756 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", 2757 | "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", 2758 | "dev": true 2759 | }, 2760 | "has-flag": { 2761 | "version": "3.0.0", 2762 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2763 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 2764 | "dev": true 2765 | }, 2766 | "has-symbols": { 2767 | "version": "1.0.2", 2768 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", 2769 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", 2770 | "dev": true 2771 | }, 2772 | "has-tostringtag": { 2773 | "version": "1.0.0", 2774 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 2775 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 2776 | "dev": true, 2777 | "requires": { 2778 | "has-symbols": "^1.0.2" 2779 | } 2780 | }, 2781 | "iconv-lite": { 2782 | "version": "0.4.24", 2783 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 2784 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 2785 | "dev": true, 2786 | "requires": { 2787 | "safer-buffer": ">= 2.1.2 < 3" 2788 | } 2789 | }, 2790 | "ignore": { 2791 | "version": "4.0.6", 2792 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 2793 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 2794 | "dev": true 2795 | }, 2796 | "import-fresh": { 2797 | "version": "3.3.0", 2798 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 2799 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 2800 | "dev": true, 2801 | "requires": { 2802 | "parent-module": "^1.0.0", 2803 | "resolve-from": "^4.0.0" 2804 | } 2805 | }, 2806 | "imurmurhash": { 2807 | "version": "0.1.4", 2808 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2809 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 2810 | "dev": true 2811 | }, 2812 | "inflight": { 2813 | "version": "1.0.6", 2814 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2815 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2816 | "dev": true, 2817 | "requires": { 2818 | "once": "^1.3.0", 2819 | "wrappy": "1" 2820 | } 2821 | }, 2822 | "inherits": { 2823 | "version": "2.0.4", 2824 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2825 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2826 | "dev": true 2827 | }, 2828 | "inquirer": { 2829 | "version": "6.5.2", 2830 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", 2831 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", 2832 | "dev": true, 2833 | "requires": { 2834 | "ansi-escapes": "^3.2.0", 2835 | "chalk": "^2.4.2", 2836 | "cli-cursor": "^2.1.0", 2837 | "cli-width": "^2.0.0", 2838 | "external-editor": "^3.0.3", 2839 | "figures": "^2.0.0", 2840 | "lodash": "^4.17.12", 2841 | "mute-stream": "0.0.7", 2842 | "run-async": "^2.2.0", 2843 | "rxjs": "^6.4.0", 2844 | "string-width": "^2.1.0", 2845 | "strip-ansi": "^5.1.0", 2846 | "through": "^2.3.6" 2847 | }, 2848 | "dependencies": { 2849 | "ansi-regex": { 2850 | "version": "4.1.0", 2851 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 2852 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 2853 | "dev": true 2854 | }, 2855 | "strip-ansi": { 2856 | "version": "5.2.0", 2857 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 2858 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 2859 | "dev": true, 2860 | "requires": { 2861 | "ansi-regex": "^4.1.0" 2862 | } 2863 | } 2864 | } 2865 | }, 2866 | "internal-slot": { 2867 | "version": "1.0.3", 2868 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", 2869 | "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", 2870 | "dev": true, 2871 | "requires": { 2872 | "get-intrinsic": "^1.1.0", 2873 | "has": "^1.0.3", 2874 | "side-channel": "^1.0.4" 2875 | } 2876 | }, 2877 | "is-bigint": { 2878 | "version": "1.0.4", 2879 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 2880 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 2881 | "dev": true, 2882 | "requires": { 2883 | "has-bigints": "^1.0.1" 2884 | } 2885 | }, 2886 | "is-boolean-object": { 2887 | "version": "1.1.2", 2888 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 2889 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 2890 | "dev": true, 2891 | "requires": { 2892 | "call-bind": "^1.0.2", 2893 | "has-tostringtag": "^1.0.0" 2894 | } 2895 | }, 2896 | "is-callable": { 2897 | "version": "1.2.4", 2898 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", 2899 | "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", 2900 | "dev": true 2901 | }, 2902 | "is-core-module": { 2903 | "version": "2.8.1", 2904 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", 2905 | "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", 2906 | "dev": true, 2907 | "requires": { 2908 | "has": "^1.0.3" 2909 | } 2910 | }, 2911 | "is-date-object": { 2912 | "version": "1.0.5", 2913 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 2914 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 2915 | "dev": true, 2916 | "requires": { 2917 | "has-tostringtag": "^1.0.0" 2918 | } 2919 | }, 2920 | "is-extglob": { 2921 | "version": "2.1.1", 2922 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2923 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 2924 | "dev": true 2925 | }, 2926 | "is-fullwidth-code-point": { 2927 | "version": "2.0.0", 2928 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2929 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 2930 | "dev": true 2931 | }, 2932 | "is-glob": { 2933 | "version": "4.0.3", 2934 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2935 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2936 | "dev": true, 2937 | "requires": { 2938 | "is-extglob": "^2.1.1" 2939 | } 2940 | }, 2941 | "is-negative-zero": { 2942 | "version": "2.0.2", 2943 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", 2944 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", 2945 | "dev": true 2946 | }, 2947 | "is-number-object": { 2948 | "version": "1.0.6", 2949 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", 2950 | "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", 2951 | "dev": true, 2952 | "requires": { 2953 | "has-tostringtag": "^1.0.0" 2954 | } 2955 | }, 2956 | "is-regex": { 2957 | "version": "1.1.4", 2958 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 2959 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 2960 | "dev": true, 2961 | "requires": { 2962 | "call-bind": "^1.0.2", 2963 | "has-tostringtag": "^1.0.0" 2964 | } 2965 | }, 2966 | "is-shared-array-buffer": { 2967 | "version": "1.0.1", 2968 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", 2969 | "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", 2970 | "dev": true 2971 | }, 2972 | "is-string": { 2973 | "version": "1.0.7", 2974 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 2975 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 2976 | "dev": true, 2977 | "requires": { 2978 | "has-tostringtag": "^1.0.0" 2979 | } 2980 | }, 2981 | "is-symbol": { 2982 | "version": "1.0.4", 2983 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 2984 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 2985 | "dev": true, 2986 | "requires": { 2987 | "has-symbols": "^1.0.2" 2988 | } 2989 | }, 2990 | "is-weakref": { 2991 | "version": "1.0.2", 2992 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 2993 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 2994 | "dev": true, 2995 | "requires": { 2996 | "call-bind": "^1.0.2" 2997 | } 2998 | }, 2999 | "isexe": { 3000 | "version": "2.0.0", 3001 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3002 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 3003 | "dev": true 3004 | }, 3005 | "js-tokens": { 3006 | "version": "4.0.0", 3007 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3008 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3009 | "dev": true 3010 | }, 3011 | "js-yaml": { 3012 | "version": "3.14.1", 3013 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 3014 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 3015 | "dev": true, 3016 | "requires": { 3017 | "argparse": "^1.0.7", 3018 | "esprima": "^4.0.0" 3019 | } 3020 | }, 3021 | "json-schema-traverse": { 3022 | "version": "0.4.1", 3023 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 3024 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 3025 | "dev": true 3026 | }, 3027 | "json-stable-stringify-without-jsonify": { 3028 | "version": "1.0.1", 3029 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 3030 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 3031 | "dev": true 3032 | }, 3033 | "json5": { 3034 | "version": "1.0.1", 3035 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", 3036 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", 3037 | "dev": true, 3038 | "requires": { 3039 | "minimist": "^1.2.0" 3040 | } 3041 | }, 3042 | "levn": { 3043 | "version": "0.3.0", 3044 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 3045 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 3046 | "dev": true, 3047 | "requires": { 3048 | "prelude-ls": "~1.1.2", 3049 | "type-check": "~0.3.2" 3050 | } 3051 | }, 3052 | "locate-path": { 3053 | "version": "2.0.0", 3054 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 3055 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 3056 | "dev": true, 3057 | "requires": { 3058 | "p-locate": "^2.0.0", 3059 | "path-exists": "^3.0.0" 3060 | } 3061 | }, 3062 | "lodash": { 3063 | "version": "4.17.21", 3064 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 3065 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 3066 | "dev": true 3067 | }, 3068 | "mimic-fn": { 3069 | "version": "1.2.0", 3070 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 3071 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 3072 | "dev": true 3073 | }, 3074 | "minimatch": { 3075 | "version": "3.1.1", 3076 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.1.tgz", 3077 | "integrity": "sha512-reLxBcKUPNBnc/sVtAbxgRVFSegoGeLaSjmphNhcwcolhYLRgtJscn5mRl6YRZNQv40Y7P6JM2YhSIsbL9OB5A==", 3078 | "dev": true, 3079 | "requires": { 3080 | "brace-expansion": "^1.1.7" 3081 | } 3082 | }, 3083 | "minimist": { 3084 | "version": "1.2.5", 3085 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 3086 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 3087 | "dev": true 3088 | }, 3089 | "mkdirp": { 3090 | "version": "0.5.5", 3091 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 3092 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 3093 | "dev": true, 3094 | "requires": { 3095 | "minimist": "^1.2.5" 3096 | } 3097 | }, 3098 | "ms": { 3099 | "version": "2.1.2", 3100 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3101 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3102 | "dev": true 3103 | }, 3104 | "mute-stream": { 3105 | "version": "0.0.7", 3106 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 3107 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 3108 | "dev": true 3109 | }, 3110 | "natural-compare": { 3111 | "version": "1.4.0", 3112 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3113 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 3114 | "dev": true 3115 | }, 3116 | "nice-try": { 3117 | "version": "1.0.5", 3118 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 3119 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 3120 | "dev": true 3121 | }, 3122 | "object-inspect": { 3123 | "version": "1.12.0", 3124 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", 3125 | "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", 3126 | "dev": true 3127 | }, 3128 | "object-keys": { 3129 | "version": "1.1.1", 3130 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 3131 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 3132 | "dev": true 3133 | }, 3134 | "object.assign": { 3135 | "version": "4.1.2", 3136 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", 3137 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", 3138 | "dev": true, 3139 | "requires": { 3140 | "call-bind": "^1.0.0", 3141 | "define-properties": "^1.1.3", 3142 | "has-symbols": "^1.0.1", 3143 | "object-keys": "^1.1.1" 3144 | } 3145 | }, 3146 | "object.values": { 3147 | "version": "1.1.5", 3148 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", 3149 | "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", 3150 | "dev": true, 3151 | "requires": { 3152 | "call-bind": "^1.0.2", 3153 | "define-properties": "^1.1.3", 3154 | "es-abstract": "^1.19.1" 3155 | } 3156 | }, 3157 | "once": { 3158 | "version": "1.4.0", 3159 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3160 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3161 | "dev": true, 3162 | "requires": { 3163 | "wrappy": "1" 3164 | } 3165 | }, 3166 | "onetime": { 3167 | "version": "2.0.1", 3168 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 3169 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 3170 | "dev": true, 3171 | "requires": { 3172 | "mimic-fn": "^1.0.0" 3173 | } 3174 | }, 3175 | "optionator": { 3176 | "version": "0.8.3", 3177 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 3178 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 3179 | "dev": true, 3180 | "requires": { 3181 | "deep-is": "~0.1.3", 3182 | "fast-levenshtein": "~2.0.6", 3183 | "levn": "~0.3.0", 3184 | "prelude-ls": "~1.1.2", 3185 | "type-check": "~0.3.2", 3186 | "word-wrap": "~1.2.3" 3187 | } 3188 | }, 3189 | "os-tmpdir": { 3190 | "version": "1.0.2", 3191 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 3192 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 3193 | "dev": true 3194 | }, 3195 | "p-limit": { 3196 | "version": "1.3.0", 3197 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 3198 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 3199 | "dev": true, 3200 | "requires": { 3201 | "p-try": "^1.0.0" 3202 | } 3203 | }, 3204 | "p-locate": { 3205 | "version": "2.0.0", 3206 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 3207 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 3208 | "dev": true, 3209 | "requires": { 3210 | "p-limit": "^1.1.0" 3211 | } 3212 | }, 3213 | "p-try": { 3214 | "version": "1.0.0", 3215 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 3216 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 3217 | "dev": true 3218 | }, 3219 | "parent-module": { 3220 | "version": "1.0.1", 3221 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3222 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3223 | "dev": true, 3224 | "requires": { 3225 | "callsites": "^3.0.0" 3226 | } 3227 | }, 3228 | "path-exists": { 3229 | "version": "3.0.0", 3230 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 3231 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 3232 | "dev": true 3233 | }, 3234 | "path-is-absolute": { 3235 | "version": "1.0.1", 3236 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3237 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3238 | "dev": true 3239 | }, 3240 | "path-is-inside": { 3241 | "version": "1.0.2", 3242 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 3243 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 3244 | "dev": true 3245 | }, 3246 | "path-key": { 3247 | "version": "2.0.1", 3248 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 3249 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 3250 | "dev": true 3251 | }, 3252 | "path-parse": { 3253 | "version": "1.0.7", 3254 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 3255 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 3256 | "dev": true 3257 | }, 3258 | "prelude-ls": { 3259 | "version": "1.1.2", 3260 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 3261 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 3262 | "dev": true 3263 | }, 3264 | "progress": { 3265 | "version": "2.0.3", 3266 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 3267 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 3268 | "dev": true 3269 | }, 3270 | "punycode": { 3271 | "version": "2.1.1", 3272 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3273 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3274 | "dev": true 3275 | }, 3276 | "regexpp": { 3277 | "version": "2.0.1", 3278 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 3279 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 3280 | "dev": true 3281 | }, 3282 | "resolve": { 3283 | "version": "1.22.0", 3284 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 3285 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 3286 | "dev": true, 3287 | "requires": { 3288 | "is-core-module": "^2.8.1", 3289 | "path-parse": "^1.0.7", 3290 | "supports-preserve-symlinks-flag": "^1.0.0" 3291 | } 3292 | }, 3293 | "resolve-from": { 3294 | "version": "4.0.0", 3295 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3296 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3297 | "dev": true 3298 | }, 3299 | "restore-cursor": { 3300 | "version": "2.0.0", 3301 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 3302 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 3303 | "dev": true, 3304 | "requires": { 3305 | "onetime": "^2.0.0", 3306 | "signal-exit": "^3.0.2" 3307 | } 3308 | }, 3309 | "rimraf": { 3310 | "version": "2.6.3", 3311 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 3312 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 3313 | "dev": true, 3314 | "requires": { 3315 | "glob": "^7.1.3" 3316 | } 3317 | }, 3318 | "run-async": { 3319 | "version": "2.4.1", 3320 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", 3321 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", 3322 | "dev": true 3323 | }, 3324 | "rxjs": { 3325 | "version": "6.6.7", 3326 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 3327 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 3328 | "dev": true, 3329 | "requires": { 3330 | "tslib": "^1.9.0" 3331 | } 3332 | }, 3333 | "safer-buffer": { 3334 | "version": "2.1.2", 3335 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 3336 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 3337 | "dev": true 3338 | }, 3339 | "semver": { 3340 | "version": "5.7.1", 3341 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 3342 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 3343 | "dev": true 3344 | }, 3345 | "shebang-command": { 3346 | "version": "1.2.0", 3347 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3348 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3349 | "dev": true, 3350 | "requires": { 3351 | "shebang-regex": "^1.0.0" 3352 | } 3353 | }, 3354 | "shebang-regex": { 3355 | "version": "1.0.0", 3356 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3357 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 3358 | "dev": true 3359 | }, 3360 | "side-channel": { 3361 | "version": "1.0.4", 3362 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 3363 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 3364 | "dev": true, 3365 | "requires": { 3366 | "call-bind": "^1.0.0", 3367 | "get-intrinsic": "^1.0.2", 3368 | "object-inspect": "^1.9.0" 3369 | } 3370 | }, 3371 | "signal-exit": { 3372 | "version": "3.0.7", 3373 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3374 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3375 | "dev": true 3376 | }, 3377 | "slice-ansi": { 3378 | "version": "2.1.0", 3379 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 3380 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 3381 | "dev": true, 3382 | "requires": { 3383 | "ansi-styles": "^3.2.0", 3384 | "astral-regex": "^1.0.0", 3385 | "is-fullwidth-code-point": "^2.0.0" 3386 | } 3387 | }, 3388 | "sprintf-js": { 3389 | "version": "1.0.3", 3390 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3391 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3392 | "dev": true 3393 | }, 3394 | "string-width": { 3395 | "version": "2.1.1", 3396 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3397 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3398 | "dev": true, 3399 | "requires": { 3400 | "is-fullwidth-code-point": "^2.0.0", 3401 | "strip-ansi": "^4.0.0" 3402 | } 3403 | }, 3404 | "string.prototype.trimend": { 3405 | "version": "1.0.4", 3406 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", 3407 | "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", 3408 | "dev": true, 3409 | "requires": { 3410 | "call-bind": "^1.0.2", 3411 | "define-properties": "^1.1.3" 3412 | } 3413 | }, 3414 | "string.prototype.trimstart": { 3415 | "version": "1.0.4", 3416 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", 3417 | "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", 3418 | "dev": true, 3419 | "requires": { 3420 | "call-bind": "^1.0.2", 3421 | "define-properties": "^1.1.3" 3422 | } 3423 | }, 3424 | "strip-ansi": { 3425 | "version": "4.0.0", 3426 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3427 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3428 | "dev": true, 3429 | "requires": { 3430 | "ansi-regex": "^3.0.0" 3431 | } 3432 | }, 3433 | "strip-bom": { 3434 | "version": "3.0.0", 3435 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 3436 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 3437 | "dev": true 3438 | }, 3439 | "strip-json-comments": { 3440 | "version": "2.0.1", 3441 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3442 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 3443 | "dev": true 3444 | }, 3445 | "supports-color": { 3446 | "version": "5.5.0", 3447 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3448 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3449 | "dev": true, 3450 | "requires": { 3451 | "has-flag": "^3.0.0" 3452 | } 3453 | }, 3454 | "supports-preserve-symlinks-flag": { 3455 | "version": "1.0.0", 3456 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3457 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3458 | "dev": true 3459 | }, 3460 | "table": { 3461 | "version": "5.4.6", 3462 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 3463 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 3464 | "dev": true, 3465 | "requires": { 3466 | "ajv": "^6.10.2", 3467 | "lodash": "^4.17.14", 3468 | "slice-ansi": "^2.1.0", 3469 | "string-width": "^3.0.0" 3470 | }, 3471 | "dependencies": { 3472 | "ansi-regex": { 3473 | "version": "4.1.0", 3474 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 3475 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 3476 | "dev": true 3477 | }, 3478 | "string-width": { 3479 | "version": "3.1.0", 3480 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 3481 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 3482 | "dev": true, 3483 | "requires": { 3484 | "emoji-regex": "^7.0.1", 3485 | "is-fullwidth-code-point": "^2.0.0", 3486 | "strip-ansi": "^5.1.0" 3487 | } 3488 | }, 3489 | "strip-ansi": { 3490 | "version": "5.2.0", 3491 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 3492 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 3493 | "dev": true, 3494 | "requires": { 3495 | "ansi-regex": "^4.1.0" 3496 | } 3497 | } 3498 | } 3499 | }, 3500 | "text-table": { 3501 | "version": "0.2.0", 3502 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3503 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3504 | "dev": true 3505 | }, 3506 | "through": { 3507 | "version": "2.3.8", 3508 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3509 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 3510 | "dev": true 3511 | }, 3512 | "tmp": { 3513 | "version": "0.0.33", 3514 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 3515 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 3516 | "dev": true, 3517 | "requires": { 3518 | "os-tmpdir": "~1.0.2" 3519 | } 3520 | }, 3521 | "tsconfig-paths": { 3522 | "version": "3.12.0", 3523 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", 3524 | "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", 3525 | "dev": true, 3526 | "requires": { 3527 | "@types/json5": "^0.0.29", 3528 | "json5": "^1.0.1", 3529 | "minimist": "^1.2.0", 3530 | "strip-bom": "^3.0.0" 3531 | } 3532 | }, 3533 | "tslib": { 3534 | "version": "1.14.1", 3535 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 3536 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 3537 | "dev": true 3538 | }, 3539 | "type-check": { 3540 | "version": "0.3.2", 3541 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 3542 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 3543 | "dev": true, 3544 | "requires": { 3545 | "prelude-ls": "~1.1.2" 3546 | } 3547 | }, 3548 | "unbox-primitive": { 3549 | "version": "1.0.1", 3550 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", 3551 | "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", 3552 | "dev": true, 3553 | "requires": { 3554 | "function-bind": "^1.1.1", 3555 | "has-bigints": "^1.0.1", 3556 | "has-symbols": "^1.0.2", 3557 | "which-boxed-primitive": "^1.0.2" 3558 | } 3559 | }, 3560 | "uri-js": { 3561 | "version": "4.4.1", 3562 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 3563 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 3564 | "dev": true, 3565 | "requires": { 3566 | "punycode": "^2.1.0" 3567 | } 3568 | }, 3569 | "which": { 3570 | "version": "1.3.1", 3571 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3572 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3573 | "dev": true, 3574 | "requires": { 3575 | "isexe": "^2.0.0" 3576 | } 3577 | }, 3578 | "which-boxed-primitive": { 3579 | "version": "1.0.2", 3580 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 3581 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 3582 | "dev": true, 3583 | "requires": { 3584 | "is-bigint": "^1.0.1", 3585 | "is-boolean-object": "^1.1.0", 3586 | "is-number-object": "^1.0.4", 3587 | "is-string": "^1.0.5", 3588 | "is-symbol": "^1.0.3" 3589 | } 3590 | }, 3591 | "word-wrap": { 3592 | "version": "1.2.3", 3593 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 3594 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 3595 | "dev": true 3596 | }, 3597 | "wrappy": { 3598 | "version": "1.0.2", 3599 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3600 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3601 | "dev": true 3602 | }, 3603 | "write": { 3604 | "version": "1.0.3", 3605 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 3606 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 3607 | "dev": true, 3608 | "requires": { 3609 | "mkdirp": "^0.5.1" 3610 | } 3611 | } 3612 | } 3613 | } 3614 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "picgo-plugin-compression", 3 | "version": "1.1.5", 4 | "description": "图片压缩插件", 5 | "main": "src/index.js", 6 | "publishConfig": { 7 | "access": "public" 8 | }, 9 | "homepage": "https://github.com/Redns/picgo-plugin-compression", 10 | "scripts": { 11 | "test": "echo \"Error: no test specified\" && exit 1", 12 | "patch": "npm version patch && git push origin master && git push origin --tags", 13 | "minor": "npm version minor && git push origin master && git push origin --tags", 14 | "major": "npm version major && git push origin master && git push origin --tags" 15 | }, 16 | "keywords": [ 17 | "picgo", 18 | "picgo-gui-plugin", 19 | "picgo-plugin" 20 | ], 21 | "author": "Krins", 22 | "license": "MIT", 23 | "devDependencies": { 24 | "eslint": "^5.0.1", 25 | "eslint-config-standard": "^11.0.0", 26 | "eslint-plugin-import": "^2.13.0", 27 | "eslint-plugin-node": "^6.0.1", 28 | "eslint-plugin-promise": "^3.8.0", 29 | "eslint-plugin-standard": "^3.1.0" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /secaibi.saz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Redns/picgo-plugin-compression/e266aa45548b5891c733e05a41106e1485b95b12/secaibi.saz -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const pluginConfig = (ctx) => { 2 | let userConfig = ctx.getConfig('picgo-plugin-compression') 3 | if (!userConfig) { 4 | userConfig = {} 5 | } 6 | const config = [ 7 | { 8 | name: 'accept_lossy', 9 | type: 'list', 10 | alias: '容许质量下降', 11 | choices: [true, false], 12 | default: userConfig.accept_lossy || '', 13 | message: '', 14 | required: false 15 | }, 16 | { 17 | name: 'jpeg_quality', 18 | type: 'input', 19 | alias: '图片质量', 20 | default: userConfig.jpeg_quality || '', 21 | message: '图片质量不能为空', 22 | required: true 23 | } 24 | ] 25 | return config 26 | } 27 | 28 | /** 29 | * 上传待压缩的图片 30 | * @param {待压缩的图片名称}} filename 31 | * @param {待压缩的图片内容(二进制形式)} imgSrc 32 | * @returns 33 | */ 34 | const uploadRequestConstruct = (filename, imgSrc) => { 35 | return { 36 | method: 'post', 37 | url: `https://www.secaibi.com/designtools/api/image.html?tag=resizer&restful_override_method=PUT&qqfile=${filename}`, 38 | headers: { 39 | 'Origin': 'https://www.secaibi.com', 40 | 'Content-Type': 'application/octet-stream' 41 | }, 42 | data: imgSrc 43 | } 44 | } 45 | 46 | 47 | /** 48 | * 发送压缩设置信息 49 | * @param {源图片ID} srcid 50 | * @param {源图片名称} filename 51 | * @param {是否启用PNG压缩} accept_lossy 52 | * @param {JPG压缩质量} jpeg_quality 53 | * @returns 54 | */ 55 | const compressRequestConstruct = (id, filename, accept_lossy, jpeg_quality) => { 56 | return { 57 | method: 'post', 58 | url: 'https://www.secaibi.com/designtools/api/resizer-action', 59 | headers: { 60 | 'Origin': 'https://www.secaibi.com', 61 | 'Referer': 'https://www.secaibi.com/designtools/media/pages/resizer.html', 62 | 'Content-Type': 'application/x-www-form-urlencoded' 63 | }, 64 | data: `action=compress&srcid=${id}&srcname=${filename}¶m_limit_width=origin¶m_accept_lossy=${accept_lossy}¶m_jpeg_quality=${jpeg_quality}` 65 | } 66 | } 67 | 68 | 69 | /** 70 | * 压缩结果获取请求 71 | * @param {*} dstid 72 | * @param {*} filename 73 | * @returns 74 | */ 75 | const compressResultRequestConstruct = (dstid, filename) => { 76 | return { 77 | method: 'get', 78 | maxBodyLength: Infinity, 79 | url: `https://www.secaibi.com/designtools/api/image/${dstid}.bin?filename=${filename}`, 80 | headers: { 81 | 'Referer': 'https://www.secaibi.com/designtools/media/pages/resizer.html', 82 | }, 83 | responseType: 'arraybuffer' 84 | } 85 | } 86 | 87 | 88 | const handle = async (ctx) => { 89 | const userConfig = ctx.getConfig('picgo-plugin-compression') 90 | if (!userConfig) { 91 | throw new Error('请配置相关信息!') 92 | } 93 | else { 94 | var accept_lossy = userConfig.accept_lossy 95 | var jpeg_quality = parseInt(userConfig.jpeg_quality) 96 | 97 | // 检查设置是否符合要求 98 | if((jpeg_quality != 0) && ((jpeg_quality < 5) || (jpeg_quality > 100))){ 99 | jpeg_quality = 0 100 | ctx.saveConfig({ 101 | "picgo-plugin-compression": { 102 | "accept_lossy": accept_lossy, 103 | "jpeg_quality": "0" 104 | } 105 | }) 106 | } 107 | // 筛选可压缩的图片 108 | const compressibleExtensions = ['.jpg', '.jpeg', '.gif', '.png'] 109 | const imgList = ctx.output.filter(img => compressibleExtensions.indexOf(img.extname) > -1) 110 | for (var i in imgList) { 111 | // 获取源图片内容 112 | var imgSrc = imgList[i].buffer 113 | if ((!imgSrc) && (imgList[i].base64Image)) { 114 | imgSrc = Buffer.from(imgList[i].base64Image, 'base64') 115 | } 116 | // 格式化图片名称 117 | var myDate = new Date() 118 | imgList[i].filename = `${myDate.getFullYear()}${myDate.getMonth() + 1}${myDate.getDate()}${myDate.getHours()}${myDate.getMinutes()}${myDate.getSeconds()}.${imgList[i].extname.slice(1)}` 119 | // 上传源图片 120 | const uploadRequest = uploadRequestConstruct(imgList[i].filename, imgSrc) 121 | await ctx.request(uploadRequest).then(async (uploadResponse) => { 122 | // 上传压缩参数 123 | const compressRequest = compressRequestConstruct(uploadResponse.id, imgList[i].filename, accept_lossy, jpeg_quality) 124 | await ctx.request(compressRequest).then(async (compressResponse) => { 125 | if(compressResponse.success && (compressResponse.srcsize > compressResponse.dstsize)){ 126 | // 下载压缩后的图片 127 | const compressResultRequest = compressResultRequestConstruct(compressResponse.dstid, imgList[i].filename) 128 | await ctx.request(compressResultRequest).then(async (compressResultResponse) => { 129 | imgList[i].buffer = Buffer.from(compressResultResponse, 'hex') 130 | ctx.log.info(`[Compression] 图片 ${imgList[i].filename} 压缩成功(${compressResponse.srcsizeReadable} --> ${compressResponse.dstsizeReadable}, ↓${compressResponse.reducePercent}%})`) 131 | }).catch((error) => { 132 | ctx.log.error(`[Compression] 图片压缩失败,${error.message}`) 133 | }) 134 | } 135 | else{ 136 | ctx.log.info(`[Compression] 图片已压缩至极限`) 137 | } 138 | }).catch((error) => { 139 | ctx.log.error(`[Compression] 上传压缩参数失败,${error.message}`) 140 | }) 141 | }).catch((error) => { 142 | ctx.log.error(`[Compression] 上传图片 ${imgList[i].filename} 失败,${error.message}`) 143 | }) 144 | } 145 | } 146 | return ctx 147 | } 148 | 149 | 150 | module.exports = (ctx) => { 151 | const register = () => { 152 | ctx.log.success('compression加载成功!') 153 | ctx.saveConfig({ 154 | 'picgo-plugin-compression': { 155 | accept_lossy: true, 156 | jpeg_quality: "0" 157 | } 158 | }) 159 | ctx.helper.beforeUploadPlugins.register('compression', { 160 | handle, 161 | config: pluginConfig 162 | }) 163 | } 164 | return { 165 | register, 166 | config: pluginConfig, 167 | beforeUploadPlugins: 'compression' 168 | } 169 | } 170 | --------------------------------------------------------------------------------