From cf919231e4a3c91fe5e9004e229023fcf126a91e Mon Sep 17 00:00:00 2001 From: vilP1L Date: Wed, 15 May 2019 18:52:55 -0400 Subject: [PATCH] - [Misc] Edit ESLint config - [Misc] Update config - [HQ] Minor Client modifications - [Dependencies] Add canvas, discord.js, jsonwebtoken - [Misc] Update package version - [Misc] Add fonts - [HQ] Delete hq-checklives - [CrowdSource] Add crowd client - [Utils] Add image generation - [Utils] Add google - [Utils] Add get tokens --- .eslintrc | 3 +- config.json | 77 +++++++- package.json | 5 +- src/classes/Client.js | 23 ++- src/classes/CrowdClient.js | 30 +++ src/fonts/CircularStd-Black.ttf | Bin 0 -> 86324 bytes src/fonts/CircularStd-Medium.ttf | Bin 0 -> 86440 bytes src/modules/img.js | 133 +++++++++++++ src/utils/getTokens.js | 7 + src/utils/google.js | 29 +++ .../hq-checklives.js => utils/img.js} | 0 yarn.lock | 183 +++++++++++++++++- 12 files changed, 478 insertions(+), 12 deletions(-) create mode 100644 src/classes/CrowdClient.js create mode 100644 src/fonts/CircularStd-Black.ttf create mode 100644 src/fonts/CircularStd-Medium.ttf create mode 100644 src/modules/img.js create mode 100644 src/utils/getTokens.js create mode 100644 src/utils/google.js rename src/{modules/hq-checklives.js => utils/img.js} (100%) diff --git a/.eslintrc b/.eslintrc index e0967bb..9762e4e 100644 --- a/.eslintrc +++ b/.eslintrc @@ -4,6 +4,7 @@ "no-console": 0, "no-restricted-syntax": 0, "no-await-in-loop": 0, - "no-param-reassign": 0 + "no-param-reassign": 0, + "no-shadow": 0 } } \ No newline at end of file diff --git a/config.json b/config.json index f18c711..eeca6b4 100644 --- a/config.json +++ b/config.json @@ -1,3 +1,78 @@ { - "catchall": "spotimail.com" + "discord": { + "token": "NTc3OTM5NjA1NjA1ODQyOTQ2.XNsW6Q.px9rRxM4wY7838PSDQWa6ni1m3Q", + "prefix": ".", + "activity": "v{VERSION}", + "defaultTokenSet": "bots.json", + "admins": ["471344177045569546", "448294491032518666"], + "channels": { + "hq-trivia": "568926468290248734", + "hq-words": "568926468290248734", + "confetti": "568927056172285981" + } + }, + "crowdsource": { + "userToken": "NTQxNjYyNjgyODM1ODQ1MTIw.D0Y3TA.xnJuTkmYwI7ckwCkhGbkcMHsgR8", + "keywords": [ + { "keyword": "{num}", "weight": 5 }, + { "keyword": "{num}{num}", "weight": 5 }, + { "keyword": "def {num}", "weight": 6 }, + { "keyword": "its {num}", "weight": 6 }, + { "keyword": "{num} apg", "weight": 6 }, + { "keyword": "{num} apb", "weight": 6 }, + { "keyword": "{num} apddg", "weight": 6 }, + { "keyword": "conf {num}", "weight": 6 }, + { "keyword": "{num}?", "weight": 3 }, + { "keyword": "{num}/", "weight": 3 }, + { "keyword": "w{num}", "weight": 1 }, + { "keyword": "?{num}", "weight": 3 }, + { "keyword": "not {num}", "weight": -6 }, + { "keyword": "n{num}", "weight": -6 }, + { "keyword": "ban {num}", "weight": -6 }, + { "keyword": "not {num}?", "weight": -3 }, + { "keyword": "n{num}?", "weight": -3 } + ], + "channels": { + "hq": [ + { "id": "568926468290248734", "weight": 4, "name": "HUB" }, + { "id": "459842150323060736", "weight": 2, "name": "Trivia Dimension" }, + { "id": "525131707410677761", "weight": 3, "name": "Trivia Tribe" }, + { "id": "513818250652680213", "weight": 2, "name": "Trivia World" }, + { "id": "523359669280833536", "weight": 2, "name": "Trivia Games Live" }, + { "id": "535628205139296256", "weight": 2, "name": "Trivia Nation" }, + { "id": "568617830258442255", "weight": 2, "name": "Trivia Revolution" }, + { "id": "566622019232202758", "weight": 2, "name": "Galaxy United Nation" } + ], + "confetti": [ + { "id": "568927056172285981", "weight": 4, "name": "HUB" }, + { "id": "523359734406053889", "weight": 2, "name": "Trivia Games Live" }, + { "id": "529487355804123176", "weight": 3, "name": "Trivia Tribe" }, + { "id": "514915010955313153", "weight": 2, "name": "Trivia World" }, + { "id": "535628245371060234", "weight": 1, "name": "Trivia Nation" } + ], + "loco": [ + { "id": "570155872861290519", "weight": 2, "name": "Study IQ" }, + { "id": "566621341478944778", "weight": 3, "name": "Galaxy United Nation" }, + { "id": "571684755016515584", "weight": 3, "name": "Galaxy United Nation Private" } + ] + } + }, + "google": { + "id": "006883007914406821508:5viuurulssa", + "key": "AIzaSyDOb7WFUKrJdPKvWHurpOuU2hqaCAclzfs", + "negations": [ + "neither", + "not", + "fewest", + "hasnt", + "isnt", + "least", + "never", + "wont", + "shortest", + "won't", + "isn't", + "hasn't" + ] + } } \ No newline at end of file diff --git a/package.json b/package.json index 67f2fc0..59cf083 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,18 @@ { "name": "emu", - "version": "1.0.0", + "version": "0.0.3", "main": "src/index.js", "repository": "https://github.com/vilP1l/emu", "author": "vilP1L ", "license": "MIT", "private": true, "dependencies": { + "canvas": "^2.5.0", "colors": "^1.3.3", + "discord.js": "https://github.com/discordjs/discord.js", "enquirer": "^2.3.0", "faker": "^4.1.0", + "jsonwebtoken": "^8.5.1", "request": "^2.88.0", "ws": "^7.0.0" }, diff --git a/src/classes/Client.js b/src/classes/Client.js index c81d69d..50a0c2f 100644 --- a/src/classes/Client.js +++ b/src/classes/Client.js @@ -7,13 +7,14 @@ import faker from 'faker'; request.promise = promisify(request); export default class Client { - constructor(loginToken, index) { - if (!loginToken) throw new Error('No login token was provided.'); + constructor({ accessToken, loginToken }, index) { + if (!accessToken || !loginToken) throw new Error('Insufficient account credentials provided.'); this.index = index || 0; if (index === 0 || !index) this.master = true; + this.accessToken = accessToken; this.loginToken = loginToken; this.headers = { - 'x-hq-client': 'Android/1.28.2', + 'x-hq-client': 'Android/1.33.0', 'user-agent': 'okhttp/3.8.0', 'x-hq-lang': 'en', 'x-hq-country': 'US', @@ -76,7 +77,7 @@ export default class Client { const i = setInterval(() => { if (this.ws.readyState !== this.ws.OPEN) return clearInterval(i); this.ws.ping(); - if (this.debug) console.log(`${` Client ${this.index} `.bgBlue.black}${' PING '.bgGreen.black}`); + if (this.debug) console.log(`${` Client ${this.index} [DEBUG] `.bgBlue.black}${' PING '.bgGreen.black}`); return true; }, 5000); this.subscribe(); @@ -88,6 +89,10 @@ export default class Client { return true; } + disconnect() { + this.ws.close(); + } + subscribe() { if (!this.ws || this.ws.readyState !== this.ws.OPEN) throw new Error('No WebSocket connection is active.'); this.ws.send(JSON.stringify({ @@ -129,7 +134,10 @@ export default class Client { submitAnswer(index) { if (!this.inTheGame) return; if (!this.ws || this.ws.readyState !== this.ws.OPEN) throw new Error('No WebSocket connection is active.'); - if (index > 2 || index < 0) return; + if (index > 2 || index < 0) { + if (this.debug) console.log(`${` Client ${this.index} [DEBUG] `.bgBlue.black}${' Invalid index given to submitAnswer. '.bgRed.black}`); + return; + } const { answerId } = this.answers[index]; if (!answerId) return; this.ws.send(JSON.stringify({ @@ -183,4 +191,9 @@ export default class Client { if (this.logging) console.log(`${` Client ${this.index} `.bgBlue.black}${` Successfully cashed out to ${this.email}! `.bgGreen.black}`); return true; } + + async getUserData() { + const { body } = await request.promise('https://api-quiz.hype.space/users/me', { headers: this.headers }); + return JSON.parse(body); + } } diff --git a/src/classes/CrowdClient.js b/src/classes/CrowdClient.js new file mode 100644 index 0000000..38cf5a5 --- /dev/null +++ b/src/classes/CrowdClient.js @@ -0,0 +1,30 @@ +import { Client } from 'discord.js'; +import { crowdsource } from '../../config'; + +export default class CrowdClient extends Client { + constructor(options, client) { + super(options); + this.client = client; + this.login(options.token); + this.on('message', (msg) => { + const games = Object.keys(crowdsource.channels); + games.forEach((g) => { + const channels = crowdsource.channels[g].map(c => c.id); + const weights = crowdsource.channels[g].map(c => c.weight); + if (channels.includes(msg.channel.id)) { + if (msg.content.match(/[1-3]/g)) { + const weight = weights[channels.indexOf(msg.channel.id)]; + let m; + m = msg.content.toLowerCase(); + m = m.split(' ').join(''); + crowdsource.keywords.forEach((k) => { + k.keywordNum = k.keyword.replace(/{num}/g, m.match(/[1-3]/g)[0]); + k.keywordNum = k.keywordNum.split(' ').join(''); + if (m === k.keywordNum) client.weights[g][m.match(/[1-3]/g)[0] - 1] += k.weight * weight; + }); + } + } + }); + }); + } +} diff --git a/src/fonts/CircularStd-Black.ttf b/src/fonts/CircularStd-Black.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7e88c6109a5df47f4a2d8fc1b11ee8d4f35770c1 GIT binary patch literal 86324 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

S4;`{aCg$S=4}r=fS07* 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

j8Y}h~rUTC5}h^8*x0<$YaiW$K`n9 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∋*y32 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 { + const roundRect = (ctx, x, y, width, height, radius, fill, stroke) => { + if (typeof stroke === 'undefined') { + stroke = true; + } + if (typeof radius === 'undefined') { + radius = 5; + } + ctx.beginPath(); + ctx.moveTo(x + radius, y); + ctx.lineTo(x + width - radius, y); + ctx.quadraticCurveTo(x + width, y, x + width, y + radius); + ctx.lineTo(x + width, y + height - radius); + ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height); + ctx.lineTo(x + radius, y + height); + ctx.quadraticCurveTo(x, y + height, x, y + height - radius); + ctx.lineTo(x, y + radius); + ctx.quadraticCurveTo(x, y, x + radius, y); + ctx.closePath(); + if (stroke) { + ctx.stroke(); + } + if (fill) { + ctx.fill(); + } + }; + + const canvas = createCanvas(450, 230); + const ctx = canvas.getContext('2d'); + registerFont('src/utils/CircularStd-Black.ttf', { family: 'Circular' }); + registerFont('src/utils/CircularStd-Medium.ttf', { family: 'CircularMed', weight: 100 }); + switch (game) { + case 'HQ Trivia': + ctx.fillStyle = 'rgba(52, 58, 153, 1)'; + ctx.strokeStyle = 'rgba(54, 60, 152, 1)'; + break; + case 'Loco Trivia': + ctx.fillStyle = 'rgba(39, 32, 69, 1)'; + ctx.strokeStyle = 'rgba(39, 32, 69, 1)'; + break; + case 'Confetti Trivia': + ctx.fillStyle = 'rgba(66, 102, 171, 1)'; + ctx.strokeStyle = 'rgba(66, 102, 171, 1)'; + break; + default: + ctx.fillStyle = 'rgba(52, 58, 153, 1)'; + ctx.strokeStyle = 'rgba(54, 60, 152, 1)'; + break; + } + roundRect(ctx, 0, 0, canvas.width, canvas.height, 40, true, true); + ctx.fillStyle = 'white'; + ctx.font = '45px Circular'; + ctx.fillText(game, (canvas.width / 2) - (ctx.measureText(game).width / 2), 70); + ctx.strokeStyle = 'white'; + ctx.lineWidth = 5; + roundRect(ctx, 2, 2, canvas.width - 4, canvas.height - 4, 40, false, true); + ctx.beginPath(); + ctx.moveTo((canvas.width / 2) - (ctx.measureText(game).width / 2), 80); + ctx.lineTo((canvas.width / 2) + (ctx.measureText(game).width / 2), 80); + ctx.stroke(); + ctx.font = '25px CircularMed'; + ctx.fillText(`${winners.toLocaleString('en')} players won ${winnings}`, (canvas.width / 2) - (ctx.measureText(`${winners.toLocaleString('en')} Players won ${winnings}`).width / 2), 125); + ctx.fillText(`Accuracy: ${accuracy}`, (canvas.width / 2) - (ctx.measureText(`Accuracy: ${accuracy}`).width / 2), 165); + ctx.font = '15px Circular'; + ctx.fillText('Trivia Orchard | invite.gg/orchard', (canvas.width / 2) - (ctx.measureText('Trivia Orchard | invite.gg/orchard').width / 2), canvas.height - 20); + return canvas.toBuffer(); +}; + +export const getWordsImage = (puzzleState) => { + const puzzleStateLengths = puzzleState.map(i => i.length); + const biggestLength = Math.max(...puzzleStateLengths); + const canvas = createCanvas(biggestLength * 90 + 100, puzzleState.length * 130 + 75); + const ctx = canvas.getContext('2d'); + registerFont('src/utils/CircularStd-Black.ttf', { family: 'Circular' }); + registerFont('src/utils/CircularStd-Medium.ttf', { family: 'CircularMed', weight: 100 }); + + const roundRect = (ctx, x, y, width, height, radius, fill, stroke) => { + if (typeof stroke === 'undefined') { + stroke = true; + } + if (typeof radius === 'undefined') { + radius = 5; + } + ctx.beginPath(); + ctx.moveTo(x + radius, y); + ctx.lineTo(x + width - radius, y); + ctx.quadraticCurveTo(x + width, y, x + width, y + radius); + ctx.lineTo(x + width, y + height - radius); + ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height); + ctx.lineTo(x + radius, y + height); + ctx.quadraticCurveTo(x, y + height, x, y + height - radius); + ctx.lineTo(x, y + radius); + ctx.quadraticCurveTo(x, y, x + radius, y); + ctx.closePath(); + if (stroke) { + ctx.stroke(); + } + if (fill) { + ctx.fill(); + } + }; + + const wordsLetter = (ctx, letter, x, y, scale) => { + ctx.fillStyle = 'white'; + ctx.strokeStyle = 'white'; + ctx.shadowBlur = 10; + ctx.shadowColor = 'black'; + roundRect(ctx, x, y, scale * 40, scale * 50, 10, true, true); + ctx.fillStyle = 'black'; + const fontSize = 25 * scale; + ctx.font = `${fontSize}px Circular`; + ctx.textAlign = 'center'; + ctx.textBaseline = 'middle'; + ctx.shadowBlur = 0; + ctx.fillText(letter, x + 20 * scale, y + 25 * scale); + }; + + let x = 50; + let y = 50; + // eslint-disable-next-line no-restricted-syntax + for (const state of puzzleState) { + // eslint-disable-next-line no-restricted-syntax + for (const letter of state) { + wordsLetter(ctx, letter, x, y, 2); + x += 90; + } + x = 50; + y += 130; + } + return canvas.toBuffer(); +}; diff --git a/src/utils/getTokens.js b/src/utils/getTokens.js new file mode 100644 index 0000000..c71b8b7 --- /dev/null +++ b/src/utils/getTokens.js @@ -0,0 +1,7 @@ +import fs from 'fs'; + +export default (file) => { + if (!file) throw new Error('No file was provided.'); + const contents = fs.readFileSync(`./tokens/${file}`, 'UTF8'); + return JSON.parse(contents); +}; diff --git a/src/utils/google.js b/src/utils/google.js new file mode 100644 index 0000000..3cd7454 --- /dev/null +++ b/src/utils/google.js @@ -0,0 +1,29 @@ +import request from 'request'; +import { promisify } from 'util'; +import { google } from '../../config'; + +request.promise = promisify(request); + +export default async (query, answers) => { + const { body } = await request.promise(`https://www.googleapis.com/customsearch/v1?cx=${google.id}&key=${google.key}&q=${query}`); + const { searchInformation, items } = JSON.parse(body); + if (searchInformation.totalResults === '0') return [0, 0, 0]; + let weights = [0, 0, 0]; + for (let i = 0; i < 3; i += 1) { + for (const item of items) { + const regex = new RegExp(answers[i].text, 'gi'); + const snippet = item.snippet.match(regex) || []; + const title = item.title.match(regex) || []; + weights[i] += snippet.length * 2; + weights[i] += title.length; + } + } + const includesNegation = (negation) => { + const Regex = new RegExp(negation, 'gi'); + return query.match(Regex); + }; + if (google.negations.some(includesNegation)) { + weights = weights.map(w => weights.reduce((a, b) => a + b) - w); + } + return weights; +}; diff --git a/src/modules/hq-checklives.js b/src/utils/img.js similarity index 100% rename from src/modules/hq-checklives.js rename to src/utils/img.js diff --git a/yarn.lock b/yarn.lock index c64080d..3ad35b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -879,7 +879,7 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== -async-limiter@^1.0.0: +async-limiter@^1.0.0, async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== @@ -990,6 +990,11 @@ browserslist@^4.5.2, browserslist@^4.5.4: electron-to-chromium "^1.3.127" node-releases "^1.1.17" +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -1020,6 +1025,15 @@ caniuse-lite@^1.0.30000963: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz#a5039577806fccee80a04aaafb2c0890b1ee2f73" integrity sha512-rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ== +canvas@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/canvas/-/canvas-2.5.0.tgz#cf0ef59d4790575689c0d50e59c7b8023a11f38a" + integrity sha512-wwRz2cLMgb9d+rnotOJCoc04Bzj3aJMpWc6JxAD6lP7bYz0ldcn0sKddoZ0vhD5T8HBxrK+XmRDJb68/2VqARw== + dependencies: + nan "^2.13.2" + node-pre-gyp "^0.11.0" + simple-get "^3.0.3" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1231,6 +1245,13 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -1285,6 +1306,18 @@ detect-libc@^1.0.2: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= +"discord.js@https://github.com/discordjs/discord.js": + version "12.0.0-dev" + resolved "https://github.com/discordjs/discord.js#72dd872fce70754b0f7616f3d31b5616a48c7188" + dependencies: + form-data "^2.3.3" + node-fetch "^2.3.0" + pako "^1.0.8" + prism-media "^1.0.0" + setimmediate "^1.0.5" + tweetnacl "^1.0.1" + ws "^6.1.3" + doctrine@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" @@ -1308,6 +1341,13 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + electron-to-chromium@^1.3.127: version "1.3.133" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.133.tgz#c47639c19b91feee3e22fad69f5556142007008c" @@ -1660,7 +1700,7 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -form-data@~2.3.2: +form-data@^2.3.3, form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== @@ -2181,6 +2221,22 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -2191,6 +2247,23 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -2249,6 +2322,41 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + lodash@^4.17.10, lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" @@ -2317,6 +2425,11 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -2379,7 +2492,7 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@^2.12.1: +nan@^2.12.1, nan@^2.13.2: version "2.13.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== @@ -2420,11 +2533,32 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-fetch@^2.3.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.5.0.tgz#8028c49fc1191bba56a07adc6e2a954644a48501" + integrity sha512-YuZKluhWGJwCcUu4RlZstdAxr8bFfOVHakc1mplwHkk8J+tqM1Y5yraYvIUpeX8aY7+crCwiELJq7Vl0o0LWXw== + node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= +node-pre-gyp@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054" + integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + node-pre-gyp@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" @@ -2564,7 +2698,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -once@^1.3.0: +once@^1.3.0, once@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -2655,6 +2789,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" + integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -2762,6 +2901,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prism-media@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/prism-media/-/prism-media-1.0.2.tgz#1e0f097f67d799211177a50d5276fdd2ef1c7fd7" + integrity sha512-KCu3SlT1EtS0lvF74NGLSTzr5jrkRajE9n+S2jnUvvdiN5SpjsGj0/HgR1QK9+985Yv8cxjwZnpFRaj+SimDGA== + private@^0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -3061,6 +3205,11 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -3078,6 +3227,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +simple-concat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" + integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + +simple-get@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.0.3.tgz#924528ac3f9d7718ce5e9ec1b1a69c0be4d62efa" + integrity sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -3388,6 +3551,11 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +tweetnacl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.1.tgz#2594d42da73cd036bd0d2a54683dd35a6b55ca17" + integrity sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A== + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -3523,6 +3691,13 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" +ws@^6.1.3: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + dependencies: + async-limiter "~1.0.0" + ws@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/ws/-/ws-7.0.0.tgz#79351cbc3f784b3c20d0821baf4b4ff809ffbf51"