diff --git a/common/contest.ts b/common/contest.ts
index 17399d4c..6c272a79 100644
--- a/common/contest.ts
+++ b/common/contest.ts
@@ -1,11 +1,24 @@
import { GROUP_CHAT_SLUG } from 'common/group'
-export const CONTEST_DATA = {
- 'cause-exploration-prize': {
- link: 'https://www.causeexplorationprizes.com/',
- description:
- 'Open Philanthropy’s contest to find ideas for the best ways to use their resources, with focus on new areas to support, health development, and worldview investigations.',
- },
+type Contest = {
+ link: string
+ description: string
+ submissionLink: string
+ fileName: string
+ closeTime: string
}
-export const CONTEST_SLUGS = Object.keys(CONTEST_DATA)
+export let contest_data: { [name: string]: Contest } = {}
+
+contest_data['cause-exploration-prize'] = {
+ link: 'https://www.causeexplorationprizes.com/',
+ description:
+ 'Open Philanthropy’s contest to find ideas for the best ways to use their resources, with focus on new areas to support, health development, and worldview investigations.',
+ submissionLink:
+ 'https://forum.effectivealtruism.org/topics/cause-exploration-prizes',
+ //name of file that stores json of submissions under lib/util/contests
+ fileName: 'causeExploration',
+ closeTime: '2022-09-01',
+}
+
+export const CONTEST_SLUGS = Object.keys(contest_data)
diff --git a/functions/package.json b/functions/package.json
index 1f59174a..dae6cc98 100644
--- a/functions/package.json
+++ b/functions/package.json
@@ -40,6 +40,7 @@
"lodash": "4.17.21",
"mailgun-js": "0.22.0",
"module-alias": "2.2.2",
+ "puppeteer": "16.0.0",
"stripe": "8.194.0",
"zod": "3.17.2"
},
diff --git a/functions/src/scripts/scrape-ea.ts b/functions/src/scripts/scrape-ea.ts
deleted file mode 100644
index 4aada6e9..00000000
--- a/functions/src/scripts/scrape-ea.ts
+++ /dev/null
@@ -1,125 +0,0 @@
-// Run with `npx ts-node src/scripts/scrape-ea.ts`
-
-import * as cheerio from 'cheerio'
-import * as fs from 'fs'
-
-type Submission = {
- title: string
- author: string
- // minuteRead: number
- // postedAt: string
- // amount: string
- link?: string
-}
-
-function elToSubmission($: cheerio.Root, el: cheerio.Element): Submission {
- const $el = $(el)
- const title = $el.find('a>span>span').text().trim()
- const author = $el.find('.PostsUserAndCoauthors-lengthLimited').text().trim()
- const link = $el.find('a').attr('href')?.trim()
- // const postedAt = $el.find('PostsItemDate-postedAt').text().trim()
- // const date = $el.find('.grant-card__date').text().trim()
- // const amount = $el.find('.grant-card__amount').text().trim()
- // const areasOfInterest = $el
- // .find('.area-of-interest__title')
- // // Remove all leading and trailing whitespace
- // .map((_, el) => $(el).text().trim())
- // .get()
- // .join('|')
- // const link = $el.find('a.grant-card__link').attr('href')?.trim()
-
- return {
- title,
- author,
- link,
- } as Submission
-}
-
-async function scrapeFtx() {
- const resp = await fetch(
- 'https://forum.effectivealtruism.org/topics/cause-exploration-prizes'
- )
- const text = await resp.text()
- const $ = cheerio.load(text)
- const strip = (text: string) => text.replace(/'/g, '')
- const toNum = (text: string) => Number(text.replace(/[^0-9.-]+/g, ''))
-
- // Parse Grant objects from each
using cheerio
- const csvLines = [
- // Add a header row
- // 'title\tdescription\tdate\tamount\tareasOfInterest\tlink',
- ...$('div.PostsItem2-root')
- .map((_, el) => elToSubmission($, el))
- .get()
- .map(
- (submission) =>
- // Join all attributes with tabs
- `{ title: '${submission.title}',
- author: '${submission.author}',
- link: '${submission.link}',
- }
- `
- ),
- ]
- console.log(csvLines.join('\n'))
- fs.writeFileSync(
- '../web/lib/util/ftx-grants.ts',
- 'export const grants = [\n' + csvLines.join('\n') + '\n]'
- )
-}
-
-if (require.main === module) {
- scrapeFtx().then(() => process.exit())
-}
-
-/*
-Example html grant card, for reference:
-
-
- March 2022
-
-
- Manifold Markets
-
-
-
This regrant will support Manifold Markets in building a play-money prediction market platform. The platform is also experimenting with impact certificates and charity prediction markets.
-
-
- $1,000,000
-
-
- manifold.markets
-
-
-*/
diff --git a/functions/tsconfig.json b/functions/tsconfig.json
index 9496b9cb..71ce7ac3 100644
--- a/functions/tsconfig.json
+++ b/functions/tsconfig.json
@@ -7,7 +7,8 @@
"outDir": "lib",
"sourceMap": true,
"strict": true,
- "target": "es2017"
+ "target": "es2017",
+ "resolveJsonModule": true
},
"references": [
{
diff --git a/web/components/submission-search.tsx b/web/components/submission-search.tsx
index d7c101c3..4d5dcdf8 100644
--- a/web/components/submission-search.tsx
+++ b/web/components/submission-search.tsx
@@ -23,6 +23,17 @@ import { DEFAULT_CATEGORY_GROUPS } from 'common/categories'
import { Col } from './layout/col'
import SubmissionSearchFirestore from 'web/pages/submission-search-firestore'
import { SubmissionsGrid } from './submission/submission-list'
+import { contest_data } from 'common/contest'
+
+// All contest scraping data imports
+import { default as causeExploration } from 'web/lib/util/contests/causeExploration.json'
+import { getGroupBySlug } from 'web/lib/firebase/groups'
+import { getContractFromId } from 'web/lib/firebase/contracts'
+import { contractTextDetails } from './contract/contract-details'
+import { createMarket } from 'web/lib/firebase/api'
+import { removeUndefinedProps } from 'common/util/object'
+import dayjs from 'dayjs'
+import { useRouter } from 'next/router'
const searchClient = algoliasearch(
'GJQPAYENIF',
@@ -52,11 +63,11 @@ export function SubmissionSearch(props: {
defaultFilter?: filter
shouldLoadFromStorage?: boolean
}
- additionalFilter?: {
+ additionalFilter: {
creatorId?: string
tag?: string
excludeContractIds?: string[]
- groupSlug?: string
+ contestSlug: string
}
highlightOptions?: ContractHighlightOptions
onContractClick?: (contract: Contract) => void
@@ -80,25 +91,7 @@ export function SubmissionSearch(props: {
} = props
const user = useUser()
- const memberGroups = (useMemberGroups(user?.id) ?? []).filter(
- (group) => !NEW_USER_GROUP_SLUGS.includes(group.slug)
- )
- const memberGroupSlugs =
- memberGroups.length > 0
- ? memberGroups.map((g) => g.slug)
- : DEFAULT_CATEGORY_GROUPS.map((g) => g.slug)
-
- const memberPillGroups = sortBy(
- memberGroups.filter((group) => group.contractIds.length > 0),
- (group) => group.contractIds.length
- ).reverse()
-
- const defaultPillGroups = DEFAULT_CATEGORY_GROUPS as Group[]
-
- const pillGroups =
- memberPillGroups.length > 0 ? memberPillGroups : defaultPillGroups
-
- const follows = useFollows(user?.id)
+ const router = useRouter()
const { shouldLoadFromStorage, defaultSort } = querySortOptions ?? {}
const { query, setQuery, sort, setSort } = useQueryAndSortParams({
@@ -109,25 +102,13 @@ export function SubmissionSearch(props: {
const [filter, setFilter] = useState
(
querySortOptions?.defaultFilter ?? 'open'
)
- const pillsEnabled = !additionalFilter
-
- const [pillFilter, setPillFilter] = useState(undefined)
-
- const selectPill = (pill: string | undefined) => () => {
- setPillFilter(pill)
- setPage(0)
- track('select search category', { category: pill ?? 'all' })
- }
const additionalFilters = [
- additionalFilter?.creatorId
- ? `creatorId:${additionalFilter.creatorId}`
- : '',
- additionalFilter?.tag ? `lowercaseTags:${additionalFilter.tag}` : '',
- additionalFilter?.groupSlug
- ? `groupLinks.slug:${additionalFilter.groupSlug}`
+ additionalFilter?.contestSlug
+ ? `groupLinks.slug:${additionalFilter.contestSlug}`
: '',
]
+
let facetFilters = query
? additionalFilters
: [
@@ -135,26 +116,6 @@ export function SubmissionSearch(props: {
filter === 'open' ? 'isResolved:false' : '',
filter === 'closed' ? 'isResolved:false' : '',
filter === 'resolved' ? 'isResolved:true' : '',
- pillFilter && pillFilter !== 'personal' && pillFilter !== 'your-bets'
- ? `groupLinks.slug:${pillFilter}`
- : '',
- pillFilter === 'personal'
- ? // Show contracts in groups that the user is a member of
- memberGroupSlugs
- .map((slug) => `groupLinks.slug:${slug}`)
- // Show contracts created by users the user follows
- .concat(follows?.map((followId) => `creatorId:${followId}`) ?? [])
- // Show contracts bet on by users the user follows
- .concat(
- follows?.map((followId) => `uniqueBettorIds:${followId}`) ?? []
- )
- : '',
- // Subtract contracts you bet on from For you.
- pillFilter === 'personal' && user ? `uniqueBettorIds:-${user.id}` : '',
- pillFilter === 'your-bets' && user
- ? // Show contracts bet on by the user
- `uniqueBettorIds:${user.id}`
- : '',
].filter((f) => f)
// Hack to make Algolia work.
facetFilters = ['', ...facetFilters]
@@ -250,6 +211,45 @@ export function SubmissionSearch(props: {
track('select sort', { sort: newSort })
}
+ const contestSlug = additionalFilter?.contestSlug
+
+ // Getting all submissions in a group and seeing if there's any new ones from the last scraping
+ // if so, creates new submission
+
+ async function syncSubmissions() {
+ let scrapedTitles = causeExploration.map((entry) => entry.title)
+ if (contestSlug) {
+ let group = await getGroupBySlug(contestSlug).catch((err) => {
+ return err
+ })
+
+ let questions: string[] = await Promise.all(
+ group.contractIds.map(async (contractId: string) => {
+ return (await getContractFromId(contractId))?.question
+ })
+ )
+
+ scrapedTitles.map(async (title) => {
+ if (!questions.includes(title)) {
+ // INGA/TODO: I don't know how to create a market, we should also be creating these markets under some like manifold account so that users aren't creating markets on their own when the backend updates. Pls help
+ // await createMarket(
+ // removeUndefinedProps({
+ // title,
+ // outcomeType: 'BINARY',
+ // initialProb: 50,
+ // groupId: group.id,
+ // closeTime: dayjs(
+ // contest_data[contestSlug].closeTime
+ // ).valueOf(),
+ // })
+ // )
+ }
+ })
+ }
+ }
+
+ syncSubmissions()
+
if (IS_PRIVATE_MANIFOLD || process.env.NEXT_PUBLIC_FIREBASE_EMULATE) {
return (
-
-
- {pillsEnabled && (
-
-
- All
-
-
- {user ? 'For you' : 'Featured'}
-
-
- {user && (
-
- Your bets
-
- )}
-
- {pillGroups.map(({ name, slug }) => {
- return (
-
- {name}
-
- )
- })}
-
- )}
-
-
-
- {filter === 'personal' &&
- (follows ?? []).length === 0 &&
- memberGroupSlugs.length === 0 ? (
- <>You're not following anyone, nor in any of your own groups yet.>
- ) : (
-
- )}
+
+
)
}
diff --git a/web/components/submission/submission-card.tsx b/web/components/submission/submission-card.tsx
index 3e57712b..07d0e747 100644
--- a/web/components/submission/submission-card.tsx
+++ b/web/components/submission/submission-card.tsx
@@ -2,7 +2,11 @@ import clsx from 'clsx'
import Link from 'next/link'
import { Row } from '../layout/row'
import { formatLargeNumber, formatPercent } from 'common/util/format'
-import { contractPath, getBinaryProbPercent } from 'web/lib/firebase/contracts'
+import {
+ contractPath,
+ getBinaryProbPercent,
+ submissionPath,
+} from 'web/lib/firebase/contracts'
import { Col } from '../layout/col'
import {
BinaryContract,
@@ -36,6 +40,15 @@ import { track } from '@amplitude/analytics-browser'
import { trackCallback } from 'web/lib/service/analytics'
import { formatNumericProbability } from 'common/pseudo-numeric'
import { Title } from '../title'
+import { contest_data } from 'common/contest'
+import { default as causeExploration } from 'web/lib/util/contests/causeExploration.json'
+
+//this is super gross, need to figure out how to not hardcode this
+function getSubmissionData(contestSlug: string) {
+ if (contestSlug === 'cause-exploration-prize') {
+ return causeExploration
+ }
+}
export function SubmissionCard(props: {
contract: Contract
@@ -45,6 +58,7 @@ export function SubmissionCard(props: {
onClick?: () => void
hideQuickBet?: boolean
hideGroupLink?: boolean
+ contestSlug: string
}) {
const {
showHotVolume,
@@ -53,6 +67,7 @@ export function SubmissionCard(props: {
onClick,
hideQuickBet,
hideGroupLink,
+ contestSlug,
} = props
const contract = useContractWithPreload(props.contract) ?? props.contract
const { question, outcomeType } = contract
@@ -69,115 +84,70 @@ export function SubmissionCard(props: {
(outcomeType === 'BINARY' || outcomeType === 'PSEUDO_NUMERIC') &&
!hideQuickBet
+ const submissionData = getSubmissionData(contract.slug)
+ console.log(submissionData)
+
return (
-
-
+ {/*
-
-
-
- {/* */}
-
- {question}
-
-
- {(outcomeType === 'FREE_RESPONSE' ||
- outcomeType === 'MULTIPLE_CHOICE') &&
- (resolution ? (
-
- ) : (
-
- ))}
-
-
-
- {showQuickBet ? (
-
- ) : (
-
- {outcomeType === 'BINARY' && (
-
- )}
-
- {outcomeType === 'PSEUDO_NUMERIC' && (
-
- )}
-
- {outcomeType === 'NUMERIC' && (
-
- )}
-
- {(outcomeType === 'FREE_RESPONSE' ||
- outcomeType === 'MULTIPLE_CHOICE') && (
-
- )}
-
-
+ > */}
+
+
+
+ {question}
+
+
+ {submissionData?.filter((entry) => entry.title === contract.question)}
-
+
+
+ chance of winning a prize
+
+ {getBinaryProbPercent(contract)}
+
+
+
+
)
}
@@ -252,14 +222,6 @@ export function FreeResponseResolutionOrChance(props: {
Resolved
- {(resolution === 'CANCEL' || resolution === 'MKT') && (
-
- )}
>
) : (
topAnswer && (
diff --git a/web/components/submission/submission-list.tsx b/web/components/submission/submission-list.tsx
index 10deff15..98a639c5 100644
--- a/web/components/submission/submission-list.tsx
+++ b/web/components/submission/submission-list.tsx
@@ -28,6 +28,7 @@ export function SubmissionsGrid(props: {
hideGroupLink?: boolean
}
highlightOptions?: ContractHighlightOptions
+ contestSlug: string
}) {
const {
contracts,
@@ -38,7 +39,9 @@ export function SubmissionsGrid(props: {
overrideGridClassName,
cardHideOptions,
highlightOptions,
+ contestSlug,
} = props
+
const { hideQuickBet, hideGroupLink } = cardHideOptions || {}
const { contractIds, highlightClassName } = highlightOptions || {}
@@ -86,6 +89,7 @@ export function SubmissionsGrid(props: {
? highlightClassName
: undefined
}
+ contestSlug={contestSlug}
/>
))}
@@ -93,20 +97,3 @@ export function SubmissionsGrid(props: {
)
}
-
-export function CreatorContractsList(props: { creator: User }) {
- const { creator } = props
-
- return (
-
- )
-}
diff --git a/web/lib/firebase/contracts.ts b/web/lib/firebase/contracts.ts
index 9e5de871..a0659545 100644
--- a/web/lib/firebase/contracts.ts
+++ b/web/lib/firebase/contracts.ts
@@ -31,6 +31,10 @@ export const contracts = coll('contracts')
export type { Contract }
+export function submissionPath(submission: Contract, contestSlug: string) {
+ return `/contest/${contestSlug}/${submission.slug}`
+}
+
export function contractPath(contract: Contract) {
return `/${contract.creatorUsername}/${contract.slug}`
}
diff --git a/web/lib/util/ftx-grants.ts b/web/lib/util/ftx-grants.ts
deleted file mode 100644
index ac561be7..00000000
--- a/web/lib/util/ftx-grants.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-export const grants = [
-{ title: 'New cause area: Violence against women and girls',
- author: 'Akhil',
- link: '/posts/majcwf7i8pW8eMJ3v/new-cause-area-violence-against-women-and-girls',
- }
-
-{ title: 'Open Philanthropy's Cause Exploration Prizes: $120k for written work on global health and wellbeing',
- author: 'ChrisSmith, Aaron Gertler',
- link: '/posts/iqcph4DbcP4PZGyDB/open-philanthropy-s-cause-exploration-prizes-usd120k-for',
- }
-
-{ title: 'The Case for Making Professional Degrees Undergraduate Degrees',
- author: 'ColdButtonIssues',
- link: '/posts/fEMpAcNycbXpp6Ext/the-case-for-making-professional-degrees-undergraduate',
- }
-
-{ title: 'New cause area: training health workers to prevent newborn deaths',
- author: 'Marshall',
- link: '/posts/B7wohgDDdwPoQAatt/new-cause-area-training-health-workers-to-prevent-newborn',
- }
-
-{ title: 'Global Health & Development - Beyond the Streetlight',
- author: 'Richard Sedlmayr',
- link: '/posts/DXKWHAkihdb6nkKyG/global-health-and-development-beyond-the-streetlight-1',
- }
-
-{ title: 'Cause Exploration Prizes submission: bivalve aquaculture',
- author: 'Brian Lui',
- link: '/posts/7keuWWMoYY6dMnqys/cause-exploration-prizes-submission-bivalve-aquaculture',
- }
-
-{ title: 'Potential new cause area: Obesity',
- author: 'Akhil',
- link: '/posts/jhsXxPnKbwzLwrKFq/potential-new-cause-area-obesity',
- }
-
-{ title: 'Energy Access in Sub-Saharan Africa: Open Philanthropy Cause Exploration Prize Submission',
- author: 'Tomer_Goloboy',
- link: '/posts/ZPjMemurtzeumwcdw/energy-access-in-sub-saharan-africa-open-philanthropy-cause',
- }
-
-{ title: 'Sleep: Open Philanthropy Cause Exploration Prize',
- author: 'SuhanKacholia',
- link: '/posts/qnDBN3nAXgwyTnrAC/sleep-open-philanthropy-cause-exploration-prize',
- }
-
-{ title: 'Cause Exploration Prizes: Could New Technology Help Solve the Glasses Problem?',
- author: 'Open Philanthropy',
- link: '/posts/a3vbQCgxTeYNvQBfc/cause-exploration-prizes-could-new-technology-help-solve-the',
- }
-
-{ title: 'Cause Exploration Prizes: Expanding access to infertility services in Low- and Middle-Income Countries (LMICs)',
- author: 'Soleine Scotney',
- link: '/posts/WAnJw5bhuQwhJiLTm/cause-exploration-prizes-expanding-access-to-infertility',
- }
-
-{ title: 'New Cause Area: Demographic Collapse',
- author: 'Malcolm Collins, hath, Simone H Collins',
- link: '/posts/vFfoqL74kmZbydKjp/new-cause-area-demographic-collapse',
- }
-
-{ title: 'Cause area: climate adaptation in low-income countries',
- author: 'karthik-t',
- link: '/posts/nE827LwrRk5ep3Xao/cause-area-climate-adaptation-in-low-income-countries',
- }
-
-{ title: 'Open Climate Data as a possible cause area, Open Philanthropy',
- author: 'Ben Yeoh',
- link: '/posts/s9HPpvMHgS5QYEM4C/open-climate-data-as-a-possible-cause-area-open-philanthropy',
- }
-
-{ title: 'One Million Missing Children',
- author: 'ColdButtonIssues',
- link: '/posts/H5LDwwmdBYBDNXTq4/one-million-missing-children',
- }
-
-]
\ No newline at end of file
diff --git a/web/pages/[username]/[contractSlug].tsx b/web/pages/[username]/[contractSlug].tsx
index 58e7c2e8..c1c8ef32 100644
--- a/web/pages/[username]/[contractSlug].tsx
+++ b/web/pages/[username]/[contractSlug].tsx
@@ -217,15 +217,6 @@ export function ContractPageContent(
/>
)}
- {(outcomeType === 'FREE_RESPONSE' ||
- outcomeType === 'MULTIPLE_CHOICE') && (
- <>
-
-
-
- >
- )}
-
{isNumeric && allowTrade && (
)}
diff --git a/web/pages/contest/[...slugs]/index.tsx b/web/pages/contest/[...slugs]/index.tsx
index 460b0c46..5d405f39 100644
--- a/web/pages/contest/[...slugs]/index.tsx
+++ b/web/pages/contest/[...slugs]/index.tsx
@@ -207,14 +207,14 @@ export default function ContestPage(props: {
)
- const questionsTab = (
+ const submissionsTab = (
)
@@ -230,7 +230,7 @@ export default function ContestPage(props: {
]),
{
title: 'Submissions',
- content: questionsTab,
+ content: submissionsTab,
href: contestPath(contest.slug, 'submissions'),
},
{
diff --git a/web/pages/contests.tsx b/web/pages/contests.tsx
index 9adfe999..b3b50a20 100644
--- a/web/pages/contests.tsx
+++ b/web/pages/contests.tsx
@@ -19,7 +19,7 @@ import { JoinOrLeaveGroupButton } from 'web/components/groups/groups-button'
import { UserLink } from 'web/components/user-page'
import { searchInAny } from 'common/util/parse'
import { SEO } from 'web/components/SEO'
-import { CONTEST_SLUGS, CONTEST_DATA } from 'common/contest'
+import { CONTEST_SLUGS, contest_data } from 'common/contest'
import { contestPath } from 'web/lib/firebase/contests'
export async function getStaticProps() {
diff --git a/yarn.lock b/yarn.lock
index 9334b737..cebc18ce 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3156,6 +3156,13 @@
dependencies:
"@types/node" "*"
+"@types/cheerio@^0.22.31":
+ version "0.22.31"
+ resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.31.tgz#b8538100653d6bb1b08a1e46dec75b4f2a5d5eb6"
+ integrity sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==
+ dependencies:
+ "@types/node" "*"
+
"@types/connect-history-api-fallback@^1.3.5":
version "1.3.5"
resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae"
@@ -3450,6 +3457,13 @@
dependencies:
"@types/node" "*"
+"@types/yauzl@^2.9.1":
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599"
+ integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==
+ dependencies:
+ "@types/node" "*"
+
"@typescript-eslint/eslint-plugin@5.25.0":
version "5.25.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.25.0.tgz#e8ce050990e4d36cc200f2de71ca0d3eb5e77a31"
@@ -4145,7 +4159,7 @@ base16@^1.0.0:
resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70"
integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==
-base64-js@^1.3.0:
+base64-js@^1.3.0, base64-js@^1.3.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -4175,6 +4189,15 @@ binary-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+bl@^4.0.3:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
+ integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+ dependencies:
+ buffer "^5.5.0"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
bluebird@^3.7.1:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
@@ -4288,6 +4311,11 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4
node-releases "^2.0.3"
picocolors "^1.0.0"
+buffer-crc32@~0.2.3:
+ version "0.2.13"
+ resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+ integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
+
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"
@@ -4298,6 +4326,14 @@ buffer-from@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+buffer@^5.2.1, buffer@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
bytes@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
@@ -4421,6 +4457,19 @@ cheerio-select@^2.1.0:
domhandler "^5.0.3"
domutils "^3.0.1"
+cheerio@1.0.0-rc.12:
+ version "1.0.0-rc.12"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683"
+ integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==
+ dependencies:
+ cheerio-select "^2.1.0"
+ dom-serializer "^2.0.0"
+ domhandler "^5.0.3"
+ domutils "^3.0.1"
+ htmlparser2 "^8.0.1"
+ parse5 "^7.0.0"
+ parse5-htmlparser2-tree-adapter "^7.0.0"
+
cheerio@^0.22.0:
version "0.22.0"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e"
@@ -4472,6 +4521,11 @@ chokidar@^3.4.2, chokidar@^3.5.2, chokidar@^3.5.3:
optionalDependencies:
fsevents "~2.3.2"
+chownr@^1.1.1:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+ integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
chrome-trace-event@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
@@ -4843,7 +4897,7 @@ cross-env@^7.0.3:
dependencies:
cross-spawn "^7.0.1"
-cross-fetch@^3.1.5:
+cross-fetch@3.1.5, cross-fetch@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
@@ -5158,7 +5212,7 @@ debug@3.1.0:
dependencies:
ms "2.0.0"
-debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
+debug@4, debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -5314,6 +5368,11 @@ detective@^5.2.1:
defined "^1.0.0"
minimist "^1.2.6"
+devtools-protocol@0.0.1019158:
+ version "0.0.1019158"
+ resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz#4b08d06108a784a2134313149626ba55f030a86f"
+ integrity sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ==
+
dicer@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.1.tgz#abf28921e3475bc5e801e74e0159fd94f927ba97"
@@ -6033,6 +6092,17 @@ extend@^3.0.0, extend@^3.0.2, extend@~3.0.2:
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+extract-zip@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
+ integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
+ dependencies:
+ debug "^4.1.1"
+ get-stream "^5.1.0"
+ yauzl "^2.10.0"
+ optionalDependencies:
+ "@types/yauzl" "^2.9.1"
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -6115,6 +6185,13 @@ fbjs@^3.0.0, fbjs@^3.0.1:
setimmediate "^1.0.5"
ua-parser-js "^0.7.30"
+fd-slicer@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+ integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==
+ dependencies:
+ pend "~1.2.0"
+
feed@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e"
@@ -6365,6 +6442,11 @@ fresh@0.5.2:
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+fs-constants@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
+ integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+
fs-extra@^10.0.1:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
@@ -7078,6 +7160,14 @@ http-proxy@^1.18.1:
follow-redirects "^1.0.0"
requires-port "^1.0.0"
+https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+ integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+
https-proxy-agent@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81"
@@ -7086,14 +7176,6 @@ https-proxy-agent@^3.0.0:
agent-base "^4.3.0"
debug "^3.1.0"
-https-proxy-agent@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
- integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
- dependencies:
- agent-base "6"
- debug "4"
-
human-signals@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
@@ -7116,6 +7198,11 @@ idb@3.0.2:
resolved "https://registry.yarnpkg.com/idb/-/idb-3.0.2.tgz#c8e9122d5ddd40f13b60ae665e4862f8b13fa384"
integrity sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==
+ieee754@^1.1.13:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
ignore-by-default@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
@@ -7189,7 +7276,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -8339,6 +8426,11 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
+mkdirp-classic@^0.5.2:
+ version "0.5.3"
+ resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
+ integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
+
mkdirp@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e"
@@ -8989,6 +9081,11 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+pend@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+ integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==
+
performance-now@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
@@ -9014,7 +9111,7 @@ pify@^2.3.0:
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-pkg-dir@^4.1.0:
+pkg-dir@4.2.0, pkg-dir@^4.1.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
@@ -9430,6 +9527,11 @@ process-nextick-args@~2.0.0:
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+progress@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
promise-polyfill@8.1.3:
version "8.1.3"
resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.3.tgz#8c99b3cf53f3a91c68226ffde7bde81d7f904116"
@@ -9625,7 +9727,7 @@ proxy-agent@^3.0.3:
proxy-from-env "^1.0.0"
socks-proxy-agent "^4.0.1"
-proxy-from-env@^1.0.0:
+proxy-from-env@1.1.0, proxy-from-env@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
@@ -9674,6 +9776,24 @@ pupa@^2.1.1:
dependencies:
escape-goat "^2.0.0"
+puppeteer@16.0.0:
+ version "16.0.0"
+ resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-16.0.0.tgz#9efb6cdb57e3e51cf060a33f6289e88200dd4672"
+ integrity sha512-FgSe21IHNHkqv1SiJiob4ANsxVujcINa4p3MaDEMyoZsocbgSgwYE0c9lnF8eoinw4id3vx4DOXwhFdOOwVlDg==
+ dependencies:
+ cross-fetch "3.1.5"
+ debug "4.3.4"
+ devtools-protocol "0.0.1019158"
+ extract-zip "2.0.1"
+ https-proxy-agent "5.0.1"
+ pkg-dir "4.2.0"
+ progress "2.0.3"
+ proxy-from-env "1.1.0"
+ rimraf "3.0.2"
+ tar-fs "2.1.1"
+ unbzip2-stream "1.4.3"
+ ws "8.8.1"
+
pure-color@^1.2.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e"
@@ -10023,7 +10143,7 @@ readable-stream@2, readable-stream@^2.0.1, readable-stream@~2.3.6:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@^3.0.6, readable-stream@^3.1.1:
+readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -11114,6 +11234,27 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
+tar-fs@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
+ integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
+ dependencies:
+ chownr "^1.1.1"
+ mkdirp-classic "^0.5.2"
+ pump "^3.0.0"
+ tar-stream "^2.1.4"
+
+tar-stream@^2.1.4:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
+ integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
+ dependencies:
+ bl "^4.0.3"
+ end-of-stream "^1.4.1"
+ fs-constants "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^3.1.1"
+
teeny-request@^7.1.3:
version "7.2.0"
resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.2.0.tgz#41347ece068f08d741e7b86df38a4498208b2633"
@@ -11151,6 +11292,11 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+through@^2.3.8:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
thunkify@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d"
@@ -11374,6 +11520,14 @@ unbox-primitive@^1.0.2:
has-symbols "^1.0.3"
which-boxed-primitive "^1.0.2"
+unbzip2-stream@1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7"
+ integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==
+ dependencies:
+ buffer "^5.2.1"
+ through "^2.3.8"
+
undefsafe@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
@@ -11986,6 +12140,11 @@ write-file-atomic@^3.0.0:
signal-exit "^3.0.2"
typedarray-to-buffer "^3.1.5"
+ws@8.8.1:
+ version "8.8.1"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0"
+ integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==
+
ws@>=7.4.6:
version "8.6.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23"
@@ -12066,6 +12225,14 @@ yargs@^16.2.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
+yauzl@^2.10.0:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+ integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==
+ dependencies:
+ buffer-crc32 "~0.2.3"
+ fd-slicer "~1.1.0"
+
yn@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"