├── hCaptcha.png ├── captcha-test.png ├── screenshot.png ├── lib ├── delay.js ├── logging.js ├── onCaptcha.js ├── captcha.js ├── core.js └── 2captcha.js ├── .prettierrc ├── .github ├── ISSUE_TEMPLATE │ ├── 2-question.md │ └── 1-bug-report.md └── workflows │ └── js-challange.yml ├── .eslintrc.js ├── .gitignore ├── LICENSE ├── package.json ├── tests └── scrape.js ├── CHANGELOG.md ├── README.md ├── hooman.js └── yarn.lock /hCaptcha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sayem314/hooman/HEAD/hCaptcha.png -------------------------------------------------------------------------------- /captcha-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sayem314/hooman/HEAD/captcha-test.png -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sayem314/hooman/HEAD/screenshot.png -------------------------------------------------------------------------------- /lib/delay.js: -------------------------------------------------------------------------------- 1 | module.exports = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); 2 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120, 3 | "trailingComma": "es5", 4 | "tabWidth": 2, 5 | "useTabs": false, 6 | "semi": true, 7 | "singleQuote": true, 8 | "bracketSpacing": true, 9 | "endOfLine": "lf", 10 | "arrowParens": "always" 11 | } 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/2-question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "❓ Question" 3 | about: Something is unclear or needs to be discussed 4 | --- 5 | 6 | #### What would you like to discuss? 7 | 8 | > write here 9 | 10 | #### Checklist 11 | 12 | - [ ] I have read the hooman and got documentation. 13 | -------------------------------------------------------------------------------- /lib/logging.js: -------------------------------------------------------------------------------- 1 | const debug = process.env.HOOMAN_DEBUG; 2 | 3 | const info = async (message) => { 4 | if (debug) { 5 | console.log('[info] ' + message); 6 | } 7 | }; 8 | 9 | const warn = async (message) => { 10 | if (debug) { 11 | console.warn('[warn] ' + message); 12 | } 13 | }; 14 | 15 | const error = async (message) => { 16 | if (debug) { 17 | console.error('[error] ' + message); 18 | } 19 | }; 20 | 21 | module.exports = { info, warn, error }; 22 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | commonjs: true, 4 | es6: true, 5 | node: true, 6 | mocha: true, 7 | }, 8 | extends: 'eslint:recommended', 9 | globals: { 10 | Atomics: 'readonly', 11 | SharedArrayBuffer: 'readonly', 12 | }, 13 | parserOptions: { 14 | ecmaVersion: 2018, 15 | }, 16 | rules: { 17 | indent: ['error', 2], 18 | 'linebreak-style': ['error', 'unix'], 19 | quotes: ['error', 'single'], 20 | semi: ['error', 'always'], 21 | }, 22 | }; 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/1-bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: '🐞 Bug report' 3 | about: Something is not working as expected 4 | --- 5 | 6 | #### Describe the bug 7 | 8 | - Hooman version: 9 | - Node.js version: 10 | - OS & version: 11 | 12 | 13 | 14 | #### Actual behavior 15 | 16 | > write here 17 | 18 | #### Expected behavior 19 | 20 | > write here 21 | 22 | #### Code to reproduce 23 | 24 | ```js 25 | // paste code here 26 | ``` 27 | 28 | #### Checklist 29 | 30 | - [ ] I have tried my code with the latest version of Node.js and hooman. 31 | -------------------------------------------------------------------------------- /lib/onCaptcha.js: -------------------------------------------------------------------------------- 1 | const got = require('got'); 2 | 3 | const onCaptcha = async ({ pageurl, sitekey, method }) => { 4 | try { 5 | const { host } = new URL(pageurl); 6 | console.log(`[info] Solving ${method} at ${host} for free!`); 7 | 8 | let response, 9 | retry = 3; 10 | while ((!response || !response.body.pass) && retry > 0) { 11 | retry--; 12 | response = await got(`https://harvest.caddy.eu.org/solve/${host}/${sitekey}`, { responseType: 'json' }); 13 | } 14 | 15 | return response.body.generated_pass_UUID; 16 | } catch (e) { 17 | console.log(e.message); 18 | } 19 | }; 20 | 21 | module.exports = onCaptcha; 22 | -------------------------------------------------------------------------------- /.github/workflows/js-challange.yml: -------------------------------------------------------------------------------- 1 | name: JS-Challenge 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | branches: 9 | - master 10 | 11 | jobs: 12 | test: 13 | runs-on: ubuntu-latest 14 | 15 | strategy: 16 | matrix: 17 | node-version: [10.x, 12.x, 14.x] 18 | 19 | steps: 20 | - uses: actions/checkout@v2 21 | - name: Use Node.js ${{ matrix.node-version }} 22 | uses: actions/setup-node@v1 23 | with: 24 | node-version: ${{ matrix.node-version }} 25 | - run: yarn 26 | - run: yarn add -D got@11.x 27 | - run: yarn test 28 | env: 29 | CI: true 30 | HOOMAN_DEBUG: true 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # nyc test coverage 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # node-waf configuration 24 | .lock-wscript 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | # Dependency directories 30 | node_modules 31 | jspm_packages 32 | 33 | # Optional npm cache directory 34 | .npm 35 | 36 | # Optional REPL history 37 | .node_repl_history 38 | 39 | # Debug files 40 | cf.* 41 | *.html 42 | *.jpg 43 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 sayem314 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 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hooman", 3 | "version": "1.2.6", 4 | "description": "http interceptor to hoomanize cloudflare requests", 5 | "main": "hooman.js", 6 | "scripts": { 7 | "lint": "eslint .", 8 | "pretest": "eslint .", 9 | "test": "mocha tests/**/*" 10 | }, 11 | "engines": { 12 | "node": ">=10.19.0" 13 | }, 14 | "repository": { 15 | "type": "git", 16 | "url": "git+https://github.com/sayem314/hooman.git" 17 | }, 18 | "funding": { 19 | "type": "individual", 20 | "url": "https://github.com/sponsors/sayem314" 21 | }, 22 | "keywords": [ 23 | "got", 24 | "request", 25 | "cloudscraper", 26 | "cloudflare", 27 | "interceptor", 28 | "ddos", 29 | "scrape", 30 | "web", 31 | "scraper", 32 | "waf", 33 | "iuam", 34 | "bypass", 35 | "challenge" 36 | ], 37 | "author": "Sayem Chowdhury", 38 | "license": "MIT", 39 | "bugs": { 40 | "url": "https://github.com/sayem314/hooman/issues" 41 | }, 42 | "homepage": "https://github.com/sayem314/hooman#readme", 43 | "dependencies": { 44 | "jsdom": "^16.3.0", 45 | "tough-cookie": "^4.0.0", 46 | "user-agents": "^1.0.559" 47 | }, 48 | "devDependencies": { 49 | "eslint": "^7.6.0", 50 | "mocha": "^8.1.1" 51 | }, 52 | "peerDependencies": { 53 | "got": ">=11.0.0" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /tests/scrape.js: -------------------------------------------------------------------------------- 1 | const hooman = require('../'); 2 | const assert = require('assert'); 3 | const { writeFileSync, statSync } = require('fs'); 4 | 5 | // Test URL 6 | const hCaptchaPage = 'https://cf-captcha.sayem.eu.org'; 7 | const jsChallengePage = 'https://cf-js-challenge.sayem.eu.org'; 8 | 9 | const fetchHtml = async () => { 10 | const response = await hooman(jsChallengePage); 11 | assert.equal(response.statusCode, 200); 12 | assert.equal(typeof response.body, 'string'); 13 | assert.equal(response.isFromCache, false); 14 | assert(response.body.includes('sayem314')); 15 | }; 16 | 17 | describe('- real world test', () => { 18 | // solve challenge within 20 seconds 19 | it('should return html', fetchHtml).timeout(1000 * 30); 20 | 21 | // should fetch within 4 seconds 22 | it('should respect cookies', fetchHtml).timeout(1000 * 4); 23 | 24 | it('should download images', async () => { 25 | const response = await hooman(jsChallengePage + '/images/background.jpg', { 26 | responseType: 'buffer', 27 | }); 28 | assert.equal(response.statusCode, 200); 29 | assert(Buffer.isBuffer(response.body)); 30 | 31 | // Write image to file 32 | writeFileSync('image.jpg', response.body); 33 | 34 | // Check image size 35 | const { size } = statSync('image.jpg'); 36 | assert.equal(size, 31001); 37 | }).timeout(1000 * 5); 38 | 39 | if (process.env.CAPTCHA_API_KEY) { 40 | it('should solve captchas', async () => { 41 | const response = await hooman(hCaptchaPage, { captchaKey: process.env.CAPTCHA_API_KEY }); 42 | assert.equal(response.statusCode, 200); 43 | assert.equal(typeof response.body, 'string'); 44 | assert.equal(response.isFromCache, false); 45 | assert(response.body.includes('sayem314')); 46 | }).timeout(1000 * 200); // 3 min and 20 sec 47 | } 48 | }); 49 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### v1.2.6 2 | 3 | - Fixed issue related with v1 challenge 4 | 5 | ### v1.2.5 6 | 7 | - Fixed new challenge [#18](https://github.com/sayem314/hooman/issues/18) 8 | 9 | ### v1.2.4 10 | 11 | - Added custom captcha handler 12 | - Replaced `vm2` with native `vm` to support electron [#16](https://github.com/sayem314/hooman/issues/16) 13 | 14 | ### v1.2.3 15 | 16 | - Hooman was unable to bypass some websites which were using captcha and more strict firewall rules. It's fixed now. 17 | - You can now optionally set environment variable `HOOMAN_CAPTCHA_KEY` and `HOOMAN_RUCAPTCHA` to solve captchas. 18 | 19 | ### v1.2.2 20 | 21 | - Wait on captcha instead of throwing error. Fix [#11](https://github.com/sayem314/hooman/issues/11) 22 | - Fixed hang on multiple requests at once 23 | - Added debug logging, enable with environment variable `HOOMAN_DEBUG=true` 24 | - Handle large requests to same site when challenge solving in progress 25 | 26 | ### v1.2.1 27 | 28 | - Fixed [#9](https://github.com/sayem314/hooman/issues/9) 29 | - Fixed proxy issue [#10](https://github.com/sayem314/hooman/issues/11) 30 | - Added support for rucaptcha 31 | - Refactored captcha code 32 | 33 | ### v1.2.0 34 | 35 | - Refactored code 36 | - Added 2captcha support 37 | 38 | ### v1.1.1 39 | 40 | - Faster and better sandbox code execution 41 | - Added the ability to specify custom retry limit for Cloudflare challenges 42 | 43 | ```js 44 | // Example 45 | const { body } = await got(url, { 46 | cloudflareRetry: 8, // default 5 47 | }); 48 | ``` 49 | 50 | ### v1.1.1 51 | 52 | - Faster and better sandbox code execution 53 | - Added the ability to specify custom retry limit for Cloudflare challenges 54 | 55 | ```js 56 | // Example 57 | const { body } = await got(url, { 58 | cloudflareRetry: 8, // default 5 59 | }); 60 | ``` 61 | 62 | ### v1.1.0 63 | 64 | - Added vm2 to run code safely 65 | - got as peer dependencies 66 | 67 | ### v1.0.0 68 | 69 | - Initial commit 70 | -------------------------------------------------------------------------------- /lib/captcha.js: -------------------------------------------------------------------------------- 1 | const captcha = require('./2captcha'); 2 | const { JSDOM } = require('jsdom'); 3 | 4 | const solve = async (response) => { 5 | const sitekey = response.body.match(/\sdata-sitekey=["']?([^\s"'<>&]+)/); 6 | 7 | if (sitekey && sitekey[1]) { 8 | // Parse html 9 | const { document } = new JSDOM(response.body).window; 10 | 11 | // Form submit data 12 | const input = document.getElementsByTagName('input'); 13 | const body = []; 14 | for (const i of input) { 15 | body.push(i.name + '=' + encodeURIComponent(i.value)); 16 | } 17 | 18 | // Solve if captcha method is found: g/h 19 | const captchaMethod = body.find((i) => i.includes('cf_captcha_kind')); 20 | if (captchaMethod === 'cf_captcha_kind=h' || captchaMethod === 'cf_captcha_kind=g') { 21 | const { rucaptcha, captchaKey, onCaptcha } = response.request.options; 22 | const captchaOptions = { 23 | key: captchaKey, 24 | pageurl: response.url, 25 | sitekey: sitekey[1], 26 | method: captchaMethod.split('=')[1] + 'captcha', 27 | }; 28 | const captchaResponse = onCaptcha 29 | ? await onCaptcha(captchaOptions) 30 | : await captcha.solve({ ...captchaOptions, rucaptcha }); 31 | 32 | if (captchaResponse && typeof captchaResponse === 'string') { 33 | body.push('g-captcha-response=' + captchaResponse); 34 | if (captchaMethod === 'cf_captcha_kind=h') { 35 | body.push('h-captcha-response=' + captchaResponse); 36 | } 37 | 38 | const baseUrl = response.url.substring(0, response.url.lastIndexOf('/')); 39 | const { method, action, enctype } = document.getElementById('challenge-form'); 40 | return { 41 | method, 42 | url: action.startsWith('/') ? baseUrl + action : action, 43 | headers: { 44 | 'content-type': enctype, // application/x-www-form-urlencoded 45 | }, 46 | body: body.join('&'), 47 | }; 48 | } 49 | } 50 | } 51 | }; 52 | 53 | module.exports = solve; 54 | -------------------------------------------------------------------------------- /lib/core.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const { JSDOM } = require('jsdom'); 3 | const vm = require('vm'); 4 | const delay = require('./delay'); 5 | 6 | // Solve challange with this function 7 | const solve = async (url, html) => { 8 | // Trigger 4 seconds delay and in the meantime solve challenge 9 | const sleep = delay(4000); 10 | 11 | // Emulate browser dom 12 | const { document } = new JSDOM(html, { url, referrer: url }).window; 13 | 14 | // Parse script to execute 15 | let jschl_answer = document.getElementsByTagName('script')[0].textContent; 16 | let scriptIndex = jschl_answer.indexOf('var s'); 17 | if (scriptIndex > -1) { 18 | jschl_answer = jschl_answer.substring(scriptIndex); 19 | jschl_answer = jschl_answer.substring( 20 | 0, 21 | jschl_answer.indexOf(jschl_answer.includes('return f.submit') ? 'return f.submit' : 'f.submit') 22 | ); 23 | jschl_answer = jschl_answer.replace('location.', 'document.location.'); 24 | if (jschl_answer.trim().endsWith('return')) { 25 | jschl_answer = jschl_answer.split('\n'); 26 | jschl_answer.pop(); 27 | jschl_answer = jschl_answer.join('\n'); 28 | } 29 | 30 | // Retrive answers from form to submit challenge 31 | const body = []; 32 | vm.runInNewContext( 33 | `${jschl_answer} 34 | // Retrive answers from form to submit challenge 35 | const input = document.getElementsByTagName("input"); 36 | for (const i of input) { 37 | body.push(i.name + "=" + encodeURIComponent(i.value)); 38 | }`, 39 | { 40 | document, 41 | body, 42 | setInterval: () => {}, 43 | } 44 | ); 45 | 46 | // Parse request information 47 | const { method, action, enctype } = document.getElementById('challenge-form'); 48 | 49 | // Wait until delay is finished 50 | await sleep; 51 | 52 | // Return network request data 53 | return { 54 | method, // POST 55 | url: action, // Challange submit URL 56 | headers: { 57 | 'content-type': enctype, // application/x-www-form-urlencoded 58 | }, 59 | body: body.join('&'), // r=value&jschl_vc=value&pass=value&jschl_answer=value 60 | }; 61 | } 62 | }; 63 | 64 | module.exports = solve; 65 | -------------------------------------------------------------------------------- /lib/2captcha.js: -------------------------------------------------------------------------------- 1 | const got = require('got'); 2 | const delay = require('./delay'); 3 | const log = require('./logging'); 4 | 5 | // docs: https://2captcha.com/2captcha-api 6 | const API_2CAPTCHA = 'https://2captcha.com'; 7 | const API_RUCAPTCHA = 'https://rucaptcha.com'; 8 | 9 | const solve = async ({ rucaptcha, key, pageurl, sitekey, method = 'hcaptcha' }) => { 10 | // Post captcha information 11 | console.log(`[info] Solving ${method} at ${pageurl}`); 12 | const response = await got.post(rucaptcha ? API_RUCAPTCHA : API_2CAPTCHA + '/in.php', { 13 | json: { 14 | key, 15 | sitekey, 16 | pageurl, 17 | method, 18 | json: 1, 19 | }, 20 | responseType: 'json', 21 | }); 22 | if (response.body.status === 0) { 23 | log.error(response.body.request); 24 | throw new Error(response.body.request); 25 | } 26 | 27 | // Retrive captcha result once solved 28 | let maxAttempt = 60; // 3 min 29 | await delay(10000); // Wait 10 seconds 30 | 31 | // Fetch captcha response 32 | while (maxAttempt > 0) { 33 | maxAttempt--; 34 | log.info(`Looking for captcha response, remaining attempt: ${maxAttempt}, page: ${pageurl}`); 35 | const { body } = await got.get( 36 | `https://2captcha.com/res.php?key=${key}&action=get&id=${response.body.request}&json=1`, 37 | { 38 | responseType: 'json', 39 | } 40 | ); 41 | if (body.status === 1 && body.request) { 42 | log.info('Captcha response received: ' + pageurl); 43 | return body.request; 44 | } 45 | await delay(3000); // 3 seconds 46 | } 47 | 48 | // After 3 min and 10 seconds 49 | throw new Error(`Captcha timeout for ${pageurl}, sitekey: ${sitekey}`); 50 | }; 51 | 52 | // report = bad - report incorrectly solved captcha 53 | // report = good - confirm correct answer 54 | const report = async ({ rucaptcha, key, id, report = 'bad' }) => { 55 | const { body } = await got.get( 56 | `${rucaptcha ? API_RUCAPTCHA : API_2CAPTCHA}/res.php?key=${key}&action=report${report}&id=${id}` 57 | ); 58 | return body; // return OK_REPORT_RECORDED or an error code if something went wrong. 59 | }; 60 | 61 | const balance = async ({ rucaptcha, key, id, type = 'getbalance' }) => { 62 | const { body } = await got.get( 63 | `${rucaptcha ? API_RUCAPTCHA : API_2CAPTCHA}/res.php?key=${key}&action=${type}${id ? '&id' + id : ''}` 64 | ); 65 | return body; // '2.73688' 66 | }; 67 | 68 | module.exports = { solve, report, balance }; 69 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## hooman ![JS-Challange](https://github.com/sayem314/hooman/workflows/JS-Challenge/badge.svg) 2 | 3 | HTTP interceptor using got to bypass Cloudflare DDOS protection / JavaScript challenge on Node.js 4 | 5 | | JS-Challange | hCaptcha | 6 | | :---------------------------------------------------------------: | :-------------------------------------------------------------: | 7 | | ![](https://github.com/sayem314/hooman/raw/master/screenshot.png) | ![](https://github.com/sayem314/hooman/raw/master/hCaptcha.png) | 8 | 9 | > hooman is not meant for spamming, please use it sanely. 10 | 11 | ## Install 12 | 13 | ```shell 14 | # with npm: npm i hooman got 15 | yarn add hooman got 16 | ``` 17 | 18 | > got is peer-dependency 19 | 20 | ## Usage Example 21 | 22 | ###### GET HTML 23 | 24 | ```js 25 | const hooman = require('hooman'); 26 | 27 | (async () => { 28 | try { 29 | const response = await hooman.get('https://sayem.eu.org'); 30 | console.log(response.body); 31 | //=> ' ...' 32 | } catch (error) { 33 | console.log(error.response.body); 34 | //=> 'Internal server error ...' 35 | } 36 | })(); 37 | ``` 38 | 39 | ###### POST JSON 40 | 41 | ```js 42 | const { body } = await hooman.post('https://httpbin.org/anything', { 43 | json: { 44 | hello: 'world', 45 | }, 46 | responseType: 'json', 47 | }); 48 | console.log(body.data); 49 | //=> {hello: 'world'} 50 | ``` 51 | 52 | ###### Pipe Stream 53 | 54 | ```js 55 | // This is mandatory to set cookie first since .stream() doesn't fire hooks 56 | await hooman(jsChallengePage); 57 | 58 | // Now we can download files 59 | const image = fs.createWriteStream('image.jpg'); 60 | hooman.stream(imageUrl).pipe(image); 61 | ``` 62 | 63 | ###### Captcha 64 | 65 | ```js 66 | const response = await hooman.get(url, { 67 | captchaKey: '2captcha_or_rucaptcha_api_key', 68 | rucaptcha: true | false, // optional (default false) 69 | }); 70 | console.log(response.body); 71 | ``` 72 | 73 | You can also set environment variable `HOOMAN_CAPTCHA_KEY` and `HOOMAN_RUCAPTCHA` 74 | 75 | > All you need to do is provide `captchaKey` and rest is done by hooman. It automatically detects if g/hCaptcha is present and need solving or can be solved. There are console.log print on hit as well. 76 | 77 | > Note that if you make multiple request to same site at once only the first request will be sent for captcha solving while other request will be hanged until captcha is solved. You might face multiple trigger to captcha, please monitor your usage. Best practice is to make a dummy request first and let hooman solve captcha and then process further requests. 78 | 79 | ###### Custom Captcha Handling 80 | 81 | ```js 82 | const response = await hooman.get(url, { 83 | // required 84 | captchaKey: 'your_captcha_api_key', 85 | // use with captchaKey, should return captcha response string or undefined 86 | onCaptcha: ({ key, pageurl, sitekey, method }) => { 87 | // solve captcha here 88 | return h_captcha_response; 89 | }, 90 | }); 91 | console.log(response.body); 92 | ``` 93 | 94 | ###### Proxy 95 | 96 | ```js 97 | const HttpsProxyAgent = require('https-proxy-agent'); 98 | 99 | const proxy = new HttpsProxyAgent('http://127.0.0.1:3128'); 100 | 101 | const response = await hooman('https://sayem.eu.org', { 102 | agent: { 103 | https: proxy, 104 | }, 105 | }); 106 | ``` 107 | 108 | #### API 109 | 110 | Please see available [API here](https://github.com/sindresorhus/got/blob/master/readme.md#api). 111 | 112 | > All methods and props of [got](https://github.com/sindresorhus/got) should work fine. 113 | 114 | ## Support 115 | 116 | If you open any issue, please respect issue template and provide clean and re-producible example code which can be run without any modification. Low effort issue will be ignored. 117 | 118 | --- 119 | 120 | I don't make any profit with this library. If you want to show your appreciation, you can donate me [here](https://sayem.eu.org/donate) :scream_cat: Thanks! You can also hire me for scraping solution, ping me and we will discuss further :smile: 121 | 122 | > Made with :heart: & :coffee: by Sayem 123 | -------------------------------------------------------------------------------- /hooman.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const got = require('got'); 3 | const solveChallenge = require('./lib/core'); 4 | const solveCaptcha = require('./lib/captcha'); 5 | const delay = require('./lib/delay'); 6 | const log = require('./lib/logging'); 7 | const { CookieJar } = require('tough-cookie'); 8 | const UserAgent = require('user-agents'); 9 | 10 | const cookieJar = new CookieJar(); // Automatically parse and store cookies 11 | const challengeInProgress = {}; 12 | 13 | // Got instance to handle cloudflare bypass 14 | const instance = got.extend({ 15 | cookieJar, 16 | retry: { 17 | limit: 2, 18 | statusCodes: [408, 413, 429, 500, 502, 504, 521, 522, 524], 19 | }, // Do not retry 503, we will handle it 20 | cloudflareRetry: 5, // Prevent cloudflare loop 21 | notFoundRetry: 1, // Handle redirect issue 22 | captchaRetry: 1, // Max retry on captcha 23 | onCaptcha: null, // Custom function to handle captcha 24 | captchaKey: process.env.HOOMAN_CAPTCHA_KEY, 25 | rucaptcha: process.env.HOOMAN_RUCAPTCHA, 26 | http2: false, // http2 doesn't work well with proxies 27 | headers: { 28 | 'accept-encoding': 'gzip, deflate', 29 | 'accept-language': 'en-US,en;q=0.5', 30 | 'cache-control': 'max-age=0', 31 | 'upgrade-insecure-requests': '1', 32 | 'user-agent': new UserAgent().toString(), // Use random user agent between sessions 33 | }, // Mimic browser environment 34 | hooks: { 35 | beforeRequest: [ 36 | async (options) => { 37 | // In case the host is in challenge progress wait 38 | while (challengeInProgress[options.url.host]) { 39 | await delay(1000); 40 | } 41 | 42 | // Add required headers to mimic browser environment 43 | options.headers.host = options.url.host; 44 | options.headers.origin = options.url.origin; 45 | options.headers.referer = options.url.href; 46 | }, 47 | ], 48 | afterResponse: [ 49 | async (response) => { 50 | if ( 51 | // If site is not hosted on cloudflare skip 52 | response.statusCode === 503 && 53 | response.headers.server === 'cloudflare' && 54 | response.request.options.cloudflareRetry > 0 && 55 | response.body.includes('jschl-answer') && 56 | response.body.includes('var s') 57 | ) { 58 | // Solve js challange 59 | const host = response.request.options.url.host; 60 | if (challengeInProgress[host]) { 61 | log.info('Waiting for js-challenge to be solved: ' + host); 62 | while (challengeInProgress[host]) { 63 | await delay(1000); 64 | } 65 | log.info('JS-Challenge were solved and waiting is over, refreshing: ' + host); 66 | return instance(response.request.options); 67 | } 68 | 69 | log.info('Solving js-challenge: ' + response.url); 70 | challengeInProgress[host] = true; 71 | const data = await solveChallenge(response.url, response.body).finally(() => { 72 | setTimeout(() => { 73 | if (challengeInProgress[host]) { 74 | log.info('Clear js-challenge in progress: ' + host); 75 | delete challengeInProgress[host]; 76 | } 77 | }, 2000); 78 | }); 79 | response.request.options.cloudflareRetry--; 80 | return instance({ ...response.request.options, ...data }); 81 | } else if ( 82 | // Handle redirect issue for cloudflare 83 | response.statusCode === 404 && 84 | response.headers.server === 'cloudflare' && 85 | response.request.options.notFoundRetry > 0 && 86 | response.url.includes('?__cf_chl_jschl_tk') 87 | ) { 88 | // Do not retry again 89 | return instance({ 90 | url: response.url.split('?__cf_chl_jschl_tk')[0], 91 | notFoundRetry: response.request.options.notFoundRetry - 1, 92 | }); 93 | } else if ( 94 | response.statusCode === 403 && 95 | response.headers.server === 'cloudflare' && 96 | response.request.options.captchaKey && 97 | response.request.options.captchaRetry > 0 && 98 | response.body.includes('cf_captcha_kind') 99 | ) { 100 | // Solve g/hCaptcha 101 | // If there are captcha solving in progress for current domain do not request for solving 102 | const host = response.request.options.url.host; 103 | if (challengeInProgress[host] && !response.request.options.ignoreInProgress) { 104 | log.info('Waiting for captcha to be solved: ' + host); 105 | while (challengeInProgress[host]) { 106 | await delay(1000); 107 | } 108 | log.info('Captcha were solved and waiting is over, refreshing: ' + host); 109 | return instance(response.request.options); 110 | } 111 | 112 | challengeInProgress[host] = true; 113 | const captchaData = await solveCaptcha(response).finally(() => { 114 | setTimeout(() => { 115 | if (challengeInProgress[host]) { 116 | log.info('Clear captcha in progress: ' + host); 117 | delete challengeInProgress[host]; 118 | } 119 | }, 2000); 120 | }); 121 | 122 | // Submit captcha data 123 | if (captchaData) { 124 | log.info('Submit captcha: ' + captchaData.url); 125 | return instance({ 126 | ...response.request.options, 127 | ...captchaData, 128 | captchaRetry: response.request.options.captchaRetry - 1, 129 | ignoreInProgress: true, 130 | }); 131 | } 132 | } 133 | 134 | return response; 135 | }, 136 | ], 137 | }, 138 | mutableDefaults: true, // Defines if config can be changed later 139 | }); 140 | 141 | module.exports = instance; 142 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.8.3" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" 8 | integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== 9 | dependencies: 10 | "@babel/highlight" "^7.8.3" 11 | 12 | "@babel/helper-validator-identifier@^7.9.0": 13 | version "7.9.5" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80" 15 | integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g== 16 | 17 | "@babel/highlight@^7.8.3": 18 | version "7.9.0" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" 20 | integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.9.0" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@types/color-name@^1.1.1": 27 | version "1.1.1" 28 | resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" 29 | integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== 30 | 31 | abab@^2.0.3: 32 | version "2.0.3" 33 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" 34 | integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== 35 | 36 | acorn-globals@^6.0.0: 37 | version "6.0.0" 38 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" 39 | integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== 40 | dependencies: 41 | acorn "^7.1.1" 42 | acorn-walk "^7.1.1" 43 | 44 | acorn-jsx@^5.2.0: 45 | version "5.2.0" 46 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" 47 | integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== 48 | 49 | acorn-walk@^7.1.1: 50 | version "7.1.1" 51 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" 52 | integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== 53 | 54 | acorn@^7.1.1: 55 | version "7.1.1" 56 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" 57 | integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== 58 | 59 | acorn@^7.3.1: 60 | version "7.4.0" 61 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" 62 | integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== 63 | 64 | ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: 65 | version "6.12.2" 66 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" 67 | integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== 68 | dependencies: 69 | fast-deep-equal "^3.1.1" 70 | fast-json-stable-stringify "^2.0.0" 71 | json-schema-traverse "^0.4.1" 72 | uri-js "^4.2.2" 73 | 74 | ansi-colors@4.1.1, ansi-colors@^4.1.1: 75 | version "4.1.1" 76 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 77 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 78 | 79 | ansi-regex@^3.0.0: 80 | version "3.0.0" 81 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 82 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 83 | 84 | ansi-regex@^4.1.0: 85 | version "4.1.0" 86 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 87 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 88 | 89 | ansi-regex@^5.0.0: 90 | version "5.0.0" 91 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 92 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 93 | 94 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 95 | version "3.2.1" 96 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 97 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 98 | dependencies: 99 | color-convert "^1.9.0" 100 | 101 | ansi-styles@^4.1.0: 102 | version "4.2.1" 103 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" 104 | integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== 105 | dependencies: 106 | "@types/color-name" "^1.1.1" 107 | color-convert "^2.0.1" 108 | 109 | anymatch@~3.1.1: 110 | version "3.1.1" 111 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 112 | integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== 113 | dependencies: 114 | normalize-path "^3.0.0" 115 | picomatch "^2.0.4" 116 | 117 | argparse@^1.0.7: 118 | version "1.0.10" 119 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 120 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 121 | dependencies: 122 | sprintf-js "~1.0.2" 123 | 124 | array.prototype.map@^1.0.1: 125 | version "1.0.2" 126 | resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" 127 | integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw== 128 | dependencies: 129 | define-properties "^1.1.3" 130 | es-abstract "^1.17.0-next.1" 131 | es-array-method-boxes-properly "^1.0.0" 132 | is-string "^1.0.4" 133 | 134 | asn1@~0.2.3: 135 | version "0.2.4" 136 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 137 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 138 | dependencies: 139 | safer-buffer "~2.1.0" 140 | 141 | assert-plus@1.0.0, assert-plus@^1.0.0: 142 | version "1.0.0" 143 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 144 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 145 | 146 | astral-regex@^1.0.0: 147 | version "1.0.0" 148 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" 149 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== 150 | 151 | asynckit@^0.4.0: 152 | version "0.4.0" 153 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 154 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 155 | 156 | aws-sign2@~0.7.0: 157 | version "0.7.0" 158 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 159 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 160 | 161 | aws4@^1.8.0: 162 | version "1.9.1" 163 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" 164 | integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== 165 | 166 | balanced-match@^1.0.0: 167 | version "1.0.0" 168 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 169 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 170 | 171 | bcrypt-pbkdf@^1.0.0: 172 | version "1.0.2" 173 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 174 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 175 | dependencies: 176 | tweetnacl "^0.14.3" 177 | 178 | binary-extensions@^2.0.0: 179 | version "2.0.0" 180 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" 181 | integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== 182 | 183 | brace-expansion@^1.1.7: 184 | version "1.1.11" 185 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 186 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 187 | dependencies: 188 | balanced-match "^1.0.0" 189 | concat-map "0.0.1" 190 | 191 | braces@~3.0.2: 192 | version "3.0.2" 193 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 194 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 195 | dependencies: 196 | fill-range "^7.0.1" 197 | 198 | browser-process-hrtime@^1.0.0: 199 | version "1.0.0" 200 | resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" 201 | integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== 202 | 203 | browser-stdout@1.3.1: 204 | version "1.3.1" 205 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 206 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 207 | 208 | callsites@^3.0.0: 209 | version "3.1.0" 210 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 211 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 212 | 213 | camelcase@^5.0.0, camelcase@^5.3.1: 214 | version "5.3.1" 215 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 216 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 217 | 218 | caseless@~0.12.0: 219 | version "0.12.0" 220 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 221 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 222 | 223 | chalk@^2.0.0, chalk@^2.4.2: 224 | version "2.4.2" 225 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 226 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 227 | dependencies: 228 | ansi-styles "^3.2.1" 229 | escape-string-regexp "^1.0.5" 230 | supports-color "^5.3.0" 231 | 232 | chalk@^4.0.0: 233 | version "4.0.0" 234 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" 235 | integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== 236 | dependencies: 237 | ansi-styles "^4.1.0" 238 | supports-color "^7.1.0" 239 | 240 | chokidar@3.3.1: 241 | version "3.3.1" 242 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" 243 | integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== 244 | dependencies: 245 | anymatch "~3.1.1" 246 | braces "~3.0.2" 247 | glob-parent "~5.1.0" 248 | is-binary-path "~2.1.0" 249 | is-glob "~4.0.1" 250 | normalize-path "~3.0.0" 251 | readdirp "~3.3.0" 252 | optionalDependencies: 253 | fsevents "~2.1.2" 254 | 255 | cliui@^5.0.0: 256 | version "5.0.0" 257 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 258 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== 259 | dependencies: 260 | string-width "^3.1.0" 261 | strip-ansi "^5.2.0" 262 | wrap-ansi "^5.1.0" 263 | 264 | color-convert@^1.9.0: 265 | version "1.9.3" 266 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 267 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 268 | dependencies: 269 | color-name "1.1.3" 270 | 271 | color-convert@^2.0.1: 272 | version "2.0.1" 273 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 274 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 275 | dependencies: 276 | color-name "~1.1.4" 277 | 278 | color-name@1.1.3: 279 | version "1.1.3" 280 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 281 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 282 | 283 | color-name@~1.1.4: 284 | version "1.1.4" 285 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 286 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 287 | 288 | combined-stream@^1.0.6, combined-stream@~1.0.6: 289 | version "1.0.8" 290 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 291 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 292 | dependencies: 293 | delayed-stream "~1.0.0" 294 | 295 | concat-map@0.0.1: 296 | version "0.0.1" 297 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 298 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 299 | 300 | core-util-is@1.0.2: 301 | version "1.0.2" 302 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 303 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 304 | 305 | cross-spawn@^7.0.2: 306 | version "7.0.2" 307 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" 308 | integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw== 309 | dependencies: 310 | path-key "^3.1.0" 311 | shebang-command "^2.0.0" 312 | which "^2.0.1" 313 | 314 | cssom@^0.4.4: 315 | version "0.4.4" 316 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" 317 | integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== 318 | 319 | cssom@~0.3.6: 320 | version "0.3.8" 321 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" 322 | integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== 323 | 324 | cssstyle@^2.2.0: 325 | version "2.3.0" 326 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" 327 | integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== 328 | dependencies: 329 | cssom "~0.3.6" 330 | 331 | dashdash@^1.12.0: 332 | version "1.14.1" 333 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 334 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 335 | dependencies: 336 | assert-plus "^1.0.0" 337 | 338 | data-urls@^2.0.0: 339 | version "2.0.0" 340 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" 341 | integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== 342 | dependencies: 343 | abab "^2.0.3" 344 | whatwg-mimetype "^2.3.0" 345 | whatwg-url "^8.0.0" 346 | 347 | debug@3.2.6: 348 | version "3.2.6" 349 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 350 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 351 | dependencies: 352 | ms "^2.1.1" 353 | 354 | debug@^4.0.1: 355 | version "4.1.1" 356 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 357 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 358 | dependencies: 359 | ms "^2.1.1" 360 | 361 | decamelize@^1.2.0: 362 | version "1.2.0" 363 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 364 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 365 | 366 | decimal.js@^10.2.0: 367 | version "10.2.0" 368 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" 369 | integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== 370 | 371 | deep-is@^0.1.3, deep-is@~0.1.3: 372 | version "0.1.3" 373 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 374 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 375 | 376 | define-properties@^1.1.2, define-properties@^1.1.3: 377 | version "1.1.3" 378 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 379 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 380 | dependencies: 381 | object-keys "^1.0.12" 382 | 383 | delayed-stream@~1.0.0: 384 | version "1.0.0" 385 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 386 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 387 | 388 | detect-indent@~6.0.0: 389 | version "6.0.0" 390 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" 391 | integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== 392 | 393 | diff@4.0.2: 394 | version "4.0.2" 395 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 396 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 397 | 398 | docopt@~0.6.2: 399 | version "0.6.2" 400 | resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11" 401 | integrity sha1-so6eIiDaXsSffqW7JKR3h0Be6xE= 402 | 403 | doctrine@^3.0.0: 404 | version "3.0.0" 405 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 406 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 407 | dependencies: 408 | esutils "^2.0.2" 409 | 410 | domexception@^2.0.1: 411 | version "2.0.1" 412 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" 413 | integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== 414 | dependencies: 415 | webidl-conversions "^5.0.0" 416 | 417 | dot-json@^1.2.0: 418 | version "1.2.0" 419 | resolved "https://registry.yarnpkg.com/dot-json/-/dot-json-1.2.0.tgz#16f62bbb15b0b834f5c8de299cfb9e4d494f2ac1" 420 | integrity sha512-4bEM7KHFl/U9gAI5nIvU0/fwVzNnE713K339vcxAMtxd2D9mZP6o65UwlcXigJL4rfk90UM0J+D7IPIFYZMQ8Q== 421 | dependencies: 422 | detect-indent "~6.0.0" 423 | docopt "~0.6.2" 424 | underscore-keypath "~0.0.22" 425 | 426 | ecc-jsbn@~0.1.1: 427 | version "0.1.2" 428 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 429 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 430 | dependencies: 431 | jsbn "~0.1.0" 432 | safer-buffer "^2.1.0" 433 | 434 | emoji-regex@^7.0.1: 435 | version "7.0.3" 436 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 437 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 438 | 439 | enquirer@^2.3.5: 440 | version "2.3.6" 441 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 442 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 443 | dependencies: 444 | ansi-colors "^4.1.1" 445 | 446 | es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: 447 | version "1.17.5" 448 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" 449 | integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== 450 | dependencies: 451 | es-to-primitive "^1.2.1" 452 | function-bind "^1.1.1" 453 | has "^1.0.3" 454 | has-symbols "^1.0.1" 455 | is-callable "^1.1.5" 456 | is-regex "^1.0.5" 457 | object-inspect "^1.7.0" 458 | object-keys "^1.1.1" 459 | object.assign "^4.1.0" 460 | string.prototype.trimleft "^2.1.1" 461 | string.prototype.trimright "^2.1.1" 462 | 463 | es-abstract@^1.17.4: 464 | version "1.17.6" 465 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" 466 | integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== 467 | dependencies: 468 | es-to-primitive "^1.2.1" 469 | function-bind "^1.1.1" 470 | has "^1.0.3" 471 | has-symbols "^1.0.1" 472 | is-callable "^1.2.0" 473 | is-regex "^1.1.0" 474 | object-inspect "^1.7.0" 475 | object-keys "^1.1.1" 476 | object.assign "^4.1.0" 477 | string.prototype.trimend "^1.0.1" 478 | string.prototype.trimstart "^1.0.1" 479 | 480 | es-array-method-boxes-properly@^1.0.0: 481 | version "1.0.0" 482 | resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" 483 | integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== 484 | 485 | es-get-iterator@^1.0.2: 486 | version "1.1.0" 487 | resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" 488 | integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== 489 | dependencies: 490 | es-abstract "^1.17.4" 491 | has-symbols "^1.0.1" 492 | is-arguments "^1.0.4" 493 | is-map "^2.0.1" 494 | is-set "^2.0.1" 495 | is-string "^1.0.5" 496 | isarray "^2.0.5" 497 | 498 | es-to-primitive@^1.2.1: 499 | version "1.2.1" 500 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 501 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 502 | dependencies: 503 | is-callable "^1.1.4" 504 | is-date-object "^1.0.1" 505 | is-symbol "^1.0.2" 506 | 507 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 508 | version "1.0.5" 509 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 510 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 511 | 512 | escodegen@^1.14.1: 513 | version "1.14.1" 514 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" 515 | integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== 516 | dependencies: 517 | esprima "^4.0.1" 518 | estraverse "^4.2.0" 519 | esutils "^2.0.2" 520 | optionator "^0.8.1" 521 | optionalDependencies: 522 | source-map "~0.6.1" 523 | 524 | eslint-scope@^5.1.0: 525 | version "5.1.0" 526 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" 527 | integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== 528 | dependencies: 529 | esrecurse "^4.1.0" 530 | estraverse "^4.1.1" 531 | 532 | eslint-utils@^2.1.0: 533 | version "2.1.0" 534 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" 535 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 536 | dependencies: 537 | eslint-visitor-keys "^1.1.0" 538 | 539 | eslint-visitor-keys@^1.1.0: 540 | version "1.1.0" 541 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" 542 | integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== 543 | 544 | eslint-visitor-keys@^1.3.0: 545 | version "1.3.0" 546 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" 547 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 548 | 549 | eslint@^7.6.0: 550 | version "7.6.0" 551 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.6.0.tgz#522d67cfaea09724d96949c70e7a0550614d64d6" 552 | integrity sha512-QlAManNtqr7sozWm5TF4wIH9gmUm2hE3vNRUvyoYAa4y1l5/jxD/PQStEjBMQtCqZmSep8UxrcecI60hOpe61w== 553 | dependencies: 554 | "@babel/code-frame" "^7.0.0" 555 | ajv "^6.10.0" 556 | chalk "^4.0.0" 557 | cross-spawn "^7.0.2" 558 | debug "^4.0.1" 559 | doctrine "^3.0.0" 560 | enquirer "^2.3.5" 561 | eslint-scope "^5.1.0" 562 | eslint-utils "^2.1.0" 563 | eslint-visitor-keys "^1.3.0" 564 | espree "^7.2.0" 565 | esquery "^1.2.0" 566 | esutils "^2.0.2" 567 | file-entry-cache "^5.0.1" 568 | functional-red-black-tree "^1.0.1" 569 | glob-parent "^5.0.0" 570 | globals "^12.1.0" 571 | ignore "^4.0.6" 572 | import-fresh "^3.0.0" 573 | imurmurhash "^0.1.4" 574 | is-glob "^4.0.0" 575 | js-yaml "^3.13.1" 576 | json-stable-stringify-without-jsonify "^1.0.1" 577 | levn "^0.4.1" 578 | lodash "^4.17.19" 579 | minimatch "^3.0.4" 580 | natural-compare "^1.4.0" 581 | optionator "^0.9.1" 582 | progress "^2.0.0" 583 | regexpp "^3.1.0" 584 | semver "^7.2.1" 585 | strip-ansi "^6.0.0" 586 | strip-json-comments "^3.1.0" 587 | table "^5.2.3" 588 | text-table "^0.2.0" 589 | v8-compile-cache "^2.0.3" 590 | 591 | espree@^7.2.0: 592 | version "7.2.0" 593 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" 594 | integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== 595 | dependencies: 596 | acorn "^7.3.1" 597 | acorn-jsx "^5.2.0" 598 | eslint-visitor-keys "^1.3.0" 599 | 600 | esprima@^4.0.0, esprima@^4.0.1: 601 | version "4.0.1" 602 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 603 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 604 | 605 | esquery@^1.2.0: 606 | version "1.3.1" 607 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" 608 | integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== 609 | dependencies: 610 | estraverse "^5.1.0" 611 | 612 | esrecurse@^4.1.0: 613 | version "4.2.1" 614 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 615 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 616 | dependencies: 617 | estraverse "^4.1.0" 618 | 619 | estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: 620 | version "4.3.0" 621 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 622 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 623 | 624 | estraverse@^5.1.0: 625 | version "5.1.0" 626 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" 627 | integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== 628 | 629 | esutils@^2.0.2: 630 | version "2.0.3" 631 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 632 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 633 | 634 | extend@~3.0.2: 635 | version "3.0.2" 636 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 637 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 638 | 639 | extsprintf@1.3.0: 640 | version "1.3.0" 641 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 642 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 643 | 644 | extsprintf@^1.2.0: 645 | version "1.4.0" 646 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 647 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 648 | 649 | fast-deep-equal@^3.1.1: 650 | version "3.1.1" 651 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" 652 | integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== 653 | 654 | fast-json-stable-stringify@^2.0.0: 655 | version "2.1.0" 656 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 657 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 658 | 659 | fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: 660 | version "2.0.6" 661 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 662 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 663 | 664 | file-entry-cache@^5.0.1: 665 | version "5.0.1" 666 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" 667 | integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== 668 | dependencies: 669 | flat-cache "^2.0.1" 670 | 671 | fill-range@^7.0.1: 672 | version "7.0.1" 673 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 674 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 675 | dependencies: 676 | to-regex-range "^5.0.1" 677 | 678 | find-up@4.1.0: 679 | version "4.1.0" 680 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 681 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 682 | dependencies: 683 | locate-path "^5.0.0" 684 | path-exists "^4.0.0" 685 | 686 | find-up@^3.0.0: 687 | version "3.0.0" 688 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 689 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 690 | dependencies: 691 | locate-path "^3.0.0" 692 | 693 | flat-cache@^2.0.1: 694 | version "2.0.1" 695 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" 696 | integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== 697 | dependencies: 698 | flatted "^2.0.0" 699 | rimraf "2.6.3" 700 | write "1.0.3" 701 | 702 | flat@^4.1.0: 703 | version "4.1.0" 704 | resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" 705 | integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== 706 | dependencies: 707 | is-buffer "~2.0.3" 708 | 709 | flatted@^2.0.0: 710 | version "2.0.2" 711 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" 712 | integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== 713 | 714 | forever-agent@~0.6.1: 715 | version "0.6.1" 716 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 717 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 718 | 719 | form-data@~2.3.2: 720 | version "2.3.3" 721 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 722 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 723 | dependencies: 724 | asynckit "^0.4.0" 725 | combined-stream "^1.0.6" 726 | mime-types "^2.1.12" 727 | 728 | fs.realpath@^1.0.0: 729 | version "1.0.0" 730 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 731 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 732 | 733 | fsevents@~2.1.2: 734 | version "2.1.3" 735 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" 736 | integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== 737 | 738 | function-bind@^1.1.1: 739 | version "1.1.1" 740 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 741 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 742 | 743 | functional-red-black-tree@^1.0.1: 744 | version "1.0.1" 745 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 746 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 747 | 748 | get-caller-file@^2.0.1: 749 | version "2.0.5" 750 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 751 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 752 | 753 | getpass@^0.1.1: 754 | version "0.1.7" 755 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 756 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 757 | dependencies: 758 | assert-plus "^1.0.0" 759 | 760 | glob-parent@^5.0.0, glob-parent@~5.1.0: 761 | version "5.1.1" 762 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 763 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== 764 | dependencies: 765 | is-glob "^4.0.1" 766 | 767 | glob@7.1.6, glob@^7.1.3: 768 | version "7.1.6" 769 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 770 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 771 | dependencies: 772 | fs.realpath "^1.0.0" 773 | inflight "^1.0.4" 774 | inherits "2" 775 | minimatch "^3.0.4" 776 | once "^1.3.0" 777 | path-is-absolute "^1.0.0" 778 | 779 | globals@^12.1.0: 780 | version "12.4.0" 781 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" 782 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== 783 | dependencies: 784 | type-fest "^0.8.1" 785 | 786 | growl@1.10.5: 787 | version "1.10.5" 788 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 789 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 790 | 791 | har-schema@^2.0.0: 792 | version "2.0.0" 793 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 794 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 795 | 796 | har-validator@~5.1.3: 797 | version "5.1.3" 798 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 799 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 800 | dependencies: 801 | ajv "^6.5.5" 802 | har-schema "^2.0.0" 803 | 804 | has-flag@^3.0.0: 805 | version "3.0.0" 806 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 807 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 808 | 809 | has-flag@^4.0.0: 810 | version "4.0.0" 811 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 812 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 813 | 814 | has-symbols@^1.0.0, has-symbols@^1.0.1: 815 | version "1.0.1" 816 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" 817 | integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== 818 | 819 | has@^1.0.3: 820 | version "1.0.3" 821 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 822 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 823 | dependencies: 824 | function-bind "^1.1.1" 825 | 826 | he@1.2.0: 827 | version "1.2.0" 828 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 829 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 830 | 831 | html-encoding-sniffer@^2.0.1: 832 | version "2.0.1" 833 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" 834 | integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== 835 | dependencies: 836 | whatwg-encoding "^1.0.5" 837 | 838 | http-signature@~1.2.0: 839 | version "1.2.0" 840 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 841 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 842 | dependencies: 843 | assert-plus "^1.0.0" 844 | jsprim "^1.2.2" 845 | sshpk "^1.7.0" 846 | 847 | iconv-lite@0.4.24: 848 | version "0.4.24" 849 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 850 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 851 | dependencies: 852 | safer-buffer ">= 2.1.2 < 3" 853 | 854 | ignore@^4.0.6: 855 | version "4.0.6" 856 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 857 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 858 | 859 | import-fresh@^3.0.0: 860 | version "3.2.1" 861 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" 862 | integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== 863 | dependencies: 864 | parent-module "^1.0.0" 865 | resolve-from "^4.0.0" 866 | 867 | imurmurhash@^0.1.4: 868 | version "0.1.4" 869 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 870 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 871 | 872 | inflight@^1.0.4: 873 | version "1.0.6" 874 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 875 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 876 | dependencies: 877 | once "^1.3.0" 878 | wrappy "1" 879 | 880 | inherits@2: 881 | version "2.0.4" 882 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 883 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 884 | 885 | ip-regex@^2.1.0: 886 | version "2.1.0" 887 | resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" 888 | integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= 889 | 890 | is-arguments@^1.0.4: 891 | version "1.0.4" 892 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" 893 | integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== 894 | 895 | is-binary-path@~2.1.0: 896 | version "2.1.0" 897 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 898 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 899 | dependencies: 900 | binary-extensions "^2.0.0" 901 | 902 | is-buffer@~2.0.3: 903 | version "2.0.4" 904 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" 905 | integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== 906 | 907 | is-callable@^1.1.4, is-callable@^1.1.5: 908 | version "1.1.5" 909 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" 910 | integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== 911 | 912 | is-callable@^1.2.0: 913 | version "1.2.0" 914 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" 915 | integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== 916 | 917 | is-date-object@^1.0.1: 918 | version "1.0.2" 919 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 920 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 921 | 922 | is-extglob@^2.1.1: 923 | version "2.1.1" 924 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 925 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 926 | 927 | is-fullwidth-code-point@^2.0.0: 928 | version "2.0.0" 929 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 930 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 931 | 932 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 933 | version "4.0.1" 934 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 935 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 936 | dependencies: 937 | is-extglob "^2.1.1" 938 | 939 | is-map@^2.0.1: 940 | version "2.0.1" 941 | resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" 942 | integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== 943 | 944 | is-number@^7.0.0: 945 | version "7.0.0" 946 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 947 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 948 | 949 | is-plain-obj@^1.1.0: 950 | version "1.1.0" 951 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 952 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 953 | 954 | is-potential-custom-element-name@^1.0.0: 955 | version "1.0.0" 956 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" 957 | integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= 958 | 959 | is-regex@^1.0.5: 960 | version "1.0.5" 961 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" 962 | integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== 963 | dependencies: 964 | has "^1.0.3" 965 | 966 | is-regex@^1.1.0: 967 | version "1.1.1" 968 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" 969 | integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== 970 | dependencies: 971 | has-symbols "^1.0.1" 972 | 973 | is-set@^2.0.1: 974 | version "2.0.1" 975 | resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" 976 | integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== 977 | 978 | is-string@^1.0.4, is-string@^1.0.5: 979 | version "1.0.5" 980 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 981 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 982 | 983 | is-symbol@^1.0.2: 984 | version "1.0.3" 985 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 986 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 987 | dependencies: 988 | has-symbols "^1.0.1" 989 | 990 | is-typedarray@~1.0.0: 991 | version "1.0.0" 992 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 993 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 994 | 995 | isarray@^2.0.5: 996 | version "2.0.5" 997 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" 998 | integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== 999 | 1000 | isexe@^2.0.0: 1001 | version "2.0.0" 1002 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1003 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1004 | 1005 | isstream@~0.1.2: 1006 | version "0.1.2" 1007 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1008 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 1009 | 1010 | iterate-iterator@^1.0.1: 1011 | version "1.0.1" 1012 | resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" 1013 | integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== 1014 | 1015 | iterate-value@^1.0.0: 1016 | version "1.0.2" 1017 | resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" 1018 | integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== 1019 | dependencies: 1020 | es-get-iterator "^1.0.2" 1021 | iterate-iterator "^1.0.1" 1022 | 1023 | js-tokens@^4.0.0: 1024 | version "4.0.0" 1025 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1026 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1027 | 1028 | js-yaml@3.13.1, js-yaml@^3.13.1: 1029 | version "3.13.1" 1030 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 1031 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 1032 | dependencies: 1033 | argparse "^1.0.7" 1034 | esprima "^4.0.0" 1035 | 1036 | jsbn@~0.1.0: 1037 | version "0.1.1" 1038 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1039 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 1040 | 1041 | jsdom@^16.3.0: 1042 | version "16.3.0" 1043 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c" 1044 | integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg== 1045 | dependencies: 1046 | abab "^2.0.3" 1047 | acorn "^7.1.1" 1048 | acorn-globals "^6.0.0" 1049 | cssom "^0.4.4" 1050 | cssstyle "^2.2.0" 1051 | data-urls "^2.0.0" 1052 | decimal.js "^10.2.0" 1053 | domexception "^2.0.1" 1054 | escodegen "^1.14.1" 1055 | html-encoding-sniffer "^2.0.1" 1056 | is-potential-custom-element-name "^1.0.0" 1057 | nwsapi "^2.2.0" 1058 | parse5 "5.1.1" 1059 | request "^2.88.2" 1060 | request-promise-native "^1.0.8" 1061 | saxes "^5.0.0" 1062 | symbol-tree "^3.2.4" 1063 | tough-cookie "^3.0.1" 1064 | w3c-hr-time "^1.0.2" 1065 | w3c-xmlserializer "^2.0.0" 1066 | webidl-conversions "^6.1.0" 1067 | whatwg-encoding "^1.0.5" 1068 | whatwg-mimetype "^2.3.0" 1069 | whatwg-url "^8.0.0" 1070 | ws "^7.2.3" 1071 | xml-name-validator "^3.0.0" 1072 | 1073 | json-schema-traverse@^0.4.1: 1074 | version "0.4.1" 1075 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1076 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1077 | 1078 | json-schema@0.2.3: 1079 | version "0.2.3" 1080 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1081 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 1082 | 1083 | json-stable-stringify-without-jsonify@^1.0.1: 1084 | version "1.0.1" 1085 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1086 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1087 | 1088 | json-stringify-safe@~5.0.1: 1089 | version "5.0.1" 1090 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1091 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 1092 | 1093 | jsprim@^1.2.2: 1094 | version "1.4.1" 1095 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1096 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 1097 | dependencies: 1098 | assert-plus "1.0.0" 1099 | extsprintf "1.3.0" 1100 | json-schema "0.2.3" 1101 | verror "1.10.0" 1102 | 1103 | levn@^0.4.1: 1104 | version "0.4.1" 1105 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1106 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1107 | dependencies: 1108 | prelude-ls "^1.2.1" 1109 | type-check "~0.4.0" 1110 | 1111 | levn@~0.3.0: 1112 | version "0.3.0" 1113 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1114 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 1115 | dependencies: 1116 | prelude-ls "~1.1.2" 1117 | type-check "~0.3.2" 1118 | 1119 | locate-path@^3.0.0: 1120 | version "3.0.0" 1121 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1122 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 1123 | dependencies: 1124 | p-locate "^3.0.0" 1125 | path-exists "^3.0.0" 1126 | 1127 | locate-path@^5.0.0: 1128 | version "5.0.0" 1129 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1130 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1131 | dependencies: 1132 | p-locate "^4.1.0" 1133 | 1134 | lodash.clonedeep@^4.5.0: 1135 | version "4.5.0" 1136 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 1137 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= 1138 | 1139 | lodash.sortby@^4.7.0: 1140 | version "4.7.0" 1141 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 1142 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 1143 | 1144 | lodash@^4.17.14, lodash@^4.17.15: 1145 | version "4.17.15" 1146 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 1147 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 1148 | 1149 | lodash@^4.17.19: 1150 | version "4.17.19" 1151 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" 1152 | integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== 1153 | 1154 | log-symbols@3.0.0: 1155 | version "3.0.0" 1156 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" 1157 | integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== 1158 | dependencies: 1159 | chalk "^2.4.2" 1160 | 1161 | mime-db@1.44.0: 1162 | version "1.44.0" 1163 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" 1164 | integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== 1165 | 1166 | mime-types@^2.1.12, mime-types@~2.1.19: 1167 | version "2.1.27" 1168 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" 1169 | integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== 1170 | dependencies: 1171 | mime-db "1.44.0" 1172 | 1173 | minimatch@3.0.4, minimatch@^3.0.4: 1174 | version "3.0.4" 1175 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1176 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1177 | dependencies: 1178 | brace-expansion "^1.1.7" 1179 | 1180 | minimist@^1.2.5: 1181 | version "1.2.5" 1182 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1183 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1184 | 1185 | mkdirp@^0.5.1: 1186 | version "0.5.5" 1187 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" 1188 | integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== 1189 | dependencies: 1190 | minimist "^1.2.5" 1191 | 1192 | mocha@^8.1.1: 1193 | version "8.1.1" 1194 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.1.tgz#1de1ba4e9a2c955d96b84e469d7540848223592d" 1195 | integrity sha512-p7FuGlYH8t7gaiodlFreseLxEmxTgvyG9RgPHODFPySNhwUehu8NIb0vdSt3WFckSneswZ0Un5typYcWElk7HQ== 1196 | dependencies: 1197 | ansi-colors "4.1.1" 1198 | browser-stdout "1.3.1" 1199 | chokidar "3.3.1" 1200 | debug "3.2.6" 1201 | diff "4.0.2" 1202 | escape-string-regexp "1.0.5" 1203 | find-up "4.1.0" 1204 | glob "7.1.6" 1205 | growl "1.10.5" 1206 | he "1.2.0" 1207 | js-yaml "3.13.1" 1208 | log-symbols "3.0.0" 1209 | minimatch "3.0.4" 1210 | ms "2.1.2" 1211 | object.assign "4.1.0" 1212 | promise.allsettled "1.0.2" 1213 | serialize-javascript "4.0.0" 1214 | strip-json-comments "3.0.1" 1215 | supports-color "7.1.0" 1216 | which "2.0.2" 1217 | wide-align "1.1.3" 1218 | workerpool "6.0.0" 1219 | yargs "13.3.2" 1220 | yargs-parser "13.1.2" 1221 | yargs-unparser "1.6.1" 1222 | 1223 | ms@2.1.2, ms@^2.1.1: 1224 | version "2.1.2" 1225 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1226 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1227 | 1228 | natural-compare@^1.4.0: 1229 | version "1.4.0" 1230 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1231 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1232 | 1233 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1234 | version "3.0.0" 1235 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1236 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1237 | 1238 | nwsapi@^2.2.0: 1239 | version "2.2.0" 1240 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" 1241 | integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== 1242 | 1243 | oauth-sign@~0.9.0: 1244 | version "0.9.0" 1245 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 1246 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 1247 | 1248 | object-inspect@^1.7.0: 1249 | version "1.7.0" 1250 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" 1251 | integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== 1252 | 1253 | object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: 1254 | version "1.1.1" 1255 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1256 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1257 | 1258 | object.assign@4.1.0, object.assign@^4.1.0: 1259 | version "4.1.0" 1260 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 1261 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 1262 | dependencies: 1263 | define-properties "^1.1.2" 1264 | function-bind "^1.1.1" 1265 | has-symbols "^1.0.0" 1266 | object-keys "^1.0.11" 1267 | 1268 | once@^1.3.0: 1269 | version "1.4.0" 1270 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1271 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1272 | dependencies: 1273 | wrappy "1" 1274 | 1275 | optionator@^0.8.1: 1276 | version "0.8.3" 1277 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 1278 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 1279 | dependencies: 1280 | deep-is "~0.1.3" 1281 | fast-levenshtein "~2.0.6" 1282 | levn "~0.3.0" 1283 | prelude-ls "~1.1.2" 1284 | type-check "~0.3.2" 1285 | word-wrap "~1.2.3" 1286 | 1287 | optionator@^0.9.1: 1288 | version "0.9.1" 1289 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1290 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1291 | dependencies: 1292 | deep-is "^0.1.3" 1293 | fast-levenshtein "^2.0.6" 1294 | levn "^0.4.1" 1295 | prelude-ls "^1.2.1" 1296 | type-check "^0.4.0" 1297 | word-wrap "^1.2.3" 1298 | 1299 | p-limit@^2.0.0, p-limit@^2.2.0: 1300 | version "2.3.0" 1301 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1302 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1303 | dependencies: 1304 | p-try "^2.0.0" 1305 | 1306 | p-locate@^3.0.0: 1307 | version "3.0.0" 1308 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 1309 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 1310 | dependencies: 1311 | p-limit "^2.0.0" 1312 | 1313 | p-locate@^4.1.0: 1314 | version "4.1.0" 1315 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1316 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1317 | dependencies: 1318 | p-limit "^2.2.0" 1319 | 1320 | p-try@^2.0.0: 1321 | version "2.2.0" 1322 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1323 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1324 | 1325 | parent-module@^1.0.0: 1326 | version "1.0.1" 1327 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1328 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1329 | dependencies: 1330 | callsites "^3.0.0" 1331 | 1332 | parse5@5.1.1: 1333 | version "5.1.1" 1334 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" 1335 | integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== 1336 | 1337 | path-exists@^3.0.0: 1338 | version "3.0.0" 1339 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1340 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1341 | 1342 | path-exists@^4.0.0: 1343 | version "4.0.0" 1344 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1345 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1346 | 1347 | path-is-absolute@^1.0.0: 1348 | version "1.0.1" 1349 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1350 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1351 | 1352 | path-key@^3.1.0: 1353 | version "3.1.1" 1354 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1355 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1356 | 1357 | performance-now@^2.1.0: 1358 | version "2.1.0" 1359 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1360 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 1361 | 1362 | picomatch@^2.0.4, picomatch@^2.0.7: 1363 | version "2.2.2" 1364 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 1365 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 1366 | 1367 | prelude-ls@^1.2.1: 1368 | version "1.2.1" 1369 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1370 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1371 | 1372 | prelude-ls@~1.1.2: 1373 | version "1.1.2" 1374 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 1375 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 1376 | 1377 | progress@^2.0.0: 1378 | version "2.0.3" 1379 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 1380 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 1381 | 1382 | promise.allsettled@1.0.2: 1383 | version "1.0.2" 1384 | resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" 1385 | integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== 1386 | dependencies: 1387 | array.prototype.map "^1.0.1" 1388 | define-properties "^1.1.3" 1389 | es-abstract "^1.17.0-next.1" 1390 | function-bind "^1.1.1" 1391 | iterate-value "^1.0.0" 1392 | 1393 | psl@^1.1.28, psl@^1.1.33: 1394 | version "1.8.0" 1395 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 1396 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 1397 | 1398 | punycode@^2.1.0, punycode@^2.1.1: 1399 | version "2.1.1" 1400 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1401 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1402 | 1403 | qs@~6.5.2: 1404 | version "6.5.2" 1405 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 1406 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 1407 | 1408 | randombytes@^2.1.0: 1409 | version "2.1.0" 1410 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1411 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1412 | dependencies: 1413 | safe-buffer "^5.1.0" 1414 | 1415 | readdirp@~3.3.0: 1416 | version "3.3.0" 1417 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" 1418 | integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== 1419 | dependencies: 1420 | picomatch "^2.0.7" 1421 | 1422 | regexpp@^3.1.0: 1423 | version "3.1.0" 1424 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" 1425 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== 1426 | 1427 | request-promise-core@1.1.3: 1428 | version "1.1.3" 1429 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" 1430 | integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== 1431 | dependencies: 1432 | lodash "^4.17.15" 1433 | 1434 | request-promise-native@^1.0.8: 1435 | version "1.0.8" 1436 | resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" 1437 | integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== 1438 | dependencies: 1439 | request-promise-core "1.1.3" 1440 | stealthy-require "^1.1.1" 1441 | tough-cookie "^2.3.3" 1442 | 1443 | request@^2.88.2: 1444 | version "2.88.2" 1445 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 1446 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 1447 | dependencies: 1448 | aws-sign2 "~0.7.0" 1449 | aws4 "^1.8.0" 1450 | caseless "~0.12.0" 1451 | combined-stream "~1.0.6" 1452 | extend "~3.0.2" 1453 | forever-agent "~0.6.1" 1454 | form-data "~2.3.2" 1455 | har-validator "~5.1.3" 1456 | http-signature "~1.2.0" 1457 | is-typedarray "~1.0.0" 1458 | isstream "~0.1.2" 1459 | json-stringify-safe "~5.0.1" 1460 | mime-types "~2.1.19" 1461 | oauth-sign "~0.9.0" 1462 | performance-now "^2.1.0" 1463 | qs "~6.5.2" 1464 | safe-buffer "^5.1.2" 1465 | tough-cookie "~2.5.0" 1466 | tunnel-agent "^0.6.0" 1467 | uuid "^3.3.2" 1468 | 1469 | require-directory@^2.1.1: 1470 | version "2.1.1" 1471 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1472 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 1473 | 1474 | require-main-filename@^2.0.0: 1475 | version "2.0.0" 1476 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 1477 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 1478 | 1479 | resolve-from@^4.0.0: 1480 | version "4.0.0" 1481 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1482 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1483 | 1484 | rimraf@2.6.3: 1485 | version "2.6.3" 1486 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 1487 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 1488 | dependencies: 1489 | glob "^7.1.3" 1490 | 1491 | safe-buffer@^5.0.1, safe-buffer@^5.1.2: 1492 | version "5.2.0" 1493 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 1494 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 1495 | 1496 | safe-buffer@^5.1.0: 1497 | version "5.2.1" 1498 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1499 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1500 | 1501 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 1502 | version "2.1.2" 1503 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1504 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1505 | 1506 | saxes@^5.0.0: 1507 | version "5.0.1" 1508 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" 1509 | integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== 1510 | dependencies: 1511 | xmlchars "^2.2.0" 1512 | 1513 | semver@^7.2.1: 1514 | version "7.3.2" 1515 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" 1516 | integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== 1517 | 1518 | serialize-javascript@4.0.0: 1519 | version "4.0.0" 1520 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" 1521 | integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== 1522 | dependencies: 1523 | randombytes "^2.1.0" 1524 | 1525 | set-blocking@^2.0.0: 1526 | version "2.0.0" 1527 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1528 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 1529 | 1530 | shebang-command@^2.0.0: 1531 | version "2.0.0" 1532 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1533 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1534 | dependencies: 1535 | shebang-regex "^3.0.0" 1536 | 1537 | shebang-regex@^3.0.0: 1538 | version "3.0.0" 1539 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1540 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1541 | 1542 | slice-ansi@^2.1.0: 1543 | version "2.1.0" 1544 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" 1545 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== 1546 | dependencies: 1547 | ansi-styles "^3.2.0" 1548 | astral-regex "^1.0.0" 1549 | is-fullwidth-code-point "^2.0.0" 1550 | 1551 | source-map@~0.6.1: 1552 | version "0.6.1" 1553 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1554 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1555 | 1556 | sprintf-js@~1.0.2: 1557 | version "1.0.3" 1558 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1559 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1560 | 1561 | sshpk@^1.7.0: 1562 | version "1.16.1" 1563 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 1564 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 1565 | dependencies: 1566 | asn1 "~0.2.3" 1567 | assert-plus "^1.0.0" 1568 | bcrypt-pbkdf "^1.0.0" 1569 | dashdash "^1.12.0" 1570 | ecc-jsbn "~0.1.1" 1571 | getpass "^0.1.1" 1572 | jsbn "~0.1.0" 1573 | safer-buffer "^2.0.2" 1574 | tweetnacl "~0.14.0" 1575 | 1576 | stealthy-require@^1.1.1: 1577 | version "1.1.1" 1578 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 1579 | integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= 1580 | 1581 | "string-width@^1.0.2 || 2": 1582 | version "2.1.1" 1583 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1584 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1585 | dependencies: 1586 | is-fullwidth-code-point "^2.0.0" 1587 | strip-ansi "^4.0.0" 1588 | 1589 | string-width@^3.0.0, string-width@^3.1.0: 1590 | version "3.1.0" 1591 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 1592 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 1593 | dependencies: 1594 | emoji-regex "^7.0.1" 1595 | is-fullwidth-code-point "^2.0.0" 1596 | strip-ansi "^5.1.0" 1597 | 1598 | string.prototype.trimend@^1.0.0, string.prototype.trimend@^1.0.1: 1599 | version "1.0.1" 1600 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" 1601 | integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== 1602 | dependencies: 1603 | define-properties "^1.1.3" 1604 | es-abstract "^1.17.5" 1605 | 1606 | string.prototype.trimleft@^2.1.1: 1607 | version "2.1.2" 1608 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" 1609 | integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== 1610 | dependencies: 1611 | define-properties "^1.1.3" 1612 | es-abstract "^1.17.5" 1613 | string.prototype.trimstart "^1.0.0" 1614 | 1615 | string.prototype.trimright@^2.1.1: 1616 | version "2.1.2" 1617 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" 1618 | integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== 1619 | dependencies: 1620 | define-properties "^1.1.3" 1621 | es-abstract "^1.17.5" 1622 | string.prototype.trimend "^1.0.0" 1623 | 1624 | string.prototype.trimstart@^1.0.0, string.prototype.trimstart@^1.0.1: 1625 | version "1.0.1" 1626 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" 1627 | integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== 1628 | dependencies: 1629 | define-properties "^1.1.3" 1630 | es-abstract "^1.17.5" 1631 | 1632 | strip-ansi@^4.0.0: 1633 | version "4.0.0" 1634 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1635 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1636 | dependencies: 1637 | ansi-regex "^3.0.0" 1638 | 1639 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 1640 | version "5.2.0" 1641 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 1642 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 1643 | dependencies: 1644 | ansi-regex "^4.1.0" 1645 | 1646 | strip-ansi@^6.0.0: 1647 | version "6.0.0" 1648 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1649 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1650 | dependencies: 1651 | ansi-regex "^5.0.0" 1652 | 1653 | strip-json-comments@3.0.1: 1654 | version "3.0.1" 1655 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" 1656 | integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== 1657 | 1658 | strip-json-comments@^3.1.0: 1659 | version "3.1.0" 1660 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" 1661 | integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== 1662 | 1663 | supports-color@7.1.0, supports-color@^7.1.0: 1664 | version "7.1.0" 1665 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" 1666 | integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== 1667 | dependencies: 1668 | has-flag "^4.0.0" 1669 | 1670 | supports-color@^5.3.0: 1671 | version "5.5.0" 1672 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1673 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1674 | dependencies: 1675 | has-flag "^3.0.0" 1676 | 1677 | symbol-tree@^3.2.4: 1678 | version "3.2.4" 1679 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" 1680 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 1681 | 1682 | table@^5.2.3: 1683 | version "5.4.6" 1684 | resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" 1685 | integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== 1686 | dependencies: 1687 | ajv "^6.10.2" 1688 | lodash "^4.17.14" 1689 | slice-ansi "^2.1.0" 1690 | string-width "^3.0.0" 1691 | 1692 | text-table@^0.2.0: 1693 | version "0.2.0" 1694 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1695 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1696 | 1697 | to-regex-range@^5.0.1: 1698 | version "5.0.1" 1699 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1700 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1701 | dependencies: 1702 | is-number "^7.0.0" 1703 | 1704 | tough-cookie@^2.3.3, tough-cookie@~2.5.0: 1705 | version "2.5.0" 1706 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 1707 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 1708 | dependencies: 1709 | psl "^1.1.28" 1710 | punycode "^2.1.1" 1711 | 1712 | tough-cookie@^3.0.1: 1713 | version "3.0.1" 1714 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" 1715 | integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== 1716 | dependencies: 1717 | ip-regex "^2.1.0" 1718 | psl "^1.1.28" 1719 | punycode "^2.1.1" 1720 | 1721 | tough-cookie@^4.0.0: 1722 | version "4.0.0" 1723 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" 1724 | integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== 1725 | dependencies: 1726 | psl "^1.1.33" 1727 | punycode "^2.1.1" 1728 | universalify "^0.1.2" 1729 | 1730 | tr46@^2.0.0: 1731 | version "2.0.2" 1732 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" 1733 | integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== 1734 | dependencies: 1735 | punycode "^2.1.1" 1736 | 1737 | tunnel-agent@^0.6.0: 1738 | version "0.6.0" 1739 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1740 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 1741 | dependencies: 1742 | safe-buffer "^5.0.1" 1743 | 1744 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1745 | version "0.14.5" 1746 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1747 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 1748 | 1749 | type-check@^0.4.0, type-check@~0.4.0: 1750 | version "0.4.0" 1751 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 1752 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1753 | dependencies: 1754 | prelude-ls "^1.2.1" 1755 | 1756 | type-check@~0.3.2: 1757 | version "0.3.2" 1758 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1759 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1760 | dependencies: 1761 | prelude-ls "~1.1.2" 1762 | 1763 | type-fest@^0.8.1: 1764 | version "0.8.1" 1765 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 1766 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 1767 | 1768 | underscore-keypath@~0.0.22: 1769 | version "0.0.22" 1770 | resolved "https://registry.yarnpkg.com/underscore-keypath/-/underscore-keypath-0.0.22.tgz#48a528392bb6efc424be1caa56da4b5faccf264d" 1771 | integrity sha1-SKUoOSu278QkvhyqVtpLX6zPJk0= 1772 | dependencies: 1773 | underscore "*" 1774 | 1775 | underscore@*: 1776 | version "1.10.2" 1777 | resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.10.2.tgz#73d6aa3668f3188e4adb0f1943bd12cfd7efaaaf" 1778 | integrity sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg== 1779 | 1780 | universalify@^0.1.2: 1781 | version "0.1.2" 1782 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 1783 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 1784 | 1785 | uri-js@^4.2.2: 1786 | version "4.2.2" 1787 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 1788 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 1789 | dependencies: 1790 | punycode "^2.1.0" 1791 | 1792 | user-agents@^1.0.559: 1793 | version "1.0.559" 1794 | resolved "https://registry.yarnpkg.com/user-agents/-/user-agents-1.0.559.tgz#389817f79dff667d9e5c8803631c41043e8eccd8" 1795 | integrity sha512-HdAlNS3vDxOGMRwmv8or05xL96MV3CEwQhUSFTCRoOvTOEnWhTEBPAHRry/xZpVTTOtx77UHMal8YKcx6fs7Lg== 1796 | dependencies: 1797 | dot-json "^1.2.0" 1798 | lodash.clonedeep "^4.5.0" 1799 | 1800 | uuid@^3.3.2: 1801 | version "3.4.0" 1802 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 1803 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 1804 | 1805 | v8-compile-cache@^2.0.3: 1806 | version "2.1.0" 1807 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" 1808 | integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== 1809 | 1810 | verror@1.10.0: 1811 | version "1.10.0" 1812 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1813 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 1814 | dependencies: 1815 | assert-plus "^1.0.0" 1816 | core-util-is "1.0.2" 1817 | extsprintf "^1.2.0" 1818 | 1819 | w3c-hr-time@^1.0.2: 1820 | version "1.0.2" 1821 | resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" 1822 | integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== 1823 | dependencies: 1824 | browser-process-hrtime "^1.0.0" 1825 | 1826 | w3c-xmlserializer@^2.0.0: 1827 | version "2.0.0" 1828 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" 1829 | integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== 1830 | dependencies: 1831 | xml-name-validator "^3.0.0" 1832 | 1833 | webidl-conversions@^5.0.0: 1834 | version "5.0.0" 1835 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" 1836 | integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== 1837 | 1838 | webidl-conversions@^6.1.0: 1839 | version "6.1.0" 1840 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" 1841 | integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== 1842 | 1843 | whatwg-encoding@^1.0.5: 1844 | version "1.0.5" 1845 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" 1846 | integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== 1847 | dependencies: 1848 | iconv-lite "0.4.24" 1849 | 1850 | whatwg-mimetype@^2.3.0: 1851 | version "2.3.0" 1852 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" 1853 | integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== 1854 | 1855 | whatwg-url@^8.0.0: 1856 | version "8.0.0" 1857 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.0.0.tgz#37f256cb746398e19b107bd6ef820b4ae2d15871" 1858 | integrity sha512-41ou2Dugpij8/LPO5Pq64K5q++MnRCBpEHvQr26/mArEKTkCV5aoXIqyhuYtE0pkqScXwhf2JP57rkRTYM29lQ== 1859 | dependencies: 1860 | lodash.sortby "^4.7.0" 1861 | tr46 "^2.0.0" 1862 | webidl-conversions "^5.0.0" 1863 | 1864 | which-module@^2.0.0: 1865 | version "2.0.0" 1866 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 1867 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 1868 | 1869 | which@2.0.2, which@^2.0.1: 1870 | version "2.0.2" 1871 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1872 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1873 | dependencies: 1874 | isexe "^2.0.0" 1875 | 1876 | wide-align@1.1.3: 1877 | version "1.1.3" 1878 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 1879 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 1880 | dependencies: 1881 | string-width "^1.0.2 || 2" 1882 | 1883 | word-wrap@^1.2.3, word-wrap@~1.2.3: 1884 | version "1.2.3" 1885 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1886 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1887 | 1888 | workerpool@6.0.0: 1889 | version "6.0.0" 1890 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" 1891 | integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== 1892 | 1893 | wrap-ansi@^5.1.0: 1894 | version "5.1.0" 1895 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 1896 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== 1897 | dependencies: 1898 | ansi-styles "^3.2.0" 1899 | string-width "^3.0.0" 1900 | strip-ansi "^5.0.0" 1901 | 1902 | wrappy@1: 1903 | version "1.0.2" 1904 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1905 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1906 | 1907 | write@1.0.3: 1908 | version "1.0.3" 1909 | resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" 1910 | integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== 1911 | dependencies: 1912 | mkdirp "^0.5.1" 1913 | 1914 | ws@^7.2.3: 1915 | version "7.2.5" 1916 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d" 1917 | integrity sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA== 1918 | 1919 | xml-name-validator@^3.0.0: 1920 | version "3.0.0" 1921 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" 1922 | integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== 1923 | 1924 | xmlchars@^2.2.0: 1925 | version "2.2.0" 1926 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 1927 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 1928 | 1929 | y18n@^4.0.0: 1930 | version "4.0.0" 1931 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 1932 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 1933 | 1934 | yargs-parser@13.1.2, yargs-parser@^13.1.2: 1935 | version "13.1.2" 1936 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" 1937 | integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== 1938 | dependencies: 1939 | camelcase "^5.0.0" 1940 | decamelize "^1.2.0" 1941 | 1942 | yargs-parser@^15.0.1: 1943 | version "15.0.1" 1944 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" 1945 | integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== 1946 | dependencies: 1947 | camelcase "^5.0.0" 1948 | decamelize "^1.2.0" 1949 | 1950 | yargs-unparser@1.6.1: 1951 | version "1.6.1" 1952 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f" 1953 | integrity sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA== 1954 | dependencies: 1955 | camelcase "^5.3.1" 1956 | decamelize "^1.2.0" 1957 | flat "^4.1.0" 1958 | is-plain-obj "^1.1.0" 1959 | yargs "^14.2.3" 1960 | 1961 | yargs@13.3.2: 1962 | version "13.3.2" 1963 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" 1964 | integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== 1965 | dependencies: 1966 | cliui "^5.0.0" 1967 | find-up "^3.0.0" 1968 | get-caller-file "^2.0.1" 1969 | require-directory "^2.1.1" 1970 | require-main-filename "^2.0.0" 1971 | set-blocking "^2.0.0" 1972 | string-width "^3.0.0" 1973 | which-module "^2.0.0" 1974 | y18n "^4.0.0" 1975 | yargs-parser "^13.1.2" 1976 | 1977 | yargs@^14.2.3: 1978 | version "14.2.3" 1979 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" 1980 | integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== 1981 | dependencies: 1982 | cliui "^5.0.0" 1983 | decamelize "^1.2.0" 1984 | find-up "^3.0.0" 1985 | get-caller-file "^2.0.1" 1986 | require-directory "^2.1.1" 1987 | require-main-filename "^2.0.0" 1988 | set-blocking "^2.0.0" 1989 | string-width "^3.0.0" 1990 | which-module "^2.0.0" 1991 | y18n "^4.0.0" 1992 | yargs-parser "^15.0.1" 1993 | --------------------------------------------------------------------------------