├── .gitignore ├── README.md ├── index.js ├── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/node 3 | # Edit at https://www.gitignore.io/?templates=node 4 | 5 | ### Node ### 6 | # Logs 7 | logs 8 | *.log 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | lerna-debug.log* 13 | 14 | # Diagnostic reports (https://nodejs.org/api/report.html) 15 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 16 | 17 | # Runtime data 18 | pids 19 | *.pid 20 | *.seed 21 | *.pid.lock 22 | 23 | # Directory for instrumented libs generated by jscoverage/JSCover 24 | lib-cov 25 | 26 | # Coverage directory used by tools like istanbul 27 | coverage 28 | *.lcov 29 | 30 | # nyc test coverage 31 | .nyc_output 32 | 33 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 34 | .grunt 35 | 36 | # Bower dependency directory (https://bower.io/) 37 | bower_components 38 | 39 | # node-waf configuration 40 | .lock-wscript 41 | 42 | # Compiled binary addons (https://nodejs.org/api/addons.html) 43 | build/Release 44 | 45 | # Dependency directories 46 | node_modules/ 47 | jspm_packages/ 48 | 49 | # TypeScript v1 declaration files 50 | typings/ 51 | 52 | # TypeScript cache 53 | *.tsbuildinfo 54 | 55 | # Optional npm cache directory 56 | .npm 57 | 58 | # Optional eslint cache 59 | .eslintcache 60 | 61 | # Optional REPL history 62 | .node_repl_history 63 | 64 | # Output of 'npm pack' 65 | *.tgz 66 | 67 | # Yarn Integrity file 68 | .yarn-integrity 69 | 70 | # dotenv environment variables file 71 | .env 72 | .env.test 73 | 74 | # parcel-bundler cache (https://parceljs.org/) 75 | .cache 76 | 77 | # next.js build output 78 | .next 79 | 80 | # nuxt.js build output 81 | .nuxt 82 | 83 | # rollup.js default build output 84 | dist/ 85 | 86 | # Uncomment the public line if your project uses Gatsby 87 | # https://nextjs.org/blog/next-9-1#public-directory-support 88 | # https://create-react-app.dev/docs/using-the-public-folder/#docsNav 89 | # public 90 | 91 | # Storybook build outputs 92 | .out 93 | .storybook-out 94 | 95 | # vuepress build output 96 | .vuepress/dist 97 | 98 | # Serverless directories 99 | .serverless/ 100 | 101 | # FuseBox cache 102 | .fusebox/ 103 | 104 | # DynamoDB Local files 105 | .dynamodb/ 106 | 107 | # Temporary folders 108 | tmp/ 109 | temp/ 110 | 111 | # End of https://www.gitignore.io/api/node 112 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Apple Documentation Archive Scraper 2 | 3 | ## Overview 4 | 5 | This repo is a very simple [node] script that renders PDF from the 6 | [Apple Documentation Archive]. I made this because I wanted to read 7 | the docs printed out. 8 | 9 | ## Initial setup 10 | 11 | You need the [wkhtmltopdf] binary to be installed. If you're using 12 | [brew], it's as simple as a `brew cask install wkhtmltopdf`. If you're 13 | using another OS or another package manager, the most easiest way to 14 | do it would be downloading from the [official 15 | site](http://wkhtmltopdf.org/downloads.html). Be sure the binary is in 16 | `PATH`. 17 | 18 | ## Scrape the pages and generating the PDF 19 | 20 | This doesn't have a command line parser or anything yet: it's just a 21 | simple script, so you can just execute `index.js` with the `node` 22 | binary. Below is a real use case where I'm trying to download 23 | PDFs from the [Concurrency Programming Guide]. 24 | 25 | ``` shellsession 26 | $ node index.js 27 | info Loading article 'Introduction'... 28 | info Loading article 'Concurrency and Application Design'... 29 | info Loading article 'Operation Queues'... 30 | info Loading article 'Dispatch Queues'... 31 | info Loading article 'Dispatch Sources'... 32 | info Loading article 'Migrating Away from Threads'... 33 | info Loading article 'Glossary'... 34 | info Constructed DOM tree for article 'Introduction' 35 | info Constructed DOM tree for article 'Glossary' 36 | info Constructed DOM tree for article 'Migrating Away from Threads' 37 | info Constructed DOM tree for article 'Concurrency and Application Design' 38 | info Constructed DOM tree for article 'Dispatch Sources' 39 | info Finished loading article 'Introduction' 40 | info Generating 'Introduction.pdf'... 41 | info Finished loading article 'Glossary' 42 | info Generating 'Glossary.pdf'... 43 | info Finished loading article 'Migrating Away from Threads' 44 | info Generating 'Migrating Away from Threads.pdf'... 45 | info Finished loading article 'Dispatch Sources' 46 | info Generating 'Dispatch Sources.pdf'... 47 | info Finished loading article 'Concurrency and Application Design' 48 | info Generating 'Concurrency and Application Design.pdf'... 49 | info Constructed DOM tree for article 'Operation Queues' 50 | info Constructed DOM tree for article 'Dispatch Queues' 51 | info Finished loading article 'Operation Queues' 52 | info Generating 'Operation Queues.pdf'... 53 | info Finished loading article 'Dispatch Queues' 54 | info Generating 'Dispatch Queues.pdf'... 55 | info Finished generating 'Introduction.pdf' 56 | info Finished generating 'Glossary.pdf' 57 | info Finished generating 'Migrating Away from Threads.pdf' 58 | info Finished generating 'Concurrency and Application Design.pdf' 59 | info Finished generating 'Dispatch Sources.pdf' 60 | info Finished generating 'Operation Queues.pdf' 61 | info Finished generating 'Dispatch Queues.pdf' 62 | ``` 63 | 64 | [node]: https://nodejs.org/ 65 | [Apple Documentation Archive]: http://developer.apple.com/library/archive/ 66 | [wkhtmltopdf]: https://wkhtmltopdf.org/ 67 | [brew]: https://brew.sh/ 68 | [Concurrency Programming Guide]: http://developer.apple.com/library/archive/documentation/General/Conceptual/ConcurrencyProgrammingGuide/ 69 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs").promises; 2 | const { URL } = require("url"); 3 | const fetch = require("node-fetch"); 4 | const log = require("npmlog"); 5 | const { JSDOM } = require("jsdom"); 6 | const wkhtmltopdf = require("wkhtmltopdf"); 7 | const getStream = require("get-stream"); 8 | 9 | const baseURL = new URL("https://developer.apple.com/library/archive/documentation/"); 10 | const bookURL = new URL("Cocoa/Conceptual/CocoaViewsGuide/", baseURL); 11 | 12 | (async () => { 13 | const toc = await (await fetch(new URL("book.json", bookURL))).json(); 14 | await Promise.all(toc.sections.filter(({ title }) => title !== "Revision History").map(async ({ href, title }) => { 15 | const sectionURL = new URL(href, bookURL); 16 | log.info(`Loading article '${title}'...`); 17 | const { window: section } = await JSDOM.fromURL(sectionURL, { 18 | resources: "usable" 19 | }); 20 | log.info(`Constructed DOM tree for article '${title}'`); 21 | 22 | section.addEventListener("load", async () => { 23 | log.info(`Finished loading article '${title}'`); 24 | log.info(`Generating '${title}.pdf'...`); 25 | const articleHTML = section.document.querySelector("article").innerHTML; 26 | const styleSheets = [...section.document.styleSheets]; 27 | const cssRules = styleSheets.reduce((acc, cur) => [...acc, ...cur.cssRules], []); 28 | const cssText = cssRules.map(cssRule => cssRule.cssText).join("\n"); 29 | const pdfDom = new JSDOM(); 30 | const { document } = pdfDom.window; 31 | document.body.innerHTML = articleHTML; 32 | const styleEl = document.createElement("style"); 33 | const baseEl = document.createElement("base"); 34 | const charsetEl = document.createElement("meta"); 35 | styleEl.innerHTML = cssText; 36 | baseEl.href = sectionURL; 37 | charsetEl.setAttribute("charset", "utf-8"); 38 | document.head.append(styleEl, charsetEl, baseEl); 39 | const pdf = await getStream.buffer(wkhtmltopdf(pdfDom.serialize())); 40 | section.close(); 41 | pdfDom.window.close(); 42 | await fs.writeFile(`${title}.pdf`, pdf); 43 | log.info(`Finished generating '${title}.pdf'`); 44 | }); 45 | })); 46 | })(); 47 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "apple-documentation-archive-scraper", 3 | "version": "0.0.1", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "get-stream": "^5.1.0", 8 | "jsdom": "^16.2.1", 9 | "node-fetch": "^2.6.0", 10 | "npmlog": "^4.1.2", 11 | "wkhtmltopdf": "^0.3.4" 12 | }, 13 | "devDependencies": { 14 | "@types/node-fetch": "^2.5.5" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/node-fetch@^2.5.5": 6 | version "2.5.5" 7 | resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.5.tgz#cd264e20a81f4600a6c52864d38e7fef72485e92" 8 | integrity sha512-IWwjsyYjGw+em3xTvWVQi5MgYKbRs0du57klfTaZkv/B24AEQ/p/IopNeqIYNy3EsfHOpg8ieQSDomPcsYMHpA== 9 | dependencies: 10 | "@types/node" "*" 11 | form-data "^3.0.0" 12 | 13 | "@types/node@*": 14 | version "12.12.31" 15 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.31.tgz#d6b4f9645fee17f11319b508fb1001797425da51" 16 | integrity sha512-T+wnJno8uh27G9c+1T+a1/WYCHzLeDqtsGJkoEdSp2X8RTh3oOCZQcUnjAx90CS8cmmADX51O0FI/tu9s0yssg== 17 | 18 | abab@^2.0.3: 19 | version "2.0.3" 20 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" 21 | integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== 22 | 23 | acorn-globals@^6.0.0: 24 | version "6.0.0" 25 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" 26 | integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== 27 | dependencies: 28 | acorn "^7.1.1" 29 | acorn-walk "^7.1.1" 30 | 31 | acorn-walk@^7.1.1: 32 | version "7.1.1" 33 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" 34 | integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== 35 | 36 | acorn@^7.1.1: 37 | version "7.1.1" 38 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" 39 | integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== 40 | 41 | ajv@^6.5.5: 42 | version "6.12.0" 43 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" 44 | integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== 45 | dependencies: 46 | fast-deep-equal "^3.1.1" 47 | fast-json-stable-stringify "^2.0.0" 48 | json-schema-traverse "^0.4.1" 49 | uri-js "^4.2.2" 50 | 51 | ansi-regex@^2.0.0: 52 | version "2.1.1" 53 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 54 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 55 | 56 | ansi-regex@^3.0.0: 57 | version "3.0.0" 58 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 59 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 60 | 61 | aproba@^1.0.3: 62 | version "1.2.0" 63 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 64 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== 65 | 66 | are-we-there-yet@~1.1.2: 67 | version "1.1.5" 68 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 69 | integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== 70 | dependencies: 71 | delegates "^1.0.0" 72 | readable-stream "^2.0.6" 73 | 74 | asn1@~0.2.3: 75 | version "0.2.4" 76 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 77 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 78 | dependencies: 79 | safer-buffer "~2.1.0" 80 | 81 | assert-plus@1.0.0, assert-plus@^1.0.0: 82 | version "1.0.0" 83 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 84 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 85 | 86 | asynckit@^0.4.0: 87 | version "0.4.0" 88 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 89 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 90 | 91 | aws-sign2@~0.7.0: 92 | version "0.7.0" 93 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 94 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 95 | 96 | aws4@^1.8.0: 97 | version "1.9.1" 98 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" 99 | integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== 100 | 101 | bcrypt-pbkdf@^1.0.0: 102 | version "1.0.2" 103 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 104 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 105 | dependencies: 106 | tweetnacl "^0.14.3" 107 | 108 | browser-process-hrtime@^1.0.0: 109 | version "1.0.0" 110 | resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" 111 | integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== 112 | 113 | caseless@~0.12.0: 114 | version "0.12.0" 115 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 116 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 117 | 118 | code-point-at@^1.0.0: 119 | version "1.1.0" 120 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 121 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 122 | 123 | combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: 124 | version "1.0.8" 125 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 126 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 127 | dependencies: 128 | delayed-stream "~1.0.0" 129 | 130 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 131 | version "1.1.0" 132 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 133 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 134 | 135 | core-util-is@1.0.2, core-util-is@~1.0.0: 136 | version "1.0.2" 137 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 138 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 139 | 140 | cssom@^0.4.4: 141 | version "0.4.4" 142 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" 143 | integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== 144 | 145 | cssom@~0.3.6: 146 | version "0.3.8" 147 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" 148 | integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== 149 | 150 | cssstyle@^2.2.0: 151 | version "2.2.0" 152 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992" 153 | integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA== 154 | dependencies: 155 | cssom "~0.3.6" 156 | 157 | dashdash@^1.12.0: 158 | version "1.14.1" 159 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 160 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 161 | dependencies: 162 | assert-plus "^1.0.0" 163 | 164 | data-urls@^2.0.0: 165 | version "2.0.0" 166 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" 167 | integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== 168 | dependencies: 169 | abab "^2.0.3" 170 | whatwg-mimetype "^2.3.0" 171 | whatwg-url "^8.0.0" 172 | 173 | decimal.js@^10.2.0: 174 | version "10.2.0" 175 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" 176 | integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== 177 | 178 | deep-is@~0.1.3: 179 | version "0.1.3" 180 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 181 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 182 | 183 | delayed-stream@~1.0.0: 184 | version "1.0.0" 185 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 186 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 187 | 188 | delegates@^1.0.0: 189 | version "1.0.0" 190 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 191 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 192 | 193 | domexception@^2.0.1: 194 | version "2.0.1" 195 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" 196 | integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== 197 | dependencies: 198 | webidl-conversions "^5.0.0" 199 | 200 | ecc-jsbn@~0.1.1: 201 | version "0.1.2" 202 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 203 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 204 | dependencies: 205 | jsbn "~0.1.0" 206 | safer-buffer "^2.1.0" 207 | 208 | end-of-stream@^1.1.0: 209 | version "1.4.4" 210 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 211 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 212 | dependencies: 213 | once "^1.4.0" 214 | 215 | escodegen@^1.14.1: 216 | version "1.14.1" 217 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" 218 | integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== 219 | dependencies: 220 | esprima "^4.0.1" 221 | estraverse "^4.2.0" 222 | esutils "^2.0.2" 223 | optionator "^0.8.1" 224 | optionalDependencies: 225 | source-map "~0.6.1" 226 | 227 | esprima@^4.0.1: 228 | version "4.0.1" 229 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 230 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 231 | 232 | estraverse@^4.2.0: 233 | version "4.3.0" 234 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 235 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 236 | 237 | esutils@^2.0.2: 238 | version "2.0.3" 239 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 240 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 241 | 242 | extend@~3.0.2: 243 | version "3.0.2" 244 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 245 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 246 | 247 | extsprintf@1.3.0: 248 | version "1.3.0" 249 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 250 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 251 | 252 | extsprintf@^1.2.0: 253 | version "1.4.0" 254 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 255 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 256 | 257 | fast-deep-equal@^3.1.1: 258 | version "3.1.1" 259 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" 260 | integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== 261 | 262 | fast-json-stable-stringify@^2.0.0: 263 | version "2.1.0" 264 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 265 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 266 | 267 | fast-levenshtein@~2.0.6: 268 | version "2.0.6" 269 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 270 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 271 | 272 | forever-agent@~0.6.1: 273 | version "0.6.1" 274 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 275 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 276 | 277 | form-data@^3.0.0: 278 | version "3.0.0" 279 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" 280 | integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== 281 | dependencies: 282 | asynckit "^0.4.0" 283 | combined-stream "^1.0.8" 284 | mime-types "^2.1.12" 285 | 286 | form-data@~2.3.2: 287 | version "2.3.3" 288 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 289 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 290 | dependencies: 291 | asynckit "^0.4.0" 292 | combined-stream "^1.0.6" 293 | mime-types "^2.1.12" 294 | 295 | gauge@~2.7.3: 296 | version "2.7.4" 297 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 298 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 299 | dependencies: 300 | aproba "^1.0.3" 301 | console-control-strings "^1.0.0" 302 | has-unicode "^2.0.0" 303 | object-assign "^4.1.0" 304 | signal-exit "^3.0.0" 305 | string-width "^1.0.1" 306 | strip-ansi "^3.0.1" 307 | wide-align "^1.1.0" 308 | 309 | get-stream@^5.1.0: 310 | version "5.1.0" 311 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" 312 | integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== 313 | dependencies: 314 | pump "^3.0.0" 315 | 316 | getpass@^0.1.1: 317 | version "0.1.7" 318 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 319 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 320 | dependencies: 321 | assert-plus "^1.0.0" 322 | 323 | har-schema@^2.0.0: 324 | version "2.0.0" 325 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 326 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 327 | 328 | har-validator@~5.1.3: 329 | version "5.1.3" 330 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 331 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 332 | dependencies: 333 | ajv "^6.5.5" 334 | har-schema "^2.0.0" 335 | 336 | has-unicode@^2.0.0: 337 | version "2.0.1" 338 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 339 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 340 | 341 | html-encoding-sniffer@^2.0.1: 342 | version "2.0.1" 343 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" 344 | integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== 345 | dependencies: 346 | whatwg-encoding "^1.0.5" 347 | 348 | http-signature@~1.2.0: 349 | version "1.2.0" 350 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 351 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 352 | dependencies: 353 | assert-plus "^1.0.0" 354 | jsprim "^1.2.2" 355 | sshpk "^1.7.0" 356 | 357 | iconv-lite@0.4.24: 358 | version "0.4.24" 359 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 360 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 361 | dependencies: 362 | safer-buffer ">= 2.1.2 < 3" 363 | 364 | inherits@~2.0.3: 365 | version "2.0.4" 366 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 367 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 368 | 369 | ip-regex@^2.1.0: 370 | version "2.1.0" 371 | resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" 372 | integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= 373 | 374 | is-fullwidth-code-point@^1.0.0: 375 | version "1.0.0" 376 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 377 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 378 | dependencies: 379 | number-is-nan "^1.0.0" 380 | 381 | is-fullwidth-code-point@^2.0.0: 382 | version "2.0.0" 383 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 384 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 385 | 386 | is-potential-custom-element-name@^1.0.0: 387 | version "1.0.0" 388 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" 389 | integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= 390 | 391 | is-stream@^1.0.1: 392 | version "1.1.0" 393 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 394 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 395 | 396 | is-typedarray@~1.0.0: 397 | version "1.0.0" 398 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 399 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 400 | 401 | isarray@~1.0.0: 402 | version "1.0.0" 403 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 404 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 405 | 406 | isstream@~0.1.2: 407 | version "0.1.2" 408 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 409 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 410 | 411 | jsbn@~0.1.0: 412 | version "0.1.1" 413 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 414 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 415 | 416 | jsdom@^16.2.1: 417 | version "16.2.1" 418 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.1.tgz#df934649ab9175daeeff3e6f1e2b2268ed1470cd" 419 | integrity sha512-3p0gHs5EfT7PxW9v8Phz3mrq//4Dy8MQenU/PoKxhdT+c45S7NjIjKbGT3Ph0nkICweE1r36+yaknXA5WfVNAg== 420 | dependencies: 421 | abab "^2.0.3" 422 | acorn "^7.1.1" 423 | acorn-globals "^6.0.0" 424 | cssom "^0.4.4" 425 | cssstyle "^2.2.0" 426 | data-urls "^2.0.0" 427 | decimal.js "^10.2.0" 428 | domexception "^2.0.1" 429 | escodegen "^1.14.1" 430 | html-encoding-sniffer "^2.0.1" 431 | is-potential-custom-element-name "^1.0.0" 432 | nwsapi "^2.2.0" 433 | parse5 "5.1.1" 434 | request "^2.88.2" 435 | request-promise-native "^1.0.8" 436 | saxes "^5.0.0" 437 | symbol-tree "^3.2.4" 438 | tough-cookie "^3.0.1" 439 | w3c-hr-time "^1.0.2" 440 | w3c-xmlserializer "^2.0.0" 441 | webidl-conversions "^5.0.0" 442 | whatwg-encoding "^1.0.5" 443 | whatwg-mimetype "^2.3.0" 444 | whatwg-url "^8.0.0" 445 | ws "^7.2.1" 446 | xml-name-validator "^3.0.0" 447 | 448 | json-schema-traverse@^0.4.1: 449 | version "0.4.1" 450 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 451 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 452 | 453 | json-schema@0.2.3: 454 | version "0.2.3" 455 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 456 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 457 | 458 | json-stringify-safe@~5.0.1: 459 | version "5.0.1" 460 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 461 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 462 | 463 | jsprim@^1.2.2: 464 | version "1.4.1" 465 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 466 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 467 | dependencies: 468 | assert-plus "1.0.0" 469 | extsprintf "1.3.0" 470 | json-schema "0.2.3" 471 | verror "1.10.0" 472 | 473 | levn@~0.3.0: 474 | version "0.3.0" 475 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 476 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 477 | dependencies: 478 | prelude-ls "~1.1.2" 479 | type-check "~0.3.2" 480 | 481 | lodash.sortby@^4.7.0: 482 | version "4.7.0" 483 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 484 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 485 | 486 | lodash@^4.17.15: 487 | version "4.17.15" 488 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" 489 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== 490 | 491 | mime-db@1.43.0: 492 | version "1.43.0" 493 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" 494 | integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== 495 | 496 | mime-types@^2.1.12, mime-types@~2.1.19: 497 | version "2.1.26" 498 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" 499 | integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== 500 | dependencies: 501 | mime-db "1.43.0" 502 | 503 | node-fetch@^2.6.0: 504 | version "2.6.0" 505 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" 506 | integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== 507 | 508 | npmlog@^4.1.2: 509 | version "4.1.2" 510 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 511 | integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== 512 | dependencies: 513 | are-we-there-yet "~1.1.2" 514 | console-control-strings "~1.1.0" 515 | gauge "~2.7.3" 516 | set-blocking "~2.0.0" 517 | 518 | number-is-nan@^1.0.0: 519 | version "1.0.1" 520 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 521 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 522 | 523 | nwsapi@^2.2.0: 524 | version "2.2.0" 525 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" 526 | integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== 527 | 528 | oauth-sign@~0.9.0: 529 | version "0.9.0" 530 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 531 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 532 | 533 | object-assign@^4.1.0: 534 | version "4.1.1" 535 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 536 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 537 | 538 | once@^1.3.1, once@^1.4.0: 539 | version "1.4.0" 540 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 541 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 542 | dependencies: 543 | wrappy "1" 544 | 545 | optionator@^0.8.1: 546 | version "0.8.3" 547 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 548 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 549 | dependencies: 550 | deep-is "~0.1.3" 551 | fast-levenshtein "~2.0.6" 552 | levn "~0.3.0" 553 | prelude-ls "~1.1.2" 554 | type-check "~0.3.2" 555 | word-wrap "~1.2.3" 556 | 557 | parse5@5.1.1: 558 | version "5.1.1" 559 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" 560 | integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== 561 | 562 | performance-now@^2.1.0: 563 | version "2.1.0" 564 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 565 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 566 | 567 | prelude-ls@~1.1.2: 568 | version "1.1.2" 569 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 570 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 571 | 572 | process-nextick-args@~2.0.0: 573 | version "2.0.1" 574 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 575 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 576 | 577 | psl@^1.1.28: 578 | version "1.8.0" 579 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 580 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 581 | 582 | pump@^3.0.0: 583 | version "3.0.0" 584 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 585 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 586 | dependencies: 587 | end-of-stream "^1.1.0" 588 | once "^1.3.1" 589 | 590 | punycode@^2.1.0, punycode@^2.1.1: 591 | version "2.1.1" 592 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 593 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 594 | 595 | qs@~6.5.2: 596 | version "6.5.2" 597 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 598 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 599 | 600 | readable-stream@^2.0.6: 601 | version "2.3.7" 602 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 603 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 604 | dependencies: 605 | core-util-is "~1.0.0" 606 | inherits "~2.0.3" 607 | isarray "~1.0.0" 608 | process-nextick-args "~2.0.0" 609 | safe-buffer "~5.1.1" 610 | string_decoder "~1.1.1" 611 | util-deprecate "~1.0.1" 612 | 613 | request-promise-core@1.1.3: 614 | version "1.1.3" 615 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" 616 | integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== 617 | dependencies: 618 | lodash "^4.17.15" 619 | 620 | request-promise-native@^1.0.8: 621 | version "1.0.8" 622 | resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" 623 | integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== 624 | dependencies: 625 | request-promise-core "1.1.3" 626 | stealthy-require "^1.1.1" 627 | tough-cookie "^2.3.3" 628 | 629 | request@^2.88.2: 630 | version "2.88.2" 631 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 632 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 633 | dependencies: 634 | aws-sign2 "~0.7.0" 635 | aws4 "^1.8.0" 636 | caseless "~0.12.0" 637 | combined-stream "~1.0.6" 638 | extend "~3.0.2" 639 | forever-agent "~0.6.1" 640 | form-data "~2.3.2" 641 | har-validator "~5.1.3" 642 | http-signature "~1.2.0" 643 | is-typedarray "~1.0.0" 644 | isstream "~0.1.2" 645 | json-stringify-safe "~5.0.1" 646 | mime-types "~2.1.19" 647 | oauth-sign "~0.9.0" 648 | performance-now "^2.1.0" 649 | qs "~6.5.2" 650 | safe-buffer "^5.1.2" 651 | tough-cookie "~2.5.0" 652 | tunnel-agent "^0.6.0" 653 | uuid "^3.3.2" 654 | 655 | safe-buffer@^5.0.1, safe-buffer@^5.1.2: 656 | version "5.2.0" 657 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 658 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 659 | 660 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 661 | version "5.1.2" 662 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 663 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 664 | 665 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 666 | version "2.1.2" 667 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 668 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 669 | 670 | saxes@^5.0.0: 671 | version "5.0.0" 672 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.0.tgz#b7d30284d7583a5ca6ad0248b56d8889da53788b" 673 | integrity sha512-LXTZygxhf8lfwKaTP/8N9CsVdjTlea3teze4lL6u37ivbgGbV0GGMuNtS/I9rnD/HC2/txUM7Df4S2LVl1qhiA== 674 | dependencies: 675 | xmlchars "^2.2.0" 676 | 677 | set-blocking@~2.0.0: 678 | version "2.0.0" 679 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 680 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 681 | 682 | signal-exit@^3.0.0: 683 | version "3.0.3" 684 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 685 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 686 | 687 | slang@>=0.2: 688 | version "0.3.0" 689 | resolved "https://registry.yarnpkg.com/slang/-/slang-0.3.0.tgz#13af75b4f0c018c6a8193d704f65b23be4fbabdc" 690 | integrity sha1-E691tPDAGMaoGT1wT2WyO+T7q9w= 691 | 692 | source-map@~0.6.1: 693 | version "0.6.1" 694 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 695 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 696 | 697 | sshpk@^1.7.0: 698 | version "1.16.1" 699 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 700 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 701 | dependencies: 702 | asn1 "~0.2.3" 703 | assert-plus "^1.0.0" 704 | bcrypt-pbkdf "^1.0.0" 705 | dashdash "^1.12.0" 706 | ecc-jsbn "~0.1.1" 707 | getpass "^0.1.1" 708 | jsbn "~0.1.0" 709 | safer-buffer "^2.0.2" 710 | tweetnacl "~0.14.0" 711 | 712 | stealthy-require@^1.1.1: 713 | version "1.1.1" 714 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 715 | integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= 716 | 717 | string-width@^1.0.1: 718 | version "1.0.2" 719 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 720 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 721 | dependencies: 722 | code-point-at "^1.0.0" 723 | is-fullwidth-code-point "^1.0.0" 724 | strip-ansi "^3.0.0" 725 | 726 | "string-width@^1.0.2 || 2": 727 | version "2.1.1" 728 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 729 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 730 | dependencies: 731 | is-fullwidth-code-point "^2.0.0" 732 | strip-ansi "^4.0.0" 733 | 734 | string_decoder@~1.1.1: 735 | version "1.1.1" 736 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 737 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 738 | dependencies: 739 | safe-buffer "~5.1.0" 740 | 741 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 742 | version "3.0.1" 743 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 744 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 745 | dependencies: 746 | ansi-regex "^2.0.0" 747 | 748 | strip-ansi@^4.0.0: 749 | version "4.0.0" 750 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 751 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 752 | dependencies: 753 | ansi-regex "^3.0.0" 754 | 755 | symbol-tree@^3.2.4: 756 | version "3.2.4" 757 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" 758 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 759 | 760 | tough-cookie@^2.3.3, tough-cookie@~2.5.0: 761 | version "2.5.0" 762 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 763 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 764 | dependencies: 765 | psl "^1.1.28" 766 | punycode "^2.1.1" 767 | 768 | tough-cookie@^3.0.1: 769 | version "3.0.1" 770 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" 771 | integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== 772 | dependencies: 773 | ip-regex "^2.1.0" 774 | psl "^1.1.28" 775 | punycode "^2.1.1" 776 | 777 | tr46@^2.0.0: 778 | version "2.0.2" 779 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" 780 | integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== 781 | dependencies: 782 | punycode "^2.1.1" 783 | 784 | tunnel-agent@^0.6.0: 785 | version "0.6.0" 786 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 787 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 788 | dependencies: 789 | safe-buffer "^5.0.1" 790 | 791 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 792 | version "0.14.5" 793 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 794 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 795 | 796 | type-check@~0.3.2: 797 | version "0.3.2" 798 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 799 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 800 | dependencies: 801 | prelude-ls "~1.1.2" 802 | 803 | uri-js@^4.2.2: 804 | version "4.2.2" 805 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 806 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 807 | dependencies: 808 | punycode "^2.1.0" 809 | 810 | util-deprecate@~1.0.1: 811 | version "1.0.2" 812 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 813 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 814 | 815 | uuid@^3.3.2: 816 | version "3.4.0" 817 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 818 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 819 | 820 | verror@1.10.0: 821 | version "1.10.0" 822 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 823 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 824 | dependencies: 825 | assert-plus "^1.0.0" 826 | core-util-is "1.0.2" 827 | extsprintf "^1.2.0" 828 | 829 | w3c-hr-time@^1.0.2: 830 | version "1.0.2" 831 | resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" 832 | integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== 833 | dependencies: 834 | browser-process-hrtime "^1.0.0" 835 | 836 | w3c-xmlserializer@^2.0.0: 837 | version "2.0.0" 838 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" 839 | integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== 840 | dependencies: 841 | xml-name-validator "^3.0.0" 842 | 843 | webidl-conversions@^5.0.0: 844 | version "5.0.0" 845 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" 846 | integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== 847 | 848 | whatwg-encoding@^1.0.5: 849 | version "1.0.5" 850 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" 851 | integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== 852 | dependencies: 853 | iconv-lite "0.4.24" 854 | 855 | whatwg-mimetype@^2.3.0: 856 | version "2.3.0" 857 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" 858 | integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== 859 | 860 | whatwg-url@^8.0.0: 861 | version "8.0.0" 862 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.0.0.tgz#37f256cb746398e19b107bd6ef820b4ae2d15871" 863 | integrity sha512-41ou2Dugpij8/LPO5Pq64K5q++MnRCBpEHvQr26/mArEKTkCV5aoXIqyhuYtE0pkqScXwhf2JP57rkRTYM29lQ== 864 | dependencies: 865 | lodash.sortby "^4.7.0" 866 | tr46 "^2.0.0" 867 | webidl-conversions "^5.0.0" 868 | 869 | wide-align@^1.1.0: 870 | version "1.1.3" 871 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 872 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 873 | dependencies: 874 | string-width "^1.0.2 || 2" 875 | 876 | wkhtmltopdf@^0.3.4: 877 | version "0.3.4" 878 | resolved "https://registry.yarnpkg.com/wkhtmltopdf/-/wkhtmltopdf-0.3.4.tgz#e2db542a7dc2248032bf136754b5cdd7cf2815f0" 879 | integrity sha1-4ttUKn3CJIAyvxNnVLXN188oFfA= 880 | dependencies: 881 | is-stream "^1.0.1" 882 | slang ">=0.2" 883 | 884 | word-wrap@~1.2.3: 885 | version "1.2.3" 886 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 887 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 888 | 889 | wrappy@1: 890 | version "1.0.2" 891 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 892 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 893 | 894 | ws@^7.2.1: 895 | version "7.2.3" 896 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" 897 | integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== 898 | 899 | xml-name-validator@^3.0.0: 900 | version "3.0.0" 901 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" 902 | integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== 903 | 904 | xmlchars@^2.2.0: 905 | version "2.2.0" 906 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 907 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 908 | --------------------------------------------------------------------------------