From 09a3b2674595fc93e25d6fc0ca90d1268242eda5 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 11 Jul 2019 11:50:02 +1000 Subject: [PATCH 001/117] Updated @renex dependencies to @renproject --- package.json | 4 +- src/components/AccountDropdown.tsx | 2 +- src/components/CurrencyIcon.tsx | 36 --- src/components/Header.tsx | 36 ++- src/components/Sidebar.tsx | 3 +- src/components/darknodeList/DarknodeCard.tsx | 3 +- src/components/popups/LoggedOut.tsx | 2 +- src/components/popups/SelectWeb3Account.tsx | 2 +- src/components/statuspage/OldFees.tsx | 3 +- src/components/statuspage/StatusPage.tsx | 2 +- src/components/statuspage/block/FeesBlock.tsx | 10 +- src/components/statuspage/block/GasBlock.tsx | 5 +- src/lib/environmentVariables.ts | 8 +- .../actions/statistics/operatorActions.ts | 5 +- .../statistics/operatorPopupActions.tsx | 9 +- .../reducers/statistics/statisticsReducer.ts | 6 +- src/store/types.ts | 10 +- src/styles/index.scss | 2 +- src/styles/scss/__general.scss | 2 + yarn.lock | 207 +++++++++++------- 20 files changed, 201 insertions(+), 156 deletions(-) delete mode 100644 src/components/CurrencyIcon.tsx diff --git a/package.json b/package.json index 9b5b4e27..9d3b0acf 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "@fortawesome/free-regular-svg-icons": "^5.8.2", "@fortawesome/free-solid-svg-icons": "^5.8.2", "@fortawesome/react-fontawesome": "^0.1.4", - "@renex/fonts": "^1.0.1", - "@renex/react-components": "^1.0.21", + "@renproject/fonts": "^1.0.1", + "@renproject/react-components": "^1.0.25", "@sentry/browser": "^5.4.0", "@sentry/core": "^5.4.0", "@types/bs58": "^4.0.0", diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index fab0f085..b50d1fea 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { Blocky, Loading } from "@renex/react-components"; +import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators, Dispatch } from "redux"; diff --git a/src/components/CurrencyIcon.tsx b/src/components/CurrencyIcon.tsx deleted file mode 100644 index 939cdb3a..00000000 --- a/src/components/CurrencyIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import * as React from "react"; - -import { faBitcoin, faEthereum } from "@fortawesome/free-brands-svg-icons"; -import { faDollarSign, faEuroSign, faPoundSign, faWonSign, faYenSign } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Currency } from "../store/types"; - -export const CurrencyIcon: React.StatelessComponent<{ - currency: Currency, -}> = ({ currency }) => { - - // Note: Typescript will warn if the switch statement is non-exhaustive - - // tslint:disable: switch-default - // eslint-disable-next-line - switch (currency) { - case Currency.AUD: - return ; - case Currency.CNY: - return ; - case Currency.GBP: - return ; - case Currency.EUR: - return ; - case Currency.JPY: - return ; - case Currency.KRW: - return ; - case Currency.USD: - return ; - case Currency.ETH: - return ; - case Currency.BTC: - return ; - } -}; diff --git a/src/components/Header.tsx b/src/components/Header.tsx index dc76e9a2..ece8f1c0 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -2,24 +2,29 @@ import * as React from "react"; import { faBars } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Dropdown } from "@renex/react-components"; +import { CurrencyIcon, Dropdown } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link, RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators, Dispatch } from "redux"; -import { storeQuoteCurrency } from "../store/actions/statistics/operatorActions"; +import { storeNetwork, storeQuoteCurrency } from "../store/actions/statistics/operatorActions"; import { showMobileMenu } from "../store/actions/ui/uiActions"; -import { ApplicationData, currencies, Currency } from "../store/types"; -import { AccountDropdown } from "./AccountDropdown"; -import { CurrencyIcon } from "./CurrencyIcon"; - +import { ApplicationData, currencies, Currency, Network } from "../store/types"; import { ReactComponent as English } from "../styles/images/rp-flag-uk.svg"; +import { AccountDropdown } from "./AccountDropdown"; const languageOptions = new Map() .set("EN", <> English ); +const networkOptions = new Map() + .set(Network.Mainnet, <>Mainnet) + .set(Network.Testnet, <>Testnet) + .set(Network.Devnet, <>Devnet) + .set(Network.Localnet, <>Localnet) + ; + const getCurrencyOptions = () => { const options = new Map(); @@ -40,7 +45,7 @@ const currencyOptions = getCurrencyOptions(); */ class HeaderClass extends React.Component { public render = (): JSX.Element => { - const { address, quoteCurrency } = this.props.store; + const { address, quoteCurrency, network } = this.props.store; const languageDropdownNode = { setValue={this.setLanguage} />; + const networkDropdownNode = ; + const currencyDropdownNode = {
{languageDropdownNode} {currencyDropdownNode} + {networkDropdownNode}
@@ -92,6 +108,10 @@ class HeaderClass extends React.Component { this.props.actions.storeQuoteCurrency({ quoteCurrency: currency as Currency }); } + private readonly setNetwork = (network: string): void => { + this.props.actions.storeNetwork(network as Network); + } + private readonly setLanguage = (language: string): void => { // NOT IMPLEMENTED } @@ -101,6 +121,7 @@ const mapStateToProps = (state: ApplicationData) => ({ store: { address: state.trader.address, quoteCurrency: state.statistics.quoteCurrency, + network: state.statistics.network, }, }); @@ -108,6 +129,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ actions: bindActionCreators({ storeQuoteCurrency, showMobileMenu, + storeNetwork, }, dispatch), }); diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index 50226f53..cb94a7e0 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { faStar } from "@fortawesome/free-regular-svg-icons"; import { faFire, faThLarge, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Blocky } from "@renex/react-components"; +import { Blocky, CurrencyIcon } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link } from "react-router-dom"; import { bindActionCreators, Dispatch } from "redux"; @@ -12,7 +12,6 @@ import { Token } from "../lib/ethereum/tokens"; import { RegistrationStatus } from "../store/actions/statistics/operatorActions"; import { hideMobileMenu } from "../store/actions/ui/uiActions"; import { ApplicationData, Currency } from "../store/types"; -import { CurrencyIcon } from "./CurrencyIcon"; import { DarknodeID } from "./DarknodeID"; import { darknodeIDHexToBase58 } from "./pages/Darknode"; import { TokenBalance } from "./TokenBalance"; diff --git a/src/components/darknodeList/DarknodeCard.tsx b/src/components/darknodeList/DarknodeCard.tsx index 177d9159..0ce03ff8 100644 --- a/src/components/darknodeList/DarknodeCard.tsx +++ b/src/components/darknodeList/DarknodeCard.tsx @@ -7,11 +7,10 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link } from "react-router-dom"; import { bindActionCreators, Dispatch } from "redux"; -import { Blocky } from "@renex/react-components"; +import { Blocky, CurrencyIcon } from "@renproject/react-components"; import { Token } from "../../lib/ethereum/tokens"; import { RegistrationStatus, removeDarknode, removeRegisteringDarknode } from "../../store/actions/statistics/operatorActions"; import { ApplicationData, Currency, DarknodeDetails } from "../../store/types"; -import { CurrencyIcon } from "../CurrencyIcon"; import { DarknodeID } from "../DarknodeID"; import { darknodeIDHexToBase58 } from "../pages/Darknode"; import { statusText } from "../statuspage/Registration"; diff --git a/src/components/popups/LoggedOut.tsx b/src/components/popups/LoggedOut.tsx index 0ac52595..e551899e 100644 --- a/src/components/popups/LoggedOut.tsx +++ b/src/components/popups/LoggedOut.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { Blocky } from "@renex/react-components"; +import { Blocky } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; diff --git a/src/components/popups/SelectWeb3Account.tsx b/src/components/popups/SelectWeb3Account.tsx index 8b0b33ee..e6e46ddf 100644 --- a/src/components/popups/SelectWeb3Account.tsx +++ b/src/components/popups/SelectWeb3Account.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { Blocky } from "@renex/react-components"; +import { Blocky } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; diff --git a/src/components/statuspage/OldFees.tsx b/src/components/statuspage/OldFees.tsx index 6615c7dd..b216b88e 100644 --- a/src/components/statuspage/OldFees.tsx +++ b/src/components/statuspage/OldFees.tsx @@ -1,11 +1,10 @@ import * as React from "react"; -import { TokenIcon } from "@renex/react-components"; +import { CurrencyIcon, TokenIcon } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; import { ApplicationData, DarknodeDetails } from "../../store/types"; -import { CurrencyIcon } from "../CurrencyIcon"; import { TokenBalance } from "../TokenBalance"; import { FeesItem } from "./FeesItem"; diff --git a/src/components/statuspage/StatusPage.tsx b/src/components/statuspage/StatusPage.tsx index 2fc73755..9c3fc90f 100644 --- a/src/components/statuspage/StatusPage.tsx +++ b/src/components/statuspage/StatusPage.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { Blocky } from "@renex/react-components"; +import { Blocky } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index a065f84d..06907b05 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -1,21 +1,21 @@ import * as React from "react"; -import BigNumber from "bignumber.js"; - import { faStar } from "@fortawesome/free-regular-svg-icons"; import { faChevronRight, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Loading, TokenIcon } from "@renex/react-components"; +import { CurrencyIcon, Loading, TokenIcon } from "@renproject/react-components"; +import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; import { alreadyPast, naturalTime } from "../../../lib/conversion"; import { OldToken, Token } from "../../../lib/ethereum/tokens"; -import { RegistrationStatus, updateCycleAndPendingRewards, updateDarknodeStatistics } from "../../../store/actions/statistics/operatorActions"; +import { + RegistrationStatus, updateCycleAndPendingRewards, updateDarknodeStatistics, +} from "../../../store/actions/statistics/operatorActions"; import { showClaimPopup } from "../../../store/actions/statistics/operatorPopupActions"; import { ApplicationData, DarknodeDetails, DarknodeFeeStatus } from "../../../store/types"; -import { CurrencyIcon } from "../../CurrencyIcon"; import { TokenBalance } from "../../TokenBalance"; import { FeesItem } from "../FeesItem"; import { OldFees } from "../OldFees"; diff --git a/src/components/statuspage/block/GasBlock.tsx b/src/components/statuspage/block/GasBlock.tsx index 34a65e28..ae0f3f9e 100644 --- a/src/components/statuspage/block/GasBlock.tsx +++ b/src/components/statuspage/block/GasBlock.tsx @@ -1,12 +1,11 @@ import * as React from "react"; -import BigNumber from "bignumber.js"; - import { faChevronRight, faFire, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { CurrencyIcon } from "@renproject/react-components"; +import BigNumber from "bignumber.js"; import { Currency, DarknodeDetails } from "../../../store/types"; -import { CurrencyIcon } from "../../CurrencyIcon"; import { TopUp } from "../TopUp"; import { Block, BlockBody, BlockTitle } from "./Block"; diff --git a/src/lib/environmentVariables.ts b/src/lib/environmentVariables.ts index 3c4a6687..c70d18f7 100644 --- a/src/lib/environmentVariables.ts +++ b/src/lib/environmentVariables.ts @@ -1,7 +1,7 @@ import { Network } from "../store/types"; -export const PUBLIC_NODE = process.env.REACT_APP_PUBLIC_NODE; -export const SENTRY_DSN = process.env.REACT_APP_SENTRY_DSN; -export const DEPLOYMENT = process.env.REACT_APP_DEPLOYMENT as Network | undefined; -export const SOURCE_VERSION = process.env.REACT_APP_SOURCE_VERSION; +export const PUBLIC_NODE = process.env.REACT_APP_PUBLIC_NODE || ""; +export const SENTRY_DSN = process.env.REACT_APP_SENTRY_DSN || ""; +export const DEPLOYMENT = (process.env.REACT_APP_DEPLOYMENT as Network) || Network.Testnet; +export const SOURCE_VERSION = process.env.REACT_APP_SOURCE_VERSION || "local"; export const environment = ((process.env.NODE_ENV === "development") ? "local" : DEPLOYMENT) || "unknown"; diff --git a/src/store/actions/statistics/operatorActions.ts b/src/store/actions/statistics/operatorActions.ts index 869bf000..2357a718 100644 --- a/src/store/actions/statistics/operatorActions.ts +++ b/src/store/actions/statistics/operatorActions.ts @@ -16,7 +16,9 @@ import { DarknodeRegistryWeb3 } from "../../../lib/ethereum/contracts/bindings/d import { getContracts, tokenAddresses } from "../../../lib/ethereum/contracts/contracts"; import { getOperatorDarknodes } from "../../../lib/ethereum/operator"; import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../../../lib/ethereum/tokens"; -import { Currency, DarknodeDetails, DarknodeFeeStatus, EthNetwork, TokenPrices } from "../../types"; +import { + Currency, DarknodeDetails, DarknodeFeeStatus, EthNetwork, Network, TokenPrices, +} from "../../types"; import { updateCurrentCycle, updateCycleTimeout, updatePendingRewards, updatePendingTotalInEth, updatePreviousCycle, @@ -42,6 +44,7 @@ export const storeDarknodeList = createStandardAction("storeDarknodeList")<{ }>(); export const storeQuoteCurrency = createStandardAction("storeQuoteCurrency")<{ quoteCurrency: Currency }>(); +export const storeNetwork = createStandardAction("storeNetwork")(); export const storeSecondsPerBlock = createStandardAction("storeSecondsPerBlock")<{ secondsPerBlock: number }>(); diff --git a/src/store/actions/statistics/operatorPopupActions.tsx b/src/store/actions/statistics/operatorPopupActions.tsx index 5666e61d..ebb512b5 100644 --- a/src/store/actions/statistics/operatorPopupActions.tsx +++ b/src/store/actions/statistics/operatorPopupActions.tsx @@ -1,18 +1,19 @@ import * as React from "react"; +import { CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; -import Web3 from "web3"; - import { Dispatch } from "redux"; +import Web3 from "web3"; -import { CurrencyIcon } from "../../../components/CurrencyIcon"; import { MultiStepPopup } from "../../../components/popups/MultiStepPopup"; import { TokenBalance } from "../../../components/TokenBalance"; import { _captureBackgroundException_ } from "../../../lib/errors"; import { Token } from "../../../lib/ethereum/tokens"; import { Currency, EthNetwork, TokenPrices } from "../../types"; import { setPopup } from "../popup/popupActions"; -import { approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode } from "../trader/darknode"; +import { + approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, +} from "../trader/darknode"; import { updateDarknodeStatistics } from "./operatorActions"; export const showRegisterPopup = ( diff --git a/src/store/reducers/statistics/statisticsReducer.ts b/src/store/reducers/statistics/statisticsReducer.ts index 7d1b7429..b6069196 100644 --- a/src/store/reducers/statistics/statisticsReducer.ts +++ b/src/store/reducers/statistics/statisticsReducer.ts @@ -1,10 +1,9 @@ import { List } from "immutable"; import { ActionType, getType } from "typesafe-actions"; +import { _captureInteractionException_ } from "../../../lib/errors"; import * as networkActions from "../../actions/statistics/networkActions"; import * as operatorActions from "../../actions/statistics/operatorActions"; - -import { _captureInteractionException_ } from "../../../lib/errors"; import { StatisticsData } from "../../types"; type NetworkAction = ActionType; @@ -100,6 +99,9 @@ export const statisticsReducer = ( case getType(operatorActions.storeQuoteCurrency): return state.set("quoteCurrency", action.payload.quoteCurrency); + case getType(operatorActions.storeNetwork): + return state.set("network", action.payload); + case getType(operatorActions.updateDarknodeHistory): return state.set("balanceHistories", state.balanceHistories.set( action.payload.darknodeID, diff --git a/src/store/types.ts b/src/store/types.ts index af6fc774..0a2390ca 100644 --- a/src/store/types.ts +++ b/src/store/types.ts @@ -1,10 +1,10 @@ // tslint:disable:no-object-literal-type-assertion import BigNumber from "bignumber.js"; - import { List, Map, OrderedMap } from "immutable"; import { PromiEvent } from "web3-core"; +import { DEPLOYMENT } from "../lib/environmentVariables"; import { _captureBackgroundException_ } from "../lib/errors"; import { Web3Browser } from "../lib/ethereum/browsers"; import { OldToken, Token } from "../lib/ethereum/tokens"; @@ -13,8 +13,10 @@ import { Record } from "../lib/record"; import { RegistrationStatus } from "./actions/statistics/operatorActions"; export enum Network { - Staging = "staging", - Production = "production", + Mainnet = "Mainnet", + Testnet = "testnet", + Devnet = "devnet", + Localnet = "localnet", } export enum EthNetwork { @@ -96,6 +98,8 @@ export const currencies = [ export type TokenPrices = Map>; export class StatisticsData extends Record({ + network: DEPLOYMENT, + minimumBond: null as BigNumber | null, secondsPerBlock: null as number | null, diff --git a/src/styles/index.scss b/src/styles/index.scss index 4a77184a..b93c0179 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -1,4 +1,4 @@ -@import "~@renex/fonts/fonts"; +@import "~@renproject/fonts/fonts"; @import 'scss/variables'; @import 'scss/animations'; diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index 3dab1c8b..306a1d2b 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -299,9 +299,11 @@ label { .no-scrollbar { overflow: -moz-scrollbars-none; + scrollbar-width: none; &::-webkit-scrollbar { /* remove scrollbar space */ + display: none; width: 0px; height: 0px; } diff --git a/yarn.lock b/yarn.lock index ae785ad8..ebb4b25e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -905,6 +905,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.4.0": + version "7.5.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.4.tgz#cb7d1ad7c6d65676e66b47186577930465b5271b" + integrity sha512-Na84uwyImZZc3FKf4aUF1tysApzwf3p2yuFBIyBfbzT5glzKTdvYI4KVW4kcgjrzoGUjC7w3YyCHcJKaRxsr2Q== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" @@ -983,45 +990,45 @@ find-root "^1.1.0" source-map "^0.7.2" -"@emotion/cache@^10.0.9": - version "10.0.9" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.9.tgz#e0c7b7a289f7530edcfad4dcf3858bd2e5700a6f" - integrity sha512-f7MblpE2xoimC4fCMZ9pivmsIn7hyWRIvY75owMDi8pdOSeh+w5tH3r4hBJv/LLrwiMM7cTQURqTPcYoL5pWnw== +"@emotion/cache@^10.0.14": + version "10.0.14" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.14.tgz#56093cff025c04b0330bdd92afe8335ed326dd18" + integrity sha512-HNGEwWnPlNyy/WPXBXzbjzkzeZFV657Z99/xq2xs5yinJHbMfi3ioCvBJ6Y8Zc8DQzO9F5jDmVXJB41Ytx3QMw== dependencies: - "@emotion/sheet" "0.9.2" - "@emotion/stylis" "0.8.3" - "@emotion/utils" "0.11.1" - "@emotion/weak-memoize" "0.2.2" + "@emotion/sheet" "0.9.3" + "@emotion/stylis" "0.8.4" + "@emotion/utils" "0.11.2" + "@emotion/weak-memoize" "0.2.3" -"@emotion/hash@0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.1.tgz#9833722341379fb7d67f06a4b00ab3c37913da53" - integrity sha512-OYpa/Sg+2GDX+jibUfpZVn1YqSVRpYmTLF2eyAfrFTIJSbwyIrc+YscayoykvaOME/wV4BV0Sa0yqdMrgse6mA== +"@emotion/hash@0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.2.tgz#53211e564604beb9befa7a4400ebf8147473eeef" + integrity sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q== "@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6": version "0.6.6" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44" integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ== -"@emotion/memoize@0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.1.tgz#e93c13942592cf5ef01aa8297444dc192beee52f" - integrity sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg== +"@emotion/memoize@0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30" + integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w== "@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6": version "0.6.6" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b" integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ== -"@emotion/serialize@^0.11.6": - version "0.11.6" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.6.tgz#78be8b9ee9ff49e0196233ba6ec1c1768ba1e1fc" - integrity sha512-n4zVv2qGLmspF99jaEUwnMV0fnEGsyUMsC/8KZKUSUTZMYljHE+j+B6rSD8PIFtaUIhHaxCG2JawN6L+OgLN0Q== +"@emotion/serialize@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.8.tgz#e41dcf7029e45286a3e0cf922933e670fe05402c" + integrity sha512-Qb6Us2Yk1ZW8SOYH6s5z7qzXXb2iHwVeqc6FjXtac0vvxC416ki0eTtHNw4Q5smoyxdyZh3519NKGrQvvvrZ/Q== dependencies: - "@emotion/hash" "0.7.1" - "@emotion/memoize" "0.7.1" - "@emotion/unitless" "0.7.3" - "@emotion/utils" "0.11.1" + "@emotion/hash" "0.7.2" + "@emotion/memoize" "0.7.2" + "@emotion/unitless" "0.7.4" + "@emotion/utils" "0.11.2" csstype "^2.5.7" "@emotion/serialize@^0.9.1": @@ -1034,45 +1041,45 @@ "@emotion/unitless" "^0.6.7" "@emotion/utils" "^0.8.2" -"@emotion/sheet@0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.2.tgz#74e5c6b5e489a1ba30ab246ab5eedd96916487c4" - integrity sha512-pVBLzIbC/QCHDKJF2E82V2H/W/B004mDFQZiyo/MSR+VC4pV5JLG0TF/zgQDFvP3fZL/5RTPGEmXlYJBMUuJ+A== +"@emotion/sheet@0.9.3": + version "0.9.3" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.3.tgz#689f135ecf87d3c650ed0c4f5ddcbe579883564a" + integrity sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A== -"@emotion/stylis@0.8.3": - version "0.8.3" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.3.tgz#3ca7e9bcb31b3cb4afbaeb66156d86ee85e23246" - integrity sha512-M3nMfJ6ndJMYloSIbYEBq6G3eqoYD41BpDOxreE8j0cb4fzz/5qvmqU9Mb2hzsXcCnIlGlWhS03PCzVGvTAe0Q== +"@emotion/stylis@0.8.4": + version "0.8.4" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.4.tgz#6c51afdf1dd0d73666ba09d2eb6c25c220d6fe4c" + integrity sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ== "@emotion/stylis@^0.7.0": version "0.7.1" resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5" integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ== -"@emotion/unitless@0.7.3": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.3.tgz#6310a047f12d21a1036fb031317219892440416f" - integrity sha512-4zAPlpDEh2VwXswwr/t8xGNDGg8RQiPxtxZ3qQEXyQsBV39ptTdESCjuBvGze1nLMVrxmTIKmnO/nAV8Tqjjzg== +"@emotion/unitless@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.4.tgz#a87b4b04e5ae14a88d48ebef15015f6b7d1f5677" + integrity sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ== "@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7": version "0.6.7" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397" integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg== -"@emotion/utils@0.11.1": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.1.tgz#8529b7412a6eb4b48bdf6e720cc1b8e6e1e17628" - integrity sha512-8M3VN0hetwhsJ8dH8VkVy7xo5/1VoBsDOk/T4SJOeXwTO1c4uIqVNx2qyecLFnnUWD5vvUqHQ1gASSeUN6zcTg== +"@emotion/utils@0.11.2": + version "0.11.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183" + integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA== "@emotion/utils@^0.8.2": version "0.8.2" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc" integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw== -"@emotion/weak-memoize@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e" - integrity sha512-n/VQ4mbfr81aqkx/XmVicOLjviMuy02eenSdJY33SVA7S2J42EU0P1H0mOogfYedb3wXA0d/LVtBrgTSm04WEA== +"@emotion/weak-memoize@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" + integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ== "@fortawesome/fontawesome-common-types@^0.2.18": version "0.2.18" @@ -1300,20 +1307,20 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renex/fonts@^1.0.1": +"@renproject/fonts@^1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@renex/fonts/-/fonts-1.0.1.tgz#7967434b343d5cd31c575b633997677f33f6856c" - integrity sha512-MXYgG1HVzILdXIzLC17ln33o6MU8p+wDjPmbKgvKpQGJNaT1eflhj078f+ha/VQ2IMs8B5PNZU1X9mDL4enMgQ== + resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" + integrity sha512-OWk811Ay63UdPxY5nEg4N99Goz6K9HLaeGfUN2q0uehhQ70hJDqDQq/vYl5rtE07mv7MYX7GYTpj5POlPbZNRg== -"@renex/react-components@^1.0.21": - version "1.0.21" - resolved "https://registry.yarnpkg.com/@renex/react-components/-/react-components-1.0.21.tgz#ab579ea111917e4a6c95618ebca83f0f9c8005ef" - integrity sha512-tjF3HdFQ6mvvvhesvhYaPG4Ix2PWG5s7Z7PZK4PwnwPvZDcW1ke9GI7TAG2X7Ln+ej/bWZFcv8RxTE+jeABEAw== +"@renproject/react-components@^1.0.25": + version "1.0.25" + resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.25.tgz#c4b75b65ac941788e9a3d0c465a0f9d777a33af5" + integrity sha512-3qvQ8Lw9DQmiB7fUXopDGbFK3hRfLn78EY5X4INPZJoG6lP3m4af6LUtDMASkp2pDvtMbrpv1339uB67nw33NQ== dependencies: "@fortawesome/fontawesome-svg-core" "^1.2.18" "@fortawesome/free-brands-svg-icons" "^5.8.2" "@fortawesome/react-fontawesome" "^0.1.4" - "@renex/fonts" "^1.0.1" + "@renproject/fonts" "^1.0.1" emotion "^10.0.9" immutable "^4.0.0-rc.12" moment "^2.24.0" @@ -2537,15 +2544,15 @@ babel-plugin-dynamic-import-node@2.2.0: dependencies: object.assign "^4.1.0" -babel-plugin-emotion@^10.0.9: - version "10.0.9" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.9.tgz#04a0404d5a4084d5296357a393d344c0f8303ae4" - integrity sha512-IfWP12e9/wHtWHxVTzD692Nbcmrmcz2tip7acp6YUqtrP7slAyr5B+69hyZ8jd55GsyNSZwryNnmuDEVe0j+7w== +babel-plugin-emotion@^10.0.14: + version "10.0.14" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.14.tgz#c1d0e4621e303507ea7da57daa3cd771939d6df4" + integrity sha512-T7hdxJ4xXkKW3OXcizK0pnUJlBeNj/emjQZPDIZvGOuwl2adIgicQWRNkz6BuwKdDTrqaXQn1vayaL6aL8QW5A== dependencies: "@babel/helper-module-imports" "^7.0.0" - "@emotion/hash" "0.7.1" - "@emotion/memoize" "0.7.1" - "@emotion/serialize" "^0.11.6" + "@emotion/hash" "0.7.2" + "@emotion/memoize" "0.7.2" + "@emotion/serialize" "^0.11.8" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -2587,7 +2594,7 @@ babel-plugin-jest-hoist@^24.6.0: dependencies: "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.5.1, babel-plugin-macros@^2.0.0: +babel-plugin-macros@2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.1.tgz#4a119ac2c2e19b458c259b9accd7ee34fd57ec6f" integrity sha512-xN3KhAxPzsJ6OQTktCanNpIFnnMsCV+t8OloKxIL72D6+SUZYFn9qfklPgef5HyyDtzYZqqb+fs1S12+gQY82Q== @@ -2596,6 +2603,15 @@ babel-plugin-macros@2.5.1, babel-plugin-macros@^2.0.0: cosmiconfig "^5.2.0" resolve "^1.10.0" +babel-plugin-macros@^2.0.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" + integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== + dependencies: + "@babel/runtime" "^7.4.2" + cosmiconfig "^5.2.0" + resolve "^1.10.0" + babel-plugin-named-asset-import@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.2.tgz#20978ed446b8e1bf4a2f42d0a94c0ece85f75f4f" @@ -4064,15 +4080,15 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-emotion@^10.0.9: - version "10.0.9" - resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-10.0.9.tgz#290c2036126171c9566fa24f49c9241d54625138" - integrity sha512-sLKD4bIiTs8PpEqr5vlCoV5lsYE4QOBYEUWaD0R+VGRMCvBKHmYlvLJXsL99Kdc4YEFAFwipi2bbncnvv6UxRg== +create-emotion@^10.0.14: + version "10.0.14" + resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-10.0.14.tgz#4c140aaef6a9588ed47c926f9c4679e4719be43e" + integrity sha512-5G4naKMxokOur+94eDz7iPKBfwzy4wa/+0isnPhxXyosIQHBq7yvBy4jjdZw/nnRm7G3PM7P9Ug8mUmtoqcaHg== dependencies: - "@emotion/cache" "^10.0.9" - "@emotion/serialize" "^0.11.6" - "@emotion/sheet" "0.9.2" - "@emotion/utils" "0.11.1" + "@emotion/cache" "^10.0.14" + "@emotion/serialize" "^0.11.8" + "@emotion/sheet" "0.9.3" + "@emotion/utils" "0.11.2" create-emotion@^9.2.12: version "9.2.12" @@ -4386,11 +4402,16 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: dependencies: cssom "0.3.x" -csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7: +csstype@^2.2.0: version "2.6.4" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.4.tgz#d585a6062096e324e7187f80e04f92bd0f00e37f" integrity sha512-lAJUJP3M6HxFXbqtGRc0iZrdyeN+WzOWeY0q/VnFzI+kqVrYIzC7bWlKqCW7oCIdzoPkvfp82EVvrTlQ8zsWQg== +csstype@^2.5.2, csstype@^2.5.7: + version "2.6.6" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" + integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -4859,12 +4880,12 @@ emojis-list@^2.0.0: integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= emotion@^10.0.9: - version "10.0.9" - resolved "https://registry.yarnpkg.com/emotion/-/emotion-10.0.9.tgz#2c37598af13df31dcd35a1957eaa8830f368c066" - integrity sha512-IMFwwWlU2TDt7eh4v6dm58E8VHAYOitqRbVoazQdxIu9/0CAH4a3UrTMnZSlWQAo09MrRRlKfgQFHswnj40meQ== + version "10.0.14" + resolved "https://registry.yarnpkg.com/emotion/-/emotion-10.0.14.tgz#d7702a6147de6e8ce863dacde98418a467c5fed4" + integrity sha512-6cTWfwqVGy9UinGSZQKRGyuRsRGkzlT0MaeH2pF4BvL7u6PnyTZeyHj4INwzpaXBLwA9C0JaFqS31J62RWUNNw== dependencies: - babel-plugin-emotion "^10.0.9" - create-emotion "^10.0.9" + babel-plugin-emotion "^10.0.14" + create-emotion "^10.0.14" emotion@^9.1.2: version "9.2.12" @@ -8381,9 +8402,9 @@ memdown@^1.0.0: safe-buffer "~5.1.1" memoize-one@^5.0.0: - version "5.0.4" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.4.tgz#005928aced5c43d890a4dfab18ca908b0ec92cbc" - integrity sha512-P0z5IeAH6qHHGkJIXWw0xC2HNEgkx/9uWWBQw64FJj3/ol14VYdfVGWWr0fXfjhhv3TKVIqUq65os6O4GUNksA== + version "5.0.5" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e" + integrity sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ== memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" @@ -8535,6 +8556,15 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" +mini-create-react-context@^0.3.0: + version "0.3.2" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz#79fc598f283dd623da8e088b05db8cddab250189" + integrity sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw== + dependencies: + "@babel/runtime" "^7.4.0" + gud "^1.0.0" + tiny-warning "^1.0.2" + mini-css-extract-plugin@0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" @@ -10709,7 +10739,7 @@ react-router-dom@^5.0.0: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.0.0, react-router@^5.0.0: +react-router@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.0.tgz#349863f769ffc2fa10ee7331a4296e86bc12879d" integrity sha512-6EQDakGdLG/it2x9EaCt9ZpEEPxnd0OCLBHQ1AcITAAx7nCnyvnzf76jKWG1s2/oJ7SSviUgfWHofdYljFexsA== @@ -10725,6 +10755,22 @@ react-router@5.0.0, react-router@^5.0.0: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" +react-router@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" + integrity sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.3.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-scripts@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.0.1.tgz#e5565350d8069cc9966b5998d3fe3befe3d243ac" @@ -12443,6 +12489,11 @@ tiny-warning@^1.0.0: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.2.tgz#1dfae771ee1a04396bdfde27a3adcebc6b648b28" integrity sha512-rru86D9CpQRLvsFG5XFdy0KdLAvjdQDyZCsRcuu60WtzFylDM3eAWSxEVz5kzL2Gp544XiUvPbVKtOA/txLi9Q== +tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" From 9527734627bbcdc3f982e89de372a43872492806 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 11 Jul 2019 14:52:18 +1000 Subject: [PATCH 002/117] Replaced ethNetwork with renNetwork --- package.json | 43 +- src/components/AccountDropdown.tsx | 12 +- src/components/App.tsx | 19 +- src/components/BackgroundTasks.tsx | 23 +- src/components/Header.tsx | 32 +- src/components/statuspage/FeesItem.tsx | 13 +- src/components/statuspage/Registration.tsx | 32 +- src/components/statuspage/TopUp.tsx | 8 +- src/components/statuspage/block/FeesBlock.tsx | 14 +- src/index.tsx | 6 +- src/lib/environmentVariables.ts | 5 +- src/lib/errors.ts | 10 +- src/lib/onLoad.ts | 5 +- .../actions/statistics/operatorActions.ts | 3 +- src/store/actions/trader/accountActions.tsx | 27 +- src/store/configureStore.ts | 3 +- src/store/persistConfig.ts | 34 +- .../reducers/statistics/statisticsReducer.ts | 3 - src/store/reducers/trader/traderReducer.ts | 5 +- src/store/types.ts | 52 +- src/styles/scss/_sidebar.scss | 2 +- yarn.lock | 623 +++++++++++++----- 22 files changed, 676 insertions(+), 298 deletions(-) diff --git a/package.json b/package.json index 9d3b0acf..638da105 100644 --- a/package.json +++ b/package.json @@ -3,24 +3,25 @@ "version": "0.1.0", "private": true, "dependencies": { - "@fortawesome/fontawesome-svg-core": "^1.2.18", - "@fortawesome/free-brands-svg-icons": "^5.8.2", - "@fortawesome/free-regular-svg-icons": "^5.8.2", - "@fortawesome/free-solid-svg-icons": "^5.8.2", + "@fortawesome/fontawesome-svg-core": "^1.2.19", + "@fortawesome/free-brands-svg-icons": "^5.9.0", + "@fortawesome/free-regular-svg-icons": "^5.9.0", + "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", + "@renproject/contracts": "^0.3.0", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "^1.0.25", - "@sentry/browser": "^5.4.0", - "@sentry/core": "^5.4.0", + "@sentry/browser": "^5.5.0", + "@sentry/core": "^5.5.0", "@types/bs58": "^4.0.0", - "@types/jest": "^24.0.13", - "@types/node": "^12.0.4", + "@types/jest": "^24.0.15", + "@types/node": "^12.6.2", "@types/query-string": "^6.3.0", - "@types/react": "^16.8.19", + "@types/react": "^16.8.23", "@types/react-dom": "^16.8.4", - "@types/react-redux": "^7.0.9", - "@types/react-router-dom": "^4.3.3", - "@types/underscore": "^1.8.18", + "@types/react-redux": "^7.1.1", + "@types/react-router-dom": "^4.3.4", + "@types/underscore": "^1.9.2", "axios": "^0.19.0", "bignumber.js": "^9.0.0", "bs58": "^4.0.1", @@ -29,18 +30,18 @@ "immutable": "^4.0.0-rc.12", "moment": "^2.24.0", "node-sass": "^4.12.0", - "query-string": "^6.5.0", + "query-string": "^6.8.1", "react": "^16.8.6", "react-chartjs-2": "^2.7.6", "react-dom": "^16.8.6", - "react-redux": "^7.0.3", - "react-router-dom": "^5.0.0", + "react-redux": "^7.1.0", + "react-router-dom": "^5.0.1", "react-scripts": "^3.0.1", - "redux": "^4.0.1", + "redux": "^4.0.4", "redux-persist": "^5.10.0", "redux-thunk": "^2.3.0", - "typesafe-actions": "^4.4.0", - "typescript": "^3.5.1", + "typesafe-actions": "^4.4.2", + "typescript": "^3.5.3", "wallet-address-validator": "^0.2.4", "web3": "^1.0.0-beta.55", "web3-core": "^1.0.0-beta.55", @@ -50,9 +51,9 @@ }, "devDependencies": { "any-promise": "^1.3.0", - "npm-check-updates": "^3.1.10", + "npm-check-updates": "^3.1.18", "ts-unused-exports": "^2.0.11", - "tslint": "^5.17.0", + "tslint": "^5.18.0", "tslint-microsoft-contrib": "^6.2.0", "tslint-react": "^4.0.0", "underscore": "^1.9.1", @@ -78,4 +79,4 @@ "not ie <= 11", "not op_mini all" ] -} +} \ No newline at end of file diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index b50d1fea..e5621e4e 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -5,7 +5,7 @@ import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators, Dispatch } from "redux"; import { login, logout } from "../store/actions/trader/accountActions"; -import { ApplicationData, EthNetwork } from "../store/types"; +import { ApplicationData, EthNetwork, EthNetworkMap } from "../store/types"; const defaultState = { // Entries must be immutable shown: false, @@ -22,7 +22,7 @@ class AccountDropdownClass extends React.Component { } public render = () => { - const { address, web3BrowserName, transactions, confirmations, ethNetwork } = this.props.store; + const { address, web3BrowserName, transactions, confirmations, renNetwork } = this.props.store; const { copied } = this.state; // `pendingTXs` calculates whether or not the user has any ethereum @@ -31,7 +31,7 @@ class AccountDropdownClass extends React.Component { return reduction || confirmations.get(key, 0) === 0; }, false); - const etherscan = `https://${ethNetwork === EthNetwork.Mainnet ? "" : `${ethNetwork}.`}etherscan.io`; + const etherscan = `https://${EthNetworkMap[renNetwork] === EthNetwork.Mainnet ? "" : `${EthNetworkMap[renNetwork]}.`}etherscan.io`; const { shown } = this.state; @@ -134,9 +134,9 @@ class AccountDropdownClass extends React.Component { } private readonly handleLogin = async (): Promise => { - const { address } = this.props.store; + const { address, renNetwork } = this.props.store; if (!address) { - await this.props.actions.login({ redirect: false, showPopup: true, immediatePopup: true }); + await this.props.actions.login(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }); } } @@ -192,7 +192,7 @@ const mapStateToProps = (state: ApplicationData) => ({ web3: state.trader.web3, transactions: state.statistics.transactions, confirmations: state.statistics.confirmations, - ethNetwork: state.trader.ethNetwork, + renNetwork: state.trader.renNetwork, }, }); diff --git a/src/components/App.tsx b/src/components/App.tsx index 799c9a9b..afbacb14 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -4,17 +4,16 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; import { bindActionCreators, Dispatch } from "redux"; -import { Home } from "./pages/Home"; -import { PopupController } from "./popups/PopupController"; - import { DEPLOYMENT } from "../lib/environmentVariables"; -import { ApplicationData, EthNetwork, getNetworkLabel, Network } from "../store/types"; +import { ApplicationData, EthNetworkLabel, EthNetworkMap, RenNetworkLabel } from "../store/types"; import { BackgroundTasks } from "./BackgroundTasks"; import { _catch_ } from "./ErrorBoundary"; import { Header } from "./Header"; import { Darknode, getDarknodeParam } from "./pages/Darknode"; +import { Home } from "./pages/Home"; import { LoggingIn } from "./pages/LoggingIn"; import { NotFound } from "./pages/NotFound"; +import { PopupController } from "./popups/PopupController"; import { Sidebar } from "./Sidebar"; // Scroll restoration based on https://reacttraining.com/react-router/web/guides/scroll-restoration @@ -44,11 +43,11 @@ class AppClass extends React.Component { this.props.store.address ? component : LoggingIn public render = (): JSX.Element => { - const { match: { params }, store: { address, ethNetwork } } = this.props; + const { match: { params }, store: { address, renNetwork } } = this.props; const darknodeID = getDarknodeParam(params); - const showNetworkBanner = ethNetwork !== EthNetwork.Mainnet || DEPLOYMENT === Network.Staging; + const showNetworkBanner = renNetwork !== DEPLOYMENT; - return
+ return
{/* @@ -56,9 +55,9 @@ class AppClass extends React.Component { * (e.g. if in * the middle of a transaction, etc.) */} -
+
{showNetworkBanner ? -
Using {getNetworkLabel(ethNetwork)} Ethereum network
: +
Using {RenNetworkLabel[renNetwork]} RenVM network, {EthNetworkLabel[EthNetworkMap[renNetwork]]} Ethereum network
: <> } @@ -81,7 +80,7 @@ const mapStateToProps = (state: ApplicationData) => ({ store: { address: state.trader.address, web3: state.trader.web3, - ethNetwork: state.trader.ethNetwork, + renNetwork: state.trader.renNetwork, }, }); diff --git a/src/components/BackgroundTasks.tsx b/src/components/BackgroundTasks.tsx index 386ce1ba..4bb09133 100644 --- a/src/components/BackgroundTasks.tsx +++ b/src/components/BackgroundTasks.tsx @@ -13,7 +13,7 @@ import { updateDarknodeStatistics, updateOperatorStatistics, } from "../store/actions/statistics/operatorActions"; import { login, lookForLogout } from "../store/actions/trader/accountActions"; -import { ApplicationData } from "../store/types"; +import { ApplicationData, EthNetworkMap } from "../store/types"; import { getDarknodeParam } from "./pages/Darknode"; /** @@ -28,7 +28,7 @@ class BackgroundTasksClass extends React.Component { private callUpdateSelectedDarknodeTimeout: NodeJS.Timer | undefined; public componentDidMount = async (): Promise => { - const { match: { params } } = this.props; + const { match: { params }, store: { renNetwork } } = this.props; const darknodeID = getDarknodeParam(params); @@ -41,6 +41,7 @@ class BackgroundTasksClass extends React.Component { try { await this.props.actions.login( + renNetwork, { redirect: false, showPopup: darknodeID === undefined || action !== undefined, @@ -112,11 +113,11 @@ class BackgroundTasksClass extends React.Component { private readonly callLookForLogout = async (props?: Props): Promise => { props = props || this.props; - const { address, web3 } = props.store; + const { address, web3, renNetwork } = props.store; if (address) { try { // tslint:disable-next-line: await-promise - await props.actions.lookForLogout(address, web3); + await props.actions.lookForLogout(renNetwork, address, web3); } catch (error) { _captureBackgroundException_(error, { description: "Error thrown in callLookForLogout background task", @@ -131,11 +132,11 @@ class BackgroundTasksClass extends React.Component { private readonly callUpdateNetworkStatistics = async (props?: Props): Promise => { props = props || this.props; - const { web3, ethNetwork } = props.store; + const { web3, renNetwork } = props.store; let timeout = 1; // Retry in a second, unless the call succeeds try { // tslint:disable-next-line: await-promise - await props.actions.updateNetworkStatistics(web3, ethNetwork); + await props.actions.updateNetworkStatistics(web3, EthNetworkMap[renNetwork]); timeout = 3600; } catch (error) { if (error && error.message && error.message.match("Cannot read property 'toString' of")) { @@ -157,7 +158,7 @@ class BackgroundTasksClass extends React.Component { private readonly callUpdateOperatorStatistics = async (props?: Props): Promise => { props = props || this.props; - const { web3, address, tokenPrices, darknodeList, darknodeRegisteringList, ethNetwork } = props.store; + const { web3, address, tokenPrices, darknodeList, darknodeRegisteringList, renNetwork } = props.store; let timeout = 1; // Retry in a second, unless the call succeeds if (address && tokenPrices) { try { @@ -166,7 +167,7 @@ class BackgroundTasksClass extends React.Component { list = list.concat(darknodeList); } // tslint:disable-next-line: await-promise - await props.actions.updateOperatorStatistics(web3, ethNetwork, address, tokenPrices, list); + await props.actions.updateOperatorStatistics(web3, EthNetworkMap[renNetwork], address, tokenPrices, list); timeout = 120; } catch (error) { _captureBackgroundException_(error, { @@ -187,7 +188,7 @@ class BackgroundTasksClass extends React.Component { props = props || this.props; const { match: { params } } = props; - const { web3, tokenPrices, ethNetwork } = props.store; + const { web3, tokenPrices, renNetwork } = props.store; const darknodeID = getDarknodeParam(params); @@ -197,7 +198,7 @@ class BackgroundTasksClass extends React.Component { // tslint:disable-next-line: await-promise await props.actions.updateDarknodeStatistics( web3, - ethNetwork, + EthNetworkMap[renNetwork], darknodeID, tokenPrices, ); @@ -258,7 +259,7 @@ const mapStateToProps = (state: ApplicationData) => ({ tokenPrices: state.statistics.tokenPrices, darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address, null) : null, darknodeRegisteringList: state.statistics.darknodeRegisteringList, - ethNetwork: state.trader.ethNetwork, + renNetwork: state.trader.renNetwork, }, }); diff --git a/src/components/Header.tsx b/src/components/Header.tsx index ece8f1c0..be691207 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -7,9 +7,10 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link, RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators, Dispatch } from "redux"; -import { storeNetwork, storeQuoteCurrency } from "../store/actions/statistics/operatorActions"; +import { storeQuoteCurrency } from "../store/actions/statistics/operatorActions"; +import { storeRenNetwork } from "../store/actions/trader/accountActions"; import { showMobileMenu } from "../store/actions/ui/uiActions"; -import { ApplicationData, currencies, Currency, Network } from "../store/types"; +import { ApplicationData, currencies, Currency, RenNetwork } from "../store/types"; import { ReactComponent as English } from "../styles/images/rp-flag-uk.svg"; import { AccountDropdown } from "./AccountDropdown"; @@ -19,10 +20,10 @@ const languageOptions = new Map() ); const networkOptions = new Map() - .set(Network.Mainnet, <>Mainnet) - .set(Network.Testnet, <>Testnet) - .set(Network.Devnet, <>Devnet) - .set(Network.Localnet, <>Localnet) + .set(RenNetwork.Mainnet, <>Mainnet) + .set(RenNetwork.Testnet, <>Testnet) + .set(RenNetwork.Devnet, <>Devnet) + .set(RenNetwork.Localnet, <>Localnet) ; const getCurrencyOptions = () => { @@ -45,7 +46,7 @@ const currencyOptions = getCurrencyOptions(); */ class HeaderClass extends React.Component { public render = (): JSX.Element => { - const { address, quoteCurrency, network } = this.props.store; + const { address, quoteCurrency, renNetwork } = this.props.store; const languageDropdownNode = { const networkDropdownNode = { } private readonly setNetwork = (network: string): void => { - this.props.actions.storeNetwork(network as Network); + this.props.actions.storeRenNetwork(network as RenNetwork); + setInterval(() => { + const currentLocation = window.location.pathname; + // history.push("/loading"); + // Reload to clear all stores and cancel timeouts + // (e.g. deposit/withdrawal confirmations) + window.location.replace(currentLocation); + }, 100); } private readonly setLanguage = (language: string): void => { @@ -121,7 +129,7 @@ const mapStateToProps = (state: ApplicationData) => ({ store: { address: state.trader.address, quoteCurrency: state.statistics.quoteCurrency, - network: state.statistics.network, + renNetwork: state.trader.renNetwork, }, }); @@ -129,7 +137,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ actions: bindActionCreators({ storeQuoteCurrency, showMobileMenu, - storeNetwork, + storeRenNetwork, }, dispatch), }); diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index d072f2e5..c501cefc 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -1,16 +1,15 @@ import * as React from "react"; -import BigNumber from "bignumber.js"; - import { faChevronRight } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import BigNumber from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; import { OldToken, Token } from "../../lib/ethereum/tokens"; import { updateDarknodeStatistics } from "../../store/actions/statistics/operatorActions"; import { withdrawReward } from "../../store/actions/trader/darknode"; -import { ApplicationData } from "../../store/types"; +import { ApplicationData, EthNetworkMap } from "../../store/types"; import { Loading } from "../Loading"; const defaultState = { // Entries must be immutable @@ -39,19 +38,19 @@ class FeesItemClass extends React.Component { private readonly handleWithdraw = async (): Promise => { const { store, darknodeID, token } = this.props; - const { web3, tokenPrices, address, ethNetwork } = store; + const { web3, tokenPrices, address, renNetwork } = store; this.setState({ loading: true }); if (address) { try { // tslint:disable-next-line: await-promise - await this.props.actions.withdrawReward(web3, ethNetwork, address, darknodeID, token); + await this.props.actions.withdrawReward(web3, EthNetworkMap[renNetwork], address, darknodeID, token); } catch (error) { this.setState({ loading: false }); return; } // tslint:disable-next-line: await-promise - await this.props.actions.updateDarknodeStatistics(web3, ethNetwork, darknodeID, tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); } this.setState({ loading: false }); @@ -64,7 +63,7 @@ const mapStateToProps = (state: ApplicationData) => ({ tokenPrices: state.statistics.tokenPrices, address: state.trader.address, withdrawAddresses: state.statistics.withdrawAddresses, - ethNetwork: state.trader.ethNetwork, + renNetwork: state.trader.renNetwork, }, }); diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index ab83e743..2c5e5f17 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -5,12 +5,12 @@ import { bindActionCreators, Dispatch } from "redux"; import { _captureInteractionException_ } from "../../lib/errors"; import { - RegistrationStatus, - updateDarknodeStatistics, - updateOperatorStatistics + RegistrationStatus, updateDarknodeStatistics, updateOperatorStatistics, } from "../../store/actions/statistics/operatorActions"; -import { showDeregisterPopup, showRefundPopup, showRegisterPopup } from "../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData, DarknodeDetails } from "../../store/types"; +import { + showDeregisterPopup, showRefundPopup, showRegisterPopup, +} from "../../store/actions/statistics/operatorPopupActions"; +import { ApplicationData, DarknodeDetails, EthNetworkMap } from "../../store/types"; import { Loading } from "../Loading"; export const statusText = { @@ -112,10 +112,10 @@ class RegistrationClass extends React.Component { private readonly onDone = async () => { const { darknodeID } = this.props; - const { web3, tokenPrices, ethNetwork } = this.props.store; + const { web3, tokenPrices, renNetwork } = this.props.store; try { - await this.props.actions.updateDarknodeStatistics(web3, ethNetwork, darknodeID, tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -127,14 +127,14 @@ class RegistrationClass extends React.Component { } private readonly onDoneRegister = async () => { - const { web3, address, tokenPrices, darknodeList, ethNetwork } = this.props.store; + const { web3, address, tokenPrices, darknodeList, renNetwork } = this.props.store; if (!address) { return; // FIXME } try { - await this.props.actions.updateOperatorStatistics(web3, ethNetwork, address, tokenPrices, darknodeList); + await this.props.actions.updateOperatorStatistics(web3, EthNetworkMap[renNetwork], address, tokenPrices, darknodeList); } catch (error) { // Ignore error } @@ -146,7 +146,7 @@ class RegistrationClass extends React.Component { private readonly handleRegister = async (): Promise => { const { darknodeID, publicKey } = this.props; - const { web3, address, minimumBond, tokenPrices, ethNetwork } = this.props.store; + const { web3, address, minimumBond, tokenPrices, renNetwork } = this.props.store; if (!publicKey || !address || !minimumBond || !tokenPrices) { return; // FIXME @@ -155,7 +155,7 @@ class RegistrationClass extends React.Component { this.setState({ active: true }); try { await this.props.actions.showRegisterPopup( - web3, ethNetwork, address, darknodeID, publicKey, minimumBond, tokenPrices, this.onCancel, this.onDoneRegister + web3, EthNetworkMap[renNetwork], address, darknodeID, publicKey, minimumBond, tokenPrices, this.onCancel, this.onDoneRegister ); } catch (error) { _captureInteractionException_(error, { @@ -168,7 +168,7 @@ class RegistrationClass extends React.Component { private readonly handleDeregister = async (): Promise => { const { darknodeID, darknodeDetails } = this.props; - const { web3, address, quoteCurrency, ethNetwork } = this.props.store; + const { web3, address, quoteCurrency, renNetwork } = this.props.store; if (!address) { return; @@ -177,7 +177,7 @@ class RegistrationClass extends React.Component { this.setState({ active: true }); await this.props.actions.showDeregisterPopup( web3, - ethNetwork, + EthNetworkMap[renNetwork], address, darknodeID, darknodeDetails && darknodeDetails.feesEarnedTotalEth, @@ -188,14 +188,14 @@ class RegistrationClass extends React.Component { private readonly handleRefund = async (): Promise => { const { darknodeID } = this.props; - const { web3, address, ethNetwork } = this.props.store; + const { web3, address, renNetwork } = this.props.store; if (!address) { return; } this.setState({ active: true }); - await this.props.actions.showRefundPopup(web3, ethNetwork, address, darknodeID, this.onCancel, this.onDone); + await this.props.actions.showRefundPopup(web3, EthNetworkMap[renNetwork], address, darknodeID, this.onCancel, this.onDone); } } @@ -207,7 +207,7 @@ const mapStateToProps = (state: ApplicationData) => ({ tokenPrices: state.statistics.tokenPrices, darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address, null) : null, quoteCurrency: state.statistics.quoteCurrency, - ethNetwork: state.trader.ethNetwork, + renNetwork: state.trader.renNetwork, }, }); diff --git a/src/components/statuspage/TopUp.tsx b/src/components/statuspage/TopUp.tsx index 22b9544c..721eb137 100644 --- a/src/components/statuspage/TopUp.tsx +++ b/src/components/statuspage/TopUp.tsx @@ -7,7 +7,7 @@ import { bindActionCreators, Dispatch } from "redux"; import { _captureBackgroundException_ } from "../../lib/errors"; import { updateDarknodeStatistics } from "../../store/actions/statistics/operatorActions"; import { showFundPopup } from "../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData } from "../../store/types"; +import { ApplicationData, EthNetworkMap } from "../../store/types"; const CONFIRMATION_MESSAGE = "Transaction confirmed."; @@ -124,7 +124,7 @@ class TopUpClass extends React.Component { } private readonly sendFunds = async (): Promise => { - const { darknodeID, store: { address, web3, tokenPrices, ethNetwork } } = this.props; + const { darknodeID, store: { address, web3, tokenPrices, renNetwork } } = this.props; const { value } = this.state; this.setState({ resultMessage: "", pending: true }); @@ -142,7 +142,7 @@ class TopUpClass extends React.Component { const onDone = async () => { try { - await this.props.actions.updateDarknodeStatistics(web3, ethNetwork, darknodeID, tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -167,7 +167,7 @@ const mapStateToProps = (state: ApplicationData) => ({ address: state.trader.address, web3: state.trader.web3, tokenPrices: state.statistics.tokenPrices, - ethNetwork: state.trader.ethNetwork, + renNetwork: state.trader.renNetwork, }, }); diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index 06907b05..77925f4f 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -15,7 +15,9 @@ import { RegistrationStatus, updateCycleAndPendingRewards, updateDarknodeStatistics, } from "../../../store/actions/statistics/operatorActions"; import { showClaimPopup } from "../../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData, DarknodeDetails, DarknodeFeeStatus } from "../../../store/types"; +import { + ApplicationData, DarknodeDetails, DarknodeFeeStatus, EthNetworkMap, +} from "../../../store/types"; import { TokenBalance } from "../../TokenBalance"; import { FeesItem } from "../FeesItem"; import { OldFees } from "../OldFees"; @@ -288,7 +290,7 @@ class FeesBlockClass extends React.Component { } private readonly onClaim = async (claimBeforeCycle: boolean) => { - const { darknodeDetails, store: { web3, address, tokenPrices, ethNetwork } } = this.props; + const { darknodeDetails, store: { web3, address, tokenPrices, renNetwork } } = this.props; if (!address || !darknodeDetails) { this.setState({ claiming: false }); @@ -305,8 +307,8 @@ class FeesBlockClass extends React.Component { const onDone = async () => { try { - await this.props.actions.updateCycleAndPendingRewards(web3, ethNetwork, tokenPrices); - await this.props.actions.updateDarknodeStatistics(web3, ethNetwork, darknodeID, tokenPrices); + await this.props.actions.updateCycleAndPendingRewards(web3, EthNetworkMap[renNetwork], tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -318,7 +320,7 @@ class FeesBlockClass extends React.Component { const title = `Claim rewards`; this.setState({ disableClaim: true }); - await this.props.actions.showClaimPopup(web3, ethNetwork, claimBeforeCycle, address, darknodeID, title, onCancel, onDone); + await this.props.actions.showClaimPopup(web3, EthNetworkMap[renNetwork], claimBeforeCycle, address, darknodeID, title, onCancel, onDone); } } @@ -333,7 +335,7 @@ const mapStateToProps = (state: ApplicationData) => ({ pendingRewards: state.statistics.pendingRewards, pendingTotalInEth: state.statistics.pendingTotalInEth, tokenPrices: state.statistics.tokenPrices, - ethNetwork: state.trader.ethNetwork, + renNetwork: state.trader.renNetwork, cycleTimeout: state.statistics.cycleTimeout, }, }); diff --git a/src/index.tsx b/src/index.tsx index 3e125d7f..a7f0e715 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,3 +1,5 @@ +import "./styles/index.scss"; + import * as React from "react"; import * as ReactDOM from "react-dom"; @@ -7,14 +9,12 @@ import { PersistGate } from "redux-persist/integration/react"; import { App } from "./components/App"; import { _catch_ } from "./components/ErrorBoundary"; -import { environment } from "./lib/environmentVariables"; import { history } from "./lib/history"; import { onLoad } from "./lib/onLoad"; import { configureStore } from "./store/configureStore"; -import "./styles/index.scss"; // Redirect to https if we aren't serving locally -if (environment !== "local") { +if (process.env.NODE_ENV !== "development") { const loc = window.location.href + ""; // tslint:disable-next-line: no-http-string if (loc.indexOf("http://") === 0) { diff --git a/src/lib/environmentVariables.ts b/src/lib/environmentVariables.ts index c70d18f7..8e3aab7d 100644 --- a/src/lib/environmentVariables.ts +++ b/src/lib/environmentVariables.ts @@ -1,7 +1,6 @@ -import { Network } from "../store/types"; +import { RenNetwork } from "../store/types"; export const PUBLIC_NODE = process.env.REACT_APP_PUBLIC_NODE || ""; export const SENTRY_DSN = process.env.REACT_APP_SENTRY_DSN || ""; -export const DEPLOYMENT = (process.env.REACT_APP_DEPLOYMENT as Network) || Network.Testnet; +export const DEPLOYMENT = (process.env.REACT_APP_DEPLOYMENT as RenNetwork) || RenNetwork.Testnet; export const SOURCE_VERSION = process.env.REACT_APP_SOURCE_VERSION || "local"; -export const environment = ((process.env.NODE_ENV === "development") ? "local" : DEPLOYMENT) || "unknown"; diff --git a/src/lib/errors.ts b/src/lib/errors.ts index 56b0b93f..4fd86b2c 100644 --- a/src/lib/errors.ts +++ b/src/lib/errors.ts @@ -2,9 +2,9 @@ import * as Sentry from "@sentry/browser"; -import { Network } from "../store/types"; +import { RenNetwork } from "../store/types"; import { naturalTime } from "./conversion"; -import { environment } from "./environmentVariables"; +import { DEPLOYMENT } from "./environmentVariables"; interface Details { description?: string; @@ -123,13 +123,13 @@ const _captureException_ = (error: any, details: X) => { // tslint:disable-next-line: no-console console.error(error); - if (environment !== Network.Production) { + if (DEPLOYMENT !== RenNetwork.Mainnet) { if (typeof error === "string") { // tslint:disable-next-line: no-parameter-reassignment - error = `[${environment.toUpperCase()}] ${error}`; + error = `[${DEPLOYMENT}-${process.env.NODE_ENV}] ${error}`; } else { try { - error.message = `[${environment.toUpperCase()}] ${error.message || error}`; + error.message = `[${DEPLOYMENT}-${process.env.NODE_ENV}] ${error.message || error}`; } catch { // Ignore: Unable to overwrite message (may be read-only) } diff --git a/src/lib/onLoad.ts b/src/lib/onLoad.ts index 003c6df5..6b65cfb1 100644 --- a/src/lib/onLoad.ts +++ b/src/lib/onLoad.ts @@ -1,10 +1,9 @@ import * as Sentry from "@sentry/browser"; import Web3 from "web3"; - import { HttpProvider } from "web3-providers"; -import { environment, SENTRY_DSN, SOURCE_VERSION } from "./environmentVariables"; +import { DEPLOYMENT, SENTRY_DSN, SOURCE_VERSION } from "./environmentVariables"; import { pageLoadedAt } from "./errors"; interface EthereumProvider extends HttpProvider { @@ -31,7 +30,7 @@ export const onLoad = (title: string) => { dsn: SENTRY_DSN, // Used to separate testnet and mainnet errors - environment, + environment: `${DEPLOYMENT}-${process.env.NODE_ENV}`, // Used to track errors across versions release: SOURCE_VERSION, diff --git a/src/store/actions/statistics/operatorActions.ts b/src/store/actions/statistics/operatorActions.ts index 2357a718..a0b2f33d 100644 --- a/src/store/actions/statistics/operatorActions.ts +++ b/src/store/actions/statistics/operatorActions.ts @@ -17,7 +17,7 @@ import { getContracts, tokenAddresses } from "../../../lib/ethereum/contracts/co import { getOperatorDarknodes } from "../../../lib/ethereum/operator"; import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../../../lib/ethereum/tokens"; import { - Currency, DarknodeDetails, DarknodeFeeStatus, EthNetwork, Network, TokenPrices, + Currency, DarknodeDetails, DarknodeFeeStatus, EthNetwork, TokenPrices, } from "../../types"; import { updateCurrentCycle, updateCycleTimeout, updatePendingRewards, updatePendingTotalInEth, @@ -44,7 +44,6 @@ export const storeDarknodeList = createStandardAction("storeDarknodeList")<{ }>(); export const storeQuoteCurrency = createStandardAction("storeQuoteCurrency")<{ quoteCurrency: Currency }>(); -export const storeNetwork = createStandardAction("storeNetwork")(); export const storeSecondsPerBlock = createStandardAction("storeSecondsPerBlock")<{ secondsPerBlock: number }>(); diff --git a/src/store/actions/trader/accountActions.tsx b/src/store/actions/trader/accountActions.tsx index 8fa0c02f..b8eda58d 100644 --- a/src/store/actions/trader/accountActions.tsx +++ b/src/store/actions/trader/accountActions.tsx @@ -1,10 +1,9 @@ import * as Sentry from "@sentry/browser"; import * as React from "react"; -import Web3 from "web3"; - import { Dispatch } from "redux"; import { createStandardAction } from "typesafe-actions"; +import Web3 from "web3"; import { provider } from "web3-providers"; import { toChecksumAddress } from "web3-utils"; @@ -15,12 +14,12 @@ import { _captureBackgroundException_ } from "../../../lib/errors"; import { getWeb3BrowserName, Web3Browser } from "../../../lib/ethereum/browsers"; import { getInjectedWeb3Provider } from "../../../lib/ethereum/wallet"; import { history } from "../../../lib/history"; -import { EthNetwork, readOnlyWeb3 } from "../../types"; +import { EthNetworkLabel, EthNetworkMap, readOnlyWeb3, RenNetwork } from "../../types"; import { clearPopup, setPopup } from "../popup/popupActions"; export const storeWeb3 = createStandardAction("storeWeb3")(); export const storeAddress = createStandardAction("storeAddress")(); -export const storeEthNetwork = createStandardAction("storeEthNetwork")(); +export const storeRenNetwork = createStandardAction("storeRenNetwork")(); export const storeWeb3BrowserName = createStandardAction("storeWeb3BrowserName")(); @@ -40,11 +39,12 @@ export const updateWeb3BrowserName = ( }; export const login = ( + renNetwork: RenNetwork, options: { redirect: boolean; showPopup: boolean; immediatePopup: boolean }, ) => async (dispatch: Dispatch) => { let cancelled = false; - const onClick = async () => (login({ redirect: false, showPopup: true, immediatePopup: true })(dispatch)); + const onClick = async () => (login(renNetwork, { redirect: false, showPopup: true, immediatePopup: true })(dispatch)); const onCancel = () => { dispatch(clearPopup()); cancelled = true; @@ -125,7 +125,19 @@ export const login = ( // tslint:disable-next-line: no-any const network = (await (newWeb3.eth.net as any).getNetworkType()); - dispatch(storeEthNetwork(network)); + + if (network !== EthNetworkMap[renNetwork]) { + if (options.showPopup && !cancelled) { + dispatch(setPopup( + { + popup: , + onCancel, + overlay: true, + }, + )); + } + return; + } dispatch(clearPopup()); @@ -183,6 +195,7 @@ export const logout = ( // lookForLogout detects if 1) the user has changed or logged out of their Web3 // wallet export const lookForLogout = ( + renNetwork: RenNetwork, address: string, web3: Web3, ) => async (dispatch: Dispatch) => { @@ -201,7 +214,7 @@ export const lookForLogout = ( description: "Error in logout in accountActions", }); }); - await login({ redirect: false, showPopup: true, immediatePopup: false })(dispatch); + await login(renNetwork, { redirect: false, showPopup: true, immediatePopup: false })(dispatch); }; const onCancel = async () => { await logout({ reload: true })(dispatch).catch((error) => { diff --git a/src/store/configureStore.ts b/src/store/configureStore.ts index 5e5e14f0..58715767 100644 --- a/src/store/configureStore.ts +++ b/src/store/configureStore.ts @@ -2,7 +2,6 @@ import { Action, applyMiddleware, createStore, Middleware, Reducer } from "redux import { PersistConfig, PersistPartial, persistReducer, persistStore } from "redux-persist"; import thunk from "redux-thunk"; -import { environment } from "../lib/environmentVariables"; import { persistConfig } from "./persistConfig"; import { rootReducer } from "./reducers/rootReducer"; @@ -11,7 +10,7 @@ const middlewares: Middleware[] = [ ]; // Log Redux actions (only in development) -if (environment === "local") { +if (process.env.NODE_ENV === "development") { // middlewares.push(createLogger({ collapsed: true })); } diff --git a/src/store/persistConfig.ts b/src/store/persistConfig.ts index a5212687..8d3a24f7 100644 --- a/src/store/persistConfig.ts +++ b/src/store/persistConfig.ts @@ -1,15 +1,33 @@ -import storage from "redux-persist/lib/storage"; - import { createTransform, PersistConfig } from "redux-persist"; +import storage from "redux-persist/lib/storage"; import { _captureBackgroundException_ } from "../lib/errors"; -import { - ApplicationData, - StatisticsData -} from "./types"; +import { ApplicationData, StatisticsData, TraderData } from "./types"; // Local Storage: +const traderTransform = createTransform( + (inboundState: TraderData, key: string): string => { + try { + return inboundState.serialize(); + } catch (error) { + console.error(`Error serializing ${key} (${JSON.stringify(inboundState)}): ${error}`); + _captureBackgroundException_(error, { description: "Error serializing local storage" }); + throw error; + } + }, + (outboundState: string, key: string): TraderData => { + try { + return new TraderData().deserialize(outboundState); + } catch (error) { + console.error(`Error deserializing ${key} (${JSON.stringify(outboundState)}): ${error}`); + _captureBackgroundException_(error, { description: "Error deserializing local storage" }); + throw error; + } + }, + { whitelist: ["trader"] as Array, }, +); + const statisticsTransform = createTransform( (inboundState: StatisticsData, key: string): string => { try { @@ -35,6 +53,6 @@ const statisticsTransform = createTransform( export const persistConfig: PersistConfig = { storage, key: "root", - whitelist: ["statistics"] as Array, - transforms: [statisticsTransform], + whitelist: ["statistics", "trader"] as Array, + transforms: [statisticsTransform, traderTransform], }; diff --git a/src/store/reducers/statistics/statisticsReducer.ts b/src/store/reducers/statistics/statisticsReducer.ts index b6069196..d9f31dbf 100644 --- a/src/store/reducers/statistics/statisticsReducer.ts +++ b/src/store/reducers/statistics/statisticsReducer.ts @@ -99,9 +99,6 @@ export const statisticsReducer = ( case getType(operatorActions.storeQuoteCurrency): return state.set("quoteCurrency", action.payload.quoteCurrency); - case getType(operatorActions.storeNetwork): - return state.set("network", action.payload); - case getType(operatorActions.updateDarknodeHistory): return state.set("balanceHistories", state.balanceHistories.set( action.payload.darknodeID, diff --git a/src/store/reducers/trader/traderReducer.ts b/src/store/reducers/trader/traderReducer.ts index 0f464d11..b5dbfc5d 100644 --- a/src/store/reducers/trader/traderReducer.ts +++ b/src/store/reducers/trader/traderReducer.ts @@ -1,7 +1,6 @@ import { ActionType, getType } from "typesafe-actions"; import * as accountActions from "../../actions/trader/accountActions"; - import { TraderData } from "../../types"; type AccountAction = ActionType; @@ -17,8 +16,8 @@ export const traderReducer = (state: TraderData = new TraderData(), action: Acco case getType(accountActions.storeWeb3BrowserName): return state.set("web3BrowserName", action.payload); - case getType(accountActions.storeEthNetwork): - return state.set("ethNetwork", action.payload); + case getType(accountActions.storeRenNetwork): + return state.set("renNetwork", action.payload); default: return state; diff --git a/src/store/types.ts b/src/store/types.ts index 0a2390ca..b04d7a8c 100644 --- a/src/store/types.ts +++ b/src/store/types.ts @@ -12,8 +12,8 @@ import { getReadOnlyWeb3 } from "../lib/ethereum/wallet"; import { Record } from "../lib/record"; import { RegistrationStatus } from "./actions/statistics/operatorActions"; -export enum Network { - Mainnet = "Mainnet", +export enum RenNetwork { + Mainnet = "mainnet", Testnet = "testnet", Devnet = "devnet", Localnet = "localnet", @@ -24,11 +24,22 @@ export enum EthNetwork { Mainnet = "main", } -const EthNetworkLabel = { +export const EthNetworkMap = { + [RenNetwork.Mainnet]: EthNetwork.Mainnet, + [RenNetwork.Testnet]: EthNetwork.Kovan, + [RenNetwork.Devnet]: EthNetwork.Kovan, + [RenNetwork.Localnet]: EthNetwork.Kovan, +}; +export const RenNetworkLabel = { + [RenNetwork.Mainnet]: "Mainnet", + [RenNetwork.Testnet]: "Testnet", + [RenNetwork.Devnet]: "Devnet", + [RenNetwork.Localnet]: "Localnet", +}; +export const EthNetworkLabel = { [EthNetwork.Kovan]: "Kovan", [EthNetwork.Mainnet]: "Mainnet", }; -export const getNetworkLabel = (ethNetwork: EthNetwork | undefined) => ethNetwork ? EthNetworkLabel[ethNetwork] || ethNetwork : ethNetwork; interface Serializable { serialize(): string; @@ -50,8 +61,35 @@ export class TraderData extends Record({ web3BrowserName: Web3Browser.MetaMask, web3: readOnlyWeb3, - ethNetwork: EthNetwork.Mainnet, -}) { } + renNetwork: DEPLOYMENT || (process.env.REACT_APP_DEPLOYMENT as RenNetwork) || RenNetwork.Testnet, +}) implements Serializable { + public serialize(): string { + const js = this.toJS(); + return JSON.stringify({ + renNetwork: js.renNetwork, + }); + } + + public deserialize(str: string): TraderData { + // let next = this; + try { + const data = JSON.parse(str); + // tslint:disable-next-line: no-any + const inner: any = {}; + if (data.renNetwork) { + inner.renNetwork = data.renNetwork; + } + console.log(`data.renNetwork: ${data.renNetwork}`); + // next = next.set("address", data.address); + return new TraderData(inner); + } catch (error) { + _captureBackgroundException_(error, { + description: "Cannot deserialize local storage", + }); + return this; + } + } +} export enum LabelLevel { Info = "info", @@ -98,8 +136,6 @@ export const currencies = [ export type TokenPrices = Map>; export class StatisticsData extends Record({ - network: DEPLOYMENT, - minimumBond: null as BigNumber | null, secondsPerBlock: null as number | null, diff --git a/src/styles/scss/_sidebar.scss b/src/styles/scss/_sidebar.scss index 828fe4fb..ea3f8107 100644 --- a/src/styles/scss/_sidebar.scss +++ b/src/styles/scss/_sidebar.scss @@ -107,7 +107,7 @@ $mobile-full-width: 100vw; -webkit-transition: width .1s linear; transition: width .1s linear; -webkit-transform: translateZ(0) scale(1, 1); - z-index: 4; + z-index: 20; } .sidebar::-webkit-scrollbar { diff --git a/yarn.lock b/yarn.lock index ebb4b25e..29616182 100644 --- a/yarn.lock +++ b/yarn.lock @@ -898,14 +898,14 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.4.tgz#dc2e34982eb236803aa27a07fea6857af1b9171d" integrity sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg== dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.4.0": +"@babel/runtime@^7.4.0", "@babel/runtime@^7.4.5": version "7.5.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.4.tgz#cb7d1ad7c6d65676e66b47186577930465b5271b" integrity sha512-Na84uwyImZZc3FKf4aUF1tysApzwf3p2yuFBIyBfbzT5glzKTdvYI4KVW4kcgjrzoGUjC7w3YyCHcJKaRxsr2Q== @@ -1086,6 +1086,11 @@ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.18.tgz#c0d8f073a5116b2de0a2c8a7aba66093a6956ce7" integrity sha512-834DrzO2Ne3upCW+mJJPC/E6BsFcj+2Z1HmPIhbpbj8UaKmXWum4NClqLpUiMetugRlHuG4jbIHNdv2/lc3c1Q== +"@fortawesome/fontawesome-common-types@^0.2.19": + version "0.2.19" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.19.tgz#754a0f85e1290858152e1c05700ab502b11197f1" + integrity sha512-nd2Ul/CUs8U9sjofQYAALzOGpgkVJQgEhIJnOHaoyVR/LeC3x2mVg4eB910a4kS6WgLPebAY0M2fApEI497raQ== + "@fortawesome/fontawesome-svg-core@^1.2.18": version "1.2.18" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.18.tgz#c26cbded461895ebe260f0dea771ca29d8cb3517" @@ -1093,6 +1098,13 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.18" +"@fortawesome/fontawesome-svg-core@^1.2.19": + version "1.2.19" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.19.tgz#0eca1ce9285c3d99e6e340633ee8f615f9d1a2e0" + integrity sha512-D4ICXg9oU08eF9o7Or392gPpjmwwgJu8ecCFusthbID95CLVXOgIyd4mOKD9Nud5Ckz+Ty59pqkNtThDKR0erA== + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.19" + "@fortawesome/free-brands-svg-icons@^5.8.2": version "5.8.2" resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.8.2.tgz#e68a509c986d5d197cc5bd9ae8d966eff513468d" @@ -1100,19 +1112,26 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.18" -"@fortawesome/free-regular-svg-icons@^5.8.2": - version "5.8.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.8.2.tgz#f61c603c73695a41bcee9d6f9d44e2ca4829f151" - integrity sha512-499WODlsDcXA9hM+Y3ZqoWj1kKhVLCHS8PnJs3zEaoPr5W6yrE9Jnp3C9Hb9KpwnRMh3IRXZ3XqxyUaQFMMRFw== +"@fortawesome/free-brands-svg-icons@^5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.9.0.tgz#4ebedba0ea026368f8c21f2c598b4458c32236e5" + integrity sha512-sOz1wFyslaHUak8tY6IEhSAV1mAWbCLssBR8yFQV6f065k8nUCkjyrcxW4RVl9+wiLXmeG1CJUABUJV9DiW+7Q== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.18" + "@fortawesome/fontawesome-common-types" "^0.2.19" -"@fortawesome/free-solid-svg-icons@^5.8.2": - version "5.8.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.8.2.tgz#aa2f042f73aca43eb4a26149907e63bf26d2e31c" - integrity sha512-5tF6WOFlqqO95zY5ukSB6jliDa3jnk1p5L4K/a58ccDFsbjSkhfGuvZkRkeWxH8uMms81pZd6yQTwQrkedeJmg== +"@fortawesome/free-regular-svg-icons@^5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.9.0.tgz#b16b325bdcdf51abebc547313cb75c3ef722ca04" + integrity sha512-6ZO0jLhk/Yrso0u5pXeYYSfZiHCNoCF7SgtqStdlEX8WtWD4IOfAB1N+MlSnMo12P5KR4cmucX/K0NCOPrhJwg== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.18" + "@fortawesome/fontawesome-common-types" "^0.2.19" + +"@fortawesome/free-solid-svg-icons@^5.9.0": + version "5.9.0" + resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.9.0.tgz#1c73e7bac17417d23f934d83f7fff5b100a7fda9" + integrity sha512-U8YXPfWcSozsCW0psCtlRGKjjRs5+Am5JJwLOUmVHFZbIEWzaz4YbP84EoPwUsVmSAKrisu3QeNcVOtmGml0Xw== + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.19" "@fortawesome/react-fontawesome@^0.1.4": version "0.1.4" @@ -1307,6 +1326,14 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@renproject/contracts@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.0.tgz#8d7f062319cdecdc24b806bb99310a0385688052" + integrity sha512-N9/V1nI8YDaEiIVprLSnZnnd3lmhGviE/HxPTVNe1bsiHIxRUuRwnqpDnyS37S8/b/fhNNj5z+mmuTaOEZoWnQ== + dependencies: + tslint-react "^4.0.0" + web3-utils "^1.0.0-beta.55" + "@renproject/fonts@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" @@ -1329,56 +1356,56 @@ react-router-dom "^5.0.0" react-select "^2.4.3" -"@sentry/browser@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.4.0.tgz#4c553e4769555e09a34f8f86c6af27ebec74c715" - integrity sha512-lsGJqryHXrnWRkdahnep0m+m65zyMJGCmB2T8pGS+SFcSXdx94TaK4PiPaCl6XUCT5ejuQUHoXsEBmK/3S6beA== +"@sentry/browser@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.5.0.tgz#ec99ea6897d23affc46d58e6ada32016b27721b5" + integrity sha512-QZw4EXK47Qp9Q+vNpL5H4P4tYyfAN8qpWWeLIM0RDiNLlOugTVUdkfkeNTEJZ9VlqJ5RLx/2G/PITG4R6pwh/A== dependencies: - "@sentry/core" "5.4.0" - "@sentry/types" "5.4.0" - "@sentry/utils" "5.4.0" + "@sentry/core" "5.5.0" + "@sentry/types" "5.5.0" + "@sentry/utils" "5.5.0" tslib "^1.9.3" -"@sentry/core@5.4.0", "@sentry/core@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.4.0.tgz#c40969ace80d637195bcc0ae6e5819f0c5e8ae46" - integrity sha512-luIJPftVnrW0ZKqs9W6YCpzKZVbOgQv8Ae7KB0Acsvqeoqjtx4zHHfVfu5VPkfhrOYN3NsM1IpApXtSdMiJCfg== +"@sentry/core@5.5.0", "@sentry/core@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.5.0.tgz#574fdc9228c8b4a909c0140eb0d8b098175c0f47" + integrity sha512-xOcBud0t5mfhFdyd2tQQti4uuWSrLiJihpXzxeRpdCfk2ic+xmpeQs3G4UqnluvQDc48ug/Igt7LXfSBRBx4eg== dependencies: - "@sentry/hub" "5.4.0" - "@sentry/minimal" "5.4.0" - "@sentry/types" "5.4.0" - "@sentry/utils" "5.4.0" + "@sentry/hub" "5.5.0" + "@sentry/minimal" "5.5.0" + "@sentry/types" "5.5.0" + "@sentry/utils" "5.5.0" tslib "^1.9.3" -"@sentry/hub@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.4.0.tgz#03ab154bf2e2c33cb80d951b464de84ad2a6fbf9" - integrity sha512-X0iLNcouXcLWzuOJz2YjTn1E11b7pzcG98/iFTHW3AKPjnJNt92XRpjsDI2iT8+ODUDiFqaFmACSn2oZK80WGQ== +"@sentry/hub@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.5.0.tgz#6b8eecf769fa693260d45e771f4bca15bdbc6f4b" + integrity sha512-+jKh5U1nv8ufoquGciWoZPOmKuEjFPH5m0VifCs6t3NcEbAq2qnfF26KUGqhUNznlUN/PkbWB4qMfKn14uNE2Q== dependencies: - "@sentry/types" "5.4.0" - "@sentry/utils" "5.4.0" + "@sentry/types" "5.5.0" + "@sentry/utils" "5.5.0" tslib "^1.9.3" -"@sentry/minimal@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.4.0.tgz#e3c569c68d6c09aad533832b2c713ad94bb2a511" - integrity sha512-MuOLavHHTXXWKyfTcwqpjhkdYlJDyOfjfcf+b/d38+8cs064rpNScxTZyYj2KKxNGcCqDgUsY175fNp/D1fyMw== +"@sentry/minimal@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.5.0.tgz#ea7939b8efe307d25775b23227a3f85dfb46b274" + integrity sha512-o6O30+/pNrO7fTgwKxgZynHB7cMScJlw9HXgnNXgLXS6LBiqjYCQfVnWAgV//SyyG0uUlcjH3P6PnV6TsJOmVQ== dependencies: - "@sentry/hub" "5.4.0" - "@sentry/types" "5.4.0" + "@sentry/hub" "5.5.0" + "@sentry/types" "5.5.0" tslib "^1.9.3" -"@sentry/types@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.4.0.tgz#340854be18618e4435f9c168adfa2c9e407fbcb3" - integrity sha512-R8IFM77rzp0ngR/XQFLsXUK2uE7jLf21MsU9mpUwLtxcJp8rs7I77HgzA5MEerdG9Sbxw5RaLq9wO7noHGfUmQ== +"@sentry/types@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.5.0.tgz#0e7d8e8359c7af685258d92b23831072bb79f46a" + integrity sha512-3otF/miVDth91o+iign00x0o31McUPeyIFbMjLbgeTRRW9rXpu2jGrcRrvHfofECtoqCf5Y734hwvvlBvFZeIw== -"@sentry/utils@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.4.0.tgz#32882f16cd516f341ba1dafeb020614aaf6d4b5c" - integrity sha512-NlYMAyiI9iIItLDxJ17tLMtuu7261t93tcOGSMdDQZlmryR6ZAMenbCKTf5MrpA2iHfX84gyfmr67lh8uSHkPg== +"@sentry/utils@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.5.0.tgz#5c516be0568f4d462ad550c723b78e3ad7776c4e" + integrity sha512-gO8Bs/QcKDn7ncc2f2fIOTPx2AiZKrGj4us1Yxu6mBU8JZqMQRl9XjDMFAUECJQvquBAta+TFJyYj71ZedeQUQ== dependencies: - "@sentry/types" "5.4.0" + "@sentry/types" "5.5.0" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -1590,10 +1617,10 @@ resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -"@types/jest@^24.0.13": - version "24.0.13" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.13.tgz#10f50b64cb05fb02411fbba49e9042a3a11da3f9" - integrity sha512-3m6RPnO35r7Dg+uMLj1+xfZaOgIHHHut61djNjzwExXN4/Pm9has9C6I1KMYSfz7mahDhWUOVg4HW/nZdv5Pww== +"@types/jest@^24.0.15": + version "24.0.15" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.15.tgz#6c42d5af7fe3b44ffff7cc65de7bf741e8fa427f" + integrity sha512-MU1HIvWUme74stAoc3mgAi+aMlgKOudgEvQDIm1v4RkrDudBh1T+NFp5sftpBAdXdx1J0PbdpJ+M2EsSOi1djA== dependencies: "@types/jest-diff" "*" @@ -1607,10 +1634,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.6.tgz#9cbfcb62c50947217f4d88d4d274cc40c22625a9" integrity sha512-Fvm24+u85lGmV4hT5G++aht2C5I4Z4dYlWZIh62FAfFO/TfzXtPpoLI6I7AuBWkIFqZCnhFOoTT7RjjaIL5Fjg== -"@types/node@^12.0.4": - version "12.0.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.4.tgz#46832183115c904410c275e34cf9403992999c32" - integrity sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw== +"@types/node@^12.6.2": + version "12.6.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.2.tgz#a5ccec6abb6060d5f20d256fb03ed743e9774999" + integrity sha512-gojym4tX0FWeV2gsW4Xmzo5wxGjXGm550oVUII7f7G5o4BV6c7DBdiG1RRQd+y1bvqRyYtPfMK85UM95vsapqQ== "@types/prop-types@*": version "15.7.1" @@ -1636,20 +1663,20 @@ dependencies: "@types/react" "*" -"@types/react-redux@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.0.9.tgz#4825ee2872c44768916304b6bb8df5b46d443b88" - integrity sha512-fMVX9SneWWw68d/JoeNUh6hj42kx2G30YhPdCYJTOv3xqbJ1xzIz6tEM/xzi7nBvpNbwZkSa9TMsV06kWOFIIg== +"@types/react-redux@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.1.tgz#eb01e89cf71cad77df9f442b819d5db692b997cb" + integrity sha512-owqNahzE8en/jR4NtrUJDJya3tKru7CIEGSRL/pVS84LtSCdSoT7qZTkrbBd3S4Lp11sAp+7LsvxIeONJVKMnw== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-router-dom@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.3.tgz#7837e3e9fefbc84a8f6c8a51dca004f4e83e94e3" - integrity sha512-xj0DmFjgvAqRfh/kJPO7apD5G30yPQe+8slu/dugioQOkdKpyzc4Fgk4hoTelm6CSHz7pI2PPsW5+Y6GRBF2zw== +"@types/react-router-dom@^4.3.4": + version "4.3.4" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.4.tgz#63a7a8558129d2f4ff76e4bdd099bf4b98e25a0d" + integrity sha512-xrwaWHpnxKk/TTRe7pmoGy3E4SyF/ojFqNfFJacw7OLdfLXRvGfk4r/XePVaZNVfeJzL8fcnNilPN7xOdJ/vGw== dependencies: "@types/history" "*" "@types/react" "*" @@ -1671,10 +1698,10 @@ "@types/prop-types" "*" csstype "^2.2.0" -"@types/react@^16.8.19": - version "16.8.19" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.19.tgz#629154ef05e2e1985cdde94477deefd823ad9be3" - integrity sha512-QzEzjrd1zFzY9cDlbIiFvdr+YUmefuuRYrPxmkwG0UQv5XF35gFIi7a95m1bNVcFU0VimxSZ5QVGSiBmlggQXQ== +"@types/react@^16.8.23": + version "16.8.23" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" + integrity sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -1684,10 +1711,10 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== -"@types/underscore@^1.8.18": - version "1.8.18" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.8.18.tgz#025371cfe062439aaa088d2b64af87cbcfe3c2b7" - integrity sha512-mXQ8u416FWMPjp2zWrcVmOZtzKQM6IeyVcuE+RGF/04JLBrMjfnmNKn74VN8fIkFzU97TpzkP0ny0p0h65eC7w== +"@types/underscore@^1.9.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.9.2.tgz#2c4f7743287218f5c2d9a83db3806672aa48530d" + integrity sha512-KgOKTAD+9X+qvZnB5S1+onqKc4E+PZ+T6CM/NA5ohRPLHJXb+yCJMVf8pWOnvuBuKFNUAJW8N97IA6lba6mZGg== "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.3" @@ -1899,6 +1926,14 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +JSONStream@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + abab@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" @@ -1979,13 +2014,27 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= -agent-base@^4.1.0: +agent-base@4: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + +agent-base@^4.1.0, agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== dependencies: es6-promisify "^5.0.0" +agentkeepalive@^3.4.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" + integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== + dependencies: + humanize-ms "^1.2.1" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -3111,16 +3160,16 @@ block-stream@*: dependencies: inherits "~2.0.0" +bluebird@^3.5.1, bluebird@^3.5.5: + version "3.5.5" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== + bluebird@^3.5.3: version "3.5.4" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714" integrity sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw== -bluebird@^3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== - bn.js@4.11.6: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" @@ -3395,6 +3444,11 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -3425,6 +3479,26 @@ cacache@^11.0.2: unique-filename "^1.1.1" y18n "^4.0.0" +cacache@^11.3.2, cacache@^11.3.3: + version "11.3.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" + integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -3908,14 +3982,6 @@ concat-stream@^1.5.0, concat-stream@^1.5.1: readable-stream "^2.2.2" typedarray "^0.0.6" -config-chain@^1.1.11: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - configstore@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7" @@ -4457,7 +4523,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6. dependencies: ms "2.0.0" -debug@=3.1.0: +debug@3.1.0, debug@=3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== @@ -4928,6 +4994,11 @@ entities@^1.1.1: resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== +err-code@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" + integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= + errno@^0.1.3, errno@~0.1.1, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -5774,7 +5845,7 @@ fetch-ponyfill@^4.0.0: dependencies: node-fetch "~1.7.1" -figgy-pudding@^3.5.1: +figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== @@ -5864,12 +5935,13 @@ find-up@3.0.0, find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.0.0.tgz#c367f8024de92efb75f2d4906536d24682065c3a" - integrity sha512-zoH7ZWPkRdgwYCDVoQTzqjG8JSPANhtvLhh4KVUHyKnaUJJrNeFmWIkTcNuJmR3GLMEmGYEf2S2bjgx26JTF+Q== +find-up@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" + path-exists "^4.0.0" find-up@^1.0.0: version "1.1.2" @@ -6105,6 +6177,11 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" +genfun@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" + integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -6120,13 +6197,6 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== -get-proxy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" - integrity sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw== - dependencies: - npm-conf "^1.1.0" - get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -6186,6 +6256,18 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1, gl once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -6495,7 +6577,7 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -hosted-git-info@^2.1.4: +hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: version "2.7.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== @@ -6574,6 +6656,11 @@ htmlparser2@^3.3.0: inherits "^2.0.1" readable-stream "^3.1.1" +http-cache-semantics@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + http-cache-semantics@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#495704773277eeef6e43f9ab2c2c7d259dda25c5" @@ -6615,6 +6702,14 @@ http-parser-js@>=0.4.0: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w== +http-proxy-agent@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" + integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== + dependencies: + agent-base "4" + debug "3.1.0" + http-proxy-middleware@^0.19.1: version "0.19.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" @@ -6656,6 +6751,13 @@ https-proxy-agent@^2.2.1: agent-base "^4.1.0" debug "^3.1.0" +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + humps@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" @@ -7824,7 +7926,7 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -7934,6 +8036,11 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -8129,6 +8236,15 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +libnpmconfig@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/libnpmconfig/-/libnpmconfig-1.2.1.tgz#c0c2f793a74e67d4825e5039e7a02a0044dfcbc0" + integrity sha512-9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA== + dependencies: + figgy-pudding "^3.5.1" + find-up "^3.0.0" + ini "^1.3.5" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -8325,6 +8441,23 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" +make-fetch-happen@^4.0.1, make-fetch-happen@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79" + integrity sha512-YMJrAjHSb/BordlsDEcVcPyTbiJKkzqMf48N8dAJZT9Zjctrkb6Yg4TY9Sq2AwSIQJFn5qBBKVTYt3vP5FMIHA== + dependencies: + agentkeepalive "^3.4.1" + cacache "^11.3.3" + http-cache-semantics "^3.8.1" + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.1" + lru-cache "^5.1.1" + mississippi "^3.0.0" + node-fetch-npm "^2.0.2" + promise-retry "^1.1.1" + socks-proxy-agent "^4.0.0" + ssri "^6.0.0" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -8606,7 +8739,7 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.4: +minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5: version "2.3.5" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== @@ -8614,7 +8747,7 @@ minipass@^2.2.1, minipass@^2.3.4: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.1.1: +minizlib@^1.1.1, minizlib@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== @@ -8682,6 +8815,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +ms@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" @@ -8786,6 +8924,15 @@ node-alias@^1.0.4: chalk "^1.1.1" lodash "^4.2.0" +node-fetch-npm@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" + integrity sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw== + dependencies: + encoding "^0.1.11" + json-parse-better-errors "^1.0.0" + safe-buffer "^5.1.1" + node-fetch@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" @@ -8947,7 +9094,7 @@ nopt@~1.0.10: dependencies: abbrev "1" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -8984,10 +9131,10 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-check-updates@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.10.tgz#936a4a19bbb73c70cdad407a3bd2310fd17fb5f3" - integrity sha512-qs4aYg3IbsHbzVyG/4bapgkuflkHj2yAR36ES7fSvDKs3NBotkAWpiaQ9JUbXgqSZwLuvusxBaZgpYlM3fMZSw== +npm-check-updates@^3.1.18: + version "3.1.18" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.18.tgz#54f3529399dd9aa825e0de718c189ced73c4e59f" + integrity sha512-e4UGOGdFs9+9uRrZrojueT+fjg4uVZzi8fyDdWIS9+JIl4J4xqODh0vp1TdCnedjn8jTPy1dhUtbjQtRWAhV8w== dependencies: bluebird "^3.5.5" chalk "^2.4.2" @@ -8995,32 +9142,41 @@ npm-check-updates@^3.1.10: cli-table "^0.3.1" commander "^2.20.0" fast-diff "^1.2.0" - find-up "4.0.0" - get-proxy "^2.1.0" + find-up "4.1.0" get-stdin "^7.0.0" - https-proxy-agent "^2.2.1" json-parse-helpfulerror "^1.0.3" + libnpmconfig "^1.2.1" lodash "^4.17.11" node-alias "^1.0.4" - npm-conf "^1.1.3" - package-json "^6.3.0" + pacote "^9.5.1" progress "^2.0.3" prompts "^2.1.0" rc-config-loader "^2.0.3" + registry-auth-token "^4.0.0" registry-url "^5.1.0" requireg "^0.2.2" - semver "^6.1.1" + semver "^6.2.0" semver-utils "^1.1.4" spawn-please "^0.3.0" - update-notifier "^3.0.0" + update-notifier "^3.0.1" -npm-conf@^1.1.0, npm-conf@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" - integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== +npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" + integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== dependencies: - config-chain "^1.1.11" - pify "^3.0.0" + hosted-git-info "^2.6.0" + osenv "^0.1.5" + semver "^5.5.0" + validate-npm-package-name "^3.0.0" + +npm-packlist@^1.1.12: + version "1.4.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" + integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" npm-packlist@^1.1.6: version "1.4.1" @@ -9030,6 +9186,27 @@ npm-packlist@^1.1.6: ignore-walk "^3.0.1" npm-bundled "^1.0.1" +npm-pick-manifest@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" + integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA== + dependencies: + figgy-pudding "^3.5.1" + npm-package-arg "^6.0.0" + semver "^5.4.1" + +npm-registry-fetch@^3.8.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.9.1.tgz#00ff6e4e35d3f75a172b332440b53e93f4cb67de" + integrity sha512-VQCEZlydXw4AwLROAXWUR7QDfe2Y8Id/vpAgp6TI1/H78a4SiQ1kQrKZALm5/zxM5n4HIi+aYb+idUAV/RuY0Q== + dependencies: + JSONStream "^1.3.4" + bluebird "^3.5.1" + figgy-pudding "^3.4.1" + lru-cache "^5.1.1" + make-fetch-happen "^4.0.2" + npm-package-arg "^6.1.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -9286,7 +9463,7 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0, osenv@^0.1.4: +osenv@0, osenv@^0.1.4, osenv@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -9386,6 +9563,39 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^5.6.0" +pacote@^9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.1.tgz#adb0d23daeef6d0b813ab5891d0c6459ccec998d" + integrity sha512-Zqvczvf/zZ7QNosdE9uTC7SRuvSs9tFqRkF6cJl+2HH7COBnx4BRAGpeXJlrbN+mM0CMHpbi620xdEHhCflghA== + dependencies: + bluebird "^3.5.3" + cacache "^11.3.2" + figgy-pudding "^3.5.1" + get-stream "^4.1.0" + glob "^7.1.3" + lru-cache "^5.1.1" + make-fetch-happen "^4.0.1" + minimatch "^3.0.4" + minipass "^2.3.5" + mississippi "^3.0.0" + mkdirp "^0.5.1" + normalize-package-data "^2.4.0" + npm-package-arg "^6.1.0" + npm-packlist "^1.1.12" + npm-pick-manifest "^2.2.3" + npm-registry-fetch "^3.8.0" + osenv "^0.1.5" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + protoduck "^5.0.1" + rimraf "^2.6.2" + safe-buffer "^5.1.2" + semver "^5.6.0" + ssri "^6.0.1" + tar "^4.4.8" + unique-filename "^1.1.1" + which "^1.3.1" + pako@~1.0.5: version "1.0.10" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" @@ -9491,6 +9701,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -10364,6 +10579,14 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise-retry@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" + integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= + dependencies: + err-code "^1.0.0" + retry "^0.10.0" + promise-to-callback@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" @@ -10410,10 +10633,12 @@ property-information@^5.0.0, property-information@^5.0.1: dependencies: xtend "^4.0.1" -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= +protoduck@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" + integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg== + dependencies: + genfun "^5.0.0" proxy-addr@~2.0.4: version "2.0.5" @@ -10510,7 +10735,7 @@ qs@6.7.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== -query-string@*, query-string@^6.5.0: +query-string@*: version "6.5.0" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.5.0.tgz#2e1a70125af01f6f04573692d02c09302a1d8bfc" integrity sha512-TYC4hDjZSvVxLMEucDMySkuAS9UIzSbAiYGyA9GWCjLKB8fQpviFbjd20fD7uejCDxZS+ftSdBKE6DS+xucJFg== @@ -10528,6 +10753,15 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +query-string@^6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.1.tgz#62c54a7ef37d01b538c8fd56f95740c81d438a26" + integrity sha512-g6y0Lbq10a5pPQpjlFuojfMfV1Pd2Jw9h75ypiYPPia3Gcq2rgkKiIwbkS6JxH7c5f5u/B/sB+d13PU+g1eu4Q== + dependencies: + decode-uri-component "^0.2.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -10714,12 +10948,12 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-redux@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.0.3.tgz#983c5a6de81cb1e696bd1c090ba826545f9170f1" - integrity sha512-vYZA7ftOYlDk3NetitsI7fLjryt/widNl1SLXYvFenIpm7vjb4ryK0EeFrgn62usg5fYkyIAWNUPKnwWPevKLg== +react-redux@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.0.tgz#72af7cf490a74acdc516ea9c1dd80e25af9ea0b2" + integrity sha512-hyu/PoFK3vZgdLTg9ozbt7WF3GgX5+Yn3pZm5/96/o4UueXA+zj08aiSC9Mfj2WtD1bvpIb3C5yvskzZySzzaw== dependencies: - "@babel/runtime" "^7.4.3" + "@babel/runtime" "^7.4.5" hoist-non-react-statics "^3.3.0" invariant "^2.2.4" loose-envify "^1.4.0" @@ -10739,6 +10973,19 @@ react-router-dom@^5.0.0: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" +react-router-dom@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.1.tgz#ee66f4a5d18b6089c361958e443489d6bab714be" + integrity sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.0.1" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-router@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.0.tgz#349863f769ffc2fa10ee7331a4296e86bc12879d" @@ -10755,7 +11002,7 @@ react-router@5.0.0: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@^5.0.0: +react-router@5.0.1, react-router@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" integrity sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg== @@ -10998,7 +11245,7 @@ redux-thunk@^2.3.0: resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw== -redux@^4.0.0, redux@^4.0.1: +redux@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== @@ -11006,6 +11253,14 @@ redux@^4.0.0, redux@^4.0.1: loose-envify "^1.4.0" symbol-observable "^1.2.0" +redux@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796" + integrity sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q== + dependencies: + loose-envify "^1.4.0" + symbol-observable "^1.2.0" + regenerate-unicode-properties@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz#7b38faa296252376d363558cfbda90c9ce709662" @@ -11103,6 +11358,14 @@ registry-auth-token@^3.4.0: rc "^1.1.6" safe-buffer "^5.0.1" +registry-auth-token@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" + integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw== + dependencies: + rc "^1.2.8" + safe-buffer "^5.0.1" + registry-url@^5.0.0, registry-url@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" @@ -11347,6 +11610,11 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +retry@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -11595,10 +11863,10 @@ semver@6.0.0, semver@^6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== -semver@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" - integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ== +semver@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" + integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== semver@~5.3.0: version "5.3.0" @@ -11829,6 +12097,11 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +smart-buffer@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d" + integrity sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw== + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -11879,6 +12152,22 @@ sockjs@0.3.19: faye-websocket "^0.10.0" uuid "^3.0.1" +socks-proxy-agent@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" + integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg== + dependencies: + agent-base "~4.2.1" + socks "~2.3.2" + +socks@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.2.tgz#ade388e9e6d87fdb11649c15746c578922a5883e" + integrity sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ== + dependencies: + ip "^1.1.5" + smart-buffer "4.0.2" + source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -12028,7 +12317,7 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^6.0.1: +ssri@^6.0.0, ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== @@ -12394,6 +12683,19 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" +tar@^4.4.8: + version "4.4.10" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" + integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.5" + minizlib "^1.2.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.3" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -12452,7 +12754,7 @@ through2@^2.0.0, through2@^2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.6, through@~2.3.4, through@~2.3.8: +"through@>=2.2.7 <3", through@^2.3.6, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -12640,10 +12942,10 @@ tslint-react@^4.0.0: dependencies: tsutils "^3.9.1" -tslint@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.17.0.tgz#f9f0ce2011d8e90debaa6e9b4975f24cd16852b8" - integrity sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w== +tslint@^5.18.0: + version "5.18.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.18.0.tgz#f61a6ddcf372344ac5e41708095bbf043a147ac6" + integrity sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -12736,20 +13038,20 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typesafe-actions@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/typesafe-actions/-/typesafe-actions-4.4.0.tgz#217320465f5921f438adda1e9ff5da09182bb266" - integrity sha512-91ZsGX/Ojo2lMeRCMwrjohzuGQfB6T7VSkn5HkV6ij4Q4Okhe5eeAXAlUY7erI0sNRGSOWCA6L+lH3PkpD/NlA== +typesafe-actions@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/typesafe-actions/-/typesafe-actions-4.4.2.tgz#8f817c479d12130b5ebb442032968b2a18929e1a" + integrity sha512-QW61P4cOX8dCNmrfpcUMjvU/MF/sFTC8/PlG9215W1gKDzZUBjRGdyYSO6ZcEUNsn491S2VpryJOHSIVSDqJrg== typescript@^2.9.2: version "2.9.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== -typescript@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.1.tgz#ba72a6a600b2158139c5dd8850f700e231464202" - integrity sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw== +typescript@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" + integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g== ua-parser-js@^0.7.18: version "0.7.19" @@ -12905,10 +13207,10 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== -update-notifier@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-3.0.0.tgz#e9bbf8f0f5b7a2ce6666ca46334fdb29492e8fab" - integrity sha512-6Xe3oF2bvuoj4YECUc52yxVs94yWrxwqHbzyveDktTS1WhnlTRpNcQMxUshcB7nRVGi1jEXiqL5cW1S5WSyzKg== +update-notifier@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-3.0.1.tgz#78ecb68b915e2fd1be9f767f6e298ce87b736250" + integrity sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ== dependencies: boxen "^3.0.0" chalk "^2.0.1" @@ -13050,6 +13352,13 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= + dependencies: + builtins "^1.0.3" + value-equal@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" @@ -14031,7 +14340,7 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== From 18ff037de85f8ea4278ec5d4c15b6181661d9a0e Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 12 Jul 2019 10:35:15 +1000 Subject: [PATCH 003/117] Use contract-ts to import ABIs and addresses --- package.json | 4 +- src/components/AccountDropdown.tsx | 6 +- src/components/App.tsx | 8 +- src/components/BackgroundTasks.tsx | 8 +- src/components/Header.tsx | 9 +- src/components/statuspage/FeesItem.tsx | 6 +- src/components/statuspage/OldFees.tsx | 5 +- src/components/statuspage/Registration.tsx | 12 +- src/components/statuspage/TopUp.tsx | 4 +- src/components/statuspage/block/FeesBlock.tsx | 10 +- src/languages/english.ts | 1 - src/languages/language.ts | 1 - src/lib/environmentVariables.ts | 2 +- src/lib/errors.ts | 3 +- src/lib/ethereum/contracts/contracts.ts | 156 ----------- src/lib/ethereum/network.ts | 32 +-- src/lib/ethereum/operator.ts | 21 +- src/lib/ethereum/tokens.ts | 13 +- src/lib/ethereum/wallet.ts | 13 +- .../actions/statistics/networkActions.ts | 10 +- .../actions/statistics/operatorActions.ts | 87 +++--- .../statistics/operatorPopupActions.tsx | 25 +- src/store/actions/trader/accountActions.tsx | 13 +- src/store/actions/trader/darknode.tsx | 259 ++++++++++-------- src/store/types.ts | 44 +-- tslint.json | 4 +- yarn.lock | 8 +- 27 files changed, 291 insertions(+), 473 deletions(-) delete mode 100644 src/lib/ethereum/contracts/contracts.ts diff --git a/package.json b/package.json index 638da105..5b0cd9ad 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@fortawesome/free-regular-svg-icons": "^5.9.0", "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "^0.3.0", + "@renproject/contracts": "^0.3.1", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "^1.0.25", "@sentry/browser": "^5.5.0", @@ -79,4 +79,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index e5621e4e..2ecf98dd 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -5,7 +5,7 @@ import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators, Dispatch } from "redux"; import { login, logout } from "../store/actions/trader/accountActions"; -import { ApplicationData, EthNetwork, EthNetworkMap } from "../store/types"; +import { ApplicationData } from "../store/types"; const defaultState = { // Entries must be immutable shown: false, @@ -31,8 +31,6 @@ class AccountDropdownClass extends React.Component { return reduction || confirmations.get(key, 0) === 0; }, false); - const etherscan = `https://${EthNetworkMap[renNetwork] === EthNetwork.Mainnet ? "" : `${EthNetworkMap[renNetwork]}.`}etherscan.io`; - const { shown } = this.state; // const x =
{ return
  • {confs === 0 ? : <>} {confs === -1 ? (ERR) {" "} : <>} - {txHash.substring(0, 12)}... + {txHash.substring(0, 12)}... {confs > 0 ? <>{" "}({confs} conf.) : ""}
  • ; }).valueSeq().toArray()} diff --git a/src/components/App.tsx b/src/components/App.tsx index afbacb14..557f73dd 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -5,7 +5,7 @@ import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom import { bindActionCreators, Dispatch } from "redux"; import { DEPLOYMENT } from "../lib/environmentVariables"; -import { ApplicationData, EthNetworkLabel, EthNetworkMap, RenNetworkLabel } from "../store/types"; +import { ApplicationData } from "../store/types"; import { BackgroundTasks } from "./BackgroundTasks"; import { _catch_ } from "./ErrorBoundary"; import { Header } from "./Header"; @@ -45,7 +45,7 @@ class AppClass extends React.Component { public render = (): JSX.Element => { const { match: { params }, store: { address, renNetwork } } = this.props; const darknodeID = getDarknodeParam(params); - const showNetworkBanner = renNetwork !== DEPLOYMENT; + const showNetworkBanner = renNetwork.name !== DEPLOYMENT; return
    @@ -55,9 +55,9 @@ class AppClass extends React.Component { * (e.g. if in * the middle of a transaction, etc.) */} -
    +
    {showNetworkBanner ? -
    Using {RenNetworkLabel[renNetwork]} RenVM network, {EthNetworkLabel[EthNetworkMap[renNetwork]]} Ethereum network
    : +
    Using {renNetwork.label} RenVM network, {renNetwork.chainLabel} Ethereum network
    : <> } diff --git a/src/components/BackgroundTasks.tsx b/src/components/BackgroundTasks.tsx index 4bb09133..2e603fe1 100644 --- a/src/components/BackgroundTasks.tsx +++ b/src/components/BackgroundTasks.tsx @@ -13,7 +13,7 @@ import { updateDarknodeStatistics, updateOperatorStatistics, } from "../store/actions/statistics/operatorActions"; import { login, lookForLogout } from "../store/actions/trader/accountActions"; -import { ApplicationData, EthNetworkMap } from "../store/types"; +import { ApplicationData } from "../store/types"; import { getDarknodeParam } from "./pages/Darknode"; /** @@ -136,7 +136,7 @@ class BackgroundTasksClass extends React.Component { let timeout = 1; // Retry in a second, unless the call succeeds try { // tslint:disable-next-line: await-promise - await props.actions.updateNetworkStatistics(web3, EthNetworkMap[renNetwork]); + await props.actions.updateNetworkStatistics(web3, renNetwork); timeout = 3600; } catch (error) { if (error && error.message && error.message.match("Cannot read property 'toString' of")) { @@ -167,7 +167,7 @@ class BackgroundTasksClass extends React.Component { list = list.concat(darknodeList); } // tslint:disable-next-line: await-promise - await props.actions.updateOperatorStatistics(web3, EthNetworkMap[renNetwork], address, tokenPrices, list); + await props.actions.updateOperatorStatistics(web3, renNetwork, address, tokenPrices, list); timeout = 120; } catch (error) { _captureBackgroundException_(error, { @@ -198,7 +198,7 @@ class BackgroundTasksClass extends React.Component { // tslint:disable-next-line: await-promise await props.actions.updateDarknodeStatistics( web3, - EthNetworkMap[renNetwork], + renNetwork, darknodeID, tokenPrices, ); diff --git a/src/components/Header.tsx b/src/components/Header.tsx index be691207..976a0cff 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -2,6 +2,7 @@ import * as React from "react"; import { faBars } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { RenNetwork, RenNetworks } from "@renproject/contracts"; import { CurrencyIcon, Dropdown } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link, RouteComponentProps, withRouter } from "react-router-dom"; @@ -10,7 +11,7 @@ import { bindActionCreators, Dispatch } from "redux"; import { storeQuoteCurrency } from "../store/actions/statistics/operatorActions"; import { storeRenNetwork } from "../store/actions/trader/accountActions"; import { showMobileMenu } from "../store/actions/ui/uiActions"; -import { ApplicationData, currencies, Currency, RenNetwork } from "../store/types"; +import { ApplicationData, currencies, Currency } from "../store/types"; import { ReactComponent as English } from "../styles/images/rp-flag-uk.svg"; import { AccountDropdown } from "./AccountDropdown"; @@ -61,8 +62,8 @@ class HeaderClass extends React.Component { const networkDropdownNode = { } private readonly setNetwork = (network: string): void => { - this.props.actions.storeRenNetwork(network as RenNetwork); + this.props.actions.storeRenNetwork(RenNetworks[network]); setInterval(() => { const currentLocation = window.location.pathname; // history.push("/loading"); diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index c501cefc..9bcb157e 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -9,7 +9,7 @@ import { bindActionCreators, Dispatch } from "redux"; import { OldToken, Token } from "../../lib/ethereum/tokens"; import { updateDarknodeStatistics } from "../../store/actions/statistics/operatorActions"; import { withdrawReward } from "../../store/actions/trader/darknode"; -import { ApplicationData, EthNetworkMap } from "../../store/types"; +import { ApplicationData } from "../../store/types"; import { Loading } from "../Loading"; const defaultState = { // Entries must be immutable @@ -44,13 +44,13 @@ class FeesItemClass extends React.Component { if (address) { try { // tslint:disable-next-line: await-promise - await this.props.actions.withdrawReward(web3, EthNetworkMap[renNetwork], address, darknodeID, token); + await this.props.actions.withdrawReward(web3, renNetwork, address, darknodeID, token); } catch (error) { this.setState({ loading: false }); return; } // tslint:disable-next-line: await-promise - await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); } this.setState({ loading: false }); diff --git a/src/components/statuspage/OldFees.tsx b/src/components/statuspage/OldFees.tsx index b216b88e..1ec40822 100644 --- a/src/components/statuspage/OldFees.tsx +++ b/src/components/statuspage/OldFees.tsx @@ -17,15 +17,14 @@ const OldFeesClass: React.StatelessComponent = (props) => { const oldFees = []; if (darknodeDetails) { for (const [token, balance] of darknodeDetails.oldFeesEarned.toArray()) { - const tokenName = token.replace(" (old)", ""); if (balance.isZero()) { continue; } oldFees.push( - + {" "} - {tokenName} + {token} diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index 2c5e5f17..c2c041d7 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -10,7 +10,7 @@ import { import { showDeregisterPopup, showRefundPopup, showRegisterPopup, } from "../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData, DarknodeDetails, EthNetworkMap } from "../../store/types"; +import { ApplicationData, DarknodeDetails } from "../../store/types"; import { Loading } from "../Loading"; export const statusText = { @@ -115,7 +115,7 @@ class RegistrationClass extends React.Component { const { web3, tokenPrices, renNetwork } = this.props.store; try { - await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -134,7 +134,7 @@ class RegistrationClass extends React.Component { } try { - await this.props.actions.updateOperatorStatistics(web3, EthNetworkMap[renNetwork], address, tokenPrices, darknodeList); + await this.props.actions.updateOperatorStatistics(web3, renNetwork, address, tokenPrices, darknodeList); } catch (error) { // Ignore error } @@ -155,7 +155,7 @@ class RegistrationClass extends React.Component { this.setState({ active: true }); try { await this.props.actions.showRegisterPopup( - web3, EthNetworkMap[renNetwork], address, darknodeID, publicKey, minimumBond, tokenPrices, this.onCancel, this.onDoneRegister + web3, renNetwork, address, darknodeID, publicKey, minimumBond, tokenPrices, this.onCancel, this.onDoneRegister ); } catch (error) { _captureInteractionException_(error, { @@ -177,7 +177,7 @@ class RegistrationClass extends React.Component { this.setState({ active: true }); await this.props.actions.showDeregisterPopup( web3, - EthNetworkMap[renNetwork], + renNetwork, address, darknodeID, darknodeDetails && darknodeDetails.feesEarnedTotalEth, @@ -195,7 +195,7 @@ class RegistrationClass extends React.Component { } this.setState({ active: true }); - await this.props.actions.showRefundPopup(web3, EthNetworkMap[renNetwork], address, darknodeID, this.onCancel, this.onDone); + await this.props.actions.showRefundPopup(web3, renNetwork, address, darknodeID, this.onCancel, this.onDone); } } diff --git a/src/components/statuspage/TopUp.tsx b/src/components/statuspage/TopUp.tsx index 721eb137..4a5a9b16 100644 --- a/src/components/statuspage/TopUp.tsx +++ b/src/components/statuspage/TopUp.tsx @@ -7,7 +7,7 @@ import { bindActionCreators, Dispatch } from "redux"; import { _captureBackgroundException_ } from "../../lib/errors"; import { updateDarknodeStatistics } from "../../store/actions/statistics/operatorActions"; import { showFundPopup } from "../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData, EthNetworkMap } from "../../store/types"; +import { ApplicationData } from "../../store/types"; const CONFIRMATION_MESSAGE = "Transaction confirmed."; @@ -142,7 +142,7 @@ class TopUpClass extends React.Component { const onDone = async () => { try { - await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); } catch (error) { // Ignore error } diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index 77925f4f..b665febc 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -15,9 +15,7 @@ import { RegistrationStatus, updateCycleAndPendingRewards, updateDarknodeStatistics, } from "../../../store/actions/statistics/operatorActions"; import { showClaimPopup } from "../../../store/actions/statistics/operatorPopupActions"; -import { - ApplicationData, DarknodeDetails, DarknodeFeeStatus, EthNetworkMap, -} from "../../../store/types"; +import { ApplicationData, DarknodeDetails, DarknodeFeeStatus } from "../../../store/types"; import { TokenBalance } from "../../TokenBalance"; import { FeesItem } from "../FeesItem"; import { OldFees } from "../OldFees"; @@ -307,8 +305,8 @@ class FeesBlockClass extends React.Component { const onDone = async () => { try { - await this.props.actions.updateCycleAndPendingRewards(web3, EthNetworkMap[renNetwork], tokenPrices); - await this.props.actions.updateDarknodeStatistics(web3, EthNetworkMap[renNetwork], darknodeID, tokenPrices); + await this.props.actions.updateCycleAndPendingRewards(web3, renNetwork, tokenPrices); + await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -320,7 +318,7 @@ class FeesBlockClass extends React.Component { const title = `Claim rewards`; this.setState({ disableClaim: true }); - await this.props.actions.showClaimPopup(web3, EthNetworkMap[renNetwork], claimBeforeCycle, address, darknodeID, title, onCancel, onDone); + await this.props.actions.showClaimPopup(web3, renNetwork, claimBeforeCycle, address, darknodeID, title, onCancel, onDone); } } diff --git a/src/languages/english.ts b/src/languages/english.ts index 73fddd8d..be82b1a8 100644 --- a/src/languages/english.ts +++ b/src/languages/english.ts @@ -6,7 +6,6 @@ export const ENGLISH: Language = { noAccounts: `No accounts found. Ensure your wallet is unlocked.`, mustInstallMetaMask: `Please install MetaMask to access your darknodes.`, - mustChangeNetwork: `Please change your wallet network to Mainnet.`, mustUnlock: `Please unlock MetaMask to access your darknodes.`, mustConnect: `Please connect MetaMask to access your darknodes.`, } diff --git a/src/languages/language.ts b/src/languages/language.ts index 20c1a4ad..e85be7b2 100644 --- a/src/languages/language.ts +++ b/src/languages/language.ts @@ -6,7 +6,6 @@ export interface Language { noAccounts: string; mustInstallMetaMask: string; - mustChangeNetwork: string; mustUnlock: string; mustConnect: string; }; diff --git a/src/lib/environmentVariables.ts b/src/lib/environmentVariables.ts index 8e3aab7d..0a21130f 100644 --- a/src/lib/environmentVariables.ts +++ b/src/lib/environmentVariables.ts @@ -1,4 +1,4 @@ -import { RenNetwork } from "../store/types"; +import { RenNetwork } from "@renproject/contracts"; export const PUBLIC_NODE = process.env.REACT_APP_PUBLIC_NODE || ""; export const SENTRY_DSN = process.env.REACT_APP_SENTRY_DSN || ""; diff --git a/src/lib/errors.ts b/src/lib/errors.ts index 4fd86b2c..f1dea14c 100644 --- a/src/lib/errors.ts +++ b/src/lib/errors.ts @@ -2,7 +2,8 @@ import * as Sentry from "@sentry/browser"; -import { RenNetwork } from "../store/types"; +import { RenNetwork } from "@renproject/contracts"; + import { naturalTime } from "./conversion"; import { DEPLOYMENT } from "./environmentVariables"; diff --git a/src/lib/ethereum/contracts/contracts.ts b/src/lib/ethereum/contracts/contracts.ts deleted file mode 100644 index 65227722..00000000 --- a/src/lib/ethereum/contracts/contracts.ts +++ /dev/null @@ -1,156 +0,0 @@ -import { AbiItem } from "web3-utils"; - -import { EthNetwork } from "../../../store/types"; -import { OldToken, Token } from "../tokens"; - -// Contracts -interface Contract { - ABI: AbiItem[]; - address: string; - deployedInBlock?: string; // hex string -} - -const requireABIsForNetwork = (ethNetwork: EthNetwork) => { - const ERC20: Contract = { - // tslint:disable-next-line: no-require-imports - ABI: require("./ABIs/ERC20.json"), - address: "" - }; - - let path; - let darknodeRegistry; - let darknodeRewardVault; - let dnrDeployedInBlock; - let darknodePayment; - let darknodePaymentStore; - switch (ethNetwork) { - case EthNetwork.Mainnet: - path = "mainnet"; - - // Change these together - darknodeRegistry = "0x34bd421C7948Bc16f826Fd99f9B785929b121633"; - dnrDeployedInBlock = "0x6AED46"; // in hex - - darknodeRewardVault = "0xa96450d3386ece22db20b0ac96ef5684b6d95d53"; - darknodePaymentStore = "0x731Ea4Ba77fF184d89dBeB160A0078274Acbe9D2"; - darknodePayment = "0x5a7802E66b067cB1770ee5b1165AA201690A8B6a"; - - break; - case EthNetwork.Kovan: - path = "testnet"; - - // Change these together - darknodeRegistry = "0x1C6309618338D0EDf9a7Ea8eA18E060fD323020D"; - dnrDeployedInBlock = "0xA35A7A"; // in hex - - darknodeRewardVault = "0xc08Dfa565EdB7216c3b23bBf0848B43fE9a49F0E"; - darknodePaymentStore = "0xA9411C3AD1fBE168fd119A3B32fB481a0b9877A9"; - darknodePayment = "0x8E11B87547f4072CC8A094F2888201CAF4EA0B9e"; - break; - default: - throw new Error(`Unsupported network ${ethNetwork}`); - } - - const DarknodeRegistry: Contract = { - // tslint:disable-next-line: non-literal-require - ABI: require(`./ABIs/${path}/DarknodeRegistry.json`), - address: darknodeRegistry, - deployedInBlock: dnrDeployedInBlock, - }; - - const DarknodeRewardVault: Contract = { - // tslint:disable-next-line: non-literal-require - ABI: require(`./ABIs/${path}/DarknodeRewardVault.json`), - address: darknodeRewardVault, - }; - - const DarknodePayment: Contract = { - // tslint:disable-next-line: non-literal-require - ABI: require(`./ABIs/${path}/DarknodePayment.json`), - address: darknodePayment, - }; - - const DarknodePaymentStore: Contract = { - // tslint:disable-next-line: non-literal-require - ABI: require(`./ABIs/${path}/DarknodePaymentStore.json`), - address: darknodePaymentStore, - }; - - const WarpGateToken: Contract = { - // tslint:disable-next-line: non-literal-require - ABI: require(`./ABIs/${path}/WarpGateToken.json`), - address: "", - }; - - return { ERC20, DarknodeRegistry, DarknodePayment, DarknodeRewardVault, WarpGateToken, DarknodePaymentStore }; -}; - -const kovanContracts = requireABIsForNetwork(EthNetwork.Kovan); -const mainnetContracts = requireABIsForNetwork(EthNetwork.Mainnet); - -export const getContracts = (ethNetwork: EthNetwork) => { - // eslint-disable-next-line - switch (ethNetwork) { - case EthNetwork.Kovan: - return kovanContracts; - case EthNetwork.Mainnet: - return mainnetContracts; - } -}; - -export const tokenAddresses = (token: Token | OldToken, ethNetwork: EthNetwork): string => { - // eslint-disable-next-line - switch (ethNetwork) { - case EthNetwork.Mainnet: - // eslint-disable-next-line - switch (token) { - case Token.DAI: - return "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359"; - case Token.ETH: - return "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; - case Token.BTC: - throw new Error("No address"); - case Token.ZEC: - throw new Error("No address"); - case OldToken.ETH: - return "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; - case OldToken.DGX: - return "0x4f3AfEC4E5a3F2A6a1A411DEF7D7dFe50eE057bF"; - case OldToken.REN: - return "0x408e41876cCCDC0F92210600ef50372656052a38"; - case OldToken.TUSD: - return "0x8dd5fbCe2F6a956C3022bA3663759011Dd51e73E"; - case OldToken.OMG: - return "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07"; - case OldToken.ZRX: - return "0xE41d2489571d322189246DaFA5ebDe1F4699F498"; - } - break; - case EthNetwork.Kovan: - // eslint-disable-next-line - switch (token) { - case Token.DAI: - return "0xc4375b7de8af5a38a93548eb8453a498222c4ff2"; - case Token.ETH: - return "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; - case Token.BTC: - return "0x2a8368d2a983a0aeae8da0ebc5b7c03a0ea66b37"; - case Token.ZEC: - return "0xd67256552f93b39ac30083b4b679718a061feae6"; - case OldToken.ETH: - return "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; - case OldToken.DGX: - return "0x7d6D31326b12B6CBd7f054231D47CbcD16082b71"; - case OldToken.REN: - return "0x2cd647668494c1b15743ab283a0f980d90a87394"; - case OldToken.TUSD: - return "0x525389752ffe6487d33EF53FBcD4E5D3AD7937a0"; - case OldToken.OMG: - return "0x66497ba75dD127b46316d806c077B06395918064"; - case OldToken.ZRX: - return "0x6EB628dCeFA95802899aD3A9EE0C7650Ac63d543"; - } - break; - } - throw new Error(`Unknown network ${ethNetwork} or token ${token}`); -}; diff --git a/src/lib/ethereum/network.ts b/src/lib/ethereum/network.ts index c4455bf1..860c16b3 100644 --- a/src/lib/ethereum/network.ts +++ b/src/lib/ethereum/network.ts @@ -1,21 +1,15 @@ -// Not currently used - -import { BigNumber } from "bignumber.js"; -import Web3 from "web3"; +export const TODO = "TODO"; -import { EthNetwork } from "../../store/types"; -import { _noCapture_ } from "../errors"; -import { DarknodeRegistryWeb3 } from "./contracts/bindings/darknodeRegistry"; -import { getContracts } from "./contracts/contracts"; +// Not currently used -export const getDarknodeCount = async (web3: Web3, ethNetwork: EthNetwork): Promise => { - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address - ); - const darknodeCount = await darknodeRegistry.methods.numDarknodes().call(); - if (darknodeCount === null) { - throw _noCapture_(new Error("Unable to retrieve darknode count")); - } - return new BigNumber(darknodeCount.toString()); -}; +// export const getDarknodeCount = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { +// const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( +// renNetwork.addresses.ren.DarknodeRegistry.abi, +// renNetwork.addresses.ren.DarknodeRegistry.address +// ); +// const darknodeCount = await darknodeRegistry.methods.numDarknodes().call(); +// if (darknodeCount === null) { +// throw _noCapture_(new Error("Unable to retrieve darknode count")); +// } +// return new BigNumber(darknodeCount.toString()); +// }; diff --git a/src/lib/ethereum/operator.ts b/src/lib/ethereum/operator.ts index 8c54257a..ee4c0ee8 100644 --- a/src/lib/ethereum/operator.ts +++ b/src/lib/ethereum/operator.ts @@ -1,15 +1,14 @@ +import { RenNetworkDetails } from "@renproject/contracts"; import { OrderedSet } from "immutable"; import Web3 from "web3"; import { sha3, toChecksumAddress } from "web3-utils"; -import { EthNetwork } from "../../store/types"; import { _noCapture_ } from "../errors"; import { DarknodeRegistryWeb3 } from "./contracts/bindings/darknodeRegistry"; -import { getContracts } from "./contracts/contracts"; const NULL = "0x0000000000000000000000000000000000000000"; -const getAllDarknodes = async (web3: Web3, ethNetwork: EthNetwork): Promise => { +const getAllDarknodes = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { const batchSize = 10; const allDarknodes = []; @@ -17,8 +16,8 @@ const getAllDarknodes = async (web3: Web3, ethNetwork: EthNetwork): Promise address !== NULL && address !== lastDarknode; do { const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); const darknodes = (await darknodeRegistry.methods.getDarknodes(lastDarknode, batchSize.toString()).call()); if (darknodes === null) { @@ -33,7 +32,7 @@ const getAllDarknodes = async (web3: Web3, ethNetwork: EthNetwork): Promise> => { // TODO: Should addresses be made lower case or checksum addresses first? @@ -42,7 +41,7 @@ export const getOperatorDarknodes = async ( // instead we loop through every darknode and get it's owner first. // NOTE: Retrieving all logs only returns recent logs. - const darknodes = await getAllDarknodes(web3, ethNetwork); + const darknodes = await getAllDarknodes(web3, renNetwork); /* Sample log: @@ -65,9 +64,9 @@ export const getOperatorDarknodes = async ( // Get Registration events const recentRegistrationEvents = await web3.eth.getPastLogs({ - address: getContracts(ethNetwork).DarknodeRegistry.address, + address: renNetwork.addresses.ren.DarknodeRegistry.address, // tslint:disable-next-line:no-any - fromBlock: getContracts(ethNetwork).DarknodeRegistry.deployedInBlock || "0x600000" as any, + fromBlock: renNetwork.addresses.ren.DarknodeRegistry.block || "0x600000" as any, toBlock: "latest", // topics: [sha3("LogDarknodeRegistered(address,uint256)"), "0x000000000000000000000000" + // address.slice(2), null, null] as any, @@ -101,8 +100,8 @@ export const getOperatorDarknodes = async ( // } const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); const operatorPromises = darknodes.map(async (darknodeID: string) => darknodeRegistry.methods.getDarknodeOwner(darknodeID).call() diff --git a/src/lib/ethereum/tokens.ts b/src/lib/ethereum/tokens.ts index 00272019..e10493f0 100644 --- a/src/lib/ethereum/tokens.ts +++ b/src/lib/ethereum/tokens.ts @@ -1,5 +1,4 @@ import Axios from "axios"; - import { Map } from "immutable"; import { Currency, TokenPrices } from "../../store/types"; @@ -12,12 +11,12 @@ export enum Token { } export enum OldToken { - ETH = "ETH (old)", - DGX = "DGX (old)", - TUSD = "TUSD (old)", - REN = "REN (old)", - ZRX = "ZRX (old)", - OMG = "OMG (old)", + ETH = "ETH", + DGX = "DGX", + TUSD = "TUSD", + REN = "REN", + ZRX = "ZRX", + OMG = "OMG", } interface TokenDetail { diff --git a/src/lib/ethereum/wallet.ts b/src/lib/ethereum/wallet.ts index 79bcb724..f96895fe 100644 --- a/src/lib/ethereum/wallet.ts +++ b/src/lib/ethereum/wallet.ts @@ -1,9 +1,7 @@ import Web3 from "web3"; - import { provider } from "web3-providers"; import { Language } from "../../languages/language"; -import { EthNetwork } from "../../store/types"; import { PUBLIC_NODE } from "../environmentVariables"; import { _noCapture_ } from "../errors"; @@ -12,10 +10,9 @@ export const ErrorCanceledByUser = "User denied transaction signature."; const ErrorNoWeb3 = Language.wallet.mustInstallMetaMask; const ErrorNoAccounts = Language.wallet.noAccounts; const ErrorAccountAccessRejected = Language.wallet.mustConnect; -const ErrorWrongNetwork = Language.wallet.mustChangeNetwork; export const getReadOnlyWeb3 = (): Web3 => { - return new Web3(PUBLIC_NODE || ""); + return new Web3(PUBLIC_NODE); }; export const getInjectedWeb3Provider = async (onAnyProvider: (provider: provider) => void): Promise => { @@ -38,14 +35,6 @@ export const getInjectedWeb3Provider = async (onAnyProvider: (provider: provider const web3 = new Web3(injectedProvider); - // Check that the provider is using the correct network - // tslint:disable-next-line: no-any - const network = (await (web3.eth.net as any).getNetworkType()); - // tslint:disable-next-line:no-any - if (network !== EthNetwork.Kovan && network !== EthNetwork.Mainnet) { - throw _noCapture_(new Error(ErrorWrongNetwork)); - } - if ((await web3.eth.getAccounts()).length === 0) { throw new Error(ErrorNoAccounts); } diff --git a/src/store/actions/statistics/networkActions.ts b/src/store/actions/statistics/networkActions.ts index c6000bb9..a23b63bf 100644 --- a/src/store/actions/statistics/networkActions.ts +++ b/src/store/actions/statistics/networkActions.ts @@ -1,3 +1,4 @@ +import { RenNetworkDetails } from "@renproject/contracts"; import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { Dispatch } from "redux"; @@ -5,9 +6,8 @@ import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; import { DarknodeRegistryWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodeRegistry"; -import { getContracts } from "../../../lib/ethereum/contracts/contracts"; import { getPrices, Token } from "../../../lib/ethereum/tokens"; -import { EthNetwork, TokenPrices } from "../../types"; +import { TokenPrices } from "../../types"; export const storeTokenPrices = createStandardAction("storeTokenPrices")(); @@ -20,10 +20,10 @@ export const updatePendingRewards = createStandardAction("updatePendingRewards") export const updatePendingTotalInEth = createStandardAction("updatePendingTotalInEth")>(); export const updateCycleTimeout = createStandardAction("updateCycleTimeout")(); -export const updateNetworkStatistics = (web3: Web3, ethNetwork: EthNetwork) => async (dispatch: Dispatch) => { +export const updateNetworkStatistics = (web3: Web3, renNetwork: RenNetworkDetails) => async (dispatch: Dispatch) => { const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); const minimumBondBN = await darknodeRegistry.methods.minimumBond().call(); if (minimumBondBN) { diff --git a/src/store/actions/statistics/operatorActions.ts b/src/store/actions/statistics/operatorActions.ts index a0b2f33d..597f2e9d 100644 --- a/src/store/actions/statistics/operatorActions.ts +++ b/src/store/actions/statistics/operatorActions.ts @@ -1,3 +1,4 @@ +import { mainnet, RenNetworkDetails } from "@renproject/contracts"; import BigNumber from "bignumber.js"; import { List, OrderedMap, OrderedSet } from "immutable"; import { Dispatch } from "redux"; @@ -13,12 +14,9 @@ import { DarknodePaymentStoreWeb3, } from "../../../lib/ethereum/contracts/bindings/darknodePaymentStore"; import { DarknodeRegistryWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodeRegistry"; -import { getContracts, tokenAddresses } from "../../../lib/ethereum/contracts/contracts"; import { getOperatorDarknodes } from "../../../lib/ethereum/operator"; import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../../../lib/ethereum/tokens"; -import { - Currency, DarknodeDetails, DarknodeFeeStatus, EthNetwork, TokenPrices, -} from "../../types"; +import { Currency, DarknodeDetails, DarknodeFeeStatus, TokenPrices } from "../../types"; import { updateCurrentCycle, updateCycleTimeout, updatePendingRewards, updatePendingTotalInEth, updatePreviousCycle, @@ -107,20 +105,20 @@ export const calculateSecondsPerBlock = ( const getOldBalances = async ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: typeof mainnet, darknodeID: string, ): Promise> => { const contract = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRewardVault.ABI, - getContracts(ethNetwork).DarknodeRewardVault.address, + renNetwork.addresses.ren.DarknodeRewardVault.abi, + renNetwork.addresses.ren.DarknodeRewardVault.address, ); let feesEarned = OrderedMap(); const balances = OldTokenDetails.map(async (_tokenDetails, token) => { - const balance = new BigNumber(await contract.methods.darknodeBalances(darknodeID, tokenAddresses(token, ethNetwork)).call()); + const balance = new BigNumber(await contract.methods.darknodeBalances(darknodeID, renNetwork.addresses.oldTokens[token].address).call()); return { balance, @@ -146,7 +144,7 @@ const safePromiseAllList = async (orderedMap: List>, defaultValue: try { newOrderedMap = newOrderedMap.push(await valueP); } catch (error) { - console.log(error); + console.error(error); newOrderedMap = newOrderedMap.push(defaultValue); } } @@ -162,7 +160,7 @@ const safePromiseAllMap = async (orderedMap: OrderedMap>, de try { newOrderedMap = newOrderedMap.set(key, await valueP); } catch (error) { - console.log(error); + console.error(error); newOrderedMap = newOrderedMap.set(key, defaultValue); } } @@ -171,13 +169,13 @@ const safePromiseAllMap = async (orderedMap: OrderedMap>, de const getBalances = async ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, darknodeID: string, ): Promise> => { const contract: DarknodePaymentWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodePayment.ABI, - getContracts(ethNetwork).DarknodePayment.address, + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address, ); let feesEarned = OrderedMap(); @@ -188,13 +186,13 @@ const getBalances = async ( NewTokenDetails.map(async (_tokenDetails, token) => { let balance1; try { - const balance1Call = await contract.methods.darknodeBalances(darknodeID, tokenAddresses(token, ethNetwork)).call(); + const balance1Call = await contract.methods.darknodeBalances(darknodeID, renNetwork.addresses.tokens[token]).call(); balance1 = new BigNumber((balance1Call || "0").toString()); } catch (error) { balance1 = new BigNumber(0); } // const balance2 = tokenDetails.wrapped ? await new (web3.eth.Contract)( - // contracts.WarpGateToken.ABI, + // contracts.WarpGateToken.abi, // tokenDetails.address, // ).methods.balanceOf(address).call() : new BigNumber(0); @@ -249,12 +247,12 @@ const sumUpFees = ( export const updateCycleAndPendingRewards = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, tokenPrices: TokenPrices | null, ) => async (dispatch: Dispatch) => { const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodePayment.ABI, - getContracts(ethNetwork).DarknodePayment.address, + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address, ); let pendingRewards = OrderedMap>(); @@ -265,7 +263,7 @@ export const updateCycleAndPendingRewards = ( const previous = await safePromiseAllMap( NewTokenDetails.map(async (_tokenDetails, token) => { try { - const previousCycleRewardShareBN = await darknodePayment.methods.previousCycleRewardShare(tokenAddresses(token, ethNetwork)).call(); + const previousCycleRewardShareBN = await darknodePayment.methods.previousCycleRewardShare((token)).call(); if (previousCycleRewardShareBN === null) { return new BigNumber(0); } @@ -291,7 +289,7 @@ export const updateCycleAndPendingRewards = ( if (currentShareCount.isZero()) { return new BigNumber(0); } - const currentCycleRewardPool = await darknodePayment.methods.currentCycleRewardPool(tokenAddresses(token, ethNetwork)).call(); + const currentCycleRewardPool = await darknodePayment.methods.currentCycleRewardPool(renNetwork.addresses.tokens[token]).call(); if (currentCycleRewardPool === null) { return new BigNumber(0); } @@ -334,10 +332,10 @@ export const updateCycleAndPendingRewards = ( } }; -const getDarknodeOperator = async (web3: Web3, ethNetwork: EthNetwork, darknodeID: string): Promise => { +const getDarknodeOperator = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); const owner = await darknodeRegistry.methods.getDarknodeOwner(darknodeID).call(); if (owner === null) { @@ -346,10 +344,10 @@ const getDarknodeOperator = async (web3: Web3, ethNetwork: EthNetwork, darknodeI return owner; }; -const getDarknodePublicKey = async (web3: Web3, ethNetwork: EthNetwork, darknodeID: string): Promise => { +const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); const publicKey = await darknodeRegistry.methods.getDarknodePublicKey(darknodeID).call(); if (publicKey === null) { @@ -368,10 +366,10 @@ export enum RegistrationStatus { Refundable = "refundable", } -const getDarknodeStatus = async (web3: Web3, ethNetwork: EthNetwork, darknodeID: string): Promise => { +const getDarknodeStatus = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); try { @@ -413,7 +411,7 @@ const getDarknodeStatus = async (web3: Web3, ethNetwork: EthNetwork, darknodeID: export const updateDarknodeStatistics = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, darknodeID: string, tokenPrices: TokenPrices | null, ) => async (dispatch: Dispatch) => { @@ -428,30 +426,33 @@ export const updateDarknodeStatistics = ( } // Get earned fees - const feesEarned = await getBalances(web3, ethNetwork, darknodeID); - const oldFeesEarned = await getOldBalances(web3, ethNetwork, darknodeID); + const feesEarned = await getBalances(web3, renNetwork, darknodeID); + let oldFeesEarned = OrderedMap(); + if (renNetwork.name === "mainnet") { + oldFeesEarned = await getOldBalances(web3, renNetwork as typeof mainnet, darknodeID); + } let feesEarnedTotalEth = new BigNumber(0); if (tokenPrices) { feesEarnedTotalEth = sumUpFees(feesEarned, oldFeesEarned, tokenPrices); } // Get darknode operator and public key - const operator = await getDarknodeOperator(web3, ethNetwork, darknodeID); - const publicKey = await getDarknodePublicKey(web3, ethNetwork, darknodeID); + const operator = await getDarknodeOperator(web3, renNetwork, darknodeID); + const publicKey = await getDarknodePublicKey(web3, renNetwork, darknodeID); // Get registration status - const registrationStatus = await getDarknodeStatus(web3, ethNetwork, darknodeID); + const registrationStatus = await getDarknodeStatus(web3, renNetwork, darknodeID); // Cycle status //////////////////////////////////////////////////////////// const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodePayment.ABI, - getContracts(ethNetwork).DarknodePayment.address, + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address, ); const darknodePaymentStore: DarknodePaymentStoreWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodePaymentStore.ABI, - getContracts(ethNetwork).DarknodePaymentStore.address, + renNetwork.addresses.ren.DarknodePaymentStore.abi, + renNetwork.addresses.ren.DarknodePaymentStore.address, ); const currentCycleBN = await darknodePayment.methods.currentCycle().call(); @@ -521,16 +522,16 @@ export const updateDarknodeStatistics = ( export const updateOperatorStatistics = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, address: string, tokenPrices: TokenPrices | null, previousDarknodeList: List | null, ) => async (dispatch: Dispatch) => { - await updateCycleAndPendingRewards(web3, ethNetwork, tokenPrices)(dispatch); + await updateCycleAndPendingRewards(web3, renNetwork, tokenPrices)(dispatch); let darknodeList = previousDarknodeList || List(); - const currentDarknodes = await getOperatorDarknodes(web3, ethNetwork, address); + const currentDarknodes = await getOperatorDarknodes(web3, renNetwork, address); dispatch(storeDarknodeList({ darknodeList: currentDarknodes, address })); // The lists are merged in the reducer as well, but we combine them again @@ -543,7 +544,7 @@ export const updateOperatorStatistics = ( }); await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { - return updateDarknodeStatistics(web3, ethNetwork, darknodeID, tokenPrices)(dispatch); + return updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)(dispatch); }).toArray()); }; diff --git a/src/store/actions/statistics/operatorPopupActions.tsx b/src/store/actions/statistics/operatorPopupActions.tsx index ebb512b5..50d66819 100644 --- a/src/store/actions/statistics/operatorPopupActions.tsx +++ b/src/store/actions/statistics/operatorPopupActions.tsx @@ -1,5 +1,6 @@ import * as React from "react"; +import { RenNetworkDetails } from "@renproject/contracts"; import { CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { Dispatch } from "redux"; @@ -9,7 +10,7 @@ import { MultiStepPopup } from "../../../components/popups/MultiStepPopup"; import { TokenBalance } from "../../../components/TokenBalance"; import { _captureBackgroundException_ } from "../../../lib/errors"; import { Token } from "../../../lib/ethereum/tokens"; -import { Currency, EthNetwork, TokenPrices } from "../../types"; +import { Currency, TokenPrices } from "../../types"; import { setPopup } from "../popup/popupActions"; import { approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, @@ -18,7 +19,7 @@ import { updateDarknodeStatistics } from "./operatorActions"; export const showRegisterPopup = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, address: string, darknodeID: string, publicKey: string, @@ -26,13 +27,13 @@ export const showRegisterPopup = ( tokenPrices: TokenPrices, onCancel: () => void, onDone: () => void) => async (dispatch: Dispatch) => { const step1 = async () => { - await approveNode(web3, ethNetwork, address, minimumBond)(dispatch); + await approveNode(web3, renNetwork, address, minimumBond)(dispatch); }; const step2 = async () => { await registerNode( web3, - ethNetwork, + renNetwork, address, darknodeID, publicKey, @@ -43,7 +44,7 @@ export const showRegisterPopup = ( if (tokenPrices) { try { - await updateDarknodeStatistics(web3, ethNetwork, darknodeID, tokenPrices)(dispatch); + await updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)(dispatch); } catch (error) { _captureBackgroundException_(error, { description: "Error thrown in updateDarknodeStatistics in showRegisterPopup", @@ -77,7 +78,7 @@ Are you sure you want to continue?`; export const showDeregisterPopup = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, address: string, darknodeID: string, remainingFees: BigNumber | null, @@ -87,7 +88,7 @@ export const showDeregisterPopup = ( ) => async (dispatch: Dispatch) => { const step1 = async () => { - await deregisterNode(web3, ethNetwork, address, darknodeID, onCancel, onDone)(dispatch); + await deregisterNode(web3, renNetwork, address, darknodeID, onCancel, onDone)(dispatch); }; const steps = [ @@ -132,7 +133,7 @@ export const showDeregisterPopup = ( export const showRefundPopup = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, address: string, darknodeID: string, onCancel: () => void, @@ -140,7 +141,7 @@ export const showRefundPopup = ( ) => async (dispatch: Dispatch) => { const step1 = async () => { - await refundNode(web3, ethNetwork, address, darknodeID, onCancel, onDone)(dispatch); + await refundNode(web3, renNetwork, address, darknodeID, onCancel, onDone)(dispatch); }; const steps = [ @@ -200,7 +201,7 @@ export const showFundPopup = ( export const showClaimPopup = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, claimBeforeCycle: boolean, address: string, darknodeID: string, @@ -213,7 +214,7 @@ export const showClaimPopup = ( const claimStep = { call: async () => { - await claimForNode(web3, ethNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone)(dispatch); + await claimForNode(web3, renNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone)(dispatch); }, name: "Claim rewards", }; @@ -221,7 +222,7 @@ export const showClaimPopup = ( const ignoreError = claimBeforeCycle; const changeCycleStep = { call: async () => { - await changeCycle(web3, ethNetwork, ignoreError, address, onCancel, onDone)(dispatch); + await changeCycle(web3, renNetwork, ignoreError, address, onCancel, onDone)(dispatch); }, name: `Change cycle${claimBeforeCycle ? " (optional)" : ""}`, }; diff --git a/src/store/actions/trader/accountActions.tsx b/src/store/actions/trader/accountActions.tsx index b8eda58d..c62c1c90 100644 --- a/src/store/actions/trader/accountActions.tsx +++ b/src/store/actions/trader/accountActions.tsx @@ -1,6 +1,7 @@ import * as Sentry from "@sentry/browser"; import * as React from "react"; +import { RenNetworkDetails } from "@renproject/contracts"; import { Dispatch } from "redux"; import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; @@ -14,12 +15,12 @@ import { _captureBackgroundException_ } from "../../../lib/errors"; import { getWeb3BrowserName, Web3Browser } from "../../../lib/ethereum/browsers"; import { getInjectedWeb3Provider } from "../../../lib/ethereum/wallet"; import { history } from "../../../lib/history"; -import { EthNetworkLabel, EthNetworkMap, readOnlyWeb3, RenNetwork } from "../../types"; +import { readOnlyWeb3 } from "../../types"; import { clearPopup, setPopup } from "../popup/popupActions"; export const storeWeb3 = createStandardAction("storeWeb3")(); export const storeAddress = createStandardAction("storeAddress")(); -export const storeRenNetwork = createStandardAction("storeRenNetwork")(); +export const storeRenNetwork = createStandardAction("storeRenNetwork")(); export const storeWeb3BrowserName = createStandardAction("storeWeb3BrowserName")(); @@ -39,7 +40,7 @@ export const updateWeb3BrowserName = ( }; export const login = ( - renNetwork: RenNetwork, + renNetwork: RenNetworkDetails, options: { redirect: boolean; showPopup: boolean; immediatePopup: boolean }, ) => async (dispatch: Dispatch) => { let cancelled = false; @@ -126,11 +127,11 @@ export const login = ( // tslint:disable-next-line: no-any const network = (await (newWeb3.eth.net as any).getNetworkType()); - if (network !== EthNetworkMap[renNetwork]) { + if (network !== renNetwork.chain) { if (options.showPopup && !cancelled) { dispatch(setPopup( { - popup: , + popup: , onCancel, overlay: true, }, @@ -195,7 +196,7 @@ export const logout = ( // lookForLogout detects if 1) the user has changed or logged out of their Web3 // wallet export const lookForLogout = ( - renNetwork: RenNetwork, + renNetwork: RenNetworkDetails, address: string, web3: Web3, ) => async (dispatch: Dispatch) => { diff --git a/src/store/actions/trader/darknode.tsx b/src/store/actions/trader/darknode.tsx index a4994b4e..14cd760d 100644 --- a/src/store/actions/trader/darknode.tsx +++ b/src/store/actions/trader/darknode.tsx @@ -1,58 +1,78 @@ import * as React from "react"; +import { mainnet, RenNetworkDetails } from "@renproject/contracts"; import BigNumber from "bignumber.js"; -import { decode as decode58 } from "bs58"; +// import { decode as decode58 } from "bs58"; import { Dispatch } from "redux"; import Web3 from "web3"; -import { Contract } from "web3-eth-contract"; import { WithdrawPopup } from "../../../components/popups/WithdrawPopup"; import { alreadyPast } from "../../../lib/conversion"; import { _noCapture_ } from "../../../lib/errors"; import { DarknodePaymentWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodePayment"; import { DarknodeRegistryWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodeRegistry"; -import { getContracts, tokenAddresses } from "../../../lib/ethereum/contracts/contracts"; import { AllTokenDetails, OldToken, Token } from "../../../lib/ethereum/tokens"; -import { EthNetwork } from "../../../store/types"; import { clearPopup, setPopup } from "../popup/popupActions"; import { waitForTX } from "../statistics/operatorActions"; -export const bridgedToken = (web3: Web3, ethNetwork: EthNetwork, address: string): Contract => { - return new web3.eth.Contract(getContracts(ethNetwork).WarpGateToken.ABI, address); -}; +// export const bridgedToken = (web3: Web3, renNetwork: RenNetworkDetails, address: string): Contract => { +// return new web3.eth.Contract(renNetwork.WarpGateToken.abi, address); +// }; -export const btcAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; -export const zecAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; +// export const btcAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; +// export const zecAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; -const burn = ( - web3: Web3, - ethNetwork: EthNetwork, - trader: string, - currency: Token, - to: string, -) => async (dispatch: Dispatch) => { - const contract = currency === Token.BTC ? bridgedToken(web3, ethNetwork, tokenAddresses(Token.BTC, ethNetwork)) : - currency === Token.ZEC ? bridgedToken(web3, ethNetwork, tokenAddresses(Token.ZEC, ethNetwork)) : - undefined; +// const burn = ( +// web3: Web3, +// renNetwork: RenNetworkDetails, +// trader: string, +// currency: Token, +// to: string, +// ) => async (dispatch: Dispatch) => { +// const contract = currency === Token.BTC ? bridgedToken(web3, renNetwork, addressOf[Token.BTC]) : +// currency === Token.ZEC ? bridgedToken(web3, renNetwork, addressOf[Token.ZEC]) : +// undefined; - if (contract === undefined) { - throw new Error("Something went wrong, please reload and try again"); - } +// if (contract === undefined) { +// throw new Error("Something went wrong, please reload and try again"); +// } - const toHex = currency === Token.BTC ? btcAddressToHex(to) : - currency === Token.ZEC ? zecAddressToHex(to) : - to; +// const toHex = currency === Token.BTC ? btcAddressToHex(to) : +// currency === Token.ZEC ? zecAddressToHex(to) : +// to; - const amount = new BigNumber((await contract.methods.balanceOf(trader).call({ from: trader })).toString()); +// const amount = new BigNumber((await contract.methods.balanceOf(trader).call({ from: trader })).toString()); - await waitForTX( - contract.methods.burn(toHex, amount.toString() /* new BigNumber(amount).multipliedBy(10 ** 8).toFixed() */).send({ from: trader }) - )(dispatch); -}; +// await waitForTX( +// contract.methods.burn(toHex, amount.toString() /* new BigNumber(amount).multipliedBy(10 ** 8).toFixed() */).send({ from: trader }) +// )(dispatch); +// }; -export const withdrawReward = ( +const withdrawOldToken = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: typeof mainnet, + trader: string, + darknodeID: string, + token: Token | OldToken, +) => async (dispatch: Dispatch) => new Promise(async (resolve, reject) => { + try { + const contract = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRewardVault.abi, + renNetwork.addresses.ren.DarknodeRewardVault.address + ); + await waitForTX( + contract.methods.withdraw(darknodeID, renNetwork.addresses.oldTokens[token].address).send({ from: trader }), + resolve, + )(dispatch); + } catch (error) { + reject(error); + return; + } +}); + +export const withdrawToken = ( + web3: Web3, + renNetwork: RenNetworkDetails, trader: string, darknodeID: string, token: Token | OldToken, @@ -60,90 +80,93 @@ export const withdrawReward = ( const tokenDetails = AllTokenDetails.get(token); if (tokenDetails === undefined) { - reject(new Error("Unknown token")); - return; + throw new Error("Unknown token"); } - if (tokenDetails.old) { - try { - const contract = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRewardVault.ABI, - getContracts(ethNetwork).DarknodeRewardVault.address - ); - await waitForTX( - contract.methods.withdraw(darknodeID, tokenAddresses(token, ethNetwork)).send({ from: trader }), - resolve, - )(dispatch); - } catch (error) { - reject(error); - return; + const withdraw = async (_withdrawAddress?: string) => { + + const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address + ); + + if (!tokenDetails) { + throw new Error("Unknown token"); } + + await waitForTX( + darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token]).send({ from: trader }), + resolve, + )(dispatch); + + // if (tokenDetails.wrapped) { + // if (!withdrawAddress) { + // throw new Error("Invalid withdraw address"); + // } + // await burn(web3, renNetwork, trader, token as Token, withdrawAddress)(dispatch); + // } + }; + const onCancel = () => { + dispatch(clearPopup()); + reject(); + }; + const onDone = () => { + dispatch(clearPopup()); + resolve(); + }; + if (tokenDetails.wrapped) { + dispatch(setPopup( + { + popup: , + onCancel, + overlay: true, + }, + )); } else { - const withdraw = async (withdrawAddress?: string) => { - - const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodePayment.ABI, - getContracts(ethNetwork).DarknodePayment.address - ); - - if (!tokenDetails) { - throw new Error("Unknown token"); - } - - await waitForTX( - darknodePayment.methods.withdraw(darknodeID, tokenAddresses(token, ethNetwork)).send({ from: trader }), - resolve, - )(dispatch); - - if (tokenDetails.wrapped) { - if (!withdrawAddress) { - throw new Error("Invalid withdraw address"); - } - await burn(web3, ethNetwork, trader, token as Token, withdrawAddress)(dispatch); - } - }; - const onCancel = () => { - dispatch(clearPopup()); - reject(); - }; - const onDone = () => { - dispatch(clearPopup()); - resolve(); - }; - if (tokenDetails.wrapped) { - dispatch(setPopup( - { - popup: , - onCancel, - overlay: true, - }, - )); - } else { - try { - await withdraw(); - } catch (error) { - onCancel(); - } + try { + await withdraw(); + } catch (error) { + onCancel(); } } }); +export const withdrawReward = ( + web3: Web3, + renNetwork: RenNetworkDetails, + trader: string, + darknodeID: string, + token: Token | OldToken, +) => async (dispatch: Dispatch) => { + + const tokenDetails = AllTokenDetails.get(token); + if (tokenDetails === undefined) { + throw new Error("Unknown token"); + } + + if (tokenDetails.old && renNetwork.name === "mainnet") { + await withdrawOldToken(web3, renNetwork as typeof mainnet, trader, darknodeID, token)(dispatch); + } else { + await withdrawToken(web3, renNetwork, trader, darknodeID, token)(dispatch); + } +}; + export const approveNode = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, trader: string, bond: BigNumber ) => async (dispatch: Dispatch) => { // tslint:disable-next-line:no-non-null-assertion - const ercContract = new (web3.eth.Contract)(getContracts(ethNetwork).ERC20.ABI, tokenAddresses(OldToken.REN, ethNetwork)); + const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); const ercBalance = new BigNumber(await ercContract.methods.balanceOf(trader).call()); const ercAllowance = new BigNumber( - await ercContract.methods.allowance(trader, getContracts(ethNetwork).DarknodeRegistry.address).call(), + await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call(), ); if (ercAllowance.gte(bond)) { @@ -156,13 +179,13 @@ export const approveNode = ( } return waitForTX( - ercContract.methods.approve(getContracts(ethNetwork).DarknodeRegistry.address, bond.toFixed()).send({ from: trader }) + ercContract.methods.approve(renNetwork.addresses.ren.DarknodeRegistry.address, bond.toFixed()).send({ from: trader }) )(dispatch); }; export const registerNode = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, trader: string, darknodeID: string, publicKey: string, @@ -174,10 +197,10 @@ export const registerNode = ( const hardCodedGas = 500000; // tslint:disable-next-line:no-non-null-assertion - const ercContract = new (web3.eth.Contract)(getContracts(ethNetwork).ERC20.ABI, tokenAddresses(OldToken.REN, ethNetwork)); + const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); const ercAllowance = new BigNumber( - await ercContract.methods.allowance(trader, getContracts(ethNetwork).DarknodeRegistry.address).call() + await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call() ); let gas: number | undefined = hardCodedGas; @@ -187,8 +210,8 @@ export const registerNode = ( let resolved = false; const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); try { @@ -206,7 +229,7 @@ export const registerNode = ( export const deregisterNode = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, trader: string, darknodeID: string, onCancel: () => void, @@ -216,8 +239,8 @@ export const deregisterNode = ( let resolved = false; const darknodeRegistry = new ((web3).eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); try { const res = await waitForTX( @@ -234,7 +257,7 @@ export const deregisterNode = ( export const refundNode = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, trader: string, darknodeID: string, onCancel: () => void, @@ -244,8 +267,8 @@ export const refundNode = ( let resolved = false; const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodeRegistry.ABI, - getContracts(ethNetwork).DarknodeRegistry.address + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address ); try { @@ -296,7 +319,7 @@ export const fundNode = ( export const claimForNode = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, useFixedGasLimit: boolean, address: string, darknodeID: string, @@ -306,8 +329,8 @@ export const claimForNode = ( // Convert eth to wei const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodePayment.ABI, - getContracts(ethNetwork).DarknodePayment.address + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address ); let resolved = false; @@ -329,7 +352,7 @@ export const claimForNode = ( export const changeCycle = ( web3: Web3, - ethNetwork: EthNetwork, + renNetwork: RenNetworkDetails, ignoreError: boolean, address: string, onCancel: () => void, @@ -338,8 +361,8 @@ export const changeCycle = ( // Convert eth to wei const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - getContracts(ethNetwork).DarknodePayment.ABI, - getContracts(ethNetwork).DarknodePayment.address + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address ); let resolved = false; diff --git a/src/store/types.ts b/src/store/types.ts index b04d7a8c..6e57ddb6 100644 --- a/src/store/types.ts +++ b/src/store/types.ts @@ -1,5 +1,6 @@ // tslint:disable:no-object-literal-type-assertion +import { RenNetwork, RenNetworkDetails, RenNetworks } from "@renproject/contracts"; import BigNumber from "bignumber.js"; import { List, Map, OrderedMap } from "immutable"; import { PromiEvent } from "web3-core"; @@ -12,35 +13,6 @@ import { getReadOnlyWeb3 } from "../lib/ethereum/wallet"; import { Record } from "../lib/record"; import { RegistrationStatus } from "./actions/statistics/operatorActions"; -export enum RenNetwork { - Mainnet = "mainnet", - Testnet = "testnet", - Devnet = "devnet", - Localnet = "localnet", -} - -export enum EthNetwork { - Kovan = "kovan", - Mainnet = "main", -} - -export const EthNetworkMap = { - [RenNetwork.Mainnet]: EthNetwork.Mainnet, - [RenNetwork.Testnet]: EthNetwork.Kovan, - [RenNetwork.Devnet]: EthNetwork.Kovan, - [RenNetwork.Localnet]: EthNetwork.Kovan, -}; -export const RenNetworkLabel = { - [RenNetwork.Mainnet]: "Mainnet", - [RenNetwork.Testnet]: "Testnet", - [RenNetwork.Devnet]: "Devnet", - [RenNetwork.Localnet]: "Localnet", -}; -export const EthNetworkLabel = { - [EthNetwork.Kovan]: "Kovan", - [EthNetwork.Mainnet]: "Mainnet", -}; - interface Serializable { serialize(): string; deserialize(str: string): T; @@ -61,12 +33,12 @@ export class TraderData extends Record({ web3BrowserName: Web3Browser.MetaMask, web3: readOnlyWeb3, - renNetwork: DEPLOYMENT || (process.env.REACT_APP_DEPLOYMENT as RenNetwork) || RenNetwork.Testnet, + renNetwork: RenNetworks[DEPLOYMENT || (process.env.REACT_APP_DEPLOYMENT as RenNetwork) || RenNetwork.Testnet] as RenNetworkDetails, }) implements Serializable { public serialize(): string { - const js = this.toJS(); + // const js = this.toJS(); return JSON.stringify({ - renNetwork: js.renNetwork, + renNetwork: this.renNetwork.name, }); } @@ -75,13 +47,11 @@ export class TraderData extends Record({ try { const data = JSON.parse(str); // tslint:disable-next-line: no-any - const inner: any = {}; + let traderData = new TraderData(); if (data.renNetwork) { - inner.renNetwork = data.renNetwork; + traderData = traderData.set("renNetwork", RenNetworks[data.renNetwork]); } - console.log(`data.renNetwork: ${data.renNetwork}`); - // next = next.set("address", data.address); - return new TraderData(inner); + return traderData; } catch (error) { _captureBackgroundException_(error, { description: "Cannot deserialize local storage", diff --git a/tslint.json b/tslint.json index 18c9ef22..599bcd61 100644 --- a/tslint.json +++ b/tslint.json @@ -49,6 +49,9 @@ // "ter-indent": false, // Warnings + "no-unnecessary-type-assertion": { + "severity": "warning" + }, "no-suspicious-comment": { "severity": "warning" }, @@ -76,7 +79,6 @@ "await-promise": true, "react-this-binding-issue": true, "no-string-based-set-timeout": true, - "no-unnecessary-type-assertion": true, "no-unused-variable": [true, { "ignore-pattern": "^_" }], diff --git a/yarn.lock b/yarn.lock index 29616182..8551eb29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1326,10 +1326,10 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.0.tgz#8d7f062319cdecdc24b806bb99310a0385688052" - integrity sha512-N9/V1nI8YDaEiIVprLSnZnnd3lmhGviE/HxPTVNe1bsiHIxRUuRwnqpDnyS37S8/b/fhNNj5z+mmuTaOEZoWnQ== +"@renproject/contracts@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.1.tgz#81aac258b780cd4e9a6e294e3224c0f16a816c63" + integrity sha512-TheoywmFnYHgAzuPEENAq0OZiFJvm+p7/nPd4bwEMkJXqUXVr4ZHB9ZHForxpaJita9xluT5NsEIlcZWoUkTCQ== dependencies: tslint-react "^4.0.0" web3-utils "^1.0.0-beta.55" From 974871f9962936542c77c0d61529779bcc4f92d0 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 12 Jul 2019 10:49:33 +1000 Subject: [PATCH 004/117] Cleaned up environment variables --- src/components/App.tsx | 4 ++-- src/index.tsx | 3 ++- src/lib/environmentVariables.ts | 8 ++++++-- src/lib/errors.ts | 8 ++++---- src/lib/onLoad.ts | 4 ++-- src/store/configureStore.ts | 3 ++- src/store/types.ts | 4 ++-- 7 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index 557f73dd..b3afac56 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -4,7 +4,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; import { bindActionCreators, Dispatch } from "redux"; -import { DEPLOYMENT } from "../lib/environmentVariables"; +import { DEFAULT_REN_NETWORK } from "../lib/environmentVariables"; import { ApplicationData } from "../store/types"; import { BackgroundTasks } from "./BackgroundTasks"; import { _catch_ } from "./ErrorBoundary"; @@ -45,7 +45,7 @@ class AppClass extends React.Component { public render = (): JSX.Element => { const { match: { params }, store: { address, renNetwork } } = this.props; const darknodeID = getDarknodeParam(params); - const showNetworkBanner = renNetwork.name !== DEPLOYMENT; + const showNetworkBanner = renNetwork.name !== DEFAULT_REN_NETWORK; return
    diff --git a/src/index.tsx b/src/index.tsx index a7f0e715..c9da7103 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -9,12 +9,13 @@ import { PersistGate } from "redux-persist/integration/react"; import { App } from "./components/App"; import { _catch_ } from "./components/ErrorBoundary"; +import { NODE_ENV } from "./lib/environmentVariables"; import { history } from "./lib/history"; import { onLoad } from "./lib/onLoad"; import { configureStore } from "./store/configureStore"; // Redirect to https if we aren't serving locally -if (process.env.NODE_ENV !== "development") { +if (NODE_ENV !== "development") { const loc = window.location.href + ""; // tslint:disable-next-line: no-http-string if (loc.indexOf("http://") === 0) { diff --git a/src/lib/environmentVariables.ts b/src/lib/environmentVariables.ts index 0a21130f..9cc0839d 100644 --- a/src/lib/environmentVariables.ts +++ b/src/lib/environmentVariables.ts @@ -1,6 +1,10 @@ import { RenNetwork } from "@renproject/contracts"; +// Automatically set +export const NODE_ENV = process.env.NODE_ENV; +export const SOURCE_VERSION = process.env.REACT_APP_SOURCE_VERSION || "local"; + +// Set in .env / settings page export const PUBLIC_NODE = process.env.REACT_APP_PUBLIC_NODE || ""; export const SENTRY_DSN = process.env.REACT_APP_SENTRY_DSN || ""; -export const DEPLOYMENT = (process.env.REACT_APP_DEPLOYMENT as RenNetwork) || RenNetwork.Testnet; -export const SOURCE_VERSION = process.env.REACT_APP_SOURCE_VERSION || "local"; +export const DEFAULT_REN_NETWORK = (process.env.REACT_APP_NETWORK as RenNetwork) || RenNetwork.Testnet; diff --git a/src/lib/errors.ts b/src/lib/errors.ts index f1dea14c..b7cc66be 100644 --- a/src/lib/errors.ts +++ b/src/lib/errors.ts @@ -5,7 +5,7 @@ import * as Sentry from "@sentry/browser"; import { RenNetwork } from "@renproject/contracts"; import { naturalTime } from "./conversion"; -import { DEPLOYMENT } from "./environmentVariables"; +import { DEFAULT_REN_NETWORK, NODE_ENV } from "./environmentVariables"; interface Details { description?: string; @@ -124,13 +124,13 @@ const _captureException_ = (error: any, details: X) => { // tslint:disable-next-line: no-console console.error(error); - if (DEPLOYMENT !== RenNetwork.Mainnet) { + if (DEFAULT_REN_NETWORK !== RenNetwork.Mainnet) { if (typeof error === "string") { // tslint:disable-next-line: no-parameter-reassignment - error = `[${DEPLOYMENT}-${process.env.NODE_ENV}] ${error}`; + error = `[${DEFAULT_REN_NETWORK}-${NODE_ENV}] ${error}`; } else { try { - error.message = `[${DEPLOYMENT}-${process.env.NODE_ENV}] ${error.message || error}`; + error.message = `[${DEFAULT_REN_NETWORK}-${NODE_ENV}] ${error.message || error}`; } catch { // Ignore: Unable to overwrite message (may be read-only) } diff --git a/src/lib/onLoad.ts b/src/lib/onLoad.ts index 6b65cfb1..8ac0bdbd 100644 --- a/src/lib/onLoad.ts +++ b/src/lib/onLoad.ts @@ -3,7 +3,7 @@ import * as Sentry from "@sentry/browser"; import Web3 from "web3"; import { HttpProvider } from "web3-providers"; -import { DEPLOYMENT, SENTRY_DSN, SOURCE_VERSION } from "./environmentVariables"; +import { DEFAULT_REN_NETWORK, NODE_ENV, SENTRY_DSN, SOURCE_VERSION } from "./environmentVariables"; import { pageLoadedAt } from "./errors"; interface EthereumProvider extends HttpProvider { @@ -30,7 +30,7 @@ export const onLoad = (title: string) => { dsn: SENTRY_DSN, // Used to separate testnet and mainnet errors - environment: `${DEPLOYMENT}-${process.env.NODE_ENV}`, + environment: `${DEFAULT_REN_NETWORK}-${NODE_ENV}`, // Used to track errors across versions release: SOURCE_VERSION, diff --git a/src/store/configureStore.ts b/src/store/configureStore.ts index 58715767..fd0d0c61 100644 --- a/src/store/configureStore.ts +++ b/src/store/configureStore.ts @@ -2,6 +2,7 @@ import { Action, applyMiddleware, createStore, Middleware, Reducer } from "redux import { PersistConfig, PersistPartial, persistReducer, persistStore } from "redux-persist"; import thunk from "redux-thunk"; +import { NODE_ENV } from "../lib/environmentVariables"; import { persistConfig } from "./persistConfig"; import { rootReducer } from "./reducers/rootReducer"; @@ -10,7 +11,7 @@ const middlewares: Middleware[] = [ ]; // Log Redux actions (only in development) -if (process.env.NODE_ENV === "development") { +if (NODE_ENV === "development") { // middlewares.push(createLogger({ collapsed: true })); } diff --git a/src/store/types.ts b/src/store/types.ts index 6e57ddb6..b8583e6a 100644 --- a/src/store/types.ts +++ b/src/store/types.ts @@ -5,7 +5,7 @@ import BigNumber from "bignumber.js"; import { List, Map, OrderedMap } from "immutable"; import { PromiEvent } from "web3-core"; -import { DEPLOYMENT } from "../lib/environmentVariables"; +import { DEFAULT_REN_NETWORK } from "../lib/environmentVariables"; import { _captureBackgroundException_ } from "../lib/errors"; import { Web3Browser } from "../lib/ethereum/browsers"; import { OldToken, Token } from "../lib/ethereum/tokens"; @@ -33,7 +33,7 @@ export class TraderData extends Record({ web3BrowserName: Web3Browser.MetaMask, web3: readOnlyWeb3, - renNetwork: RenNetworks[DEPLOYMENT || (process.env.REACT_APP_DEPLOYMENT as RenNetwork) || RenNetwork.Testnet] as RenNetworkDetails, + renNetwork: RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails, }) implements Serializable { public serialize(): string { // const js = this.toJS(); From 17c25754ad3c7477f2642828a6eac0e2cf5c750b Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 12 Jul 2019 11:42:59 +1000 Subject: [PATCH 005/117] Updated @renproject/contracts dependency --- package.json | 2 +- yarn.lock | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 5b0cd9ad..6326f88a 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@fortawesome/free-regular-svg-icons": "^5.9.0", "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "^0.3.1", + "@renproject/contracts": "0.3.2", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "^1.0.25", "@sentry/browser": "^5.5.0", diff --git a/yarn.lock b/yarn.lock index 8551eb29..db5f0f4e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1326,13 +1326,12 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.1.tgz#81aac258b780cd4e9a6e294e3224c0f16a816c63" - integrity sha512-TheoywmFnYHgAzuPEENAq0OZiFJvm+p7/nPd4bwEMkJXqUXVr4ZHB9ZHForxpaJita9xluT5NsEIlcZWoUkTCQ== +"@renproject/contracts@0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.2.tgz#6f2d9d45356ad2596293e57f4b14a5ee3229de1a" + integrity sha512-uVrA8Q65ZxsC4BWhbWYSC2BtxFCipOPHaQdCwzywOV4UG/Gl+SG+/zezpCMdU/ziArsI6hAlNVtBi5/Jw/gKGQ== dependencies: - tslint-react "^4.0.0" - web3-utils "^1.0.0-beta.55" + darknode-sol "https://github.com/renproject/darknode-sol#localnet" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -4495,6 +4494,12 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= +"darknode-sol@https://github.com/renproject/darknode-sol#localnet": + version "0.0.3" + resolved "https://github.com/renproject/darknode-sol#a40d08f172b210f379ca1a4a0b90ae9294aa1cf5" + dependencies: + openzeppelin-solidity "2.3.0" + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -9383,6 +9388,11 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +openzeppelin-solidity@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz#1ab7b4cc3782a5472ed61eb740c56a8bfdd74119" + integrity sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw== + opn@5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" From 4f5e7cc14c72d271ada7ee1ba33288c075fc6cb9 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 12 Jul 2019 12:07:23 +1000 Subject: [PATCH 006/117] Updated yarn.lock --- yarn.lock | 2712 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 1596 insertions(+), 1116 deletions(-) diff --git a/yarn.lock b/yarn.lock index db5f0f4e..35d8a4db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,38 +29,18 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" - integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" - "@babel/helpers" "^7.4.4" - "@babel/parser" "^7.4.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.5" - "@babel/types" "^7.4.4" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.11" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.1.6", "@babel/core@^7.4.3": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.4.tgz#84055750b05fcd50f9915a826b44fa347a825250" - integrity sha512-lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ== +"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.4.5": + version "7.5.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.4.tgz#4c32df7ad5a58e9ea27ad025c11276324e0b4ddd" + integrity sha512-+DaeBEpYq6b2+ZmHx3tHspC+ZRflrvLqwfv8E3hNr5LVQoyBnL8RPKSBCg+rK2W2My9PWlujBiqd0ZPsR9Q6zQ== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" - "@babel/helpers" "^7.4.4" - "@babel/parser" "^7.4.4" + "@babel/generator" "^7.5.0" + "@babel/helpers" "^7.5.4" + "@babel/parser" "^7.5.0" "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" @@ -69,12 +49,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.4.4.tgz#174a215eb843fc392c7edcaabeaa873de6e8f041" - integrity sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ== +"@babel/generator@^7.4.0", "@babel/generator@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" + integrity sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA== dependencies: - "@babel/types" "^7.4.4" + "@babel/types" "^7.5.0" jsesc "^2.5.1" lodash "^4.17.11" source-map "^0.5.0" @@ -112,10 +92,10 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.4.0": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz#fc3d690af6554cc9efc607364a82d48f58736dba" - integrity sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA== +"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.0.tgz#02edb97f512d44ba23b3227f1bf2ed43454edac5" + integrity sha512-EAoMc3hE5vE5LNhMqDOwB1usHvmRjCDAnH8CD4PVkX9/Yr3W/tcz8xE8QvdZxfsFBDICwZnF2UTHIqslRpvxmA== dependencies: "@babel/helper-function-name" "^7.1.0" "@babel/helper-member-expression-to-functions" "^7.0.0" @@ -255,33 +235,28 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.4.3", "@babel/helpers@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.4.4.tgz#868b0ef59c1dd4e78744562d5ce1b59c89f2f2a5" - integrity sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A== +"@babel/helpers@^7.4.3", "@babel/helpers@^7.5.4": + version "7.5.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.4.tgz#2f00608aa10d460bde0ccf665d6dcf8477357cf0" + integrity sha512-6LJ6xwUEJP51w0sIgKyfvFMJvIb9mWAfohJp0+m6eHJigkFdcH8duZ1sfhn0ltJRzwUIT/yqqhdSfRpCpL7oow== dependencies: "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/traverse" "^7.5.0" + "@babel/types" "^7.5.0" "@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.4.tgz#5977129431b8fe33471730d255ce8654ae1250b6" - integrity sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w== - -"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.5.tgz#04af8d5d5a2b044a2a1bffacc1e5e6673544e872" - integrity sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" + integrity sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -309,6 +284,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-decorators" "^7.2.0" +"@babel/plugin-proposal-dynamic-import@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" + integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.2.0" + "@babel/plugin-proposal-json-strings@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" @@ -325,10 +308,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz#1ef173fcf24b3e2df92a678f027673b55e7e3005" - integrity sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g== +"@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.5.4": + version "7.5.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.4.tgz#250de35d867ce8260a31b1fdac6c4fc1baa99331" + integrity sha512-KCx0z3y7y8ipZUMAEEJOyNi11lMb/FOPUjjB113tfowgw0c16EGYos7worCKBcUAh2oG+OBnoUhsnTSoLpV9uA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -364,7 +347,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-dynamic-import@7.2.0": +"@babel/plugin-syntax-dynamic-import@7.2.0", "@babel/plugin-syntax-dynamic-import@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== @@ -420,10 +403,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz#a3f1d01f2f21cadab20b33a82133116f14fb5894" - integrity sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA== +"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" + integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -486,10 +469,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz#9d964717829cc9e4b601fc82a26a71a4d8faf20f" - integrity sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ== +"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" + integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -502,10 +485,10 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" -"@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" - integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== +"@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" + integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -554,30 +537,33 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-amd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" - integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== +"@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" + integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== dependencies: "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz#0bef4713d30f1d78c2e59b3d6db40e60192cac1e" - integrity sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw== +"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" + integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== dependencies: "@babel/helper-module-transforms" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz#dc83c5665b07d6c2a7b224c00ac63659ea36a405" - integrity sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ== +"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" + integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== dependencies: "@babel/helper-hoist-variables" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" "@babel/plugin-transform-modules-umd@^7.2.0": version "7.2.0" @@ -587,20 +573,13 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2": +"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== dependencies: regexp-tree "^0.1.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.4.tgz#5611d96d987dfc4a3a81c4383bb173361037d68d" - integrity sha512-Ki+Y9nXBlKfhD+LXaRS7v95TtTGYRAf9Y1rTDiE75zf8YQz4GDaWRXosMfJBXxnk88mGFjWdCRIeqDbon7spYA== - dependencies: - regexp-tree "^0.1.0" - "@babel/plugin-transform-new-target@^7.4.0", "@babel/plugin-transform-new-target@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" @@ -632,7 +611,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-constant-elements@7.2.0", "@babel/plugin-transform-react-constant-elements@^7.0.0": +"@babel/plugin-transform-react-constant-elements@7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7" integrity sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ== @@ -640,6 +619,14 @@ "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-react-constant-elements@^7.0.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz#4d6ae4033bc38f8a65dfca2b6235c44522a422fc" + integrity sha512-c5Ba8cpybZFp1Izkf2sWGuNjOxoQ32tFgBvvYvwGhi4+9f6vGiSK9Gex4uVuO/Va6YJFu41aAh1MzMjUWkp0IQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-react-display-name@7.2.0", "@babel/plugin-transform-react-display-name@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" @@ -656,9 +643,9 @@ "@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" - integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" + integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" @@ -672,20 +659,13 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-regenerator@^7.4.3": +"@babel/plugin-transform-regenerator@^7.4.3", "@babel/plugin-transform-regenerator@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== dependencies: regenerator-transform "^0.14.0" -"@babel/plugin-transform-regenerator@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.4.tgz#5b4da4df79391895fca9e28f99e87e22cfc02072" - integrity sha512-Zz3w+pX1SI0KMIiqshFZkwnVGUhDZzpX2vtPzfJBKQQq8WsP/Xy9DNdELWivxcKOCX/Pywge4SiEaPaLtoDT4g== - dependencies: - regenerator-transform "^0.13.4" - "@babel/plugin-transform-reserved-words@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" @@ -741,10 +721,11 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.3.2": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.5.tgz#ab3351ba35307b79981993536c93ff8be050ba28" - integrity sha512-RPB/YeGr4ZrFKNwfuQRlMf2lxoCUaU01MTw39/OFE/RiL8HDjtn68BwEPft1P7JN4akyEmjGWAMNldOV7o9V2g== + version "7.5.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.2.tgz#ea7da440d29b8ccdb1bd02e18f6cfdc7ce6c16f5" + integrity sha512-r4zJOMbKY5puETm8+cIpaa0RQZG/sSASW1u0pj8qYklcERgVIbxVbP2wyJA7zI1//h7lEagQmXi9IL9iI5rfsA== dependencies: + "@babel/helper-create-class-features-plugin" "^7.5.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" @@ -812,45 +793,47 @@ semver "^5.5.0" "@babel/preset-env@^7.1.6", "@babel/preset-env@^7.3.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.4.tgz#b6f6825bfb27b3e1394ca3de4f926482722c1d6f" - integrity sha512-FU1H+ACWqZZqfw1x2G1tgtSSYSfxJLkpaUQL37CenULFARDo+h4xJoVHzRoHbK+85ViLciuI7ME4WTIhFRBBlw== + version "7.5.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.4.tgz#64bc15041a3cbb0798930319917e70fcca57713d" + integrity sha512-hFnFnouyRNiH1rL8YkX1ANCNAUVC8Djwdqfev8i1415tnAG+7hlA5zhZ0Q/3Q5gkop4HioIPbCEWAalqcbxRoQ== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" + "@babel/plugin-proposal-dynamic-import" "^7.5.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.4" + "@babel/plugin-proposal-object-rest-spread" "^7.5.4" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-syntax-json-strings" "^7.2.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.4.4" + "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" "@babel/plugin-transform-block-scoping" "^7.4.4" "@babel/plugin-transform-classes" "^7.4.4" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.4" + "@babel/plugin-transform-destructuring" "^7.5.0" "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" + "@babel/plugin-transform-duplicate-keys" "^7.5.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" "@babel/plugin-transform-for-of" "^7.4.4" "@babel/plugin-transform-function-name" "^7.4.4" "@babel/plugin-transform-literals" "^7.2.0" "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.4" - "@babel/plugin-transform-modules-systemjs" "^7.4.4" + "@babel/plugin-transform-modules-amd" "^7.5.0" + "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.4" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" "@babel/plugin-transform-new-target" "^7.4.4" "@babel/plugin-transform-object-super" "^7.2.0" "@babel/plugin-transform-parameters" "^7.4.4" "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.4" + "@babel/plugin-transform-regenerator" "^7.4.5" "@babel/plugin-transform-reserved-words" "^7.2.0" "@babel/plugin-transform-shorthand-properties" "^7.2.0" "@babel/plugin-transform-spread" "^7.2.0" @@ -858,9 +841,9 @@ "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.4.4" - browserslist "^4.5.2" - core-js-compat "^3.0.0" + "@babel/types" "^7.5.0" + browserslist "^4.6.0" + core-js-compat "^3.1.1" invariant "^2.2.2" js-levenshtein "^1.1.3" semver "^5.5.0" @@ -891,21 +874,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.5.tgz#582bb531f5f9dc67d2fcb682979894f75e253f12" - integrity sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.4.tgz#dc2e34982eb236803aa27a07fea6857af1b9171d" - integrity sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.4.0", "@babel/runtime@^7.4.5": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": version "7.5.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.4.tgz#cb7d1ad7c6d65676e66b47186577930465b5271b" integrity sha512-Na84uwyImZZc3FKf4aUF1tysApzwf3p2yuFBIyBfbzT5glzKTdvYI4KVW4kcgjrzoGUjC7w3YyCHcJKaRxsr2Q== @@ -921,40 +890,25 @@ "@babel/parser" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.4.tgz#0776f038f6d78361860b6823887d4f3937133fe8" - integrity sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.11" - -"@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.4.5.tgz#4e92d1728fd2f1897dafdd321efbff92156c3216" - integrity sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" + integrity sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg== dependencies: "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" + "@babel/generator" "^7.5.0" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.4.5" - "@babel/types" "^7.4.4" + "@babel/parser" "^7.5.0" + "@babel/types" "^7.5.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.11" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.4.tgz#8db9e9a629bb7c29370009b4b779ed93fe57d5f0" - integrity sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ== +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" + integrity sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ== dependencies: esutils "^2.0.2" lodash "^4.17.11" @@ -1081,38 +1035,19 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ== -"@fortawesome/fontawesome-common-types@^0.2.18": - version "0.2.18" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.18.tgz#c0d8f073a5116b2de0a2c8a7aba66093a6956ce7" - integrity sha512-834DrzO2Ne3upCW+mJJPC/E6BsFcj+2Z1HmPIhbpbj8UaKmXWum4NClqLpUiMetugRlHuG4jbIHNdv2/lc3c1Q== - "@fortawesome/fontawesome-common-types@^0.2.19": version "0.2.19" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.19.tgz#754a0f85e1290858152e1c05700ab502b11197f1" integrity sha512-nd2Ul/CUs8U9sjofQYAALzOGpgkVJQgEhIJnOHaoyVR/LeC3x2mVg4eB910a4kS6WgLPebAY0M2fApEI497raQ== -"@fortawesome/fontawesome-svg-core@^1.2.18": - version "1.2.18" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.18.tgz#c26cbded461895ebe260f0dea771ca29d8cb3517" - integrity sha512-1vyLWVQqxQ8q8bA2zgZcljk3RkeELlDJ757ymLk+ebK019AFgEFH5kTnR5OMN1SFsTwW1OHlFQO3VufdeCg/Gg== - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.18" - -"@fortawesome/fontawesome-svg-core@^1.2.19": +"@fortawesome/fontawesome-svg-core@^1.2.18", "@fortawesome/fontawesome-svg-core@^1.2.19": version "1.2.19" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.19.tgz#0eca1ce9285c3d99e6e340633ee8f615f9d1a2e0" integrity sha512-D4ICXg9oU08eF9o7Or392gPpjmwwgJu8ecCFusthbID95CLVXOgIyd4mOKD9Nud5Ckz+Ty59pqkNtThDKR0erA== dependencies: "@fortawesome/fontawesome-common-types" "^0.2.19" -"@fortawesome/free-brands-svg-icons@^5.8.2": - version "5.8.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.8.2.tgz#e68a509c986d5d197cc5bd9ae8d966eff513468d" - integrity sha512-nhEWctDOP6f+Ka10LXAFoF+6mtWidC2iQgTBGRGgydmhBtcIEwyxWVx5wQHa86A1zAMi5TnipDAYQs2qn7DD6A== - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.18" - -"@fortawesome/free-brands-svg-icons@^5.9.0": +"@fortawesome/free-brands-svg-icons@^5.8.2", "@fortawesome/free-brands-svg-icons@^5.9.0": version "5.9.0" resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.9.0.tgz#4ebedba0ea026368f8c21f2c598b4458c32236e5" integrity sha512-sOz1wFyslaHUak8tY6IEhSAV1mAWbCLssBR8yFQV6f065k8nUCkjyrcxW4RVl9+wiLXmeG1CJUABUJV9DiW+7Q== @@ -1151,21 +1086,32 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== +"@hapi/hoek@8.x.x": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.0.2.tgz#f63a5ff00e891a4e7aa98f11119f9515c6672032" + integrity sha512-O6o6mrV4P65vVccxymuruucb+GhP2zl9NLCG8OdoFRS8BEGw3vwpPp20wpAtpbQQxz1CEUtmxJGgWhjq1XA3qw== + "@hapi/joi@^15.0.0": - version "15.0.3" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.0.3.tgz#e94568fd859e5e945126d5675e7dd218484638a7" - integrity sha512-z6CesJ2YBwgVCi+ci8SI8zixoj8bGFn/vZb9MBPbSyoxsS2PnWYjHcyTM17VLK6tx64YVK38SDIh10hJypB+ig== + version "15.1.0" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.0.tgz#940cb749b5c55c26ab3b34ce362e82b6162c8e7a" + integrity sha512-n6kaRQO8S+kepUTbXL9O/UOL788Odqs38/VOfoCrATDtTvyfiO3fgjlSRaNkHabpTLgM7qru9ifqXlXbXk8SeQ== dependencies: "@hapi/address" "2.x.x" "@hapi/hoek" "6.x.x" + "@hapi/marker" "1.x.x" "@hapi/topo" "3.x.x" +"@hapi/marker@1.x.x": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@hapi/marker/-/marker-1.0.0.tgz#65b0b2b01d1be06304886ce9b4b77b1bfb21a769" + integrity sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA== + "@hapi/topo@3.x.x": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.0.tgz#5c47cd9637c2953db185aa957a27bcb2a8b7a6f8" - integrity sha512-gZDI/eXOIk8kP2PkUKjWu9RW8GGVd2Hkgjxyr/S7Z+JF+0mr7bAlbw+DkTRxnD580o8Kqxlnba9wvqp5aOHBww== + version "3.1.2" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.2.tgz#57cc1317be1a8c5f47c124f9b0e3c49cd78424d2" + integrity sha512-r+aumOqJ5QbD6aLPJWqVjMAPsx5pZKz+F5yPqXZ/WWG9JTtHbQqlzrJoknJ0iJxLj9vlXtmpSdjlkszseeG8OA== dependencies: - "@hapi/hoek" "6.x.x" + "@hapi/hoek" "8.x.x" "@jest/console@^24.7.1": version "24.7.1" @@ -1432,10 +1378,10 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== -"@svgr/babel-plugin-svg-dynamic-title@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.2.0.tgz#43f0f689a5347a894160eb51b39a109889a4df20" - integrity sha512-gH2qItapwCUp6CCqbxvzBbc4dh4OyxdYKsW3EOkYexr0XUmQL0ScbdNh6DexkZ01T+sdClniIbnCObsXcnx3sQ== +"@svgr/babel-plugin-svg-dynamic-title@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz#646c2f5b5770c2fe318d6e51492344c3d62ddb63" + integrity sha512-p6z6JJroP989jHWcuraeWpzdejehTmLUpyC9smhTBWyPN0VVGe2phbYxpPTV7Vh8XzmFrcG55idrnfWn/2oQEw== "@svgr/babel-plugin-svg-em-dimensions@^4.2.0": version "4.2.0" @@ -1452,56 +1398,56 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== -"@svgr/babel-preset@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.2.0.tgz#c9fc236445a02a8cd4e750085e51c181de00d6c5" - integrity sha512-iLetHpRCQXfK47voAs5/uxd736cCyocEdorisjAveZo8ShxJ/ivSZgstBmucI1c8HyMF5tOrilJLoFbhpkPiKw== +"@svgr/babel-preset@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.1.tgz#62ffcb85d756580e8ce608e9d2ac3b9063be9e28" + integrity sha512-rPFKLmyhlh6oeBv3j2vEAj2nd2QbWqpoJLKzBLjwQVt+d9aeXajVaPNEqrES2spjXKR4OxfgSs7U0NtmAEkr0Q== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.2.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.1" "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" "@svgr/babel-plugin-transform-svg-component" "^4.2.0" "@svgr/core@^4.1.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.2.0.tgz#f32ef8b9d05312aaa775896ec30ae46a6521e248" - integrity sha512-nvzXaf2VavqjMCTTfsZfjL4o9035KedALkMzk82qOlHOwBb8JT+9+zYDgBl0oOunbVF94WTLnvGunEg0csNP3Q== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.1.tgz#58c44d0ccc3fe41718c50433758b549dabd4d197" + integrity sha512-TXFcvzp6QjxKP5Oy7qoQY08w/nAix9TMOc4jSi3wjIJBBMUqypVwQJFMxtHrViGMQGmFdaN1y2diQrhvA+xNNQ== dependencies: - "@svgr/plugin-jsx" "^4.2.0" + "@svgr/plugin-jsx" "^4.3.1" camelcase "^5.3.1" - cosmiconfig "^5.2.0" + cosmiconfig "^5.2.1" -"@svgr/hast-util-to-babel-ast@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.2.0.tgz#dd743435a5f3a8e84a1da067f27b5fae3d7b6b63" - integrity sha512-IvAeb7gqrGB5TH9EGyBsPrMRH/QCzIuAkLySKvH2TLfLb2uqk98qtJamordRQTpHH3e6TORfBXoTo7L7Opo/Ow== +"@svgr/hast-util-to-babel-ast@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.1.tgz#b3ea5b2228b50ff335a5d3cf3855f4b1f9fbc70e" + integrity sha512-MZbRccEpsro70mE6mhiv5QUXjBwHGDQZ7XrVcrDs44inaNvYUtIcheX0d9eColcnNgJmsfU3tEFfoGRnJ9E5pA== dependencies: - "@babel/types" "^7.4.0" + "@babel/types" "^7.4.4" -"@svgr/plugin-jsx@^4.1.0", "@svgr/plugin-jsx@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.2.0.tgz#15a91562c9b5f90640ea0bdcb2ad59d692ee7ae9" - integrity sha512-AM1YokmZITgveY9bulLVquqNmwiFo2Px2HL+IlnTCR01YvWDfRL5QKdnF7VjRaS5MNP938mmqvL0/8oz3zQMkg== +"@svgr/plugin-jsx@^4.1.0", "@svgr/plugin-jsx@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.1.tgz#5b7f849213d1411886e1cec9b6c287faec69143e" + integrity sha512-v9sgsn/VpDM9G1U0ZDCair7ZmYqNrVC5LiSyIQli03DAm34bYLM12xVOOrl3dg8NGNY1k4C3A6YgBL3VKjA6Og== dependencies: - "@babel/core" "^7.4.3" - "@svgr/babel-preset" "^4.2.0" - "@svgr/hast-util-to-babel-ast" "^4.2.0" + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.1" + "@svgr/hast-util-to-babel-ast" "^4.3.1" rehype-parse "^6.0.0" unified "^7.1.0" - vfile "^4.0.0" + vfile "^4.0.1" "@svgr/plugin-svgo@^4.0.3": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.2.0.tgz#2a594a2d3312955e75fd87dc77ae51f377c809f3" - integrity sha512-zUEKgkT172YzHh3mb2B2q92xCnOAMVjRx+o0waZ1U50XqKLrVQ/8dDqTAtnmapdLsGurv8PSwenjLCUpj6hcvw== + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== dependencies: - cosmiconfig "^5.2.0" + cosmiconfig "^5.2.1" merge-deep "^3.0.2" - svgo "^1.2.1" + svgo "^1.2.2" "@svgr/webpack@4.1.0": version "4.1.0" @@ -1551,9 +1497,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.6.tgz#328dd1a8fc4cfe3c8458be9477b219ea158fd7b2" - integrity sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw== + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" + integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== dependencies: "@babel/types" "^7.3.0" @@ -1623,21 +1569,16 @@ dependencies: "@types/jest-diff" "*" -"@types/node@*": - version "12.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.0.0.tgz#d11813b9c0ff8aaca29f04cbc12817f4c7d656e5" - integrity sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg== - -"@types/node@^10.12.18", "@types/node@^10.3.2": - version "10.14.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.6.tgz#9cbfcb62c50947217f4d88d4d274cc40c22625a9" - integrity sha512-Fvm24+u85lGmV4hT5G++aht2C5I4Z4dYlWZIh62FAfFO/TfzXtPpoLI6I7AuBWkIFqZCnhFOoTT7RjjaIL5Fjg== - -"@types/node@^12.6.2": +"@types/node@*", "@types/node@^12.6.2": version "12.6.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.2.tgz#a5ccec6abb6060d5f20d256fb03ed743e9774999" integrity sha512-gojym4tX0FWeV2gsW4Xmzo5wxGjXGm550oVUII7f7G5o4BV6c7DBdiG1RRQd+y1bvqRyYtPfMK85UM95vsapqQ== +"@types/node@^10.12.18", "@types/node@^10.3.2": + version "10.14.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.12.tgz#0eec3155a46e6c4db1f27c3e588a205f767d622f" + integrity sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg== + "@types/prop-types@*": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" @@ -1682,22 +1623,14 @@ "@types/react-router" "*" "@types/react-router@*": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-4.4.5.tgz#1166997dc7eef2917b5ebce890ebecb32ee5c1b3" - integrity sha512-12+VOu1+xiC8RPc9yrgHCyLI79VswjtuqeS2gPrMcywH6tkc8rGIUhs4LaL3AJPqo5d+RPnfRpNKiJ7MK2Qhcg== + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" + integrity sha512-j2Gge5cvxca+5lK9wxovmGPgpVJMwjyu5lTA/Cd6fLGoPq7FXcUE1jFkEdxeyqGGz8VfHYSHCn5Lcn24BzaNKA== dependencies: "@types/history" "*" "@types/react" "*" -"@types/react@*": - version "16.8.16" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.16.tgz#2bf980b4fb29cceeb01b2c139b3e185e57d3e08e" - integrity sha512-A0+6kS6zwPtvubOLiCJmZ8li5bm3wKIkoKV0h3RdMDOnCj9cYkUnj3bWbE03/lcICdQmwBmUfoFiHeNhbFiyHQ== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - -"@types/react@^16.8.23": +"@types/react@*", "@types/react@^16.8.23": version "16.8.23" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" integrity sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA== @@ -1957,7 +1890,7 @@ abstract-leveldown@~2.7.1: dependencies: xtend "~4.0.0" -accepts@~1.3.4, accepts@~1.3.5: +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== @@ -1984,9 +1917,9 @@ acorn-jsx@^5.0.0: integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== acorn-walk@^6.0.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913" - integrity sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw== + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== acorn@^5.5.3: version "5.7.3" @@ -1994,9 +1927,9 @@ acorn@^5.5.3: integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" + integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw== address@1.0.3: version "1.0.3" @@ -2013,14 +1946,14 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= -agent-base@4: +agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== dependencies: es6-promisify "^5.0.0" -agent-base@^4.1.0, agent-base@~4.2.1: +agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== @@ -2040,14 +1973,14 @@ ajv-errors@^1.0.0: integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== ajv-keywords@^3.1.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" - integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== + version "3.4.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: - version "6.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" - integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== + version "6.10.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.1.tgz#ebf8d3af22552df9dd049bfbe50cc2390e823593" + integrity sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -2071,6 +2004,13 @@ ansi-align@^3.0.0: dependencies: string-width "^3.0.0" +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== + dependencies: + ansi-wrap "^0.1.0" + ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" @@ -2081,6 +2021,13 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -2113,6 +2060,11 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -2126,11 +2078,23 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= + dependencies: + buffer-equal "^1.0.0" + aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -2159,16 +2123,35 @@ arr-diff@^4.0.0: resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -arr-flatten@^1.1.0: +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= + dependencies: + make-iterator "^1.0.0" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= + dependencies: + make-iterator "^1.0.0" + arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-each@^1.0.0, array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -2202,6 +2185,21 @@ array-includes@^3.0.3: define-properties "^1.1.2" es-abstract "^1.7.0" +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== + dependencies: + is-number "^4.0.0" + array-map@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" @@ -2212,6 +2210,20 @@ array-reduce@~0.0.0: resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -2234,7 +2246,7 @@ arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@~2.0.3, asap@~2.0.6: +asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -2261,10 +2273,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0: integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: + object-assign "^4.1.1" util "0.10.3" assign-symbols@^1.0.0: @@ -2282,6 +2295,16 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" + integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^2.0.0" + stream-exhaust "^1.0.1" + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -2304,6 +2327,13 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= + dependencies: + async-done "^1.2.2" + async@^1.4.2, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -2327,16 +2357,17 @@ atob@^2.1.1: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.4.9: - version "9.5.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.1.tgz#243b1267b67e7e947f28919d786b50d3bb0fb357" - integrity sha512-KJSzkStUl3wP0D5sdMlP82Q52JLy5+atf2MHAre48+ckWkXgixmfHyWmA77wFDy6jTHU6mIgXv6hAQ2mf1PjJQ== + version "9.6.1" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" + integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== dependencies: - browserslist "^4.5.4" - caniuse-lite "^1.0.30000957" + browserslist "^4.6.3" + caniuse-lite "^1.0.30000980" + chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.14" - postcss-value-parser "^3.3.1" + postcss "^7.0.17" + postcss-value-parser "^4.0.0" await-semaphore@^0.1.3: version "0.1.3" @@ -2592,6 +2623,13 @@ babel-plugin-dynamic-import-node@2.2.0: dependencies: object.assign "^4.1.0" +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== + dependencies: + object.assign "^4.1.0" + babel-plugin-emotion@^10.0.14: version "10.0.14" resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.14.tgz#c1d0e4621e303507ea7da57daa3cd771939d6df4" @@ -2918,6 +2956,13 @@ babel-plugin-transform-regenerator@^6.22.0: dependencies: regenerator-transform "^0.10.0" +babel-plugin-transform-runtime@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" + integrity sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4= + dependencies: + babel-runtime "^6.22.0" + babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" @@ -3069,6 +3114,21 @@ babylon@^6.18.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + backoff@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" @@ -3077,9 +3137,9 @@ backoff@^2.5.0: precond "0.2" bail@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.3.tgz#63cfb9ddbac829b02a3128cd53224be78e6c21a3" - integrity sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b" + integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww== balanced-match@^1.0.0: version "1.0.0" @@ -3087,9 +3147,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base-x@^3.0.2, base-x@^3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.5.tgz#d3ada59afed05b921ab581ec3112e6444ba0795a" - integrity sha512-C3picSgzPSLE+jW3tcBzJoGwitOtazb5B+5YmAxZm2ybmTi9LNgAtDO/jjVEBZwHoXmDBZ9m/IELj3elJVRBcA== + version "3.0.6" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.6.tgz#de047ec95f5f7b99ae63d830a2a894c96538b2cd" + integrity sha512-4PaF8u2+AlViJxRVjurkLTxpp7CaFRD/jo5rPT9ONnKxyhQ8f59yzamEvq7EkriG56yn5On4ONyaG75HLqr46w== dependencies: safe-buffer "^5.0.1" @@ -3138,14 +3198,14 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -bindings@^1.2.1: +bindings@^1.2.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" -bip66@^1.1.3: +bip66@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI= @@ -3159,43 +3219,22 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.5.1, bluebird@^3.5.5: +bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: version "3.5.5" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== -bluebird@^3.5.3: - version "3.5.4" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.4.tgz#d6cc661595de30d5b3af5fcedd3c0b3ef6ec5714" - integrity sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw== - bn.js@4.11.6: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= -bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0, bn.js@^4.8.0: +bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -body-parser@1.18.3: - version "1.18.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" - integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= - dependencies: - bytes "3.0.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "~1.6.3" - iconv-lite "0.4.23" - on-finished "~2.3.0" - qs "6.5.2" - raw-body "2.3.3" - type-is "~1.6.16" - -body-parser@^1.16.0: +body-parser@1.19.0, body-parser@^1.16.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== @@ -3367,23 +3406,14 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.5.2, browserslist@^4.5.4: - version "4.5.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.6.tgz#ea42e8581ca2513fa7f371d4dd66da763938163d" - integrity sha512-o/hPOtbU9oX507lIqon+UvPYqpx3mHc8cV3QemSBTXwkG8gSQSK6UKvXcE/DcleU3+A59XTUHyCvZ5qGy8xVAg== - dependencies: - caniuse-lite "^1.0.30000963" - electron-to-chromium "^1.3.127" - node-releases "^1.1.17" - -browserslist@^4.1.1, browserslist@^4.4.2: - version "4.6.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.1.tgz#ee5059b1aec18cbec9d055d6cb5e24ae50343a9b" - integrity sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ== +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.4.2, browserslist@^4.5.2, browserslist@^4.6.0, browserslist@^4.6.2, browserslist@^4.6.3: + version "4.6.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.4.tgz#fd0638b3f8867fec2c604ed0ed9300379f8ec7c2" + integrity sha512-ErJT8qGfRt/VWHSr1HeqZzz50DvxHtr1fVL1m5wf20aGrG8e1ce8fpZ2EjZEfs09DDZYSvtRaDlMpWslBf8Low== dependencies: - caniuse-lite "^1.0.30000971" - electron-to-chromium "^1.3.137" - node-releases "^1.1.21" + caniuse-lite "^1.0.30000981" + electron-to-chromium "^1.3.188" + node-releases "^1.1.25" bs58@^4.0.1: version "4.0.1" @@ -3393,9 +3423,9 @@ bs58@^4.0.1: base-x "^3.0.2" bser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" - integrity sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk= + version "2.1.0" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" + integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== dependencies: node-int64 "^0.4.0" @@ -3404,6 +3434,11 @@ btoa@^1.2.1: resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== +buffer-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -3458,27 +3493,7 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.0.2: - version "11.3.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" - integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== - dependencies: - bluebird "^3.5.3" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.3" - graceful-fs "^4.1.15" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^11.3.2, cacache@^11.3.3: +cacache@^11.0.2, cacache@^11.3.2, cacache@^11.3.3: version "11.3.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== @@ -3514,16 +3529,16 @@ cache-base@^1.0.1: unset-value "^1.0.0" cacheable-request@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.0.0.tgz#4a1727414e02ac4af82560c4da1b61daa3fa2b63" - integrity sha512-2N7AmszH/WPPpl5Z3XMw1HAP+8d+xugnKQAeKvxFZ/04dbT/CAznqwbl+7eSr3HkwdepNwtb2yx3CAMQWvG01Q== + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== dependencies: clone-response "^1.0.2" - get-stream "^4.0.0" + get-stream "^5.1.0" http-cache-semantics "^4.0.0" keyv "^3.0.0" - lowercase-keys "^1.0.1" - normalize-url "^3.1.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" responselike "^1.0.2" call-me-maybe@^1.0.1: @@ -3601,15 +3616,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000957, caniuse-lite@^1.0.30000963: - version "1.0.30000966" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000966.tgz#f3c6fefacfbfbfb981df6dfa68f2aae7bff41b64" - integrity sha512-qqLQ/uYrpZmFhPY96VuBkMEo8NhVFBZ9y/Bh+KnvGzGJ5I8hvpIaWlF2pw5gqe4PLAL+ZjsPgMOvoXSpX21Keg== - -caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000971: - version "1.0.30000971" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz#d1000e4546486a6977756547352bc96a4cfd2b13" - integrity sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981: + version "1.0.30000983" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000983.tgz#ab3c70061ca2a3467182a10ac75109b199b647f8" + integrity sha512-/llD1bZ6qwNkt41AsvjsmwNOoA4ZB+8iqmf5LVyeSXuBODT/hAMFNVOh84NdUzoiYiSKqo5vQ3ZzeYHSi/olDQ== capture-exit@^2.0.0: version "2.0.0" @@ -3629,9 +3639,9 @@ caseless@~0.12.0: integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= ccount@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz#f1cec43f332e2ea5a569fd46f9f5bde4e6102aff" - integrity sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" + integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -3689,9 +3699,9 @@ checkpoint-store@^1.1.0: functional-red-black-tree "^1.0.1" chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d" - integrity sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A== + version "2.1.6" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" + integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -3708,14 +3718,14 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: fsevents "^1.2.7" chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + version "1.1.2" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== dependencies: tslib "^1.9.0" @@ -3801,6 +3811,11 @@ cliui@^4.0.0: strip-ansi "^4.0.0" wrap-ansi "^2.0.0" +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + clone-deep@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" @@ -3829,11 +3844,25 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + clone@^2.0.0, clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3853,6 +3882,15 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -3891,10 +3929,15 @@ color-string@^1.5.2: color-name "^1.0.0" simple-swizzle "^0.2.2" +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + color@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.1.tgz#7abf5c0d38e89378284e873c207ae2172dcc8a61" - integrity sha512-PvUltIXRjehRKPSy89VnDWFKY58xyhTLyxIg21vwQBI6qLwZNPmC8k3C1uytIgFKEpOIzN4y32iPm8231zFHIg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== dependencies: color-convert "^1.9.1" color-string "^1.5.2" @@ -3905,16 +3948,16 @@ colors@1.0.3: integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" - integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" comma-separated-tokens@^1.0.0: - version "1.0.6" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.6.tgz#3cd3d8adc725ab473843db338bcdfd4a7bb087bf" - integrity sha512-f20oA7jsrrmERTS70r3tmRSxR8IJV2MTN7qe6hzgX+3ARfXrdMJFvGWvWQK0xpcBurg9j9eO2MiqzZ8Y+/UPCA== + version "1.0.7" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" + integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ== commander@2.17.x: version "2.17.1" @@ -3971,7 +4014,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@^1.5.1: +concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -4025,10 +4068,12 @@ contains-path@^0.1.0: resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -content-disposition@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" content-type@~1.0.4: version "1.0.4" @@ -4047,10 +4092,10 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== cookiejar@^2.1.1: version "2.1.2" @@ -4074,35 +4119,37 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.0.1.tgz#bff73ba31ca8687431b9c88f78d3362646fb76f0" - integrity sha512-2pC3e+Ht/1/gD7Sim/sqzvRplMiRnFQVlPpDVaHtY9l7zZP7knamr3VRD6NyGfHd84MrDC0tAM9ulNxYMW0T3g== +copy-props@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" + integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== dependencies: - browserslist "^4.5.4" - core-js "3.0.1" - core-js-pure "3.0.1" - semver "^6.0.0" + each-props "^1.3.0" + is-plain-object "^2.0.1" -core-js-pure@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.0.1.tgz#37358fb0d024e6b86d443d794f4e37e949098cbe" - integrity sha512-mSxeQ6IghKW3MoyF4cz19GJ1cMm7761ON+WObSyLfTu/Jn3x7w4NwNFnrZxgl4MTSvYYepVLNuRtlB4loMwJ5g== +core-js-compat@^3.0.0, core-js-compat@^3.1.1: + version "3.1.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" + integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg== + dependencies: + browserslist "^4.6.2" + core-js-pure "3.1.4" + semver "^6.1.1" + +core-js-pure@3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" + integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA== core-js@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.1.tgz#1343182634298f7f38622f95e73f54e48ddf4738" integrity sha512-sco40rF+2KlE0ROMvydjkrVMMG1vYilP2ALoRXcYR4obqbYIuV3Bg+51GEDW+HF8n7NRA+iaA4qD0nD9lo9mew== -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= - core-js@^2.4.0, core-js@^2.5.0: - version "2.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" - integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A== + version "2.6.9" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" + integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -4117,24 +4164,14 @@ cors@^2.8.1: object-assign "^4" vary "^1" -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - -cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.0.tgz#45038e4d28a7fe787203aede9c25bca4a08b12c8" - integrity sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g== +cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" - js-yaml "^3.13.0" + js-yaml "^3.13.1" parse-json "^4.0.0" create-ecdh@^4.0.0: @@ -4168,7 +4205,7 @@ create-emotion@^9.2.12: stylis "^3.5.0" stylis-rule-sheet "^0.0.10" -create-hash@^1.1.0, create-hash@^1.1.2: +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -4191,14 +4228,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-context@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3" - integrity sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag== - dependencies: - fbjs "^0.8.0" - gud "^1.0.0" - cross-fetch@^2.1.0, cross-fetch@^2.1.1: version "2.2.3" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz#e8a0b3c54598136e037f8650f8e823ccdfac198e" @@ -4455,24 +4484,19 @@ csso@^3.5.1: dependencies: css-tree "1.0.0-alpha.29" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: - version "0.3.6" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad" - integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A== +"cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4, cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.2.2.tgz#427ea4d585b18624f6fdbf9de7a2a1a3ba713077" - integrity sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow== + version "1.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.3.0.tgz#c36c466f7037fd30f03baa271b65f0f17b50585c" + integrity sha512-wXsoRfsRfsLVNaVzoKdqvEmK/5PFaEXNspVT22Ots6K/cnJdpoDKuQFw+qlMiXnmaif1OgeC466X1zISgAOcGg== dependencies: - cssom "0.3.x" + cssom "~0.3.6" -csstype@^2.2.0: - version "2.6.4" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.4.tgz#d585a6062096e324e7187f80e04f92bd0f00e37f" - integrity sha512-lAJUJP3M6HxFXbqtGRc0iZrdyeN+WzOWeY0q/VnFzI+kqVrYIzC7bWlKqCW7oCIdzoPkvfp82EVvrTlQ8zsWQg== - -csstype@^2.5.2, csstype@^2.5.7: +csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7: version "2.6.6" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== @@ -4489,10 +4513,18 @@ cyclist@~0.2.2: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +d@1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + damerau-levenshtein@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" - integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= + version "1.0.5" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" + integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== "darknode-sol@https://github.com/renproject/darknode-sol#localnet": version "0.0.3" @@ -4588,6 +4620,13 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" @@ -4596,6 +4635,11 @@ default-gateway@^4.2.0: execa "^1.0.0" ip-regex "^2.1.0" +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= + defer-to-connect@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" @@ -4682,6 +4726,11 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -4894,6 +4943,14 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +each-props@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -4907,15 +4964,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.137: - version "1.3.143" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.143.tgz#8b2a631ab75157aa53d0c2933275643b99ef580b" - integrity sha512-J9jOpxIljQZlV6GIP2fwAWq0T69syawU0sH3EW3O2Bgxquiy+veeIT5mBDRz+i3oHUSL1tvVgRKH3/4QiQh9Pg== - -electron-to-chromium@^1.3.127, electron-to-chromium@^1.3.47: - version "1.3.131" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.131.tgz#205a0b7a276b3f56bc056f19178909243054252a" - integrity sha512-NSO4jLeyGLWrT4mzzfYX8vt1MYCoMI5LxSYAjt0H9+LF/14JyiKJSyyjA6AJTxflZlEM5v3QU33F0ohbPMCAPg== +electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.188, electron-to-chromium@^1.3.47: + version "1.3.190" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.190.tgz#5bf599519983bfffd9d4387817039a3ed7ca085f" + integrity sha512-cs9WnTnGBGnYYVFMCtLmr9jXNTOkdp95RLz5VhwzDn7dErg1Lnt9o4d01gEH69XlmRKWUr91Yu1hA+Hi8qW0PA== elliptic@6.3.3: version "6.3.3" @@ -4927,10 +4979,10 @@ elliptic@6.3.3: hash.js "^1.0.0" inherits "^2.0.1" -elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== +elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" + integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -5039,10 +5091,28 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: + version "0.10.50" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" + integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "^1.0.0" + +es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + es6-promise@^4.0.3: - version "4.2.6" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.6.tgz#b685edd8258886365ea62b57d30de28fadcd974f" - integrity sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q== + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== es6-promisify@^5.0.0: version "5.0.0" @@ -5051,6 +5121,24 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -5145,9 +5233,9 @@ eslint-plugin-jsx-a11y@6.2.1: jsx-ast-utils "^2.0.1" eslint-plugin-react-hooks@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.0.tgz#348efcda8fb426399ac7b8609607c7b4025a6f5f" - integrity sha512-lHBVRIaz5ibnIgNG07JNiAuBUeKhEf8l4etNx5vfAEwqQ5tcuK3jV9yjmopPgQDagQb7HwIuQVsE3IVcGrRnag== + version "1.6.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" + integrity sha512-wHhmGJyVuijnYIJXZJHDUF2WM+rJYTjulUTqF9k61d3BTk8etydz+M4dXUVH7M76ZRS85rqBTCx0Es/lLsrjnA== eslint-plugin-react@7.12.4: version "7.12.4" @@ -5279,11 +5367,13 @@ etag@~1.8.1: integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= eth-block-tracker@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.3.0.tgz#9a54bb8241510367003d1f183adfac05abfe0e87" - integrity sha512-QbBsNaGFbpozqzUnjhaR6Skej0485tApPoKMWAW6qpR6J3kY2lgQv47vQvv0MjayxgWXnYH48sjTm2gNRS0NXA== + version "4.4.1" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.1.tgz#805931fdff240e950c5ea68198a2fdc61b4482d2" + integrity sha512-QSz9bizoV4JRRkdvSfQ/z6VimU90wXaGmFEZyRhbOwotVZSMTtI720UM+dr6byDNj+axtZ0DMX0jpj5Kkzx6WQ== dependencies: + babel-plugin-transform-runtime "^6.23.0" eth-query "^2.1.0" + json-rpc-random-id "^1.0.1" pify "^3.0.0" safe-event-emitter "^1.0.1" @@ -5296,9 +5386,9 @@ eth-ens-namehash@2.0.8: js-sha3 "^0.5.7" eth-json-rpc-filters@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.0.2.tgz#881ea459f3edd6b4f1889914f4d0e7d2deeb2032" - integrity sha512-936WGvom7gGMwVqqIdWyQZeXCk5i6yjAfd3oDcgfKG/jCNQnkB28qplviX2cEik/2onWvg8mpgy2D/eutv9xnw== + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.0.3.tgz#9b9e5160dc9581e5a7ea9205b7fa5ef5013ecfe2" + integrity sha512-aqOeHm24sX2qXqdZjZIR7d9XnhUORJXn5KHxOhVO+Ml4H4e3s1/eqU1rogCIA+ecQz6x4uKsrGsYA5un1SbBBg== dependencies: await-semaphore "^0.1.3" eth-json-rpc-middleware "^4.0.0" @@ -5338,9 +5428,9 @@ eth-json-rpc-middleware@^1.5.0: tape "^4.6.3" eth-json-rpc-middleware@^4.0.0, eth-json-rpc-middleware@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.1.2.tgz#9873faf07c93cdc8fa932c45be6cbe4f2b06ce79" - integrity sha512-S1rdcbgg462WvY/wPakKeOPkdVJgsov8BnQN0+gioT8eh4YBwm6KfwcyeHV+IxQ8l5V1teiTLHzgvzSzmasEmQ== + version "4.1.3" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-4.1.3.tgz#cc8b43440f2e983a0bc1388406c9bd623ee91e89" + integrity sha512-g663u/zK11huhkmP7jeFihUcwA2acYglIw2wO50G7zIXYoZ6L+NHJjEwW7gwVMEUy7rgB3Qx76ql/+UYJfIb9w== dependencies: btoa "^1.2.1" clone "^2.1.1" @@ -5349,7 +5439,7 @@ eth-json-rpc-middleware@^4.0.0, eth-json-rpc-middleware@^4.1.1: ethereumjs-block "^1.6.0" ethereumjs-tx "^1.3.3" ethereumjs-util "^5.1.2" - ethereumjs-vm "2.2.2" + ethereumjs-vm "^2.6.0" fetch-ponyfill "^4.0.0" json-rpc-engine "^5.0.0" json-rpc-error "^2.0.0" @@ -5411,21 +5501,16 @@ eth-tx-summary@^3.1.2: ethereumjs-vm "^2.6.0" through2 "^2.0.3" -ethereum-common@0.0.18, ethereum-common@^0.0.18: - version "0.0.18" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" - integrity sha1-L9w1dvIykDNYl26znaeDIT/5Uj8= - -ethereum-common@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.1.0.tgz#874dd0fae5e962a56c50ebf28efa6fe39492b0e7" - integrity sha1-h03Q+uXpYqVsUOvyjvpv45SSsOc= - ethereum-common@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== +ethereum-common@^0.0.18: + version "0.0.18" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" + integrity sha1-L9w1dvIykDNYl26znaeDIT/5Uj8= + "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": version "0.6.7" resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#8431eab7b3384e65e8126a4602520b78031666fb" @@ -5453,17 +5538,6 @@ ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" -ethereumjs-block@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.6.0.tgz#cded4962deaca1eef17372b4d290e84b35c84372" - integrity sha1-ze1JYt6soe7xc3K00pDoSzXIQ3I= - dependencies: - async "^2.0.1" - ethereum-common "0.0.18" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - ethereumjs-block@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" @@ -5476,9 +5550,9 @@ ethereumjs-block@~2.2.0: merkle-patricia-tree "^2.1.2" ethereumjs-common@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.1.0.tgz#5ec9086c314d619d8f05e79a0525829fcb0e93cb" - integrity sha512-LUmYkKV/HcZbWRyu3OU9YOevsH3VJDXtI6kEd8VZweQec+JjDGKCmAVKUyzhYUHqxRJu7JNALZ3A/b3NXOP6tA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.0.tgz#ca7d152b615d5e1851fcf184d062bf14c62c18e6" + integrity sha512-/jdFHyHOIS3FiAnunwRZ+oNulFtNNSHyWii3PaNHReOUmBAxij7KMyZLKh0tE16JEsJtXOVz1ceYuq++ILzv+g== ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.7: version "1.3.7" @@ -5488,17 +5562,6 @@ ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@ ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" -ethereumjs-util@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz#3e9428b317eebda3d7260d854fddda954b1f1bc6" - integrity sha1-PpQosxfuvaPXJg2FT93alUsfG8Y= - dependencies: - bn.js "^4.8.0" - create-hash "^1.1.2" - keccakjs "^0.2.0" - rlp "^2.0.0" - secp256k1 "^3.0.1" - ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.5: version "5.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" @@ -5525,22 +5588,6 @@ ethereumjs-util@^6.0.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" -ethereumjs-vm@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.2.2.tgz#786317d2c63e547d936c1a468607510e70b4c262" - integrity sha512-sAus9UxYjUnA42G91Q1/hR7ff35IJRpcLrUfbaIH7V4cl8qKsNs3wqf3dHvtj3wRqy12ke2Wd0tYdARyGKdD6g== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - ethereum-common "0.1.0" - ethereumjs-account "^2.0.3" - ethereumjs-block "~1.6.0" - ethereumjs-util "4.5.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.1.2" - safe-buffer "^5.1.1" - ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" @@ -5559,9 +5606,9 @@ ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: safe-buffer "^5.1.1" ethers@^4.0.27: - version "4.0.27" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.27.tgz#e570b0da9d805ad65c83d81919abe02b2264c6bf" - integrity sha512-+DXZLP/tyFnXWxqr2fXLT67KlGUfLuvDkHSOtSC9TUVG9OIj6yrG5JPeXRMYo15xkOYwnjgdMKrXp5V94rtjJA== + version "4.0.33" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.33.tgz#f7b88d2419d731a39aefc37843a3f293e396f918" + integrity sha512-lAHkSPzBe0Vj+JrhmkEHLtUEKEheVktIjGDyE9gbzF4zf1vibjYgB57LraDHu4/ItqWVkztgsm8GWqcDMN+6vQ== dependencies: "@types/node" "^10.3.2" aes-js "3.0.0" @@ -5669,6 +5716,13 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + expect@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" @@ -5682,38 +5736,38 @@ expect@^24.8.0: jest-regex-util "^24.3.0" express@^4.14.0, express@^4.16.2: - version "4.16.4" - resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" - integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== dependencies: - accepts "~1.3.5" + accepts "~1.3.7" array-flatten "1.1.1" - body-parser "1.18.3" - content-disposition "0.5.2" + body-parser "1.19.0" + content-disposition "0.5.3" content-type "~1.0.4" - cookie "0.3.1" + cookie "0.4.0" cookie-signature "1.0.6" debug "2.6.9" depd "~1.1.2" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.1.1" + finalhandler "~1.1.2" fresh "0.5.2" merge-descriptors "1.0.1" methods "~1.1.2" on-finished "~2.3.0" - parseurl "~1.3.2" + parseurl "~1.3.3" path-to-regexp "0.1.7" - proxy-addr "~2.0.4" - qs "6.5.2" - range-parser "~1.2.0" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" safe-buffer "5.1.2" - send "0.16.2" - serve-static "1.13.2" - setprototypeof "1.1.0" - statuses "~1.4.0" - type-is "~1.6.16" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" @@ -5738,9 +5792,9 @@ extend@^3.0.0, extend@~3.0.2: integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== external-editor@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" @@ -5777,6 +5831,16 @@ fake-merkle-patricia-tree@^1.0.1: dependencies: checkpoint-store "^1.1.0" +fancy-log@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -5788,9 +5852,9 @@ fast-diff@^1.2.0: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^2.0.2: - version "2.2.6" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" - integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w== + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" "@nodelib/fs.stat" "^1.1.2" @@ -5817,9 +5881,9 @@ faye-websocket@^0.10.0: websocket-driver ">=0.5.1" faye-websocket@~0.11.1: - version "0.11.1" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" - integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== dependencies: websocket-driver ">=0.5.1" @@ -5830,19 +5894,6 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" -fbjs@^0.8.0: - version "0.8.17" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.18" - fetch-ponyfill@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" @@ -5897,17 +5948,17 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -finalhandler@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" - integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.4.0" + parseurl "~1.3.3" + statuses "~1.5.0" unpipe "~1.0.0" find-cache-dir@^0.1.1: @@ -5963,6 +6014,42 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -5973,16 +6060,16 @@ flat-cache@^2.0.1: write "1.0.3" flatted@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= -flush-write-stream@^1.0.0: +flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== @@ -6107,12 +6194,20 @@ fs-extra@^4.0.2: universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + version "1.2.6" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" + integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== dependencies: minipass "^2.2.1" +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -6141,10 +6236,10 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fstream@^1.0.0, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - integrity sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE= +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== dependencies: graceful-fs "^4.1.2" inherits "~2.0.0" @@ -6224,6 +6319,13 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" +get-stream@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -6244,24 +6346,40 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1, glob@~7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== +glob-watcher@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" + integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + object.defaults "^1.1.0" -glob@^7.1.4: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1, glob@~7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -6287,6 +6405,26 @@ global-modules@2.0.0: dependencies: global-prefix "^3.0.0" +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + global-prefix@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" @@ -6347,6 +6485,13 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" +glogg@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" + integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== + dependencies: + sparkles "^1.0.0" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -6364,10 +6509,10 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.0" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" + integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== growly@^1.3.0: version "1.3.0" @@ -6379,6 +6524,47 @@ gud@^1.0.0: resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== +gulp-cli@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" + integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.1.0" + isobject "^3.0.1" + liftoff "^3.1.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.0.1" + yargs "^7.1.0" + +gulp@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" + integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== + dependencies: + glob-watcher "^5.0.3" + gulp-cli "^2.2.0" + undertaker "^1.2.1" + vinyl-fs "^3.0.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + gzip-size@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" @@ -6511,9 +6697,9 @@ hash.js@^1.0.0, hash.js@^1.0.3: minimalistic-assert "^1.0.1" hast-util-from-parse5@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.0.tgz#a505a05766e0f96e389bfb0b1dd809eeefcef47b" - integrity sha512-A7ev5OseS/J15214cvDdcI62uwovJO2PB60Xhnq7kaxvvQRFDEccuqbkrFXU03GPBGopdPqlpQBRqIcDS/Fjbg== + version "5.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.1.tgz#7da8841d707dcf7be73715f7f3b14e021c4e469a" + integrity sha512-UfPzdl6fbxGAxqGYNThRUhRlDYY7sXu6XU9nQeX4fFZtV+IHbyEJtd+DUuwOqNV4z3K05E/1rIkoVr/JHmeWWA== dependencies: ccount "^1.0.3" hastscript "^5.0.0" @@ -6522,14 +6708,14 @@ hast-util-from-parse5@^5.0.0: xtend "^4.0.1" hast-util-parse-selector@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz#4ddbae1ae12c124e3eb91b581d2556441766f0ab" - integrity sha512-Xyh0v+nHmQvrOqop2Jqd8gOdyQtE8sIP9IQf7mlVDqp924W4w/8Liuguk2L2qei9hARnQSG2m+wAOCxM7npJVw== + version "2.2.2" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b" + integrity sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw== hastscript@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.0.0.tgz#fee10382c1bc4ba3f1be311521d368c047d2c43a" - integrity sha512-xJtuJ8D42Xtq5yJrnDg/KAIxl2cXBXKoiIJwmWX9XMf8113qHTGl/Bf7jEsxmENJ4w6q4Tfl8s/Y6mEZo8x8qw== + version "5.1.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.0.tgz#a19b3cca6a26a2bcd0f1b1eac574af9427c1c7df" + integrity sha512-7mOQX5VfVs/gmrOGlN8/EDfp1GqV6P3gTNVt+KnX4gbYhpASTM8bklFdFQCbFRAadURXAmw0R1QQdBdqp7jswQ== dependencies: comma-separated-tokens "^1.0.0" hast-util-parse-selector "^2.2.0" @@ -6582,6 +6768,13 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: version "2.7.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" @@ -6676,7 +6869,18 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= -http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: version "1.6.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= @@ -6686,13 +6890,13 @@ http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== dependencies: depd "~1.1.2" - inherits "2.0.3" + inherits "2.0.4" setprototypeof "1.1.1" statuses ">= 1.5.0 < 2" toidentifier "1.0.0" @@ -6702,10 +6906,10 @@ http-https@^1.0.0: resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= -http-parser-js@>=0.4.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.0.tgz#d65edbede84349d0dc30320815a15d39cc3cbbd8" - integrity sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w== +"http-parser-js@>=0.4.0 <0.4.11": + version "0.4.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" + integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= http-proxy-agent@^2.1.0: version "2.1.0" @@ -6749,11 +6953,11 @@ https-browserify@^1.0.0: integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= https-proxy-agent@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" - integrity sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ== + version "2.2.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz#271ea8e90f836ac9f119daccd39c19ff7dfb0793" + integrity sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg== dependencies: - agent-base "^4.1.0" + agent-base "^4.3.0" debug "^3.1.0" humanize-ms@^1.2.1: @@ -6768,13 +6972,6 @@ humps@^2.0.1: resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= -iconv-lite@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -6866,9 +7063,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" + integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -6915,11 +7112,6 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -6928,16 +7120,21 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" @@ -6963,9 +7160,9 @@ inquirer@6.2.2: through "^2.3.6" inquirer@^6.2.2: - version "6.3.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.3.1.tgz#7a413b5e7950811013a3db491c61d1f3b776e8e7" - integrity sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA== + version "6.5.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" + integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -6973,7 +7170,7 @@ inquirer@^6.2.2: cli-width "^2.0.0" external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.17.11" + lodash "^4.17.12" mute-stream "0.0.7" run-async "^2.2.0" rxjs "^6.4.0" @@ -6989,6 +7186,11 @@ internal-ip@^4.2.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" +interpret@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -7026,6 +7228,14 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -7211,6 +7421,11 @@ is-installed-globally@^0.1.0: global-dirs "^0.1.0" is-path-inside "^1.0.0" +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= + is-npm@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" @@ -7223,6 +7438,11 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -7276,6 +7496,13 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -7310,12 +7537,24 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-utf8@^0.2.0: +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= -is-windows@^1.0.2: +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + +is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -7357,14 +7596,6 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -7532,9 +7763,9 @@ jest-get-type@^24.8.0: integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== jest-haste-map@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800" - integrity sha512-ZBPRGHdPt1rHajWelXdqygIDpJx8u3xOoLyUBWRW28r3tagrgoepPrzAozW7kW9HrQfhvmiv1tncsxqHJO1onQ== + version "24.8.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.1.tgz#f39cc1d2b1d907e014165b4bd5a957afcb992982" + integrity sha512-SwaxMGVdAZk3ernAx2Uv2sorA7jm3Kx+lR0grp6rMmnY06Kn/urtKx1LPN2mGTea4fCT38impYT28FfcLUhX0g== dependencies: "@jest/types" "^24.8.0" anymatch "^2.0.0" @@ -7834,7 +8065,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.9.0: +js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -7956,9 +8187,9 @@ json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0: safe-event-emitter "^1.0.1" json-rpc-engine@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.0.0.tgz#f048a5402f602604595f820229b71e8431206490" - integrity sha512-bxzuHwoP/U7xBIcqxP9QaOMgW7GDbBNU2TLNWfndRfHxwPLKkGMBfgtns0oDvgjMPJLCgyFZjrnVuSHW5GSC7A== + version "5.1.1" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.1.1.tgz#880f2ff249338925e69de9f399847a6ca2c61268" + integrity sha512-+2rEKzbEtKq9MPluZIbq60XIToQa3rN2m35Gu4stShxpo1CKVhISYjKJyizL9/XBmNIiRLjLwDQUT6I/zHgj1g== dependencies: "@babel/preset-env" "^7.3.4" async "^2.0.1" @@ -7973,7 +8204,7 @@ json-rpc-error@^2.0.0: dependencies: inherits "^2.0.1" -json-rpc-random-id@^1.0.0: +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" integrity sha1-uknZat7RRE27jaPSA3SKy7zeyMg= @@ -8006,9 +8237,9 @@ json-stringify-safe@~5.0.1: integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= json3@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - integrity sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE= + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== json5@^0.5.1: version "0.5.1" @@ -8062,11 +8293,17 @@ jssha@2.3.1: integrity sha1-FHshJTaQNcpLL30hDcU58Amz3po= jsx-ast-utils@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.1.0.tgz#0ee4e2c971fb9601c67b5641b71be80faecf0b36" - integrity sha512-yDGDG2DS4JcqhA6blsuYbtsT09xL8AoLuUR2Gb5exrw7UEM19sBcOTq+YBBhrNbl0PUC4R4LnFu+dHg2HKeVvA== + version "2.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" + integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== dependencies: array-includes "^3.0.3" + object.assign "^4.1.0" + +just-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" + integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= keccak@^1.0.2: version "1.4.0" @@ -8078,7 +8315,7 @@ keccak@^1.0.2: nan "^2.2.1" safe-buffer "^5.1.0" -keccakjs@^0.2.0, keccakjs@^0.2.1: +keccakjs@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== @@ -8119,7 +8356,7 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0: +kind-of@^5.0.0, kind-of@^5.0.2: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== @@ -8142,8 +8379,16 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" -latest-version@^5.0.0: - version "5.1.0" +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + +latest-version@^5.0.0: + version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: @@ -8159,6 +8404,13 @@ lazy-cache@^1.0.3: resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -8173,6 +8425,13 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= + dependencies: + flush-write-stream "^1.0.2" + left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" @@ -8250,6 +8509,20 @@ libnpmconfig@^1.2.1: find-up "^3.0.0" ini "^1.3.5" +liftoff@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -8326,7 +8599,7 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash._reinterpolate@~3.0.0: +lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= @@ -8351,20 +8624,20 @@ lodash.tail@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ= -lodash.template@^4.2.4, lodash.template@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A= +lodash.template@^4.4.0, lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== dependencies: - lodash._reinterpolate "~3.0.0" + lodash._reinterpolate "^3.0.0" lodash.templatesettings "^4.0.0" lodash.templatesettings@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" - integrity sha1-K01OlbpEDZFf8IvImeRVNmZxMxY= + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== dependencies: - lodash._reinterpolate "~3.0.0" + lodash._reinterpolate "^3.0.0" lodash.unescape@4.0.1: version "4.0.1" @@ -8376,15 +8649,15 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: + version "4.17.14" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" + integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== loglevel@^1.4.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" - integrity sha1-4PyVEztu8nbNyIh82vJKpvFW+Po= + version "1.6.3" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" + integrity sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -8411,6 +8684,11 @@ lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -8463,6 +8741,13 @@ make-fetch-happen@^4.0.1, make-fetch-happen@^4.0.2: socks-proxy-agent "^4.0.0" ssri "^6.0.0" +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -8482,7 +8767,7 @@ map-age-cleaner@^0.1.1: dependencies: p-defer "^1.0.0" -map-cache@^0.2.2: +map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= @@ -8499,6 +8784,16 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -8618,7 +8913,7 @@ microevent.ts@~0.1.1: resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -8657,20 +8952,15 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: dependencies: mime-db "1.40.0" -mime@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" - integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== - -mime@^2.0.3: - version "2.4.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.2.tgz#ce5229a5e99ffc313abac806b482c10e7ba6ac78" - integrity sha512-zJBfZDkwRu+j3Pdd2aHsR5GfH2jIWhmL1ZzBoc+X+3JEti2hbArWcyJ+1laC1D2/U/W1a/+Cegj0/OnEU2ybjg== +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.2: - version "2.4.3" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.3.tgz#229687331e86f68924e6cb59e1cdd937f18275fe" - integrity sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw== +mime@^2.0.3, mime@^2.4.2: + version "2.4.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== mimic-fn@^1.0.0: version "1.2.0" @@ -8744,7 +9034,7 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5: +minipass@^2.2.1, minipass@^2.3.5: version "2.3.5" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== @@ -8752,7 +9042,7 @@ minipass@^2.2.1, minipass@^2.3.4, minipass@^2.3.5: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.1.1, minizlib@^1.2.1: +minizlib@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== @@ -8776,9 +9066,9 @@ mississippi@^3.0.0: through2 "^2.0.0" mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== dependencies: for-in "^1.0.2" is-extendable "^1.0.1" @@ -8820,16 +9110,16 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: +ms@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== +ms@^2.0.0, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" @@ -8843,21 +9133,26 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" +mute-stdout@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" + integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" - integrity sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA== - -nan@^2.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.2.1, nan@^2.3.3: +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== +nan@^2.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + nano-json-stream-parser@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" @@ -8886,11 +9181,11 @@ natural-compare@^1.4.0: integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= needle@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.1.tgz#d272f2f4034afb9c4c9ab1379aabc17fc85c9388" - integrity sha512-CaLXV3W8Vnbps8ZANqDGz7j4x7Yj1LW4TWF/TQuDfj7Cfx4nAPTvw98qgTevtto1oHDrh3pQkaODbqupXlsWTg== + version "2.4.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" + integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== dependencies: - debug "^4.1.0" + debug "^3.2.6" iconv-lite "^0.4.4" sax "^1.2.4" @@ -8900,15 +9195,20 @@ negotiator@0.6.2: integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== neo-async@^2.5.0, neo-async@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" - integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== + version "2.6.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== nested-error-stacks@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz#d2cc9fc5235ddb371fc44d506234339c8e4b0a4b" integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== +next-tick@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -8943,7 +9243,7 @@ node-fetch@2.1.2: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= -node-fetch@^1.0.1, node-fetch@~1.7.1: +node-fetch@~1.7.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== @@ -8980,9 +9280,9 @@ node-int64@^0.4.0: integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= node-libs-browser@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" - integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== dependencies: assert "^1.1.1" browserify-zlib "^0.2.0" @@ -8994,7 +9294,7 @@ node-libs-browser@^2.0.0: events "^3.0.0" https-browserify "^1.0.0" os-browserify "^0.3.0" - path-browserify "0.0.0" + path-browserify "0.0.1" process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" @@ -9006,7 +9306,7 @@ node-libs-browser@^2.0.0: tty-browserify "0.0.0" url "^0.11.0" util "^0.11.0" - vm-browserify "0.0.4" + vm-browserify "^1.0.1" node-modules-regexp@^1.0.0: version "1.0.0" @@ -9040,17 +9340,10 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.13, node-releases@^1.1.21: - version "1.1.22" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.22.tgz#d90cd5adc59ab9b0f377d4f532b09656399c88bf" - integrity sha512-O6XpteBuntW1j86mw6LlovBIwTe+sO2+7vi9avQffNeIW4upgnaCVm6xrBWH+KATz7mNNRNNeEpuWB7dT6Cr3w== - dependencies: - semver "^5.3.0" - -node-releases@^1.1.17: - version "1.1.17" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.17.tgz#71ea4631f0a97d5cd4f65f7d04ecf9072eac711a" - integrity sha512-/SCjetyta1m7YXLgtACZGDYJdCSIBAWorDWkGCGZlydP2Ll7J48l7j/JxNYZ+xsgSPbWfdulVS/aY+GdjUsQ7Q== +node-releases@^1.1.13, node-releases@^1.1.25: + version "1.1.25" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3" + integrity sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ== dependencies: semver "^5.3.0" @@ -9126,11 +9419,23 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize-url@^3.0.0, normalize-url@^3.1.0: +normalize-url@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== +normalize-url@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" + npm-bundled@^1.0.1: version "1.0.6" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" @@ -9175,7 +9480,7 @@ npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: semver "^5.5.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12: +npm-packlist@^1.1.12, npm-packlist@^1.1.6: version "1.4.4" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== @@ -9183,14 +9488,6 @@ npm-packlist@^1.1.12: ignore-walk "^3.0.1" npm-bundled "^1.0.1" -npm-packlist@^1.1.6: - version "1.4.1" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.1.tgz#19064cdf988da80ea3cee45533879d90192bbfbc" - integrity sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-pick-manifest@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" @@ -9305,7 +9602,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: +object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -9315,6 +9612,16 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +object.defaults@^1.0.0, object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + object.fromentries@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" @@ -9333,13 +9640,29 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.2" es-abstract "^1.5.1" -object.pick@^1.3.0: +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + object.values@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" @@ -9374,7 +9697,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -9435,6 +9758,13 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= + dependencies: + readable-stream "^2.0.1" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -9564,14 +9894,14 @@ p-try@^2.0.0: integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.3.0.tgz#5ed793418b8322af7abfb985a19a20c2f40c2fb0" - integrity sha512-XO7WS3EEXd48vmW633Y97Mh9xuENFiOevI9G+ExfTG/k6xuY9cBd3fxkAoDMSEsNZXasaVJIJ1rD/n7GMf18bA== + version "6.4.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.4.0.tgz#4f626976604f4a9a41723ce1792b204a60b1b61e" + integrity sha512-bd1T8OBG7hcvMd9c/udgv6u5v9wISP3Oyl9Cm7Weop8EFwrtcQDnS2sb6zhwqus2WslSr5wSTIPiTTpxxmPm7Q== dependencies: got "^9.6.0" registry-auth-token "^3.4.0" registry-url "^5.0.0" - semver "^5.6.0" + semver "^6.1.1" pacote@^9.5.1: version "9.5.1" @@ -9646,6 +9976,15 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + parse-headers@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" @@ -9669,6 +10008,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -9679,7 +10028,7 @@ parse5@5.1.0, parse5@^5.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== -parseurl@~1.3.2: +parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -9689,10 +10038,10 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== path-dirname@^1.0.0: version "1.0.2" @@ -9736,6 +10085,18 @@ path-parse@^1.0.5, path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -9969,11 +10330,11 @@ postcss-custom-media@^7.0.7: postcss "^7.0.14" postcss-custom-properties@^8.0.9: - version "8.0.10" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.10.tgz#e8dc969e1e15c555f0b836b7f278ef47e3cdeaff" - integrity sha512-GDL0dyd7++goDR4SSasYdRNNvp4Gqy1XMzcCnTijiph7VB27XXpJ8bW/AI0i2VSBZ55TpdGhMr37kMSpRfYD0Q== + version "8.0.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== dependencies: - postcss "^7.0.14" + postcss "^7.0.17" postcss-values-parser "^2.0.1" postcss-custom-selectors@^5.1.2: @@ -10080,11 +10441,11 @@ postcss-image-set-function@^3.0.1: postcss-values-parser "^2.0.0" postcss-initial@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.0.tgz#1772512faf11421b791fb2ca6879df5f68aa0517" - integrity sha512-WzrqZ5nG9R9fUtrA+we92R4jhVvEB32IIRTzfIG/PLL8UV4CvbF1ugTEHEFX6vWxl41Xt5RTCJPEZkuWzrOM+Q== + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz#99d319669a13d6c06ef8e70d852f68cb1b399b61" + integrity sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw== dependencies: - lodash.template "^4.2.4" + lodash.template "^4.5.0" postcss "^7.0.2" postcss-lab-function@^2.0.1: @@ -10097,11 +10458,11 @@ postcss-lab-function@^2.0.1: postcss-values-parser "^2.0.0" postcss-load-config@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.0.0.tgz#f1312ddbf5912cd747177083c5ef7a19d62ee484" - integrity sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== dependencies: - cosmiconfig "^4.0.0" + cosmiconfig "^5.0.0" import-cwd "^2.0.0" postcss-loader@3.0.0: @@ -10503,6 +10864,11 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== +postcss-value-parser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz#99a983d365f7b2ad8d0f9b8c3094926eab4b936d" + integrity sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ== + postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" @@ -10512,10 +10878,10 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.16.tgz#48f64f1b4b558cb8b52c88987724359acb010da2" - integrity sha512-MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" + integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -10559,15 +10925,20 @@ pretty-format@^24.8.0: ansi-styles "^3.2.0" react-is "^16.8.4" +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== -process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== process@^0.11.10: version "0.11.10" @@ -10612,13 +10983,6 @@ promise@8.0.2: dependencies: asap "~2.0.6" -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - prompts@^2.0.1, prompts@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" @@ -10637,9 +11001,9 @@ prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, react-is "^16.8.1" property-information@^5.0.0, property-information@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.0.1.tgz#c3b09f4f5750b1634c0b24205adbf78f18bdf94f" - integrity sha512-nAtBDVeSwFM3Ot/YxT7s4NqZmqXI7lLzf46BThvotEtYf2uk2yH0ACYuWQkJ7gxKs49PPtKVY0UlDGkyN9aJlw== + version "5.1.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.1.0.tgz#e4755eee5319f03f7f6f5a9bc1a6a7fea6609e2c" + integrity sha512-tODH6R3+SwTkAQckSp2S9xyYX8dEKYkeXw+4TmJzTxnNzd6mQPu1OD4f9zPrvw/Rm4wpPgI+Zp63mNSGNzUgHg== dependencies: xtend "^4.0.1" @@ -10650,7 +11014,7 @@ protoduck@^5.0.1: dependencies: genfun "^5.0.0" -proxy-addr@~2.0.4: +proxy-addr@~2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34" integrity sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== @@ -10669,9 +11033,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.1.31" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" - integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" + integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA== public-encrypt@^4.0.0: version "4.0.3" @@ -10701,7 +11065,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: +pumpify@^1.3.3, pumpify@^1.3.5: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== @@ -10735,20 +11099,20 @@ q@^1.1.2: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qs@6.5.2, qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== -query-string@*: - version "6.5.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.5.0.tgz#2e1a70125af01f6f04573692d02c09302a1d8bfc" - integrity sha512-TYC4hDjZSvVxLMEucDMySkuAS9UIzSbAiYGyA9GWCjLKB8fQpviFbjd20fD7uejCDxZS+ftSdBKE6DS+xucJFg== +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@*, query-string@^6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.1.tgz#62c54a7ef37d01b538c8fd56f95740c81d438a26" + integrity sha512-g6y0Lbq10a5pPQpjlFuojfMfV1Pd2Jw9h75ypiYPPia3Gcq2rgkKiIwbkS6JxH7c5f5u/B/sB+d13PU+g1eu4Q== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -10763,15 +11127,6 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -query-string@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.1.tgz#62c54a7ef37d01b538c8fd56f95740c81d438a26" - integrity sha512-g6y0Lbq10a5pPQpjlFuojfMfV1Pd2Jw9h75ypiYPPia3Gcq2rgkKiIwbkS6JxH7c5f5u/B/sB+d13PU+g1eu4Q== - dependencies: - decode-uri-component "^0.2.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -10814,26 +11169,11 @@ randomhex@0.1.5: resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" integrity sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU= -range-parser@^1.2.1: +range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= - -raw-body@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" - integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== - dependencies: - bytes "3.0.0" - http-errors "1.6.3" - iconv-lite "0.4.23" - unpipe "1.0.0" - raw-body@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" @@ -10845,13 +11185,13 @@ raw-body@2.4.0: unpipe "1.0.0" rc-config-loader@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-2.0.3.tgz#5fbe45784c3301b15350ab6507e023c33007928f" - integrity sha512-CN9BmvV9Kcl6c4WEZ8w13JFazLYtKnqxxKGKuiCS8yZpUtJFa/nd7PdjVnRBJJ89U3OZfR6DmqOqMvmZ5ZFNMw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-2.0.4.tgz#fe23e26a87e2ec07541b29e7f37bfd75807a4c36" + integrity sha512-k06UzRbYDWgF4Mc/YrsZsmzSpDLuHoThJxep+vq5H09hiX8rbA5Ue/Ra0dwWm5MQvWYW4YBXgA186inNxuxidQ== dependencies: - debug "^3.1.0" + debug "^4.1.1" js-yaml "^3.12.0" - json5 "^1.0.1" + json5 "^2.1.0" object-assign "^4.1.0" object-keys "^1.0.12" path-exists "^3.0.0" @@ -10970,20 +11310,7 @@ react-redux@^7.1.0: prop-types "^15.7.2" react-is "^16.8.6" -react-router-dom@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.0.tgz#542a9b86af269a37f0b87218c4c25ea8dcf0c073" - integrity sha512-wSpja5g9kh5dIteZT3tUoggjnsa+TPFHSMrpHXMpFsaHhQkm/JNVGh2jiF9Dkh4+duj4MKCkwO6H08u6inZYgQ== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router-dom@^5.0.1: +react-router-dom@^5.0.0, react-router-dom@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.1.tgz#ee66f4a5d18b6089c361958e443489d6bab714be" integrity sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA== @@ -10996,22 +11323,6 @@ react-router-dom@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.0.tgz#349863f769ffc2fa10ee7331a4296e86bc12879d" - integrity sha512-6EQDakGdLG/it2x9EaCt9ZpEEPxnd0OCLBHQ1AcITAAx7nCnyvnzf76jKWG1s2/oJ7SSviUgfWHofdYljFexsA== - dependencies: - "@babel/runtime" "^7.1.2" - create-react-context "^0.2.2" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - react-router@5.0.1, react-router@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" @@ -11172,7 +11483,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -11196,9 +11507,9 @@ readable-stream@^1.0.33: string_decoder "~0.10.x" readable-stream@^3.0.6, readable-stream@^3.1.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.3.0.tgz#cb8011aad002eb717bf040291feba8569c986fb9" - integrity sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw== + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -11230,6 +11541,13 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + recursive-readdir@2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" @@ -11255,15 +11573,7 @@ redux-thunk@^2.3.0: resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw== -redux@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" - integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== - dependencies: - loose-envify "^1.4.0" - symbol-observable "^1.2.0" - -redux@^4.0.4: +redux@^4.0.0, redux@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796" integrity sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q== @@ -11272,9 +11582,9 @@ redux@^4.0.4: symbol-observable "^1.2.0" regenerate-unicode-properties@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz#7b38faa296252376d363558cfbda90c9ce709662" - integrity sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ== + version "8.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== dependencies: regenerate "^1.4.0" @@ -11302,13 +11612,6 @@ regenerator-transform@^0.10.0: babel-types "^6.19.0" private "^0.1.6" -regenerator-transform@^0.13.4: - version "0.13.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.4.tgz#18f6763cf1382c69c36df76c6ce122cc694284fb" - integrity sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A== - dependencies: - private "^0.1.6" - regenerator-transform@^0.14.0: version "0.14.0" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" @@ -11324,15 +11627,10 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-tree@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.6.tgz#84900fa12fdf428a2ac25f04300382a7c0148479" - integrity sha512-LFrA98Dw/heXqDojz7qKFdygZmFoiVlvE1Zp7Cq2cvF+ZA+03Gmhy0k0PQlsC1jvHPiTUSs+pDHEuSWv6+6D7w== - regexp-tree@^0.1.6: - version "0.1.10" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.10.tgz#d837816a039c7af8a8d64d7a7c3cf6a1d93450bc" - integrity sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ== + version "0.1.11" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" + integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== regexpp@^2.0.1: version "2.0.1" @@ -11408,9 +11706,9 @@ regjsparser@^0.6.0: jsesc "~0.5.0" rehype-parse@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.0.tgz#f681555f2598165bee2c778b39f9073d17b16bca" - integrity sha512-V2OjMD0xcSt39G4uRdMTqDXXm6HwkUbLMDayYKA/d037j8/OtVSQ+tqKwYWOuyBeoCs/3clXRe30VUjeMDTBSA== + version "6.0.1" + resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.1.tgz#a5401d7f4144d5e17cbb69be11f05a2a7ba87e27" + integrity sha512-FrGSbOzcGxIvWty1qHjKTvHT4WBTt7C6JLs65EkvFPa7ZKraSmsoDDj6al1eBxaXS1t/kiGdPYazUe58Mgflgw== dependencies: hast-util-from-parse5 "^5.0.0" parse5 "^5.0.0" @@ -11421,7 +11719,24 @@ relateurl@0.2.x: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -remove-trailing-separator@^1.0.1: +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= @@ -11454,11 +11769,20 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@1.0.0: +replace-ext@1.0.0, replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + request-promise-core@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" @@ -11506,7 +11830,7 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.1, require-from-string@^2.0.2: +require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== @@ -11547,6 +11871,14 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -11557,6 +11889,13 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= + dependencies: + value-or-function "^3.0.0" + resolve-pathname@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" @@ -11579,10 +11918,10 @@ resolve@1.10.0: dependencies: path-parse "^1.0.6" -resolve@^1.10.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0, resolve@~1.10.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.1.tgz#664842ac960795bbe758221cdccda61fb64b5f18" - integrity sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA== +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0, resolve@~1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" + integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== dependencies: path-parse "^1.0.6" @@ -11659,9 +11998,9 @@ rlp@^2.0.0: safe-buffer "^5.1.1" rsvp@^4.8.4: - version "4.8.4" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911" - integrity sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA== + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== run-async@^2.2.0: version "2.3.0" @@ -11683,17 +12022,22 @@ rustbn.js@~0.2.0: integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== rxjs@^6.4.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.1.tgz#f7a005a9386361921b8524f38f54cbf80e5d08f4" - integrity sha512-y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg== + version "6.5.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" + integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== dependencies: tslib "^1.9.0" -safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + safe-event-emitter@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" @@ -11756,11 +12100,11 @@ sax@^1.2.4, sax@~1.2.4: integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== saxes@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.9.tgz#c1c197cd54956d88c09f960254b999e192d7058b" - integrity sha512-FZeKhJglhJHk7eWG5YM0z46VHmI3KJpMBAQm3xa9meDvd+wevB5GuBB0wc0exPInZiBBHqi00DbS8AcvCGCFMw== + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== dependencies: - xmlchars "^1.3.1" + xmlchars "^2.1.1" scheduler@^0.13.6: version "0.13.6" @@ -11816,18 +12160,18 @@ scss-tokenizer@^0.2.3: source-map "^0.4.2" secp256k1@^3.0.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.6.2.tgz#da835061c833c74a12f75c73d2ec2e980f00dc1f" - integrity sha512-90nYt7yb0LmI4A2jJs1grglkTAXrBwxYAjP9bpeKjvJKOjG2fOeH/YI/lchDMIvjrOasd5QXwvV2jwN168xNng== + version "3.7.1" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" + integrity sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g== dependencies: - bindings "^1.2.1" - bip66 "^1.1.3" - bn.js "^4.11.3" - create-hash "^1.1.2" + bindings "^1.5.0" + bip66 "^1.1.5" + bn.js "^4.11.8" + create-hash "^1.2.0" drbg.js "^1.0.1" - elliptic "^6.2.3" - nan "^2.2.1" - safe-buffer "^5.1.0" + elliptic "^6.4.1" + nan "^2.14.0" + safe-buffer "^5.1.2" select-hose@^2.0.0: version "2.0.0" @@ -11853,6 +12197,13 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= + dependencies: + sver-compat "^1.5.0" + semver-utils@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/semver-utils/-/semver-utils-1.1.4.tgz#cf0405e669a57488913909fc1c3f29bf2a4871e2" @@ -11868,12 +12219,12 @@ semver@5.5.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== -semver@6.0.0, semver@^6.0.0: +semver@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== -semver@^6.2.0: +semver@^6.0.0, semver@^6.1.1, semver@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== @@ -11888,10 +12239,10 @@ semver@~5.4.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== -send@0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" - integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== dependencies: debug "2.6.9" depd "~1.1.2" @@ -11900,14 +12251,14 @@ send@0.16.2: escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "~1.6.2" - mime "1.4.1" - ms "2.0.0" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.4.0" + range-parser "~1.2.1" + statuses "~1.5.0" -serialize-javascript@^1.4.0: +serialize-javascript@^1.4.0, serialize-javascript@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== @@ -11925,15 +12276,15 @@ serve-index@^1.7.2: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.13.2: - version "1.13.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" - integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.16.2" + parseurl "~1.3.3" + send "0.17.1" servify@^0.1.12: version "0.1.12" @@ -11956,20 +12307,10 @@ set-immediate-shim@^1.0.1: resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== dependencies: extend-shallow "^2.0.1" is-extendable "^0.1.1" @@ -11981,7 +12322,7 @@ setimmediate@1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -12005,11 +12346,11 @@ sha.js@^2.4.0, sha.js@^2.4.8: safe-buffer "^5.0.1" sha3@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.2.tgz#a66c5098de4c25bc88336ec8b4817d005bca7ba9" - integrity sha1-pmxQmN5MJbyIM27ItIF9AFvKe6k= + version "1.2.3" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.3.tgz#ed5958fa8331df1b1b8529ca9fdf225a340c5418" + integrity sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA== dependencies: - nan "2.10.0" + nan "2.13.2" shallow-clone@^0.1.2: version "0.1.2" @@ -12084,9 +12425,9 @@ simple-swizzle@^0.2.2: is-arrayish "^0.3.1" sisteransi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" - integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418" + integrity sha512-ZcYcZcT69nSLAR2oLN2JwNmLkJEKGooFMCdvOkFrToUt/WfcRWqhIg4P4KwY4dmLbuyXIx4o4YmPsvMRJYJd/w== slash@^1.0.0: version "1.0.0" @@ -12201,7 +12542,7 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.6, source-map-support@~0.5.10: +source-map-support@^0.5.6, source-map-support@~0.5.10, source-map-support@~0.5.12: version "0.5.12" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== @@ -12237,9 +12578,14 @@ source-map@^0.7.2: integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== space-separated-tokens@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.3.tgz#bc6500e116d13285a94b59b58c44c7f045fe6124" - integrity sha512-/M5RAdBuQlSDPNfA5ube+fkHbHyY08pMuADLmsAQURzo56w90r681oiOoz3o3ZQyWdSeNucpTFjL+Ggd5qui3w== + version "1.1.4" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa" + integrity sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA== + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== spawn-please@^0.3.0: version "0.3.0" @@ -12268,9 +12614,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz#75ecd1a88de8c184ef015eafb51b5b48bfd11bb1" - integrity sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== spdy-transport@^3.0.0: version "3.0.0" @@ -12339,6 +12685,11 @@ stable@^0.1.8: resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== +stack-trace@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" @@ -12352,16 +12703,11 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2": +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -statuses@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" - integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== - stdout-stream@^1.4.0: version "1.4.1" resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" @@ -12390,6 +12736,11 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== + stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" @@ -12607,7 +12958,15 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -svgo@^1.0.0, svgo@^1.2.1: +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= + dependencies: + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +svgo@^1.0.0, svgo@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316" integrity sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA== @@ -12633,14 +12992,14 @@ symbol-observable@^1.2.0: integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== symbol-tree@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" - integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: - version "5.4.0" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.0.tgz#d772a3216e68829920a41a32c18eda286c95d780" - integrity sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw== + version "5.4.1" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.1.tgz#0691ae2ebe8259858efb63e550b6d5f9300171e8" + integrity sha512-E6CK1/pZe2N75rGZQotFOdmzWQ1AILtgYbMAbAjvms0S1l5IDB47zG3nCnFGB/w+7nB3vKofbLXCH7HPBo864w== dependencies: ajv "^6.9.1" lodash "^4.17.11" @@ -12653,47 +13012,34 @@ tapable@^1.0.0, tapable@^1.1.0: integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tape@^4.6.3, tape@^4.8.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.10.1.tgz#f73be60888dcb120f08b57f947af65a829506a5f" - integrity sha512-G0DywYV1jQeY3axeYnXUOt6ktnxS9OPJh97FGR3nrua8lhWi1zPflLxcAHavZ7Jf3qUfY7cxcVIVFa4mY2IY1w== + version "4.11.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.11.0.tgz#63d41accd95e45a23a874473051c57fdbc58edc1" + integrity sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA== dependencies: deep-equal "~1.0.1" defined "~1.0.0" for-each "~0.3.3" function-bind "~1.1.1" - glob "~7.1.3" + glob "~7.1.4" has "~1.0.3" - inherits "~2.0.3" + inherits "~2.0.4" minimist "~1.2.0" object-inspect "~1.6.0" - resolve "~1.10.0" + resolve "~1.11.1" resumer "~0.0.0" string.prototype.trim "~1.1.2" through "~2.3.8" tar@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - integrity sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE= + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== dependencies: block-stream "*" - fstream "^1.0.2" + fstream "^1.0.12" inherits "2" -tar@^4: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" - -tar@^4.4.8: +tar@^4, tar@^4.4.8: version "4.4.10" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== @@ -12713,7 +13059,7 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -terser-webpack-plugin@1.2.3, terser-webpack-plugin@^1.1.0: +terser-webpack-plugin@1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz#3f98bc902fac3e5d0de730869f50668561262ec8" integrity sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA== @@ -12727,6 +13073,22 @@ terser-webpack-plugin@1.2.3, terser-webpack-plugin@^1.1.0: webpack-sources "^1.1.0" worker-farm "^1.5.2" +terser-webpack-plugin@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" + integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== + dependencies: + cacache "^11.3.2" + find-cache-dir "^2.0.0" + is-wsl "^1.1.0" + loader-utils "^1.2.3" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + source-map "^0.6.1" + terser "^4.0.0" + webpack-sources "^1.3.0" + worker-farm "^1.7.0" + terser@^3.16.1: version "3.17.0" resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" @@ -12736,6 +13098,15 @@ terser@^3.16.1: source-map "~0.6.1" source-map-support "~0.5.10" +terser@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391" + integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" @@ -12756,7 +13127,15 @@ throat@^4.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= -through2@^2.0.0, through2@^2.0.3: +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -12774,6 +13153,11 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= + timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -12792,16 +13176,11 @@ timsort@^0.3.0: integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tiny-invariant@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.4.tgz#346b5415fd93cb696b0c4e8a96697ff590f92463" - integrity sha512-lMhRd/djQJ3MoaHEBrw8e2/uM4rs9YMNk0iOr8rHQ0QdbM7D4l0gFl3szKdeixrlyfm9Zqi4dxHCM2qVG8ND5g== - -tiny-warning@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.2.tgz#1dfae771ee1a04396bdfde27a3adcebc6b648b28" - integrity sha512-rru86D9CpQRLvsFG5XFdy0KdLAvjdQDyZCsRcuu60WtzFylDM3eAWSxEVz5kzL2Gp544XiUvPbVKtOA/txLi9Q== + version "1.0.5" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.5.tgz#0d198cf4f50ba34b28a16d8b28dcc4b02b813c44" + integrity sha512-BziszNEQNwtyMS9OVJia2LK9N9b6VJ35kBrvhDDDpr4hreLYqhCie15dB35uZMdqv9ZTQ55GHQtkz2FnleTHIA== -tiny-warning@^1.0.2: +tiny-warning@^1.0.0, tiny-warning@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== @@ -12818,6 +13197,14 @@ tmpl@1.0.x: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -12863,6 +13250,13 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= + dependencies: + through2 "^2.0.3" + toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" @@ -12909,9 +13303,9 @@ trim-right@^1.0.1: integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= trough@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.3.tgz#e29bd1614c6458d44869fc28b255ab7857ef7c24" - integrity sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" + integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== "true-case-path@^1.0.2": version "1.0.3" @@ -12934,9 +13328,9 @@ ts-unused-exports@^2.0.11: typescript "^2.9.2" tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== tslint-microsoft-contrib@^6.2.0: version "6.2.0" @@ -12985,17 +13379,10 @@ tsutils@^2.29.0: dependencies: tslib "^1.8.1" -tsutils@^3.7.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.13.0.tgz#904ae58d0d81a1d5c16112da7bca059f9283b0e2" - integrity sha512-wRtEjVU8Su72sDIDoqno5Scwt8x4eaF0teKO3m4hu8K1QFPnIZMM88CLafs2tapUeWnY9SwwO3bWeOt2uauBcg== - dependencies: - tslib "^1.8.1" - -tsutils@^3.9.1: - version "3.10.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.10.0.tgz#6f1c95c94606e098592b0dff06590cf9659227d6" - integrity sha512-q20XSMq7jutbGB8luhKKsQldRKWvyBO2BGqni3p4yq8Ys9bEP/xQw3KepKmMRt9gJ4lvQSScrihJrcKdKoSU7Q== +tsutils@^3.7.0, tsutils@^3.9.1: + version "3.14.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.14.0.tgz#bf8d5a7bae5369331fa0f2b0a5a10bd7f7396c77" + integrity sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw== dependencies: tslib "^1.8.1" @@ -13028,7 +13415,7 @@ type-fest@^0.3.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== -type-is@~1.6.16, type-is@~1.6.17: +type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== @@ -13036,6 +13423,11 @@ type-is@~1.6.16, type-is@~1.6.17: media-typer "0.3.0" mime-types "~2.1.24" +type@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/type/-/type-1.0.1.tgz#084c9a17fcc9151a2cdb1459905c2e45e4bb7d61" + integrity sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw== + typedarray-to-buffer@^3.1.2, typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -13063,11 +13455,6 @@ typescript@^3.5.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g== -ua-parser-js@^0.7.18: - version "0.7.19" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.19.tgz#94151be4c0a7fb1d001af7022fdaca4642659e4b" - integrity sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ== - uglify-js@3.4.x: version "3.4.10" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" @@ -13077,9 +13464,9 @@ uglify-js@3.4.x: source-map "~0.6.1" uglify-js@^3.1.4: - version "3.5.11" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.11.tgz#833442c0aa29b3a7d34344c7c63adaa3f3504f6a" - integrity sha512-izPJg8RsSyqxbdnqX36ExpbH3K7tDBsAU/VfNv89VkMFy3z39zFjunQGsSHOlGlyIfGLGprGeosgQno3bo2/Kg== + version "3.6.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" + integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== dependencies: commander "~2.20.0" source-map "~0.6.1" @@ -13089,6 +13476,11 @@ ultron@~1.1.0: resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + underscore@1.8.3: version "1.8.3" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" @@ -13099,6 +13491,26 @@ underscore@^1.9.1: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= + +undertaker@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" + integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -13137,14 +13549,14 @@ unified@^7.1.0: x-is-string "^0.1.0" union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== dependencies: arr-union "^3.1.0" get-value "^2.0.6" is-extendable "^0.1.1" - set-value "^0.4.3" + set-value "^2.0.1" uniq@^1.0.1: version "1.0.1" @@ -13164,12 +13576,20 @@ unique-filename@^1.1.1: unique-slug "^2.0.0" unique-slug@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" - integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== dependencies: imurmurhash "^0.1.4" +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -13183,9 +13603,9 @@ unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== unist-util-stringify-position@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.0.tgz#4c452c0dbcbc509f7bcd366e9a8afd646f9d51ae" - integrity sha512-Uz5negUTrf9zm2ZT2Z9kdOL7Mr7FJLyq3ByqagUi7QZRVK1HnspVazvSqwHt73jj7APHtpuJ4K110Jm8O6/elw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3" + integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA== dependencies: "@types/unist" "^2.0.2" @@ -13354,6 +13774,13 @@ uuid@3.3.2, uuid@^3.0.1, uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +v8flags@^3.0.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" + integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== + dependencies: + homedir-polyfill "^1.0.1" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -13374,15 +13801,20 @@ value-equal@^0.4.0: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= vendors@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" - integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" + integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== verror@1.10.0: version "1.10.0" @@ -13401,12 +13833,12 @@ vfile-message@^1.0.0: unist-util-stringify-position "^1.1.1" vfile-message@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.0.tgz#750bbb86fe545988a67e899b329bbcabb73edef6" - integrity sha512-YS6qg6UpBfIeiO+6XlhPOuJaoLvt1Y9g2cmlwqhBOOU0XRV8j5RLeoz72t6PWLvNXq3EBG1fQ05wNPrUoz0deQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz#951881861c22fc1eb39f873c0b93e336a64e8f6d" + integrity sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw== dependencies: "@types/unist" "^2.0.2" - unist-util-stringify-position "^1.1.1" + unist-util-stringify-position "^2.0.0" vfile@^3.0.0: version "3.0.1" @@ -13418,23 +13850,69 @@ vfile@^3.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" -vfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.0.tgz#ebf3b48af9fcde524d5e08d5f75812058a5f78ad" - integrity sha512-WMNeHy5djSl895BqE86D7WqA0Ie5fAIeGCa7V1EqiXyJg5LaGch2SUaZueok5abYQGH6mXEAsZ45jkoILIOlyA== +vfile@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz#fc3d43a1c71916034216bf65926d5ee3c64ed60c" + integrity sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA== dependencies: - "@types/unist" "^2.0.2" + "@types/unist" "^2.0.0" is-buffer "^2.0.0" replace-ext "1.0.0" unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= +vinyl-fs@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== dependencies: - indexof "0.0.1" + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vm-browserify@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" + integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== w3c-hr-time@^1.0.1: version "1.0.1" @@ -13484,9 +13962,9 @@ wbuf@^1.1.0, wbuf@^1.7.3: minimalistic-assert "^1.0.0" web-namespaces@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.2.tgz#c8dc267ab639505276bae19e129dbd6ae72b22b4" - integrity sha512-II+n2ms4mPxK+RnIxRPOw3zwF2jRscdJIUE9BfkKHm4FYEg9+biIoTMnaZF5MpemE3T+VhMLrhbyD4ilkPCSbg== + version "1.1.3" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f" + integrity sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA== web3-core-helpers@1.0.0-beta.37: version "1.0.0-beta.37" @@ -13929,11 +14407,12 @@ webpack@4.29.6: webpack-sources "^1.3.0" websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" - integrity sha1-DK+dLXVdk67gSdS90NP+LMoqJOs= + version "0.7.3" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" + integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== dependencies: - http-parser-js ">=0.4.0" + http-parser-js ">=0.4.0 <0.4.11" + safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: @@ -13942,11 +14421,12 @@ websocket-extensions@>=0.1.1: integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== websocket@^1.0.28: - version "1.0.28" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.28.tgz#9e5f6fdc8a3fe01d4422647ef93abdd8d45a78d3" - integrity sha512-00y/20/80P7H4bCYkzuuvvfDvh+dgtXi5kzDf3UcZwN6boTYaKvsrtZ5lIYm1Gsg48siMErd9M4zjSYfYFHTrA== + version "1.0.29" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.29.tgz#3f83e49d3279657c58b02a22d90749c806101b98" + integrity sha512-WhU8jKXC8sTh6ocLSqpZRlOKMNYGwUvjA5+XcIgIk/G3JCaDfkZUr0zA19sVSxJ0TEvm0i5IBzr54RZC4vzW7g== dependencies: debug "^2.2.0" + gulp "^4.0.2" nan "^2.11.0" typedarray-to-buffer "^3.1.5" yaeti "^0.0.6" @@ -13972,7 +14452,7 @@ whatwg-fetch@2.0.4: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== -whatwg-fetch@3.0.0, whatwg-fetch@>=0.10.0: +whatwg-fetch@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== @@ -14010,7 +14490,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -14176,7 +14656,7 @@ workbox-window@^4.3.1: dependencies: workbox-core "^4.3.1" -worker-farm@^1.5.2: +worker-farm@^1.5.2, worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== @@ -14213,9 +14693,9 @@ write-file-atomic@2.4.1: signal-exit "^3.0.2" write-file-atomic@^2.0.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" - integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g== + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -14303,10 +14783,10 @@ xml-name-validator@^3.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlchars@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-1.3.1.tgz#1dda035f833dbb4f86a0c28eaa6ca769214793cf" - integrity sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw== +xmlchars@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz#ef1a81c05bff629c2280007f12daca21bd6f6c93" + integrity sha512-7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w== xmlhttprequest@1.8.0: version "1.8.0" @@ -14319,9 +14799,9 @@ xregexp@4.0.0: integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== xtend@~2.1.1: version "2.1.2" @@ -14413,7 +14893,7 @@ yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@^7.0.0: +yargs@^7.0.0, yargs@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= From 81e3fb09a78e69648a0d7f4002a8d0d4c28bdbac Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 12 Jul 2019 12:23:48 +1000 Subject: [PATCH 007/117] Trigger rebuilt From 936ab0bf37574cb38e446a4b8e9517e2716e99e2 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 12 Jul 2019 12:33:24 +1000 Subject: [PATCH 008/117] Updated project name --- README.md | 8 +++----- package.json | 4 ++-- public/index.html | 2 +- src/index.tsx | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 418e7d82..94b7371a 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,8 @@ -# Darknode Command Center +# Ren Command Center -[![Build Status](https://travis-ci.org/republicprotocol/darknode-command-center.svg?branch=master)](https://travis-ci.org/republicprotocol/darknode-command-center) +[![Build Status](https://travis-ci.org/republicprotocol/command-center.svg?branch=master)](https://travis-ci.org/republicprotocol/command-center) -[dcc.republicprotocol.com](https://dcc.republicprotocol.com) - -The Darknode Command Center is a dApp for registering, funding and monitoring darknodes, and for withdrawing rewards. +The Command Center is a dApp for registering, funding and monitoring darknodes, and for withdrawing rewards. For instructions on running a darknode, see [Darknode Rollout: Limited Participation Begins](https://medium.com/republicprotocol/a-sdarknode-rollout-limited-participation-begins-68f51d9bb865). diff --git a/package.json b/package.json index 6326f88a..f78d3d42 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "darknode-command-center", + "name": "command-center", "version": "0.1.0", "private": true, "dependencies": { @@ -79,4 +79,4 @@ "not ie <= 11", "not op_mini all" ] -} +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 0b2d4e56..42ff90b6 100644 --- a/public/index.html +++ b/public/index.html @@ -20,7 +20,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - Darknode Command Center + Command Center diff --git a/src/index.tsx b/src/index.tsx index c9da7103..2ece2826 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -26,7 +26,7 @@ if (NODE_ENV !== "development") { const { store, persistor } = configureStore(); -onLoad("Darknode Command Center"); +onLoad("Command Center"); ReactDOM.render( _catch_( From 62cc1b8c6cdf24f847ae344c90b4eb492c063a64 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 14:39:57 +1000 Subject: [PATCH 009/117] Continued migrating to stateless components --- package.json | 27 +- src/components/App.tsx | 4 +- src/components/InfoLabel.tsx | 47 -- src/components/Loading.tsx | 18 - src/components/Sidebar.tsx | 68 +- src/components/TokenBalance.tsx | 43 +- src/components/darknodeList/DarknodeList.tsx | 2 +- src/components/popups/MultiStepPopup.tsx | 4 +- src/components/popups/SelectWeb3Account.tsx | 3 +- src/components/popups/SigningPopup.tsx | 2 +- src/components/popups/WithdrawPopup.tsx | 6 +- src/components/statuspage/FeesItem.tsx | 56 +- src/components/statuspage/OldFees.tsx | 114 +-- src/components/statuspage/Registration.tsx | 2 +- src/components/statuspage/StatusPage.tsx | 7 +- src/components/statuspage/block/Block.tsx | 15 +- src/components/statuspage/block/GasGraph.tsx | 8 +- src/index.tsx | 22 +- src/styles/index.scss | 3 + yarn.lock | 687 ++++++++----------- 20 files changed, 445 insertions(+), 693 deletions(-) delete mode 100644 src/components/InfoLabel.tsx delete mode 100644 src/components/Loading.tsx diff --git a/package.json b/package.json index f78d3d42..20fc08be 100644 --- a/package.json +++ b/package.json @@ -8,19 +8,20 @@ "@fortawesome/free-regular-svg-icons": "^5.9.0", "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "0.3.2", + "@renproject/contracts": "0.3.8", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "^1.0.25", "@sentry/browser": "^5.5.0", "@sentry/core": "^5.5.0", "@types/bs58": "^4.0.0", "@types/jest": "^24.0.15", - "@types/node": "^12.6.2", + "@types/node": "^12.6.8", "@types/query-string": "^6.3.0", "@types/react": "^16.8.23", - "@types/react-dom": "^16.8.4", + "@types/react-dom": "^16.8.5", "@types/react-redux": "^7.1.1", "@types/react-router-dom": "^4.3.4", + "@types/react-simple-maps": "^0.12.2", "@types/underscore": "^1.9.2", "axios": "^0.19.0", "bignumber.js": "^9.0.0", @@ -37,29 +38,29 @@ "react-redux": "^7.1.0", "react-router-dom": "^5.0.1", "react-scripts": "^3.0.1", + "react-simple-maps": "^0.12.1", "redux": "^4.0.4", "redux-persist": "^5.10.0", "redux-thunk": "^2.3.0", "typesafe-actions": "^4.4.2", "typescript": "^3.5.3", + "unstated-next": "^1.1.0", "wallet-address-validator": "^0.2.4", - "web3": "^1.0.0-beta.55", - "web3-core": "^1.0.0-beta.55", - "web3-eth-contract": "^1.0.0-beta.55", + "web3": "^2.0.0-alpha", + "web3-core": "^2.0.0-alpha", + "web3-eth-contract": "^2.0.0-alpha", "web3-provider-engine": "^15.0.0", - "web3-utils": "^1.0.0-beta.55" + "web3-providers": "^2.0.0-alpha", + "web3-utils": "^2.0.0-alpha" }, "devDependencies": { "any-promise": "^1.3.0", - "npm-check-updates": "^3.1.18", + "npm-check-updates": "^3.1.20", "ts-unused-exports": "^2.0.11", "tslint": "^5.18.0", "tslint-microsoft-contrib": "^6.2.0", "tslint-react": "^4.0.0", - "underscore": "^1.9.1", - "web3-core-promievent": "^1.0.0-beta.48", - "web3-core-requestmanager": "^1.0.0-beta.37", - "web3-core-subscriptions": "^1.0.0-beta.55" + "underscore": "^1.9.1" }, "scripts": { "lint:unused-exports": "ts-unused-exports ./tsconfig.json", @@ -79,4 +80,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/src/components/App.tsx b/src/components/App.tsx index b3afac56..23702b1c 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -7,6 +7,7 @@ import { bindActionCreators, Dispatch } from "redux"; import { DEFAULT_REN_NETWORK } from "../lib/environmentVariables"; import { ApplicationData } from "../store/types"; import { BackgroundTasks } from "./BackgroundTasks"; +import { DarknodeMap } from "./darknodeMap/darknodeMap"; import { _catch_ } from "./ErrorBoundary"; import { Header } from "./Header"; import { Darknode, getDarknodeParam } from "./pages/Darknode"; @@ -64,7 +65,8 @@ class AppClass extends React.Component { {address ? _catch_() : null}
    - + + diff --git a/src/components/InfoLabel.tsx b/src/components/InfoLabel.tsx deleted file mode 100644 index 298f4431..00000000 --- a/src/components/InfoLabel.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import * as React from "react"; - -import { LabelLevel } from "../store/types"; - -const defaultState = { // Entries must be immutable - top: 0, - left: 0, -}; - -/** - * InfoLabel is a visual component for displaying an information message for - * another component - */ -export class InfoLabel extends React.Component { - constructor(props: Props) { - super(props); - this.state = defaultState; - } - - /** - * The main render function. - * @dev Should have minimal computation, loops and anonymous functions. - */ - public render(): React.ReactNode { - const { level, children } = this.props; - const iconType = level || LabelLevel.Info; - return ( -
    -
    -
    {children ? children : ""}
    -
    - ); - } - - private readonly onMouseEnter = (event: React.MouseEvent) => { - const { top, left, width, height } = event.currentTarget.getBoundingClientRect(); - this.setState({ - top: top - height / 2, - left: left + width / 2, - }); - } -} - -interface Props { - level?: LabelLevel; - children?: React.ReactNode; -} diff --git a/src/components/Loading.tsx b/src/components/Loading.tsx deleted file mode 100644 index dc8df75c..00000000 --- a/src/components/Loading.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from "react"; - -/** - * Loading is a visual component that renders a spinning animation - */ -export const Loading = (props: Props): JSX.Element => { - const { alt, className, style } = props; - return ( -
    - ); -}; - -// tslint:disable: react-unused-props-and-state -interface Props { - alt?: boolean; - className?: string; - style?: React.CSSProperties; -} diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx index cb94a7e0..fa82c80c 100644 --- a/src/components/Sidebar.tsx +++ b/src/components/Sidebar.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { faStar } from "@fortawesome/free-regular-svg-icons"; -import { faFire, faThLarge, faTimes } from "@fortawesome/free-solid-svg-icons"; +import { faFire, faGlobeAmericas, faThLarge, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Blocky, CurrencyIcon } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings @@ -16,36 +16,54 @@ import { DarknodeID } from "./DarknodeID"; import { darknodeIDHexToBase58 } from "./pages/Darknode"; import { TokenBalance } from "./TokenBalance"; +const mapStateToProps = (state: ApplicationData) => ({ + store: { + darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address) : null, + darknodeDetails: state.statistics.darknodeDetails, + darknodeNames: state.statistics.darknodeNames, + quoteCurrency: state.statistics.quoteCurrency, + mobileMenuActive: state.ui.mobileMenuActive, + }, +}); + +const mapDispatchToProps = (dispatch: Dispatch) => ({ + actions: bindActionCreators({ + hideMobileMenu, + }, dispatch), +}); + +interface Props extends ReturnType, ConnectedReturnType { + selectedDarknode: string | undefined; +} /** * Sidebar displays stats about an operator's darknodes collectively, * as well as a breakdown of each darknode */ -class SidebarClass extends React.Component { - public render = (): JSX.Element => { - const { selectedDarknode, store } = this.props; +export const Sidebar = connect(mapStateToProps, mapDispatchToProps)( + ({ selectedDarknode, store, actions }: Props) => { const { darknodeList, darknodeDetails, darknodeNames, quoteCurrency, mobileMenuActive } = store; return ( ); } - - private readonly hideMobileMenu = (): void => { - this.props.actions.hideMobileMenu(); - } -} - -const mapStateToProps = (state: ApplicationData) => ({ - store: { - darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address) : null, - darknodeDetails: state.statistics.darknodeDetails, - darknodeNames: state.statistics.darknodeNames, - quoteCurrency: state.statistics.quoteCurrency, - mobileMenuActive: state.ui.mobileMenuActive, - }, -}); - -const mapDispatchToProps = (dispatch: Dispatch) => ({ - actions: bindActionCreators({ - hideMobileMenu, - }, dispatch), -}); - -interface Props extends ReturnType, ConnectedReturnType { - selectedDarknode: string | undefined; -} - -export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(SidebarClass); +); diff --git a/src/components/TokenBalance.tsx b/src/components/TokenBalance.tsx index ce273de4..732f4b80 100644 --- a/src/components/TokenBalance.tsx +++ b/src/components/TokenBalance.tsx @@ -4,50 +4,9 @@ import { BigNumber } from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; -import { AllTokenDetails, OldToken, Token, } from "../lib/ethereum/tokens"; +import { AllTokenDetails, OldToken, Token } from "../lib/ethereum/tokens"; import { ApplicationData, Currency } from "../store/types"; -// export const tokenBalanceToString = ( -// token: Token | OldToken, -// amountIn: string | BigNumber, -// decimals: number, -// tokenPrices: Map> | null, -// convertTo?: Currency, -// digits?: number, -// ): string => { -// const amount = new BigNumber(amountIn) -// .div(new BigNumber(Math.pow(10, decimals))); - -// if (!convertTo) { -// return `${digits !== undefined ? amount.toFixed(digits) : amount.toFixed()}`; -// } - -// if (!tokenPrices) { -// return `...`; -// } - -// const tokenPriceMap = tokenPrices.get(token, undefined); -// if (!tokenPriceMap) { -// return `...`; -// } - -// const price = tokenPriceMap.get(convertTo, undefined); -// if (!price) { -// return `ERR`; -// } - -// let defaultDigits; -// switch (convertTo) { -// case Currency.BTC: -// case Currency.ETH: -// defaultDigits = 3; break; -// default: -// defaultDigits = 2; -// } -// defaultDigits = digits === undefined ? defaultDigits : digits; -// return `${amount.multipliedBy(price).toFixed(defaultDigits)}`; -// } - const defaultState = { // Entries must be immutable decimals: 0, }; diff --git a/src/components/darknodeList/DarknodeList.tsx b/src/components/darknodeList/DarknodeList.tsx index b19db907..34a75dd8 100644 --- a/src/components/darknodeList/DarknodeList.tsx +++ b/src/components/darknodeList/DarknodeList.tsx @@ -1,10 +1,10 @@ import * as React from "react"; import { List, Map } from "immutable"; +import { Loading } from "@renproject/react-components"; import { DarknodeDetails } from "../../store/types"; import { _catch_ } from "../ErrorBoundary"; -import { Loading } from "../Loading"; import { DarknodeCard } from "./DarknodeCard"; import { EmptyDarknodeCard } from "./EmptyDarknodeCard"; import { EmptyDarknodeList } from "./EmptyDarknodeList"; diff --git a/src/components/popups/MultiStepPopup.tsx b/src/components/popups/MultiStepPopup.tsx index c0449dfe..656da397 100644 --- a/src/components/popups/MultiStepPopup.tsx +++ b/src/components/popups/MultiStepPopup.tsx @@ -1,7 +1,7 @@ import * as React from "react"; +import { Loading } from "@renproject/react-components"; import BigNumber from "bignumber.js"; - import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; @@ -9,8 +9,6 @@ import { _captureBackgroundException_, _captureInteractionException_ } from "../ import { ErrorCanceledByUser } from "../../lib/ethereum/wallet"; import { clearPopup } from "../../store/actions/popup/popupActions"; import { ApplicationData } from "../../store/types"; -import { Loading } from "../Loading"; - import Warn from "../../styles/images/warn.svg"; const defaultState = { // Entries must be immutable diff --git a/src/components/popups/SelectWeb3Account.tsx b/src/components/popups/SelectWeb3Account.tsx index e6e46ddf..960e0296 100644 --- a/src/components/popups/SelectWeb3Account.tsx +++ b/src/components/popups/SelectWeb3Account.tsx @@ -1,12 +1,11 @@ import * as React from "react"; -import { Blocky } from "@renproject/react-components"; +import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; import { _captureBackgroundException_ } from "../../lib/errors"; import { ApplicationData } from "../../store/types"; -import { Loading } from "../Loading"; const defaultState = { // Entries must be immutable accounts: null as string[] | null, diff --git a/src/components/popups/SigningPopup.tsx b/src/components/popups/SigningPopup.tsx index b76177cf..a9bb4f58 100644 --- a/src/components/popups/SigningPopup.tsx +++ b/src/components/popups/SigningPopup.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { Loading } from "../Loading"; +import { Loading } from "@renproject/react-components"; const defaultState = { // Entries must be immutable error: null as string | null, diff --git a/src/components/popups/WithdrawPopup.tsx b/src/components/popups/WithdrawPopup.tsx index af8c4720..f32793f9 100644 --- a/src/components/popups/WithdrawPopup.tsx +++ b/src/components/popups/WithdrawPopup.tsx @@ -2,15 +2,17 @@ import * as React from "react"; import { faPlus, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Loading } from "@renproject/react-components"; import { List } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators, Dispatch } from "redux"; import { validate } from "wallet-address-validator"; import { Token } from "../../lib/ethereum/tokens"; -import { addToWithdrawAddresses, removeFromWithdrawAddresses } from "../../store/actions/statistics/operatorActions"; +import { + addToWithdrawAddresses, removeFromWithdrawAddresses, +} from "../../store/actions/statistics/operatorActions"; import { ApplicationData } from "../../store/types"; -import { Loading } from "../Loading"; enum Stage { Pending, diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index 9bcb157e..432bb5d3 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -2,6 +2,7 @@ import * as React from "react"; import { faChevronRight } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Loading } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; @@ -10,52 +11,40 @@ import { OldToken, Token } from "../../lib/ethereum/tokens"; import { updateDarknodeStatistics } from "../../store/actions/statistics/operatorActions"; import { withdrawReward } from "../../store/actions/trader/darknode"; import { ApplicationData } from "../../store/types"; -import { Loading } from "../Loading"; -const defaultState = { // Entries must be immutable - loading: false, -}; - -class FeesItemClass extends React.Component { - constructor(props: Props) { - super(props); - this.state = defaultState; - } - - public render = (): JSX.Element => { - const { loading } = this.state; - const disabled = (new BigNumber(this.props.amount)).lte(0) || !this.props.disabled; - return ( - - ); - } +const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { + const [loading, setLoading] = React.useState(false); - private readonly handleWithdraw = async (): Promise => { - const { store, darknodeID, token } = this.props; + const handleWithdraw = React.useCallback(async (): Promise => { const { web3, tokenPrices, address, renNetwork } = store; - this.setState({ loading: true }); + setLoading(true); if (address) { try { // tslint:disable-next-line: await-promise - await this.props.actions.withdrawReward(web3, renNetwork, address, darknodeID, token); + await actions.withdrawReward(web3, renNetwork, address, darknodeID, token); } catch (error) { - this.setState({ loading: false }); + setLoading(false); return; } // tslint:disable-next-line: await-promise - await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); + await actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); } - this.setState({ loading: false }); - } -} + setLoading(false); + }, [actions, darknodeID, store, token]); + + const isDisabled = (new BigNumber(amount)).lte(0) || !disabled; + return ( + + ); +}; const mapStateToProps = (state: ApplicationData) => ({ store: { @@ -74,6 +63,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ }, dispatch), }); +// tslint:disable: react-unused-props-and-state interface Props extends ReturnType, ConnectedReturnType { disabled: boolean; token: Token | OldToken; diff --git a/src/components/statuspage/OldFees.tsx b/src/components/statuspage/OldFees.tsx index 1ec40822..4dada7cd 100644 --- a/src/components/statuspage/OldFees.tsx +++ b/src/components/statuspage/OldFees.tsx @@ -8,62 +8,6 @@ import { ApplicationData, DarknodeDetails } from "../../store/types"; import { TokenBalance } from "../TokenBalance"; import { FeesItem } from "./FeesItem"; -const OldFeesClass: React.StatelessComponent = (props) => { - const { darknodeDetails, store, isOperator } = props; - const { - quoteCurrency, - } = store; - - const oldFees = []; - if (darknodeDetails) { - for (const [token, balance] of darknodeDetails.oldFeesEarned.toArray()) { - if (balance.isZero()) { - continue; - } - oldFees.push( - - - {" "} - {token} - - - - - - - - {" "} - - {quoteCurrency.toUpperCase()} - - - {isOperator ? - - : <>} - ); - } - } - - return oldFees.length > 0 ? <> - - - Old fees - - - {oldFees} - : <>; -}; - const mapStateToProps = (state: ApplicationData) => ({ store: { quoteCurrency: state.statistics.quoteCurrency, @@ -80,4 +24,60 @@ interface Props extends ReturnType, ConnectedReturnType< darknodeDetails: DarknodeDetails | null; } -export const OldFees = connect(mapStateToProps, mapDispatchToProps)(OldFeesClass); +export const OldFees = connect(mapStateToProps, mapDispatchToProps)( + (props: Props) => { + const { darknodeDetails, store, isOperator } = props; + const { + quoteCurrency, + } = store; + + const oldFees = []; + if (darknodeDetails) { + for (const [token, balance] of darknodeDetails.oldFeesEarned.toArray()) { + if (balance.isZero()) { + continue; + } + oldFees.push( + + + {" "} + {token} + + + + + + + + {" "} + + {quoteCurrency.toUpperCase()} + + + {isOperator ? + + : <>} + ); + } + } + + return oldFees.length > 0 ? <> + + + Old fees + + + {oldFees} + : <>; + } +); diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index c2c041d7..81f0c8e4 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -1,5 +1,6 @@ import * as React from "react"; +import { Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; @@ -11,7 +12,6 @@ import { showDeregisterPopup, showRefundPopup, showRegisterPopup, } from "../../store/actions/statistics/operatorPopupActions"; import { ApplicationData, DarknodeDetails } from "../../store/types"; -import { Loading } from "../Loading"; export const statusText = { [RegistrationStatus.Unknown]: "Loading...", diff --git a/src/components/statuspage/StatusPage.tsx b/src/components/statuspage/StatusPage.tsx index 9c3fc90f..53fde798 100644 --- a/src/components/statuspage/StatusPage.tsx +++ b/src/components/statuspage/StatusPage.tsx @@ -1,13 +1,14 @@ import * as React from "react"; -import { Blocky } from "@renproject/react-components"; +import { Blocky, InfoLabel } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators, Dispatch } from "redux"; -import { RegistrationStatus, setDarknodeName } from "../../store/actions/statistics/operatorActions"; +import { + RegistrationStatus, setDarknodeName, +} from "../../store/actions/statistics/operatorActions"; import { ApplicationData, DarknodeDetails } from "../../store/types"; import { DarknodeID } from "../DarknodeID"; -import { InfoLabel } from "../InfoLabel"; import { DarknodeAction } from "../pages/Darknode"; import { FeesBlock } from "./block/FeesBlock"; import { GasBlock } from "./block/GasBlock"; diff --git a/src/components/statuspage/block/Block.tsx b/src/components/statuspage/block/Block.tsx index 6646d6dc..9254fc56 100644 --- a/src/components/statuspage/block/Block.tsx +++ b/src/components/statuspage/block/Block.tsx @@ -7,14 +7,11 @@ interface Props { onClick?: ((event: React.MouseEvent) => void); } -export const Block = (props: Props) => { - return
    {props.children}
    ; -}; +export const Block = (props: Props) => +
    {props.children}
    ; -export const BlockBody = (props: Props) => { - return
    {props.children}
    ; -}; +export const BlockBody = (props: Props) => +
    {props.children}
    ; -export const BlockTitle = (props: Props) => { - return
    {props.children}
    ; -}; +export const BlockTitle = (props: Props) => +
    {props.children}
    ; diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/statuspage/block/GasGraph.tsx index 2bf8cd23..f9ab4419 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/statuspage/block/GasGraph.tsx @@ -1,9 +1,9 @@ import * as React from "react"; import BigNumber from "bignumber.js"; - import { faFire } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Loading } from "@renproject/react-components"; import { OrderedMap } from "immutable"; import { Scatter } from "react-chartjs-2"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings @@ -11,13 +11,9 @@ import { bindActionCreators, Dispatch } from "redux"; import { _captureBackgroundException_ } from "../../../lib/errors"; import { - calculateSecondsPerBlock, - fetchDarknodeBalanceHistory, - HistoryIterations, - HistoryPeriods, + calculateSecondsPerBlock, fetchDarknodeBalanceHistory, HistoryIterations, HistoryPeriods, } from "../../../store/actions/statistics/operatorActions"; import { ApplicationData, DarknodeDetails } from "../../../store/types"; -import { Loading } from "../../Loading"; import { Block, BlockBody, BlockTitle } from "./Block"; const shift = new BigNumber(10).exponentiatedBy(18); diff --git a/src/index.tsx b/src/index.tsx index 2ece2826..79e403e5 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -8,6 +8,7 @@ import { Route, Router, Switch } from "react-router-dom"; import { PersistGate } from "redux-persist/integration/react"; import { App } from "./components/App"; +import { MapContainer } from "./components/darknodeMap/mapContainer"; import { _catch_ } from "./components/ErrorBoundary"; import { NODE_ENV } from "./lib/environmentVariables"; import { history } from "./lib/history"; @@ -30,15 +31,18 @@ onLoad("Command Center"); ReactDOM.render( _catch_( - - - - {/* We add the routes here as well as in App so that App has access to the URL parameters */} - - - - - + + + + + {/* We add the routes here as well as in App so that App has access to the URL parameters */} + + + {/* Don't add extra routes here - add them in App */} + + + + ), document.getElementById("root") as HTMLElement ); diff --git a/src/styles/index.scss b/src/styles/index.scss index b93c0179..bfb4a57a 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -23,5 +23,8 @@ @import 'scss/statuspage'; @import 'scss/view'; +// Styles in src/components +@import '../components/darknodeMap/darknodeMap'; + // Styles for html, body, anchors etc. should go in _general @import 'scss/_general'; \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 35d8a4db..17e1dd8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -874,13 +874,20 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": version "7.5.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.4.tgz#cb7d1ad7c6d65676e66b47186577930465b5271b" integrity sha512-Na84uwyImZZc3FKf4aUF1tysApzwf3p2yuFBIyBfbzT5glzKTdvYI4KVW4kcgjrzoGUjC7w3YyCHcJKaRxsr2Q== dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.3.1": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" + integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" @@ -1272,10 +1279,10 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.2.tgz#6f2d9d45356ad2596293e57f4b14a5ee3229de1a" - integrity sha512-uVrA8Q65ZxsC4BWhbWYSC2BtxFCipOPHaQdCwzywOV4UG/Gl+SG+/zezpCMdU/ziArsI6hAlNVtBi5/Jw/gKGQ== +"@renproject/contracts@0.3.8": + version "0.3.8" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.8.tgz#657a6e3057be00bf11edb7f18ad8e5991caf79a9" + integrity sha512-Ynz1iBWz1XGW9a44PwfAdKkmt4s5WnukdY3SPAO6705zmbNg5dBQSTJJcB3Me4a9JQHyWkfExu25iI/UVEdCMw== dependencies: darknode-sol "https://github.com/renproject/darknode-sol#localnet" @@ -1524,6 +1531,18 @@ dependencies: "@types/base-x" "*" +"@types/d3-geo@*": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-1.11.1.tgz#e96ec91f16221d87507fec66b2cc889f52d2493e" + integrity sha512-Ox8WWOG3igDRoep/dNsGbOiSJYdUG3ew/6z0ETvHyAtXZVBjOE0S96zSSmzgl0gqQ3RdZjn2eeJOj9oRcMZPkQ== + dependencies: + "@types/geojson" "*" + +"@types/geojson@*": + version "7946.0.7" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad" + integrity sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ== + "@types/history@*": version "4.7.2" resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" @@ -1569,16 +1588,26 @@ dependencies: "@types/jest-diff" "*" -"@types/node@*", "@types/node@^12.6.2": +"@types/node@*": version "12.6.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.2.tgz#a5ccec6abb6060d5f20d256fb03ed743e9774999" integrity sha512-gojym4tX0FWeV2gsW4Xmzo5wxGjXGm550oVUII7f7G5o4BV6c7DBdiG1RRQd+y1bvqRyYtPfMK85UM95vsapqQ== -"@types/node@^10.12.18", "@types/node@^10.3.2": +"@types/node@^10.12.18": + version "10.14.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.13.tgz#ac786d623860adf39a3f51d629480aacd6a6eec7" + integrity sha512-yN/FNNW1UYsRR1wwAoyOwqvDuLDtVXnaJTZ898XIw/Q5cCaeVAlVwvsmXLX5PuiScBYwZsZU4JYSHB3TvfdwvQ== + +"@types/node@^10.3.2": version "10.14.12" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.12.tgz#0eec3155a46e6c4db1f27c3e588a205f767d622f" integrity sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg== +"@types/node@^12.6.1", "@types/node@^12.6.8": + version "12.6.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" + integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== + "@types/prop-types@*": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" @@ -1596,10 +1625,10 @@ dependencies: query-string "*" -"@types/react-dom@^16.8.4": - version "16.8.4" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.4.tgz#7fb7ba368857c7aa0f4e4511c4710ca2c5a12a88" - integrity sha512-eIRpEW73DCzPIMaNBDP5pPIpK1KXyZwNgfxiVagb5iGiz6da+9A5hslSX6GAQKdO7SayVCS/Fr2kjqprgAvkfA== +"@types/react-dom@^16.8.5": + version "16.8.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.5.tgz#3e3f4d99199391a7fb40aa3a155c8dd99b899cbd" + integrity sha512-idCEjROZ2cqh29+trmTmZhsBAUNQuYrF92JHKzZ5+aiFM1mlSk3bb23CK7HhYuOY75Apgap5y2jTyHzaM2AJGA== dependencies: "@types/react" "*" @@ -1630,6 +1659,14 @@ "@types/history" "*" "@types/react" "*" +"@types/react-simple-maps@^0.12.2": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@types/react-simple-maps/-/react-simple-maps-0.12.2.tgz#b139d7f909e2edee6f54b53c4adce9251ebf24fb" + integrity sha512-dmALUc5CDy3+76sn0ZF2mcdWN0VH9d/F4P5fpEB0vdrJIw1KJjHK8kumeHsyXiktz4joBUWcxAZOTfifmj82fQ== + dependencies: + "@types/d3-geo" "*" + "@types/react" "*" + "@types/react@*", "@types/react@^16.8.23": version "16.8.23" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" @@ -3234,7 +3271,7 @@ bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4. resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -body-parser@1.19.0, body-parser@^1.16.0: +body-parser@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== @@ -3361,14 +3398,6 @@ browserify-rsa@^4.0.0: bn.js "^4.1.0" randombytes "^2.0.1" -browserify-sha3@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.4.tgz#086c47b8c82316c9d47022c26185954576dd8e26" - integrity sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY= - dependencies: - js-sha3 "^0.6.1" - safe-buffer "^5.1.1" - browserify-sign@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" @@ -3959,16 +3988,16 @@ comma-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ== +commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== + commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.11.0, commander@^2.12.1, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - commander@~2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -4156,14 +4185,6 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cors@^2.8.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" @@ -4513,6 +4534,34 @@ cyclist@~0.2.2: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +d3-array@1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" + integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw== + +d3-geo-projection@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/d3-geo-projection/-/d3-geo-projection-1.2.2.tgz#ef0e6cdcfa0df236d0e23f2ca7750462ca331f72" + integrity sha1-7w5s3PoN8jbQ4j8sp3UEYsozH3I= + dependencies: + commander "2" + d3-array "1" + d3-geo "^1.1.0" + +d3-geo@1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.6.3.tgz#21683a43a061eaba21a7f254b51d5937eb640756" + integrity sha1-IWg6Q6Bh6rohp/JUtR1ZN+tkB1Y= + dependencies: + d3-array "1" + +d3-geo@^1.1.0: + version "1.11.6" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.6.tgz#134f2ef035ff75a448075fafdea92702a2e0e0cf" + integrity sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA== + dependencies: + d3-array "1" + d@1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -5447,19 +5496,6 @@ eth-json-rpc-middleware@^4.0.0, eth-json-rpc-middleware@^4.1.1: pify "^3.0.0" safe-event-emitter "^1.0.1" -eth-lib@0.1.27: - version "0.1.27" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" - integrity sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - keccakjs "^0.2.1" - nano-json-stream-parser "^0.1.2" - servify "^0.1.12" - ws "^3.0.0" - xhr-request-promise "^0.1.2" - eth-lib@0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" @@ -5621,7 +5657,7 @@ ethers@^4.0.27: uuid "2.0.1" xmlhttprequest "1.8.0" -ethjs-unit@0.1.6, ethjs-unit@^0.1.6: +ethjs-unit@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= @@ -5735,7 +5771,7 @@ expect@^24.8.0: jest-message-util "^24.8.0" jest-regex-util "^24.3.0" -express@^4.14.0, express@^4.16.2: +express@^4.16.2: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== @@ -6901,11 +6937,6 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= - "http-parser-js@>=0.4.0 <0.4.11": version "0.4.10" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" @@ -8050,11 +8081,6 @@ js-sha3@0.5.7, js-sha3@^0.5.7: resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= -js-sha3@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" - integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -8315,14 +8341,6 @@ keccak@^1.0.2: nan "^2.2.1" safe-buffer "^5.1.0" -keccakjs@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" - integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== - dependencies: - browserify-sha3 "^0.0.4" - sha3 "^1.2.2" - keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -8654,6 +8672,11 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== +lodash@^4.17.13: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + loglevel@^1.4.1: version "1.6.3" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" @@ -9143,21 +9166,11 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -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== - -nan@^2.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: +nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" - integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -9441,12 +9454,11 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-check-updates@^3.1.18: - version "3.1.18" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.18.tgz#54f3529399dd9aa825e0de718c189ced73c4e59f" - integrity sha512-e4UGOGdFs9+9uRrZrojueT+fjg4uVZzi8fyDdWIS9+JIl4J4xqODh0vp1TdCnedjn8jTPy1dhUtbjQtRWAhV8w== +npm-check-updates@^3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.20.tgz#9dd719bc04af9c273b33b44a7d5368d5e85ae9c2" + integrity sha512-mc9BAoOYSTwP/IvoA+ofdkWSipwRvhgC0qop1PvlMZojgzi7N/dykdxOIWrw0OlZPnEKvXkKFEuPk97LrvXE1A== dependencies: - bluebird "^3.5.5" chalk "^2.4.2" cint "^8.2.1" cli-table "^0.3.1" @@ -9456,14 +9468,12 @@ npm-check-updates@^3.1.18: get-stdin "^7.0.0" json-parse-helpfulerror "^1.0.3" libnpmconfig "^1.2.1" - lodash "^4.17.11" + lodash "^4.17.13" node-alias "^1.0.4" pacote "^9.5.1" progress "^2.0.3" prompts "^2.1.0" - rc-config-loader "^2.0.3" - registry-auth-token "^4.0.0" - registry-url "^5.1.0" + rc-config-loader "^2.0.4" requireg "^0.2.2" semver "^6.2.0" semver-utils "^1.1.4" @@ -9561,7 +9571,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@4.1.1, object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@4.1.1, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -9673,13 +9683,6 @@ object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" -oboe@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.3.tgz#2b4865dbd46be81225713f4e9bfe4bcf4f680a4f" - integrity sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8= - dependencies: - http-https "^1.0.0" - obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -11164,11 +11167,6 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -randomhex@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" - integrity sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU= - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -11184,7 +11182,7 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc-config-loader@^2.0.3: +rc-config-loader@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-2.0.4.tgz#fe23e26a87e2ec07541b29e7f37bfd75807a4c36" integrity sha512-k06UzRbYDWgF4Mc/YrsZsmzSpDLuHoThJxep+vq5H09hiX8rbA5Ue/Ra0dwWm5MQvWYW4YBXgA186inNxuxidQ== @@ -11412,6 +11410,15 @@ react-select@^2.4.3: react-input-autosize "^2.2.1" react-transition-group "^2.2.1" +react-simple-maps@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/react-simple-maps/-/react-simple-maps-0.12.1.tgz#afc732362bb8eb2e5609a61d33bf6567d0fdd02a" + integrity sha512-htW2qQCnppGAUvWttf8ugZsVD896AfAjJNz3sgQT5zpdLNC+n2xegiNtn5inkD0aLuQWZ43i5cTlhPe0n6hvNQ== + dependencies: + d3-geo "1.6.3" + d3-geo-projection "1.2.2" + topojson-client "2.1.0" + react-transition-group@^2.2.1: version "2.9.0" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" @@ -11666,15 +11673,7 @@ registry-auth-token@^3.4.0: rc "^1.1.6" safe-buffer "^5.0.1" -registry-auth-token@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" - integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw== - dependencies: - rc "^1.2.8" - safe-buffer "^5.0.1" - -registry-url@^5.0.0, registry-url@^5.1.0: +registry-url@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== @@ -11799,7 +11798,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.79.0, request@^2.85.0, request@^2.87.0, request@^2.88.0: +request@^2.85.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -12128,28 +12127,10 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== -scrypt.js@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" - integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== - dependencies: - scryptsy "^1.2.1" - optionalDependencies: - scrypt "^6.0.2" - -scrypt@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" - integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= - dependencies: - nan "^2.0.8" - -scryptsy@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" - integrity sha1-oyJfpLJST4AnAHYeKFW987LZIWM= - dependencies: - pbkdf2 "^3.0.3" +scryptsy@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" + integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== scss-tokenizer@^0.2.3: version "0.2.3" @@ -12224,7 +12205,7 @@ semver@6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== -semver@^6.0.0, semver@^6.1.1, semver@^6.2.0: +semver@6.2.0, semver@^6.0.0, semver@^6.1.1, semver@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== @@ -12286,17 +12267,6 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -12345,13 +12315,6 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -sha3@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.3.tgz#ed5958fa8331df1b1b8529ca9fdf225a340c5418" - integrity sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA== - dependencies: - nan "2.13.2" - shallow-clone@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" @@ -13262,6 +13225,13 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +topojson-client@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/topojson-client/-/topojson-client-2.1.0.tgz#ff9f7bf38991185e0b4284c2b06ae834f0eac6c8" + integrity sha1-/59784mRGF4LQoTCsGroNPDqxsg= + dependencies: + commander "2" + touch@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164" @@ -13428,7 +13398,7 @@ type@^1.0.1: resolved "https://registry.yarnpkg.com/type/-/type-1.0.1.tgz#084c9a17fcc9151a2cdb1459905c2e45e4bb7d61" integrity sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw== -typedarray-to-buffer@^3.1.2, typedarray-to-buffer@^3.1.5: +typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== @@ -13471,21 +13441,11 @@ uglify-js@^3.1.4: commander "~2.20.0" source-map "~0.6.1" -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= -underscore@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI= - underscore@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" @@ -13632,6 +13592,11 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +unstated-next@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unstated-next/-/unstated-next-1.1.0.tgz#7bb4911a12fdf3cc8ad3eb11a0b315e4a8685ea8" + integrity sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA== + upath@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" @@ -13806,7 +13771,7 @@ value-or-function@^3.0.0: resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= -vary@^1, vary@~1.1.2: +vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= @@ -13966,95 +13931,67 @@ web-namespaces@^1.1.2: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f" integrity sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA== -web3-core-helpers@1.0.0-beta.37: - version "1.0.0-beta.37" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.37.tgz#04ec354b7f5c57234c309eea2bda9bf1f2fe68ba" - integrity sha512-efaLOzN28RMnbugnyelgLwPWWaSwElQzcAJ/x3PZu+uPloM/lE5x0YuBKvIh7/PoSMlHqtRWj1B8CpuQOUQ5Ew== - dependencies: - underscore "1.8.3" - web3-eth-iban "1.0.0-beta.37" - web3-utils "1.0.0-beta.37" - -web3-core-helpers@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.55.tgz#832b8499889f9f514b1d174f00172fd3683d63de" - integrity sha512-suj9Xy/lIqajaYLJTEjr2rlFgu6hGYwChHmf8+qNrC2luZA6kirTamtB9VThWMxbywx7p0bqQFjW6zXogAgWhg== +web3-core-helpers@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-2.0.0-alpha.tgz#76d720e50a6d5fbf91761a350060cc155fa9e3d3" + integrity sha512-zTeVHIoa4ih7PWFWJX2giqivDMOoD/cX3XHlNcghgdfsyhuf17ktar6003c1QxrvRXmV8HMlBorcZjYzYuTsiA== dependencies: "@babel/runtime" "^7.3.1" lodash "^4.17.11" - web3-core "1.0.0-beta.55" - web3-eth-iban "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" + web3-core "2.0.0-alpha" + web3-eth-iban "2.0.0-alpha" + web3-utils "2.0.0-alpha" -web3-core-method@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.55.tgz#0af994295ac2dd64ccd53305b7df8da76e11da49" - integrity sha512-w1cW/s2ji9qGELHk2uMJCn1ooay0JJLVoPD1nvmsW6OTRWcVjxa62nJrFQhe6P5lEb83Xk9oHgmCxZoVUHibOw== +web3-core-method@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-2.0.0-alpha.tgz#453063885ab3cdd2bf63e5e586cdb3ee7d9cdfcb" + integrity sha512-BlOumHB4Guh5/c41v20EMlyjTBhgVPJ+dqZG5o7i42KOASgJ1ZqTTR2hq16F6zqgTuBAvJ8o/AjyWSBPsU2Twg== dependencies: "@babel/runtime" "^7.3.1" eventemitter3 "3.1.0" lodash "^4.17.11" rxjs "^6.4.0" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-subscriptions "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-subscriptions "2.0.0-alpha" + web3-utils "2.0.0-alpha" -web3-core-promievent@^1.0.0-beta.48: - version "1.0.0-beta.48" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.48.tgz#1a441860ec86b0996431d50ccc4fe9de0d1dbc86" - integrity sha512-GNUnYUL0PUO/QzvlYxIlZW5Pra3jyjN6uHuUSDFRp59NbknluP470nTSC/+0XkvZrVTYADf0+04yyOlVM083Ug== - dependencies: - "@babel/runtime" "^7.3.1" - eventemitter3 "^3.1.0" - -web3-core-requestmanager@^1.0.0-beta.37: - version "1.0.0-beta.37" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.37.tgz#721a75df5920621bff42d9d74f7a64413675d56b" - integrity sha512-66VUqye5BGp1Zz1r8psCxdNH+GtTjaFwroum2Osx+wbC5oRjAiXkkadiitf6wRb+edodjEMPn49u7B6WGNuewQ== - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.37" - web3-providers-http "1.0.0-beta.37" - web3-providers-ipc "1.0.0-beta.37" - web3-providers-ws "1.0.0-beta.37" - -web3-core-subscriptions@1.0.0-beta.55, web3-core-subscriptions@^1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.55.tgz#105902c13db53466fc17d07a981ad3d41c700f76" - integrity sha512-pb3oQbUzK7IoyXwag8TYInQddg0rr7BHxKc+Pbs/92hVNQ5ps4iGMVJKezdrjlQ1IJEEUiDIglXl4LZ1hIuMkw== +web3-core-subscriptions@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-2.0.0-alpha.tgz#f8cb496af6e56b76bc0718213b7d777eeeacc741" + integrity sha512-xvOVyIrm5mF1iioxU+MGGWYMFftMOw5ILTqX1HQns4BVYiP1oEQu/PJ6h8wMMERC1uNkE+owNwJLCpf3BDn3EA== dependencies: "@babel/runtime" "^7.3.1" eventemitter3 "^3.1.0" lodash "^4.17.11" -web3-core@1.0.0-beta.55, web3-core@^1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.55.tgz#26b9abbf1bc1837c9cc90f06ecbc4ed714f89b53" - integrity sha512-AMMp7TLEtE7u8IJAu/THrRhBTZyZzeo7Y6GiWYNwb5+KStC9hIGLr9cI1KX9R6ZioTOLRHrqT7awDhnJ1ku2mg== +web3-core@2.0.0-alpha, web3-core@^2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-2.0.0-alpha.tgz#79722bd65e5d9e28b47e2f43638c8994ed3f2b8e" + integrity sha512-K3DVpEv1peu/KarD/oB1DGl9h8aGj5hBecFeY3prNYVF1Ho9+2J9kKYsArW3Bss6Pa/KEv5MsVHMEYpx5wto0w== dependencies: "@babel/runtime" "^7.3.1" "@types/bn.js" "^4.11.4" - "@types/node" "^10.12.18" + "@types/node" "^12.6.1" lodash "^4.17.11" - web3-core-method "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" + web3-core-method "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" -web3-eth-abi@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.55.tgz#69250420039346105a3d0f899c0a8a53be926f97" - integrity sha512-3h1xnm/vYmKUXTOYAOP0OsB5uijQV76pNNRGKOB6Dq6GR1pbcbD3WrB/4I643YA8l91t5FRzFzUiA3S77R2iqw== +web3-eth-abi@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-2.0.0-alpha.tgz#a63ba52345e413c6477429792969303b88f9cfff" + integrity sha512-USCuprQPMldMbW0pNDmR9TN5j4ITuBK7eFiF0wUH67g4i8Hohq4gILkyAVx8h/hkx69GREbTB/0I7hVAMK7e4A== dependencies: "@babel/runtime" "^7.3.1" ethers "^4.0.27" lodash "^4.17.11" - web3-utils "1.0.0-beta.55" + web3-utils "2.0.0-alpha" -web3-eth-accounts@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.55.tgz#ba734ffdc1e3cc8ac0ea01de5241323a0c2f69f3" - integrity sha512-VfzvwpSDHXqRVelIxsBVhgbV9BkFvhJ/q+bKhnVUUXV0JAhMK/7uC92TsqKk4EBYuqpHyZ1jjqrL4n03fMU7zw== +web3-eth-accounts@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-2.0.0-alpha.tgz#b82a3be50a3438fe3c0867a0ade6332a90aef7a3" + integrity sha512-By0mVlTOeuouVLGiPRrLuRP3ntPTFIdXCvA2vP9kLwCNVCSRlCjmbHFNWXEQal4iipJ0wSFn5Ua+2rySKD+xow== dependencies: "@babel/runtime" "^7.3.1" browserify-cipher "^1.0.1" @@ -14062,114 +13999,107 @@ web3-eth-accounts@1.0.0-beta.55: lodash "^4.17.11" pbkdf2 "^3.0.17" randombytes "^2.1.0" - scrypt.js "0.3.0" + scryptsy "2.1.0" + semver "6.2.0" uuid "3.3.2" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" -web3-eth-contract@1.0.0-beta.55, web3-eth-contract@^1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.55.tgz#cd9e6727ff73d648ebe7cae17516e8aec5873c65" - integrity sha512-v6oB1wfH039/A5sTb4ZTKX++fcBTHEkuQGpq50ATIDoxP/UTz2+6S+iL+3sCJTsByPw2/Bni/HM7NmLkXqzg/Q== +web3-eth-contract@2.0.0-alpha, web3-eth-contract@^2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-2.0.0-alpha.tgz#d2fe9d34bf12db675ac1bcd891ed1be7a7b58fbb" + integrity sha512-Sdir/b4MnXqNBbbnE6LMTGT68dKzMEK3bfxExzPTNEc0rqMj0XPnxh1Kn9wH21u7r4hvIYnkCbUN49ekF0nX1A== dependencies: "@babel/runtime" "^7.3.1" "@types/bn.js" "^4.11.4" lodash "^4.17.11" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-core-subscriptions "1.0.0-beta.55" - web3-eth-abi "1.0.0-beta.55" - web3-eth-accounts "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" - -web3-eth-ens@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.55.tgz#4341434a3406728212d411ae7f22d4cf5b8642fe" - integrity sha512-jEL17coO0FJXb7KYq4+7DhVXj0Rh+wHfZ86jOvFUvJsRaUHfqK2TlMatuhD2mbrmxpBYb6oMPnXVnNK9bnD5Rg== + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-core-subscriptions "2.0.0-alpha" + web3-eth-abi "2.0.0-alpha" + web3-eth-accounts "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" + +web3-eth-ens@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-2.0.0-alpha.tgz#6d7d93a732e350ee06286064a91c1a94c91274b9" + integrity sha512-oiRqLi2rPH1o1iU5xp+xUlS9Gxen7cL4xf6KOjpJ3dHOPkSlvVq1lSIWAGC7s4KoH11vRKQakdVJVUbq+ddxMg== dependencies: "@babel/runtime" "^7.3.1" eth-ens-namehash "2.0.8" lodash "^4.17.11" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-eth-abi "1.0.0-beta.55" - web3-eth-accounts "1.0.0-beta.55" - web3-eth-contract "1.0.0-beta.55" - web3-net "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" - -web3-eth-iban@1.0.0-beta.37: - version "1.0.0-beta.37" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.37.tgz#313a3f18ae2ab00ba98678ea1156b09ef32a3655" - integrity sha512-WQRniGJFxH/XCbd7miO6+jnUG+6bvuzfeufPIiOtCbeIC1ypp1kSqER8YVBDrTyinU1xnf1U5v0KBZ2yiWBJxQ== - dependencies: - bn.js "4.11.6" - web3-utils "1.0.0-beta.37" - -web3-eth-iban@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.55.tgz#15146a69de21addc99e7dbfb2920555b1e729637" - integrity sha512-a2Fxsb5Mssa+jiXgjUdIzJipE0175IcQXJbZLpKft2+zeSJWNTbaa3PQD2vPPpIM4W789q06N+f9Zc0Fyls+1g== + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-eth-abi "2.0.0-alpha" + web3-eth-accounts "2.0.0-alpha" + web3-eth-contract "2.0.0-alpha" + web3-net "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" + +web3-eth-iban@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-2.0.0-alpha.tgz#87c164d964b50c000554b1c58e46dac8e2b04787" + integrity sha512-SDSaU5QEbxaVwP/B/xl0S4xfu0UBzBD0c+rRYtB/o9NWKkRhcpnGqPnzBN9TB6C1+zbKba6/QlAbIUQsNO9WJQ== dependencies: "@babel/runtime" "^7.3.1" bn.js "4.11.8" - web3-utils "1.0.0-beta.55" + web3-utils "2.0.0-alpha" -web3-eth-personal@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.55.tgz#76e9d2da1501ee3c686751e7c7df63cc11793a1d" - integrity sha512-H0mahLQx6Oj7lpgTamKAswr3rHChRUZijeWAar2Hj7BABQlLRKwx8n09nYhxggvvLYQNQS90JjvQue7rAo2LQQ== +web3-eth-personal@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-2.0.0-alpha.tgz#f14d816fb1953f49aa906e9959b5404ae631e84a" + integrity sha512-CBlC4VkOLVwyqfvBsxxGWXSwgJlWiAuDRV+j41fnwb735qV1uvZVvCy5Za8efiFY0jMLuPlfOoBcpc9KAS+XQQ== dependencies: "@babel/runtime" "^7.3.1" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-eth-accounts "1.0.0-beta.55" - web3-net "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" - -web3-eth@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.55.tgz#bb52150df0a77bd13511449a53793d4eb23ade6e" - integrity sha512-F3zJ9I1gOgQdNGfi2Dy2lmj6OqCMJoRN01XHhQZagq0HY1JYMfObtfMi5E3L+qsegsSddHbqp4YY57tKx6uxpA== + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-eth-accounts "2.0.0-alpha" + web3-net "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" + +web3-eth@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-2.0.0-alpha.tgz#415b8f4e5a4e6cf34fb96672c0cf1c7f6f8bbbec" + integrity sha512-KCbA2PYZfa7kcrpTROWPUIa7nGmAycUNHj9hkiVrLBJ5sDsPnvaZjGOplpazN1UIuJdHpvg8Rriqt8FBZ21UHw== dependencies: "@babel/runtime" "^7.3.1" ethereumjs-tx "^1.3.7" rxjs "^6.4.0" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-core-subscriptions "1.0.0-beta.55" - web3-eth-abi "1.0.0-beta.55" - web3-eth-accounts "1.0.0-beta.55" - web3-eth-contract "1.0.0-beta.55" - web3-eth-ens "1.0.0-beta.55" - web3-eth-iban "1.0.0-beta.55" - web3-eth-personal "1.0.0-beta.55" - web3-net "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" - -web3-net@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.55.tgz#daf24323df16a890a0bac6c6eda48b6e8c7e96ef" - integrity sha512-do2WY8+/GArJSWX7k/zZ7nBnV9Y3n6LhPYkwT3LeFqDzD515bKwlomaNC8hOaTc6UQyXIoPprYTK2FevL7jrZw== + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-core-subscriptions "2.0.0-alpha" + web3-eth-abi "2.0.0-alpha" + web3-eth-accounts "2.0.0-alpha" + web3-eth-contract "2.0.0-alpha" + web3-eth-ens "2.0.0-alpha" + web3-eth-iban "2.0.0-alpha" + web3-eth-personal "2.0.0-alpha" + web3-net "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" + +web3-net@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-2.0.0-alpha.tgz#158e87e3c84cb065d464c6d2f3e3d19956328d25" + integrity sha512-yPl7CEJgVvh/kT979d6YZfQfZ1GTbhFRrbf3XBhdM96g6BayfO64FYghHSP+RBuxzykL81PVioj0I02cMMU1pg== dependencies: "@babel/runtime" "^7.3.1" lodash "^4.17.11" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" web3-provider-engine@^15.0.0: version "15.0.0" @@ -14199,84 +14129,45 @@ web3-provider-engine@^15.0.0: xhr "^2.2.0" xtend "^4.0.1" -web3-providers-http@1.0.0-beta.37: - version "1.0.0-beta.37" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.0.0-beta.37.tgz#c06efd60e16e329e25bd268d2eefc68d82d13651" - integrity sha512-FM/1YDB1jtZuTo78habFj7S9tNHoqt0UipdyoQV29b8LkGKZV9Vs3is8L24hzuj1j/tbwkcAH+ewIseHwu0DTg== - dependencies: - web3-core-helpers "1.0.0-beta.37" - xhr2-cookies "1.1.0" - -web3-providers-ipc@1.0.0-beta.37: - version "1.0.0-beta.37" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.37.tgz#55d247e7197257ca0c3e4f4b0fe1561311b9d5b9" - integrity sha512-NdRPRxYMIU0C3u18NI8u4bwbhI9pCg5nRgDGYcmSAx5uOBxiYcQy+hb0WkJRRhBoyIXJmy+s26FoH8904+UnPg== - dependencies: - oboe "2.1.3" - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.37" - -web3-providers-ws@1.0.0-beta.37: - version "1.0.0-beta.37" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.37.tgz#77c15aebc00b75d760d22d063ac2e415bdbef72f" - integrity sha512-8p6ZLv+1JYa5Vs8oBn33Nn3VGFBbF+wVfO+b78RJS1Qf1uIOzjFVDk3XwYDD7rlz9G5BKpxhaQw+6EGQ7L02aw== - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.37" - websocket "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" - -web3-providers@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-1.0.0-beta.55.tgz#639503517741b69baaa82f1f940630df6a25992b" - integrity sha512-MNifc7W+iF6rykpbDR1MuX152jshWdZXHAU9Dk0Ja2/23elhIs4nCWs7wOX9FHrKgdrQbscPoq0uy+0aGzyWVQ== +web3-providers@2.0.0-alpha, web3-providers@^2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-2.0.0-alpha.tgz#6bce7f6e6d08fa874bd78214c6c54251cd7a81da" + integrity sha512-29+2xv7CRY9HNyjSc/S2S4NfqrVqJzad2py2AIW+7HigAu+S40QKVKGx66h3KGA5NZrV5uGbMaNoNnlVNIrbDw== dependencies: "@babel/runtime" "^7.3.1" "@types/node" "^10.12.18" eventemitter3 "3.1.0" lodash "^4.17.11" url-parse "1.4.4" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-utils "2.0.0-alpha" websocket "^1.0.28" xhr2-cookies "1.1.0" -web3-shh@1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.55.tgz#56f152ebcefb791dab86d2e6f1c296f8c1553644" - integrity sha512-lGP2HQ/1ThNnfoU8677aL48KsTx4Ht+2KQIn39dGpxVZqysQmovQIltbymVnAr4h8wofwcEz46iNHGa+PAyNzA== +web3-shh@2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-2.0.0-alpha.tgz#033d665962a308e68c25ead08b6501d6b5171773" + integrity sha512-GQIj1WCy33iTVcy5k2K6ZnGoGtbsLj9QL6wlguTy/4CZAsXUeE87YqcMIJi/m6/j7BfrlRJI1NjxrpZITUbw1A== dependencies: "@babel/runtime" "^7.3.1" - web3-core "1.0.0-beta.55" - web3-core-helpers "1.0.0-beta.55" - web3-core-method "1.0.0-beta.55" - web3-core-subscriptions "1.0.0-beta.55" - web3-net "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" - -web3-utils@1.0.0-beta.37: - version "1.0.0-beta.37" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.37.tgz#ab868a90fe5e649337e38bdaf72133fcbf4d414d" - integrity sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ== - dependencies: - bn.js "4.11.6" - eth-lib "0.1.27" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randomhex "0.1.5" - underscore "1.8.3" - utf8 "2.1.1" - -web3-utils@1.0.0-beta.55, web3-utils@^1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.55.tgz#beb40926b7c04208b752d36a9bc959d27a04b308" - integrity sha512-ASWqUi8gtWK02Tp8ZtcoAbHenMpQXNvHrakgzvqTNNZn26wgpv+Q4mdPi0KOR6ZgHFL8R/9b5BBoUTglS1WPpg== + web3-core "2.0.0-alpha" + web3-core-helpers "2.0.0-alpha" + web3-core-method "2.0.0-alpha" + web3-core-subscriptions "2.0.0-alpha" + web3-net "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-utils "2.0.0-alpha" + +web3-utils@2.0.0-alpha, web3-utils@^2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-2.0.0-alpha.tgz#2e8b91f4887380672a270f8045826d72b58c12a4" + integrity sha512-EXPxfLdezx9nyt3dO0O0a8Er1sOvVW+lELcwoBWa+A3HwGLyc09Re0Fer+yW/NUp9UGJ9pp45bHkYAZul8tWHw== dependencies: "@babel/runtime" "^7.3.1" "@types/bn.js" "^4.11.4" - "@types/node" "^10.12.18" + "@types/node" "^12.6.1" bn.js "4.11.8" eth-lib "0.2.8" ethjs-unit "^0.1.6" @@ -14285,20 +14176,20 @@ web3-utils@1.0.0-beta.55, web3-utils@^1.0.0-beta.55: randombytes "^2.1.0" utf8 "2.1.1" -web3@^1.0.0-beta.55: - version "1.0.0-beta.55" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.55.tgz#8845075129299da172c2eb41a748c8a87c2a2b5a" - integrity sha512-yJpwy4IUA3T/F9hWzYQVn0GbJCrAaZ0KTIO3iuqkhaYH0Y09KV7k4GzFi4hN7hT4cFTj4yIKaeVCwQ5kzvi2Vg== +web3@^2.0.0-alpha: + version "2.0.0-alpha" + resolved "https://registry.yarnpkg.com/web3/-/web3-2.0.0-alpha.tgz#564f3dfc316a1bc9f45558f077746ef2b5a4d7f5" + integrity sha512-2GEX6o7aM8eBL4Aiij5TN4ThjxXgUFf6ycxiouObnhiK1I15ztl4e28NjNq9pknZv8Ntx8QH0DvJlzxZTlTAng== dependencies: "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" - web3-core "1.0.0-beta.55" - web3-eth "1.0.0-beta.55" - web3-eth-personal "1.0.0-beta.55" - web3-net "1.0.0-beta.55" - web3-providers "1.0.0-beta.55" - web3-shh "1.0.0-beta.55" - web3-utils "1.0.0-beta.55" + "@types/node" "^12.6.1" + web3-core "2.0.0-alpha" + web3-eth "2.0.0-alpha" + web3-eth-personal "2.0.0-alpha" + web3-net "2.0.0-alpha" + web3-providers "2.0.0-alpha" + web3-shh "2.0.0-alpha" + web3-utils "2.0.0-alpha" webidl-conversions@^4.0.2: version "4.0.2" @@ -14431,15 +14322,6 @@ websocket@^1.0.28: typedarray-to-buffer "^3.1.5" yaeti "^0.0.6" -"websocket@git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible": - version "1.0.26" - resolved "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2" - dependencies: - debug "^2.2.0" - nan "^2.3.3" - typedarray-to-buffer "^3.1.2" - yaeti "^0.0.6" - whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -14708,15 +14590,6 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - ws@^5.1.1, ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" @@ -14768,7 +14641,7 @@ xhr2-cookies@1.1.0: dependencies: cookiejar "^2.1.1" -xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: +xhr@^2.0.4, xhr@^2.2.0: version "2.5.0" resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== From 09cdb9d6641ebde6d6354b8215688a3de7094065 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 14:40:58 +1000 Subject: [PATCH 010/117] Added map background using react-simple-maps --- src/components/darknodeMap/_darknodeMap.scss | 14 ++++ src/components/darknodeMap/darknodeMap.tsx | 72 ++++++++++++++++++++ src/components/darknodeMap/mapContainer.ts | 21 ++++++ src/components/darknodeMap/world-50m.json | 1 + 4 files changed, 108 insertions(+) create mode 100644 src/components/darknodeMap/_darknodeMap.scss create mode 100644 src/components/darknodeMap/darknodeMap.tsx create mode 100644 src/components/darknodeMap/mapContainer.ts create mode 100644 src/components/darknodeMap/world-50m.json diff --git a/src/components/darknodeMap/_darknodeMap.scss b/src/components/darknodeMap/_darknodeMap.scss new file mode 100644 index 00000000..b30c147e --- /dev/null +++ b/src/components/darknodeMap/_darknodeMap.scss @@ -0,0 +1,14 @@ +.map { + display: flex; + + .map--world { + width: 100%; + max-width: 980px; + margin: 0 auto; + } + + circle { + fill: #87C0FF; + filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); + } +} \ No newline at end of file diff --git a/src/components/darknodeMap/darknodeMap.tsx b/src/components/darknodeMap/darknodeMap.tsx new file mode 100644 index 00000000..6db144cc --- /dev/null +++ b/src/components/darknodeMap/darknodeMap.tsx @@ -0,0 +1,72 @@ +import React from "react"; +import { + ComposableMap, Geographies, Geography, Marker, Markers, ZoomableGroup, +} from "react-simple-maps"; +import { Link } from "react-router-dom"; + +import { MapContainer } from "./mapContainer"; +import MapJSON from "./world-50m.json"; + +export const DarknodeMap = () => { + const counter = MapContainer.useContainer(); + return ( +
    + + + + {(geographies, projection) => + geographies.map((geography: any, i) => + // Don't render Antarctica + (geography as { id: string }).id !== "ATA" && ( + + ))} + + + {counter.darknodes.map((darknode, i) => + + + + )} + + + +
    + ); +}; diff --git a/src/components/darknodeMap/mapContainer.ts b/src/components/darknodeMap/mapContainer.ts new file mode 100644 index 00000000..fadf085a --- /dev/null +++ b/src/components/darknodeMap/mapContainer.ts @@ -0,0 +1,21 @@ +import { useState } from "react"; +import { MarkerType } from "react-simple-maps"; +import { createContainer } from "unstated-next"; + +interface City extends MarkerType { + darknodeID: string; +} + +const sampleDarknodes: City[] = [ + { darknodeID: "8MJpA1rXYMPTeJoYjsFBHJcuYBe7zQ", coordinates: [2.1234, 48.1234] } +]; + +const useMapContainer = (initialState = 0) => { + const [count, setCount] = useState(initialState); + const [darknodes, setDarknodes] = useState(sampleDarknodes); + const decrement = () => { setCount(count - 1); }; + const increment = () => { setCount(count + 1); }; + return { count, decrement, increment, darknodes }; +}; + +export const MapContainer = createContainer(useMapContainer); diff --git a/src/components/darknodeMap/world-50m.json b/src/components/darknodeMap/world-50m.json new file mode 100644 index 00000000..ca92d9d4 --- /dev/null +++ b/src/components/darknodeMap/world-50m.json @@ -0,0 +1 @@ +{"arcs":[[[7080,7327],[-5,4],[-10,-10],[5,-6]],[[7070,7315],[-16,-12],[-9,5],[-28,-4],[-12,-6],[-1,-5],[-17,-18],[-11,-16],[6,-10],[6,-18],[-2,-15],[3,-8],[-18,-35],[4,-12],[-2,-18],[-7,-5],[-13,0],[-13,4],[3,-16],[6,-6],[-1,-9],[4,-9],[-12,-14],[-8,0],[-6,-18],[2,-7],[-6,-11],[2,-30],[-8,-17],[-6,-1],[-2,8],[-15,4],[-3,-8],[-14,-12],[6,-9],[-11,-7],[-13,6],[-7,-15],[-8,-7],[-3,-19],[2,-9],[-4,-35],[-32,-17],[-16,2],[-11,-11],[-14,6],[-30,-5],[-46,26]],[[6689,6902],[27,56],[1,10],[-4,21],[-24,7],[-1,9],[1,35],[-7,43],[0,9],[7,14],[1,9],[-10,5],[0,31],[11,8],[-5,13],[7,6],[5,26],[-1,11],[4,19]],[[6701,7234],[8,-10],[13,-1],[6,-7],[1,-9],[5,8],[5,-4],[13,13],[0,24],[9,0],[4,6],[20,11],[9,15],[0,16],[5,14],[-1,9],[9,8],[12,0],[4,16],[4,3],[15,-14],[5,2]],[[6847,7334],[14,2],[7,-12],[6,6],[8,-6]],[[6882,7324],[7,-15],[7,10],[15,9],[2,5],[10,-14],[5,7],[-2,13],[4,8],[21,2],[-3,18],[5,4],[12,26],[9,-2],[7,-9],[-1,-21],[6,3],[2,-8],[-3,-14],[-1,-35],[3,-12],[7,-4],[15,19],[9,1],[3,11],[14,14],[13,-2],[-1,-12],[14,8],[12,2],[7,-9]],[[5665,4557],[3,-32],[-3,-9],[0,-36],[2,-12],[-5,-22],[4,-12],[-56,0],[0,-182],[3,-21],[6,-7],[15,-33],[6,-7],[3,-10],[6,-7]],[[5649,4167],[-53,-21],[-11,4],[-8,-4],[-13,9],[-8,-3],[-17,2],[-5,4],[-10,0],[-7,9],[-5,14],[-52,0],[-66,0],[-7,-1],[-12,17],[-4,9],[-6,1],[-18,-16],[-15,4],[-6,-6]],[[5326,4189],[0,28],[2,-1],[-2,58],[7,9],[1,23],[6,24],[2,20],[0,23],[5,12],[0,26],[4,4],[8,20],[0,10],[6,12],[5,0],[8,20],[5,28],[-1,20],[2,29],[-2,15],[-7,15],[-8,46],[-7,29],[6,16],[6,7],[-1,21],[-3,9],[-10,48],[-2,4],[0,21],[-8,16],[-8,30],[16,4],[10,11]],[[5366,4846],[4,-2],[18,2],[12,-3],[21,2],[32,1],[7,-4],[4,-15],[0,-22],[3,-16],[3,-3],[0,-19],[10,-23],[0,-8],[9,-20],[7,4],[6,-4],[2,6],[33,0],[1,20],[4,12],[-2,8],[2,18],[21,0],[9,5],[-3,-22],[36,0],[1,-22],[-2,-20],[5,-23],[-4,-53],[1,-14],[6,-17],[3,-2],[4,-23],[0,-22],[-4,-9],[3,-18],[6,7],[13,-4],[14,9],[12,-3],[2,8]],[[5363,4916],[-7,-5],[-8,-18],[-1,-40],[-8,-2]],[[5339,4851],[-2,5],[2,14],[-6,24]],[[5333,4894],[10,23],[7,3],[4,10],[9,-14]],[[5582,7537],[-1,0]],[[5581,7537],[1,0]],[[5537,7617],[1,0]],[[5538,7617],[-1,0]],[[5557,7633],[4,-13],[7,-4],[3,-22]],[[5571,7594],[-4,-21],[6,-24]],[[5573,7549],[2,-10]],[[5575,7539],[6,-2]],[[5581,7537],[1,-1]],[[5582,7536],[0,0]],[[5582,7536],[0,-5]],[[5582,7531],[1,-5]],[[5583,7526],[0,0]],[[5583,7526],[-2,-13],[-5,-2],[-2,-17],[-11,-8],[3,-12],[-6,-8],[-5,3]],[[5555,7469],[-3,19],[-11,9],[-1,22],[-4,4],[4,16],[-1,29],[5,23],[-7,2]],[[5537,7593],[1,14]],[[5538,7607],[0,13]],[[5538,7620],[9,19],[3,-11],[7,5]],[[5553,8659],[10,-5],[-7,-11],[-10,6],[7,10]],[[5047,7630],[-7,-5],[-1,11]],[[5039,7636],[8,1],[0,-7]],[[6563,6637],[0,0]],[[6563,6659],[2,-2],[1,-36]],[[6566,6621],[-8,-14],[-3,13],[-6,-4],[-1,-38],[7,-9],[-11,-3],[-4,-6],[2,-9],[-10,-44],[0,-17]],[[6532,6490],[-2,-5],[-70,18],[-3,5],[-25,63],[0,9]],[[6432,6580],[6,-1],[0,-13],[12,-3],[10,11],[24,-2],[11,-4],[15,12],[6,14],[1,15],[11,12],[13,31],[11,13],[5,19]],[[6557,6684],[3,-2],[-1,-22],[4,-1]],[[6562,6642],[0,0]],[[3093,2021],[0,6]],[[3093,2027],[0,-6]],[[3093,2028],[0,123]],[[3093,2151],[10,-17],[-8,-15],[11,-6],[5,-17],[12,-13],[7,-13],[17,-13],[11,-14],[12,-7],[20,0],[-5,-16],[-18,1],[-11,-8],[-12,6],[-51,9]],[[3259,3902],[11,-14],[7,-29],[9,-17],[15,-17],[3,-11],[17,-13],[11,-1],[15,-18],[4,-9],[15,-17],[9,-5],[5,-8],[13,-5],[8,-20],[-6,-14],[-3,-19],[-8,-10],[-1,-25],[-3,-14],[-5,-4],[-5,-15],[4,-5],[13,1],[19,-8],[5,-5],[7,4],[5,-5],[6,3],[4,-8],[3,12],[5,5],[10,-9],[5,8],[-1,8],[6,12],[6,0],[11,18],[5,40],[0,22]],[[3483,3710],[5,-4],[6,7],[9,-9],[1,-17],[5,-14],[-2,-9],[0,-25],[-2,-17],[-13,-19],[-15,-5],[-6,-19],[-8,-4],[-6,-13],[-7,-5],[3,-10],[-6,-4],[-20,-39],[-2,-11],[-12,-25],[-5,-2],[-1,-10],[-8,-11]],[[3399,3445],[0,-7],[-7,-12],[2,-23],[-3,-20],[-5,-13],[3,-4],[-2,-14],[-4,-5],[3,-25],[-3,-8]],[[3383,3314],[2,-25],[-2,-12],[-6,0],[-4,-34],[5,-29],[-4,-14],[5,-12],[23,-21],[11,-25],[-7,-19],[0,-13],[7,-17],[12,-6],[1,-29],[-11,-30],[-13,-26],[-2,-16],[-27,-24],[-37,-16],[-27,-8],[-27,0],[-15,11],[3,-32],[5,-9],[-2,-21],[-4,3],[-1,-21],[-4,-5],[6,-17],[-2,-18],[-20,-16],[-21,0],[-26,20],[-8,2],[-4,-10],[5,-32],[-2,-24],[6,-16],[11,-4],[-4,-10],[13,0],[2,10],[-6,0],[14,11],[5,-13],[1,-17],[-3,-12],[-12,-5],[-3,16],[-13,5],[-9,-15],[19,-13],[-20,-17],[-8,-19],[3,-43],[-4,-11],[-9,-7],[0,-20],[-14,3],[-8,-5],[-1,-8],[-14,-5],[-9,-18],[0,-9],[-6,-9],[-2,-14],[7,-25],[7,-6],[8,-16],[6,-4],[17,0],[6,-6],[2,-20],[-5,-33],[-6,-2],[-12,-18],[-16,-14],[-3,-10],[-9,-10],[-6,-22],[2,-16],[-5,-18],[-5,-6],[-23,-14],[-5,-12],[-2,-21],[2,-24],[9,-34],[11,-24],[-3,-1]],[[3098,2168],[-15,10],[-26,10],[-55,1],[-4,12],[-11,13],[6,19],[-5,7],[5,13],[-2,14],[-13,1],[-11,-8],[-3,26],[-7,9],[2,22],[-3,11],[3,15],[9,1],[3,17],[12,10],[1,22],[7,7],[-1,15],[-5,7],[6,30],[8,13],[2,22],[8,9],[-3,32],[4,11],[-4,4],[0,15],[8,5],[5,13],[-8,17],[-14,5],[7,5],[17,3],[2,17],[-18,3],[-1,18],[5,7],[-4,14],[3,7],[-6,16],[5,9],[-11,7],[0,45],[3,8],[8,1],[-5,26],[2,43],[-3,11],[4,27],[5,21],[-2,18],[8,13],[0,25],[15,13],[-3,15],[-1,21],[-5,20],[3,35],[-2,24],[3,12],[10,4],[-1,8],[10,14],[-2,40],[-4,4],[6,6],[0,12],[9,39],[6,2],[-2,34],[3,18],[-9,9],[3,18],[-4,6],[0,16],[-5,12],[-2,14],[3,9],[-5,2],[-3,15],[1,24],[6,8],[0,13],[5,19],[7,8],[2,10],[-4,4],[2,16],[-4,31],[7,10],[1,26],[4,17],[13,33],[9,38],[6,-3],[8,7],[0,10],[-8,21],[0,10],[5,9],[-2,26],[-3,17],[2,15],[5,4],[-6,14],[2,14],[7,13],[25,20],[9,54],[-5,17]],[[3133,3869],[5,9],[0,8],[7,6],[2,12],[9,5],[4,19],[3,-2],[10,-17],[21,0],[12,-5],[6,-38],[3,20],[8,29],[32,1],[4,-14]],[[6265,7522],[0,0]],[[6249,7560],[2,-10],[15,-14],[-6,-16],[6,-11],[11,-10],[-3,-13],[-7,2],[15,-25],[9,-1],[-3,-13],[5,-7],[-5,-5],[3,-15]],[[6291,7422],[-10,-2]],[[6281,7420],[-4,23],[-7,7],[1,10],[-13,-1],[-8,14],[-7,-4]],[[6243,7469],[-8,16],[-12,1],[-11,7],[-3,20],[5,12],[-3,17],[-5,8]],[[6206,7550],[9,0],[11,7],[10,-3],[13,6]],[[6249,7546],[0,0]],[[6255,7542],[0,0]],[[488,408],[24,-7],[-48,-4],[-13,16],[37,-5]],[[542,484],[-90,7],[20,11],[65,-10],[5,-8]],[[3331,592],[8,-3],[-1,-57],[-23,-11],[-52,4],[-17,17],[-32,-10],[-67,20],[3,10],[19,-10],[115,3],[8,27],[39,10]],[[4135,588],[34,-2],[-10,-10],[-44,8],[-5,11],[25,-7]],[[3120,602],[25,-4],[35,-20],[-20,-7],[-40,31]],[[3137,618],[-11,-15],[-30,6],[41,9]],[[4054,618],[1,-6],[-76,3],[30,13],[45,-10]],[[547,618],[21,-9],[14,-23],[-47,-2],[-90,25],[-10,7],[5,17],[24,15],[25,0],[58,-30]],[[3143,666],[-58,-38],[-39,-36],[-31,3],[-10,10],[11,23],[23,11],[92,33],[12,-6]],[[9654,680],[-35,-8],[-8,14],[21,-7],[22,11],[0,-10]],[[3740,650],[1,-7],[44,2],[21,-39],[-7,-30],[-18,-1],[9,-11],[-158,-26],[-16,-9],[-121,-4],[1,17],[22,27],[26,-4],[60,37],[-13,14],[14,40],[31,33],[52,14],[37,-3],[38,-11],[19,-13],[-4,-20],[-38,-6]],[[9641,732],[63,-13],[-27,-10],[-42,-2],[-19,12],[25,13]],[[839,754],[14,-14],[-32,3],[-11,7],[29,4]],[[938,754],[-21,-7],[-2,12],[23,-5]],[[951,834],[16,-10],[-24,3],[8,7]],[[9561,885],[-8,-14],[-7,9],[15,5]],[[1342,903],[19,-12],[-6,-6],[-27,12],[14,6]],[[1458,897],[-1,-13],[-17,20],[18,-7]],[[1760,918],[-17,-8],[-3,7],[26,11],[-6,-10]],[[1680,914],[-12,3],[10,17],[17,-2],[-1,-10],[-14,-8]],[[1635,935],[17,0],[7,-14],[-23,-10],[0,-10],[-32,-4],[-22,7],[3,11],[15,12],[-27,3],[7,10],[55,-5]],[[4425,917],[9,-22],[-14,0],[-4,16],[-29,3],[20,7],[12,19],[11,1],[-5,-24]],[[9717,944],[-11,3],[8,14],[3,-17]],[[1498,961],[13,-7],[9,-16],[-11,-7],[29,6],[17,-9],[7,-11],[-6,-12],[-22,3],[-48,22],[0,8],[-19,7],[-3,16],[34,0]],[[2955,972],[-2,-10],[-13,0],[15,10]],[[2514,979],[-20,-5],[-4,5],[22,8],[2,-8]],[[2918,987],[18,-3],[-8,-40],[-36,14],[-7,10],[11,7],[18,0],[-19,10],[23,2]],[[2474,988],[-3,-19],[-14,-1],[6,17],[-10,16],[23,1],[-2,-14]],[[2365,999],[-10,3],[18,7],[-8,-10]],[[2270,1031],[14,-3],[-2,14],[10,0],[2,-17],[10,19],[19,1],[5,-10],[-23,-11],[8,-3],[27,11],[-6,-10],[13,-10],[-15,-1],[1,-9],[-72,2],[2,5],[-24,-1],[6,7],[-29,6],[-58,7],[6,10],[57,7],[8,-11],[7,7],[23,-12],[-13,13],[17,9],[15,-6],[-8,-14]],[[4919,1112],[8,-10],[14,1],[-17,-19],[-8,18],[-16,10],[19,0]],[[2947,1119],[8,-13],[-22,-10],[-48,-11],[-9,4],[2,12],[33,5],[9,12],[8,-13],[3,14],[16,0]],[[3313,1111],[-7,10],[11,1],[-4,-11]],[[4835,1126],[-5,-10],[-10,9],[15,1]],[[5082,1116],[-11,6],[19,4],[-8,-10]],[[4913,1121],[-10,0],[6,12],[12,3],[2,-14],[-10,-1]],[[7004,1113],[-10,3],[-5,16],[16,-11],[-1,-8]],[[5124,1122],[-12,11],[12,5],[0,-16]],[[5745,1129],[-22,0],[-2,11],[19,6],[5,-17]],[[5040,1146],[-7,-18],[-5,21],[12,-3]],[[2924,1165],[8,-12],[-12,-13],[-23,5],[-1,13],[8,7],[20,0]],[[5449,1148],[-17,8],[11,12],[19,-1],[-11,-8],[-2,-11]],[[3001,1170],[-23,2],[-6,7],[17,4],[12,-13]],[[3283,1179],[-6,-12],[-16,30],[11,2],[11,-20]],[[3055,1197],[19,-24],[1,-17],[16,-26],[11,-25],[3,-60],[-6,-23],[-20,-7],[-2,-10],[-40,-7],[-49,0],[-21,13],[10,8],[16,-3],[45,-2],[14,8],[-7,6],[-28,-9],[-18,10],[35,8],[1,5],[-31,0],[-14,17],[-11,-17],[-31,2],[10,-8],[-14,-9],[-38,14],[-1,15],[15,8],[16,-8],[-4,12],[9,4],[16,-13],[-4,14],[29,-2],[9,7],[-23,7],[10,6],[30,-6],[19,11],[20,0],[13,-11],[-2,16],[-35,7],[5,17],[24,8],[15,-4],[-18,14],[-20,-4],[-27,14],[7,34],[-10,5],[0,20],[45,10],[9,-7],[2,-18]],[[7385,1327],[-15,4],[8,9],[7,-13]],[[3111,1321],[9,-5],[-16,-13],[-8,-22],[-11,0],[-7,9],[22,44],[15,12],[5,-5],[-10,-11],[1,-9]],[[7686,1378],[4,-8],[-14,-2],[10,10]],[[3174,1408],[-3,-16],[-10,-2],[6,17],[7,1]],[[7805,1401],[-19,0],[-1,7],[12,10],[15,-7],[-7,-10]],[[7870,1413],[-16,19],[9,-2],[7,-17]],[[3410,1465],[-6,6],[14,7],[-8,-13]],[[3242,1481],[-2,-9],[14,-8],[-14,-12],[-26,3],[20,26],[8,0]],[[3270,1492],[2,-17],[-12,-8],[10,25]],[[3394,1508],[-2,-9],[20,-7],[-8,-17],[-7,6],[-7,-7],[-14,20],[5,8],[13,6]],[[3446,1521],[-9,7],[15,-2],[-6,-5]],[[0,324],[46,3],[68,-14],[19,8],[194,-14],[21,-11],[128,-2],[122,-11],[81,-3],[-58,13],[54,1],[-124,12],[-104,7],[24,11],[-55,17],[37,2],[-52,17],[-71,-3],[-37,23],[-127,27],[73,-2],[18,-14],[73,-4],[20,4],[70,-3],[6,-14],[50,10],[19,-11],[127,8],[18,9],[-44,5],[81,5],[16,14],[70,14],[-10,10],[-54,26],[31,11],[-19,10],[-74,13],[17,11],[109,6],[135,7],[0,5],[-77,24],[-11,11],[13,10],[43,-4],[46,10],[-17,11],[-75,12],[-55,17],[-3,5],[-68,8],[-43,21],[14,11],[48,6],[-2,14],[-71,-7],[-47,23],[14,18],[-3,26],[9,1],[24,-17],[21,17],[21,-5],[18,4],[38,-10],[-9,-10],[36,-3],[2,10],[72,-30],[30,16],[30,6],[-36,7],[7,14],[32,-17],[21,7],[13,-13],[27,0],[-16,13],[21,1],[-31,15],[29,-5],[-22,20],[-27,16],[-38,-3],[-33,3],[2,9],[28,4],[9,7],[69,-21],[6,8],[-27,13],[9,11],[56,6],[1,10],[41,4],[2,6],[19,-3],[9,-14],[18,0],[-10,14],[29,6],[16,14],[61,4],[30,-4],[-16,9],[4,14],[30,0],[11,11],[22,-4],[18,-16],[30,9],[58,-4],[20,-5],[64,13],[93,0],[8,-7],[45,3],[41,0],[59,10],[-3,10],[24,6],[6,-12],[33,-3],[51,6],[-7,21],[11,10],[21,0],[-9,-7],[19,2],[-8,-12],[4,-14],[15,3],[-18,-16],[-6,-21],[9,6],[46,8],[15,0],[-10,11],[0,20],[15,6],[35,-17],[-5,-19],[-34,-18],[4,-7],[45,4],[84,-10],[53,13],[28,-3],[14,4],[49,-4],[-3,-8],[20,-8],[70,13],[-27,6],[2,10],[-34,3],[17,7],[3,14],[-46,3],[5,11],[-7,15],[-33,5],[-4,20],[42,-4],[3,-6],[47,2],[-5,21],[-41,3],[-46,0],[-11,7],[-4,20],[11,7],[26,-4],[-17,-12],[21,-4],[33,4],[84,-1],[9,-7],[44,-11],[17,7],[24,-7],[21,8],[46,0],[33,-7],[16,10],[25,1],[6,10],[-10,17],[33,-4],[1,-10],[-15,-14],[9,-9],[30,6],[8,-11],[38,11],[5,-13],[28,-10],[20,2],[43,-19],[29,9],[-2,28],[24,-11],[-8,25],[28,-2],[24,-17],[-2,-16],[55,8],[5,-7],[-15,-14],[48,6],[7,5],[34,-5],[26,15],[57,12],[21,-2],[42,10],[35,16],[22,43],[-1,7],[-20,21],[-4,13],[6,23],[-15,38],[-15,16],[4,21],[-13,16],[15,0],[-1,7],[25,-14],[5,14],[11,6],[0,11],[-18,7],[14,5],[-5,17],[6,14],[-9,16],[12,3],[6,21],[-10,5],[-19,-1],[15,30],[6,0],[-2,-17],[15,-6],[1,26],[-4,14],[8,4],[14,-7],[5,34],[14,-2],[-5,11],[19,-4],[3,23],[16,1],[-5,27],[11,6],[16,-7],[-4,11],[20,14],[11,-3],[9,12],[10,1],[-1,10],[14,4],[-1,13],[30,14],[13,-2],[3,10],[12,2],[1,8],[21,4],[7,8],[13,6],[11,-3],[7,-20],[-10,-3],[-2,12],[-15,-12],[-10,0],[-15,-17],[-9,-22],[-9,-6],[-7,7],[-6,-6],[-19,-5],[-17,-29],[-20,3],[6,-10],[-18,-10],[9,-14],[-14,-14],[13,-19],[16,3],[0,10],[21,-2],[-16,-14],[-16,0],[-2,-16],[-5,16],[-19,-3],[1,-28],[-16,27],[-15,3],[-10,-29],[11,-10],[-9,-4],[-14,11],[-12,-15],[6,-16],[-15,-6],[-8,5],[-3,-33],[10,-6],[-12,-11],[21,6],[6,-6],[-20,-7],[14,-6],[-10,-7],[36,-17],[-2,17],[23,7],[-14,-17],[15,-6],[-5,-8],[14,-25],[14,-7],[-2,-21],[15,-13],[-1,-11],[-10,4],[5,-18],[22,1],[-16,-24],[20,4],[9,-21],[-5,-12],[-12,-1],[-14,-13],[14,-1],[11,10],[9,-8],[-7,-12],[-38,-3],[36,-14],[13,10],[0,-26],[-19,-2],[6,-18],[17,8],[-7,-24],[25,4],[-11,-19],[-9,8],[-3,-13],[-15,12],[-21,5],[13,-17],[21,-10],[-7,-23],[-21,5],[21,-13],[-23,-13],[31,7],[-9,-17],[-36,6],[17,-17],[-10,-13],[-13,-3],[-2,17],[-17,2],[6,-15],[-14,3],[-10,-10],[18,2],[7,-9],[-35,-4],[-2,-7],[33,-3],[-85,-34],[-52,-9],[4,-3],[-60,-13],[4,-11],[-17,-7],[-31,-1],[-20,4],[-46,0],[-31,8],[-64,0],[34,-42],[23,-15],[10,6],[66,-8],[-25,-26],[-38,-9],[-61,13],[-95,13],[-30,-6],[118,-34],[-9,-17],[-71,-7],[-61,21],[-37,30],[12,-23],[-13,-4],[17,-20],[42,-17],[17,-23],[18,-7],[2,20],[108,-4],[17,-13],[-20,-24],[-22,-3],[-62,0],[55,-10],[39,6],[24,-26],[-8,-7],[24,-16],[19,7],[38,-10],[7,13],[39,9],[21,-6],[9,-14],[46,-9],[89,-24],[77,-3],[-92,-8],[62,-5],[-2,-4],[-62,-1],[-6,-25],[26,-5],[52,8],[75,3],[-64,-17],[33,-33],[-6,-17],[66,-4],[49,30],[72,31],[52,14],[16,-1],[53,11],[65,5],[59,-2],[6,-17],[-17,-11],[31,-7],[67,24],[-2,10],[36,18],[9,16],[79,27],[42,-13],[34,10],[18,17],[53,0],[40,12],[42,-3],[-21,10],[37,0],[5,7],[153,6],[48,10],[-61,7],[-165,11],[31,17],[-27,0],[9,15],[-73,-12],[-96,23],[-5,14],[12,23],[11,3],[8,18],[24,0],[-7,12],[28,18],[34,10],[17,0],[5,10],[28,7],[15,13],[36,16],[52,10],[29,14],[48,10],[53,7],[31,-4],[22,14],[17,-6],[43,6],[-18,11],[29,26],[-3,10],[14,17],[24,3],[23,-7],[39,33],[-10,4],[-27,-10],[-22,3],[17,4],[-20,7],[1,13],[28,23],[18,3],[12,-9],[16,11],[-15,16],[29,-7],[14,11],[42,13],[3,19],[10,20],[-18,0],[-18,7],[-1,18],[16,2],[1,-9],[21,-10],[7,17],[16,9],[-12,10],[13,4],[3,-10],[22,-7],[10,-28],[15,7],[15,-5],[-4,9],[6,23],[-11,13],[13,5],[25,-7],[16,14],[13,-8],[-20,-29],[71,-3],[7,-9],[4,12],[18,3],[5,-6],[28,-5],[7,11],[12,-7],[-4,-14],[12,-9],[21,25],[13,8],[41,14],[105,20],[19,0],[28,7],[-5,17],[12,2],[-1,-17],[11,-3],[25,9],[-8,8],[9,9],[22,-23],[31,-14],[21,-5],[14,25],[18,7],[-16,10],[16,1],[8,-13],[22,-4],[22,3],[27,-4],[3,9],[17,3],[-3,-18],[45,-4],[11,1],[-6,11],[17,9],[11,-10],[-10,-23],[10,-10],[23,-1],[26,4],[3,13],[16,24],[24,-18],[-21,-6],[14,-7],[26,-5],[13,26],[15,-4],[0,-15],[27,-15],[31,-3],[35,17],[23,3],[38,21],[40,5],[38,11],[7,7],[2,33],[-12,13],[-1,13],[20,12],[28,0],[4,-8],[-21,-13],[24,-1],[20,-13],[-2,-23],[45,4],[8,-15],[7,9],[26,-1],[-5,-7],[19,-19],[2,12],[13,7],[-1,10],[15,4],[-2,32],[4,14],[26,6],[21,15],[28,4],[8,17],[32,8],[24,0],[-6,5],[34,13],[14,-6],[-2,23],[18,5],[14,-8],[-13,-7],[10,-3],[6,-12],[9,8],[16,-6],[-5,-17],[13,20],[-3,14],[16,5],[2,11],[-19,-3],[-6,13],[27,6],[-2,-9],[15,2],[0,-13],[11,8],[11,-7],[10,7],[-14,3],[10,16],[-16,1],[-1,12],[9,14],[23,4],[11,12],[30,4],[25,7],[40,-6],[19,-10],[15,-20],[11,3],[13,-8],[1,-9],[-36,3],[15,-8],[-11,-23],[1,-12],[7,13],[33,10],[23,-11],[12,1],[5,-20],[12,-4],[4,11],[24,0],[18,-7],[45,-7],[24,9],[30,-9],[45,-7],[48,-4],[9,-3],[35,8],[-1,-15],[14,-30],[-13,-3],[-7,-17],[13,0],[-16,-9],[12,-8],[0,-9],[-27,-3],[17,-14],[-13,-6],[9,-5],[-17,-12],[-13,18],[-18,-29],[13,-14],[34,8],[1,-21],[-15,-30],[-17,-8],[-5,-19],[-10,-7],[-6,-33],[-12,-36],[-15,-8],[25,-10],[22,10],[-3,26],[14,11],[34,3],[8,20],[20,6],[-6,7],[17,12],[14,3],[-11,7],[16,40],[17,7],[14,12],[-6,15],[22,23],[15,5],[8,-12],[28,6],[5,-7],[13,8],[-3,16],[35,18],[22,5],[7,21],[16,4],[-7,13],[9,12],[19,10],[73,24],[30,4],[13,-3],[-6,13],[29,18],[36,-4],[9,7],[18,0],[34,17],[8,-5],[14,4],[23,-4],[23,1],[19,14],[25,5],[12,-6],[34,1],[4,-10],[31,17],[11,-4],[8,-10],[13,6],[16,0],[16,6],[13,-10],[14,13],[9,0],[8,-26],[8,11],[13,3],[9,9],[27,7],[14,17],[0,7],[27,0],[8,6],[27,-9],[24,-3],[65,-22],[29,-6],[-3,-17],[12,13],[16,-19],[18,0],[29,17],[7,0],[-5,20],[13,14],[62,17],[35,-27],[-3,-15],[21,2],[16,-8],[3,-10],[-17,-16],[-31,-8],[-11,-15],[25,3],[22,10],[32,6],[13,10],[-3,-10],[19,3],[5,-6],[32,-1],[41,14],[0,-3],[-45,-17],[5,-7],[73,19],[18,14],[58,14],[13,-9],[11,6],[8,14],[14,6],[12,-14],[14,6],[-8,-12],[3,-11],[11,0],[0,-16],[28,6],[11,-7],[10,7],[6,-10],[11,13],[2,21],[16,19],[18,8],[28,-7],[30,4],[8,6],[19,-2],[13,-11],[-5,-11],[19,10],[11,0],[9,12],[4,-14],[13,7],[8,-8],[30,1],[20,-11],[35,-3],[12,-6],[28,-3],[10,-5],[20,3],[14,-13],[27,10],[12,-6],[-4,-11],[21,8],[5,-6],[-22,-38],[0,-10],[11,0],[26,23],[9,-10],[14,7],[14,-31],[13,5],[-8,-14],[8,-7],[23,3],[4,-6],[39,4],[35,-1],[10,4],[-1,-21],[16,-13],[0,14],[24,0],[17,-11],[23,7],[-5,24],[5,3],[24,-14],[2,-10],[16,-13],[14,-3],[17,-14],[19,3],[6,-10],[6,8],[17,-1],[45,-17],[14,-20],[-16,0],[28,-13],[19,-34],[-3,-13],[18,0],[2,34],[16,3],[22,-23],[21,2],[-3,7],[38,-3],[13,-6],[12,5],[13,-6],[-9,-6],[27,2],[18,-20],[10,-3],[48,-30],[2,21],[19,-31],[-5,-6],[-13,7],[-13,-34],[12,6],[-5,-17],[-39,15],[-11,-1],[16,-13],[29,-8],[-8,-19],[-20,-10],[-14,16],[-2,-13],[-32,1],[-12,5],[1,-16],[9,6],[23,-6],[-20,-4],[-5,-9],[-34,0],[9,-14],[-26,-1],[1,15],[-11,9],[-4,-20],[17,-14],[-15,0],[13,-30],[-24,1],[-20,-6],[-3,16],[-30,-30],[9,-7],[-5,-13],[-22,2],[-34,-12],[45,-1],[-4,-7],[21,-16],[-2,-16],[-18,-5],[18,-3],[4,-13],[-13,-11],[14,-5],[-14,-17],[18,0],[20,-30],[-7,-11],[27,-7],[-11,-20],[14,-7],[20,8],[12,-14],[36,-4],[-15,-13],[-12,9],[-47,-2],[-37,-7],[-14,-13],[-34,22],[20,-29],[-38,2],[-9,-8],[9,-14],[-23,-14],[27,3],[-37,-16],[52,-4],[-72,-17],[-6,-13],[61,6],[7,-8],[-35,-4],[40,-4],[-17,-13],[9,-23],[-22,5],[25,-20],[40,-9],[38,-31],[-89,-12],[59,-2],[53,8],[73,-27],[12,-14],[24,3],[-3,-20],[86,-9],[66,-23],[124,-12],[-9955,-15]],[[3456,1546],[12,-3],[-1,-9],[-17,4],[-19,-9],[3,13],[22,4]],[[3431,1556],[12,-2],[-6,-9],[-6,11]],[[3331,1581],[7,-5],[-12,-7],[-4,7],[-20,-3],[-1,6],[30,2]],[[3392,1616],[7,-6],[-33,-7],[10,13],[16,0]],[[3470,1665],[-6,-10],[-5,8],[11,2]],[[6916,2373],[5,-3],[-5,-12],[16,-14],[19,13],[7,-1],[-1,-15],[-9,1],[-11,-5],[2,-7],[13,1],[-1,-9],[-22,3],[-7,8],[-5,-13],[-8,4],[5,20],[-5,14],[1,12],[6,3]],[[9093,2685],[-7,-6],[5,12],[2,-6]],[[9020,2837],[14,-3],[13,-8],[2,-6],[17,-8],[24,13],[5,-4],[5,11],[5,-4],[4,9],[10,-13],[-1,-28],[1,-39],[-7,1],[-1,-22],[-4,-21],[3,-1],[0,-21],[-10,9],[6,10],[-14,1],[-4,-23],[-2,6],[-8,-26],[-9,6],[-14,-1],[-3,20],[-2,-6],[-4,15],[-7,9],[-6,24],[0,13],[9,-9],[-13,31],[-11,37],[-2,13],[4,15]],[[9121,2859],[-9,-6],[0,6],[9,0]],[[9109,2896],[9,-16],[1,-14],[-5,-2],[-11,22],[6,10]],[[9001,2876],[-5,-4],[-1,25],[7,3],[-1,-24]],[[8822,3134],[-1,-10],[12,1],[0,-11],[-11,1],[-5,-10],[-20,1],[-4,17],[21,11],[8,0]],[[9263,3604],[-1,-18],[-2,14],[3,4]],[[9261,3608],[-2,17],[3,2],[-1,-19]],[[8136,3714],[7,-36],[-7,19],[0,17]],[[9257,3758],[2,-20],[-10,-37],[1,32],[5,7],[-2,14],[4,4]],[[9195,3832],[5,-3],[0,-17],[-7,17],[2,3]],[[9061,4133],[3,-7],[-3,-7],[-4,13],[4,1]],[[8880,4236],[-7,-7],[0,-6],[-8,0],[1,8],[10,8],[4,-3]],[[8805,4285],[2,-15],[-4,8],[2,7]],[[8797,4395],[0,-9],[6,2],[-5,-8],[-1,-14],[6,-6],[-8,0],[-6,5],[-1,14],[9,16]],[[8621,4522],[5,-21],[-7,4],[-8,-2],[5,9],[-2,9],[6,10],[1,-9]],[[8624,4533],[6,-6],[14,10],[6,-2],[1,-21],[-14,-18],[-13,16],[-3,29],[3,-8]],[[8682,4547],[1,-13],[-4,6],[3,7]],[[8959,4566],[-1,-8],[6,-7],[3,-19],[0,-30],[10,-9],[-4,-20],[6,-4],[4,-11],[-2,-17],[5,2],[-1,-13],[3,-19],[-2,-19],[5,-20],[3,-22],[5,-2],[15,18],[4,-22],[18,-23],[-3,-12],[2,-6],[2,-37],[3,-8],[-2,-16],[6,-22],[9,-9],[-1,-11],[5,-19],[1,-16],[-3,-34],[9,-15],[-2,-17],[5,-14],[13,-15],[4,7],[2,-12],[8,0],[4,-6],[1,-14],[19,-12],[1,-10],[7,5],[3,-13],[4,1],[1,-10],[-4,-1],[-1,-10],[15,-24],[-1,-8],[8,-30],[0,-14],[3,-20],[8,-7],[5,-13],[-3,22],[4,5],[3,-9],[10,-13],[2,13],[6,-21],[-2,-15],[3,-36],[4,0],[4,-13],[5,-4],[6,-13],[6,3],[4,-6],[6,-27],[8,-7],[4,-25],[10,-6],[0,-27],[6,-16],[-2,-19],[4,-40],[-4,-3],[10,-41],[1,-17],[3,-4],[1,-40],[-7,-21],[-2,-39],[-7,-32],[0,-30],[-3,-28],[-5,-21],[-6,-11],[0,-23],[-13,-15],[-11,-20],[-6,-26],[-5,-3],[0,-26],[-9,-18],[-3,-27],[-4,-14],[2,-9],[-8,-7],[-9,-34],[0,-24],[-7,-34],[4,-21],[-2,-14],[-13,-16],[-33,-2],[-16,-10],[-10,-13],[-13,-24],[-19,-4],[3,-12],[4,7],[-2,-20],[-6,16],[-8,-3],[-4,16],[-3,-3],[-8,9],[5,8],[-2,9],[-6,0],[-1,-10],[-8,-5],[-6,8],[8,1],[3,17],[-6,10],[-15,-14],[10,-2],[-2,-8],[-6,0],[-10,-11],[-14,-22],[-32,28],[-5,-2],[-8,7],[-9,-1],[1,-6],[-8,1],[-4,13],[-14,5],[-10,11],[-3,13],[-13,23],[-3,18],[5,6],[0,13],[-9,34],[-14,26],[6,2],[3,10],[-4,3],[-21,-20],[-8,0],[-1,7],[9,12],[3,33],[-8,16],[-3,16],[-7,-13],[-1,-20],[-5,-23],[-7,4],[-15,-11],[3,23],[11,-3],[3,21],[-1,25],[4,17],[9,19],[-3,19],[6,4],[-8,34],[0,-26],[-3,2],[-6,-11],[-5,-27],[-25,-26],[-8,-24],[-4,-3],[-4,-16],[6,2],[0,-12],[-5,7],[-6,-5],[-6,18],[-1,21],[-3,17],[-11,20],[-4,27],[-12,0],[-2,13],[-4,1],[7,15],[-5,12],[-8,-5],[3,9],[-8,16],[-14,-5],[-10,14],[-7,1],[-9,-6],[-12,18],[-18,14],[-9,-7],[-18,2],[-33,-7],[-27,-23],[-20,-11],[-17,-2],[-14,5],[-18,-19],[-15,-10],[-2,-6],[-17,-8],[-4,-5],[-5,-28],[-7,-16],[-6,-7],[-4,3],[-6,-7],[-3,9],[-19,-3],[-8,-6],[0,8],[-14,3],[-20,-2],[-13,-6],[-16,-1],[-9,-16],[-2,-12],[-16,1],[-3,-11],[-7,-4],[-2,-11],[-20,-8],[-2,-5],[-12,7],[-18,-1],[-15,14],[-10,19],[-10,9],[-4,-3],[-4,15],[0,32],[6,-7],[7,3],[6,18],[-1,36],[3,8],[0,43],[-18,66],[-4,34],[1,32],[-5,22],[-7,17],[0,16],[-11,24],[-2,38],[-5,16],[-11,32],[-7,13],[5,14],[6,-26],[7,6],[0,9],[-9,14],[-4,27],[2,4],[7,-20],[-1,-17],[5,14],[2,-22],[7,-2],[0,30],[-5,13],[-6,26],[-4,4],[-3,21],[-5,16],[1,26],[4,22],[5,6],[0,24],[2,10],[-5,22],[3,7],[7,33],[4,4],[-2,-20],[1,-21],[7,4],[8,34],[23,20],[13,26],[21,22],[5,-3],[8,6],[7,-7],[12,7],[8,14],[17,3],[10,20],[12,-6],[7,6],[12,3],[16,11],[11,13],[9,25],[3,19],[4,4],[16,39],[-4,1],[-2,36],[3,14],[8,17],[6,3],[0,10],[7,12],[-1,-15],[5,-3],[0,-14],[12,-37],[-1,10],[3,13],[-2,11],[7,-10],[-3,24],[-6,5],[6,13],[-5,8],[5,2],[7,-7],[-1,9],[7,-9],[16,-1],[-10,3],[-1,9],[6,4],[1,18],[-4,-11],[-3,18],[1,9],[6,1],[3,9],[5,0],[4,-9],[1,10],[-6,3],[4,17],[11,-10],[0,9],[-8,16],[10,14],[3,-4],[7,6],[1,-11],[3,5],[4,26],[-5,5],[4,7],[3,-19],[9,16],[1,-16],[4,14],[4,0],[-3,11],[6,4],[4,-14],[9,1],[11,-28],[10,-16],[-3,-17],[0,-13],[4,-1],[-1,11],[5,14],[4,3],[12,-5],[9,-11],[-1,11],[7,-5],[3,-14],[4,1],[-3,18],[5,-1],[-6,15],[-7,11],[4,20],[7,4],[1,18],[4,9],[11,12],[-5,9],[0,14],[6,2],[0,12],[6,6],[2,11],[7,-14],[0,17],[4,-2],[-1,12],[9,5],[3,-13],[13,4],[4,-5],[9,5],[7,9],[2,24],[-7,12],[-9,-5],[-5,12],[-5,0],[7,11],[10,-1],[9,-21],[6,10],[7,-21],[14,-7],[4,6],[4,-11],[3,4],[4,-12],[6,-1],[8,7],[11,-18],[13,11],[6,2],[-4,-8],[2,-6],[5,7],[5,-5],[-2,-11],[7,-1],[3,14],[-5,3],[10,9],[4,-17],[3,7],[4,-11],[-12,-28],[4,-6],[-9,-21],[0,9],[-5,-6],[0,8],[-7,-9],[0,-26],[4,3],[-4,-29],[-3,-3],[-7,-24],[-4,-4],[2,-13],[22,-27],[0,-8],[10,-11],[4,-9],[7,1],[10,-14],[10,-7],[9,-21],[7,-8],[20,-9],[4,-7],[1,-15],[22,-24],[14,4],[10,13],[3,24],[7,18],[3,26],[3,9],[-2,9],[3,25],[5,20],[-4,40],[3,16],[-4,13],[1,21],[5,21],[-2,18],[6,14],[-2,11],[-5,-4],[6,28],[6,1],[-2,8],[6,41],[0,14],[5,2],[6,11]],[[5470,7982],[-2,-9],[5,-23],[3,-3]],[[5476,7947],[-3,-17],[-12,3],[-6,-6],[7,-3],[-5,-12],[-1,-22],[-9,-9]],[[5447,7881],[-19,-12],[-16,-2],[-9,-14],[-23,9]],[[5380,7862],[-32,7],[-12,17],[2,7],[-12,-5],[-17,-1],[-4,-11],[-15,6]],[[5290,7882],[-2,7],[-6,-8],[-16,12]],[[5266,7893],[-2,12]],[[5264,7905],[1,14]],[[5265,7919],[4,2]],[[5269,7921],[7,0],[8,-16],[6,15],[12,-1],[2,-7],[9,1],[9,10],[32,4],[6,-11],[3,9],[-5,5],[1,13],[-6,9],[4,7],[12,5],[4,16],[7,-3],[3,13]],[[5383,7990],[7,-9],[18,0],[7,11],[0,12],[11,-1],[20,-13],[10,3],[13,-6],[1,-5]],[[6281,7420],[-19,8],[-9,14],[-9,24]],[[6244,7466],[-1,3]],[[6289,7594],[9,-6],[11,-12],[5,-17],[16,-3],[5,15],[9,6],[5,16]],[[6349,7593],[15,-31],[1,-11],[10,-28],[15,-3],[8,-10],[-11,-3],[-13,-11],[0,-11],[-6,-28],[4,-11],[-5,0],[-1,-17],[-7,10],[-2,-43]],[[6357,7396],[-7,-2],[-6,12],[-11,12],[1,8],[7,2],[-5,18],[6,7],[-10,16],[-4,-1],[-26,-29],[-11,-17]],[[6249,7560],[8,10],[13,-8],[8,-9],[6,1],[6,-8],[4,3],[1,15],[-10,9],[-3,13],[7,8]],[[5848,5045],[-4,-15],[2,-14],[9,-5],[0,-17],[-9,-13],[-9,-34],[-11,-21],[-3,1]],[[5823,4927],[-9,39],[1,21],[-4,4]],[[5811,4991],[0,18],[-4,5],[-2,12]],[[5805,5026],[4,7],[5,-4],[0,-9],[11,1],[5,7],[1,21],[6,-6],[7,7],[4,-5]],[[5166,8104],[10,-14],[1,-10],[-8,-11]],[[5169,8069],[-7,-3],[-4,-16],[2,-14]],[[5160,8036],[-9,-3],[-4,10],[-13,7],[-1,21],[-9,-13],[-10,3],[2,15],[-5,5],[-10,0],[0,6],[-11,5],[-4,15],[-7,-6],[-7,8],[-2,15]],[[5070,8124],[16,14],[7,3]],[[5093,8141],[0,-6],[16,-3],[8,9]],[[5117,8141],[1,0]],[[5118,8141],[3,3],[16,-1],[7,-8],[9,0],[9,-11],[-6,-13],[10,-7]],[[5099,5856],[-3,-17],[7,-16],[0,-19],[3,-5],[-1,-16],[-5,0],[1,-14],[-3,-18],[-6,-3],[0,-9],[-5,-12],[-2,-20],[-8,-4],[-2,-15],[0,-41],[-1,-12],[2,-25],[1,-42],[-2,-18]],[[5075,5550],[-31,-9]],[[5044,5541],[5,3],[-5,18],[1,24],[0,73],[-1,5],[0,43],[-6,13],[-1,37],[-16,23],[0,19],[4,17]],[[5025,5816],[5,3],[1,13],[4,-1],[3,11],[6,-3],[11,2],[8,13],[3,14]],[[5066,5868],[-1,19],[14,10],[10,-21],[2,-8],[6,-4],[2,-8]],[[5006,6041],[-2,-21],[6,-16],[-1,-9],[7,-24],[5,0],[7,-13],[7,-7],[-9,-1],[0,-15],[6,-6],[11,-19],[8,-1],[3,7],[5,-3],[3,-15],[-6,-4],[10,-26]],[[5025,5816],[-12,0],[-18,8]],[[4995,5824],[-8,-3],[-5,-10],[-2,5],[-59,0],[-3,-22],[3,-11],[2,-25],[0,-24],[2,-5]],[[4925,5729],[-4,-4],[-10,24],[-6,5],[-10,1],[-11,-7],[-4,-11],[-11,3],[-4,12],[-3,-1],[-4,24],[-9,1],[-3,7]],[[4846,5783],[3,24],[-2,14],[6,9],[1,19],[-4,14],[8,10],[9,1],[10,18],[-1,24],[6,0],[0,14],[-3,11],[10,13],[15,-13],[5,7],[0,25],[6,-5],[5,21],[11,16],[12,-6],[1,16],[8,3],[11,13],[8,5],[8,15],[8,-4],[8,2],[11,-8]],[[7529,6456],[0,16],[3,-11],[-3,-5]],[[7521,6458],[-5,-7],[2,29],[-4,4],[3,11],[6,-20],[-2,-17]],[[7571,6448],[0,-29],[2,-10],[-12,7],[1,-20]],[[7562,6396],[1,-15],[-7,20],[-1,27],[-3,9],[-2,29],[-11,31],[-5,-14],[-9,0],[-8,26],[1,14],[-4,6],[-9,4],[11,-11],[-4,-10],[2,-12],[-3,-8],[5,-13],[-2,-18],[-6,-9],[-1,-11],[-7,1],[1,7],[-5,6],[-2,-15],[-12,-7],[0,14],[-4,-18],[-4,10],[-1,18]],[[7473,6457],[-6,48],[2,14],[-7,2],[3,13],[-6,8],[0,11],[5,8],[0,22],[-7,0],[-11,12],[-2,7],[4,12],[5,1],[3,18],[13,-1],[-3,18],[-8,1],[-3,11],[-9,14],[2,12],[5,4],[4,14],[5,-9],[11,-3],[7,-14],[7,-2],[2,15],[6,-18],[-2,-4],[1,-32],[15,-8],[23,2],[7,-3],[18,3],[11,-14],[-6,-2],[-5,-31],[-5,-2],[0,-9],[-8,2],[0,-6],[-7,0],[-7,-21],[2,-14],[9,-30],[7,5],[0,15],[5,8],[-1,11],[5,4],[8,-22],[0,-25],[3,-12],[3,-42]],[[5793,7702],[0,-17],[-11,-3],[-6,-14],[-2,-26],[-4,1],[-8,-16],[5,1],[11,-28]],[[5778,7600],[-13,-4],[-6,9],[-21,-5],[-7,-15]],[[5731,7585],[-8,0],[2,-21],[-25,-7],[-9,10],[-8,1],[-2,6],[-14,0],[-8,-7],[-13,0],[-10,-4]],[[5636,7563],[3,22],[-5,18],[-9,5],[-5,11]],[[5620,7619],[5,6],[-3,23],[9,5],[7,17],[-13,15],[-4,15],[1,17],[8,13]],[[5630,7730],[9,-8],[-4,-15],[17,3],[18,-8],[10,3],[21,-5],[4,-4],[11,5],[9,16],[25,10],[10,-10],[15,-2],[8,-13],[10,0]],[[6402,6694],[3,0],[0,-24],[-4,8],[1,16]],[[2971,6401],[-3,-10],[-15,-3],[-1,6],[9,10],[4,-4],[6,12],[0,-11]],[[2969,6475],[8,-3],[-7,-3],[-1,6]],[[2948,6491],[0,-14],[-5,9],[5,5]],[[2889,6546],[9,-13],[-10,9],[1,4]],[[2908,6546],[6,-21],[0,-8],[7,-10],[0,-8],[-7,15],[-1,14],[-5,18]],[[2840,6572],[6,0],[0,-20],[-8,5],[-3,13],[5,2]],[[2908,6577],[-3,0],[-4,16],[7,-16]],[[2830,6632],[3,0],[8,-40],[-8,-11],[-10,14],[7,37]],[[2869,6655],[0,-4],[16,-20],[-1,-29],[-2,7],[3,17],[-6,14],[-11,8],[1,7]],[[2819,6722],[15,-4],[-21,-5],[6,9]],[[2839,6733],[5,0],[16,-25],[0,-11],[-4,-3],[0,-19],[-6,5],[4,8],[0,18],[-8,23],[-7,4]],[[5528,7765],[9,0],[-7,-29],[14,-17],[-10,-5],[7,-13],[-1,-8],[-7,-3]],[[5533,7690],[-8,-3],[0,-8],[-7,-6],[-1,-13],[-4,0],[-1,-26]],[[5512,7634],[-22,19]],[[5490,7653],[-2,3]],[[5488,7656],[0,8],[-35,57],[-8,32],[-7,3],[0,29],[6,2],[10,-12],[3,10],[9,-1],[4,7],[4,-7],[22,-6],[4,4],[19,-3],[2,-11],[7,-3]],[[5781,8416],[4,-6],[9,3],[3,-8],[9,4],[11,-6],[1,-13],[12,9],[16,-3],[11,-11],[-2,-19],[6,-15],[-7,-13],[11,-10],[-3,-7],[7,-14],[15,-15],[-3,-11],[10,1],[11,-9],[6,-11],[-15,-22],[-22,5],[-4,-9],[8,-10],[2,-30],[5,-13]],[[5882,8183],[-23,-2],[-12,-29],[3,-14],[-7,-1],[-6,11],[-15,-1],[-9,-6],[-5,14],[-13,-11],[-11,13],[-16,-10],[1,7],[-13,0],[-1,7],[-21,5],[-10,6],[-28,2],[-19,-4],[-11,-18],[-11,3],[0,-5]],[[5655,8150],[0,34],[-12,10],[6,13],[15,11],[0,18],[-7,25],[-5,28]],[[5652,8289],[20,1],[5,-4],[12,5],[-1,7],[19,11],[1,-8],[8,6],[-7,3],[9,37],[8,1],[3,10],[9,-1],[6,10],[-8,1],[2,20]],[[5738,8388],[11,10],[17,-2],[8,17],[7,3]],[[2547,6247],[-3,-6],[9,0],[-1,-18],[-5,-28],[4,-4],[-4,-10],[2,-16],[-2,-24],[-7,-21],[-5,-2],[-5,-20]],[[2530,6098],[-9,0],[2,51],[0,60]],[[2523,6209],[4,10],[4,-6],[9,26],[0,6],[7,2]],[[3084,4249],[-4,-1]],[[3080,4248],[4,1]],[[3384,4022],[-1,21],[-24,29],[-24,0],[-51,-22],[-4,-23],[-10,-28],[0,-29],[-8,-54],[-3,-14]],[[3133,3869],[-10,-5],[-9,4],[1,16],[-3,11],[0,16],[-4,7],[-3,23],[0,15],[-6,20],[-4,2],[2,18],[-6,6],[1,10],[-3,14],[6,2],[1,8],[-5,11],[7,16],[-13,23],[-3,34],[-3,18],[2,6],[-7,5],[0,8],[-5,18]],[[3069,4175],[-4,17],[7,8],[10,30]],[[3082,4230],[5,-3],[-1,11],[8,5],[0,6],[-7,0],[-1,9],[4,4],[-7,3],[0,7],[-10,17]],[[3073,4289],[6,16],[-7,15],[6,28],[5,6],[3,20],[-6,22],[4,8],[-1,36],[7,11],[2,12],[-16,55],[-9,34]],[[3067,4552],[23,-3],[-1,-8],[10,6],[9,20],[11,3],[11,19],[7,3],[11,20],[19,8],[7,1],[4,-5],[5,9],[3,-32],[-4,-13],[3,-21],[-2,-18],[2,-19],[3,-2],[1,-14],[4,-2],[1,-12],[5,-1],[4,-10],[6,-4],[1,-11],[13,-4],[4,4],[10,-7],[4,-8],[5,4],[9,-20],[4,1],[8,-10],[7,0],[0,-6],[8,-17],[22,4],[18,-27],[-2,-20],[5,-18],[1,-28],[-9,-1],[9,-20],[3,-47],[47,-4],[3,3],[0,-13],[-4,-8],[2,-34],[11,-15],[6,-1],[0,-8],[6,-27],[0,-10],[-6,-46],[-9,-38],[7,-13],[-8,-10]],[[3651,3581],[1,22],[3,0],[-4,-22]],[[3650,3661],[-4,8],[6,7],[-2,-15]],[[3919,4412],[0,-16],[-4,16],[4,0]],[[3660,5124],[-3,3],[4,9],[-1,-12]],[[3588,5149],[0,-7],[-8,-7],[1,9],[7,5]],[[3577,5151],[2,-5],[-4,-19],[-3,-11],[-15,-19],[0,13],[7,10],[0,14],[2,11],[8,8],[3,-2]],[[3573,5156],[5,19],[0,-10],[-5,-9]],[[3608,5175],[11,-6],[9,5],[27,-7],[-2,-14],[-1,-20],[-4,-14],[-5,-5],[0,-14],[-7,-5],[-3,7],[0,-11],[-9,1],[-6,-12],[-14,3],[-4,-6],[-5,2],[-7,28],[1,13],[6,-5],[1,8],[-7,-1],[0,23],[2,17],[4,10],[5,5],[8,-2]],[[3586,5165],[-4,4],[1,13],[7,3],[2,-9],[-6,-11]],[[3625,5187],[3,-5],[-2,-7],[-11,2],[10,10]],[[3599,5183],[-5,0],[-2,9],[6,-1],[1,-8]],[[3624,5200],[-6,-5],[-3,-12],[-14,0],[-1,12],[8,1],[15,9],[1,-5]],[[3600,5213],[1,-14],[-2,-7],[0,23],[1,-2]],[[3609,5216],[-6,-13],[1,14],[5,-1]],[[3608,5236],[0,-10],[-5,0],[5,10]],[[3600,5305],[1,-11],[-5,4],[4,7]],[[3431,5295],[13,-7],[2,14],[-6,10],[5,17],[6,-8],[11,2],[0,4],[10,2],[8,-5],[3,-7]],[[3483,5317],[3,-7],[8,-3],[7,3],[6,9],[5,-7],[6,5],[9,-9],[9,11],[8,31],[1,14],[4,7],[15,44]],[[3564,5415],[5,24],[8,-16],[1,-21],[3,4],[-1,-29],[3,-31],[7,-22],[1,-18],[6,-18],[13,-4],[4,-8],[0,-19],[-7,-4],[7,-3],[-11,-17],[-5,-12],[-4,-17],[-5,-11],[-5,-1],[-9,-17],[-4,-19],[-8,-19],[0,-14],[-7,-8],[-1,-13],[-6,4],[-14,-13],[13,2],[0,-10],[9,7],[7,10],[11,11],[13,17],[-5,-12],[5,-5],[0,-14],[4,-9],[0,-11],[7,-14],[4,9],[6,4],[5,-7],[12,10],[1,-7],[-5,-41],[2,-2],[8,40],[7,18],[2,-8],[8,21],[3,-12],[1,19],[4,-2],[4,16],[1,15],[5,0],[5,12],[2,-11],[4,10],[11,-7],[19,-9],[0,-10],[7,-6],[8,5],[1,-7],[10,-9],[1,-8],[6,9],[-2,-11],[1,-13],[3,11],[5,4],[10,-14],[-3,-5],[6,-1],[3,-8],[-5,-16],[5,5],[3,-14],[-4,0],[-5,-36],[2,-9],[6,14],[1,23],[8,8],[1,-9],[-7,-12],[7,-2],[2,14],[9,4],[6,-4],[-1,12],[4,0],[18,-13],[6,-11],[15,-5],[3,6],[5,-9],[29,4],[3,2],[14,-3],[25,-31],[3,-1],[8,-15],[5,-2],[11,-27],[14,-26],[9,-6],[4,-12],[6,-1],[6,-8],[16,-1],[5,3],[13,-6],[4,-13],[9,-57],[1,-24],[5,-21],[-1,-53],[-7,-40],[-7,-25],[-10,-27],[-3,5],[-2,-16],[-12,-24],[-3,-13],[-10,-10],[-5,-9],[-11,-37],[-15,-52],[-13,-34],[-5,0],[0,14],[-4,9],[-4,-16],[0,-17],[-4,-7],[0,-27],[-2,-5],[2,-28],[-3,-20],[2,-9],[0,-24],[2,-28],[2,-6],[-4,-25],[-6,-53],[1,-31],[-2,-9],[-7,-8],[-7,-30],[2,-51],[-3,-13],[-6,-6],[-9,-44],[-13,-31],[-8,-25],[4,-27],[-5,-10],[-12,-7],[-13,-20],[0,-21],[-17,1],[-11,-3],[0,18],[-7,-5],[2,-13],[-22,-7],[10,7],[-9,3],[-8,-7],[-2,7],[-9,-7],[1,-17],[-10,-3],[-2,-6],[-10,-7],[-1,-11],[-12,4],[-8,-7],[-1,-7],[-11,-6],[-11,-13],[-5,-12],[-10,-9],[-10,-15],[-1,-15],[-8,-7],[-6,4],[1,-17],[-4,-17],[-1,-19],[-5,-6],[4,-6],[-3,-16],[3,-6],[2,-32],[-2,-52],[-4,-17],[-17,-23],[-5,-12],[-14,-39],[-8,-37],[-10,-34],[-12,-25],[-22,-27],[-3,-9],[0,17],[5,-4],[11,20],[5,3],[4,11],[-1,12],[5,1],[0,10],[9,9],[-1,22],[4,-6],[1,12],[-12,-4],[-9,8],[3,-7],[-6,-21],[-1,-24],[-6,-10],[-9,-4],[-3,-21],[-4,-3],[-1,-14],[5,-10],[-5,-7],[-6,-30],[-7,-26],[-18,-28]],[[3517,3240],[-4,10]],[[3513,3250],[2,1],[1,23],[5,4],[2,13],[5,6],[5,-10],[6,18],[-4,16],[-12,-19]],[[3523,3302],[-11,11],[-5,23],[-15,14],[-9,21],[-8,3],[-4,8],[-7,3],[-2,10],[-8,11],[-6,-13],[-4,0],[0,16],[-23,40],[-7,0],[-2,-8],[-11,-2],[-2,6]],[[3483,3710],[0,8]],[[3483,3718],[5,3],[0,26],[4,16],[0,34]],[[3492,3797],[-9,15],[-10,-10],[-13,1],[-3,21],[1,11],[-4,23],[1,21],[-7,19],[-9,1],[-6,12],[-12,-10],[-31,8],[0,36],[3,16],[-9,61]],[[3067,4552],[-11,2],[-7,-8],[-12,3],[0,41],[1,29],[2,20],[-10,-14],[-2,-7],[-9,-11],[-25,0],[-3,27],[-14,7],[-11,0],[7,16],[0,8],[-6,17],[-4,2],[-1,11],[-5,6],[-2,15],[-5,9],[2,9],[-8,14],[1,11],[7,2],[-3,13],[2,13],[11,17],[5,3],[1,12],[-3,14],[8,24],[1,30],[14,14],[14,21],[17,5],[10,6],[5,11],[9,1],[3,-6],[10,-5],[0,5]],[[3056,4939],[6,58],[0,9],[5,46],[0,10],[5,54],[-4,13],[-2,24],[-13,21],[1,42],[12,4],[3,5],[10,-6],[-2,21],[-4,4],[-14,0],[0,37],[8,4],[5,-3],[34,0],[-1,16],[7,-15],[5,4],[9,19],[4,-5],[7,-29],[-1,-21],[6,2]],[[3142,5253],[11,-21],[10,-7],[10,14],[6,-1],[-1,-17],[11,17],[1,10],[11,6],[10,16],[0,-8],[9,16],[0,14],[19,16],[1,14],[-20,4],[2,15],[-6,20],[0,30],[-13,22],[-4,12],[2,5],[4,-10],[12,0],[4,-14],[10,4],[4,-5],[4,7],[4,-5],[7,-18],[7,5],[-1,20],[6,1],[4,9],[7,-6],[18,12],[0,6],[16,10],[10,22],[-2,13],[-3,1]],[[3312,5482],[11,0],[3,4],[8,-12],[-3,-33],[6,0],[5,-8],[-2,-8],[4,-14],[0,-10],[-7,-12],[1,-13],[-4,-17],[-1,-22],[2,-17],[5,-5],[0,-26],[6,-8],[8,-19],[8,-4],[4,-7],[8,5],[0,10],[5,9],[9,-5],[6,11],[7,0],[3,11],[9,7],[9,-8],[9,4]],[[3347,5935],[-4,3],[0,13],[6,-10],[-2,-6]],[[8198,5465],[5,-34],[-7,5],[-2,24]],[[8194,5460],[4,5]],[[8166,5448],[6,-1],[7,5],[7,12],[9,10],[-2,-10]],[[8193,5464],[-7,-9],[2,-17],[0,-14],[-7,-10],[-7,23],[-8,11]],[[7545,6781],[-2,-8],[5,-11],[6,3],[3,-10],[-3,-11],[3,-13],[-5,-4],[-33,-3],[-10,8],[-6,-9],[-11,-3],[-12,9],[-6,-2],[-7,7],[-3,12],[4,10]],[[7468,6756],[3,13],[13,29],[11,14],[12,3],[0,-5],[9,-1],[-4,-10],[18,-5],[5,6],[10,-8],[0,-11]],[[5701,4158],[-1,-8],[8,-27],[7,-13],[6,-21],[4,-29],[8,-13],[14,-17],[7,-3],[3,-9],[0,-15],[12,-1],[-1,-34],[6,-12],[3,-15],[18,-5],[12,-10],[1,-14],[7,-7]],[[5815,3905],[-9,-3],[-3,-13],[-8,-7],[-12,-4],[-12,-27],[-5,-6],[-2,-10],[-11,-7],[-4,-13],[-5,-31],[-8,-10],[-3,-10],[-15,-6],[0,-10],[-8,-41],[-5,-7],[-10,1],[-4,-5],[-17,5],[-10,6],[-13,20],[-7,1],[-7,-5],[-6,-23],[0,-14],[-6,-13],[-8,-7],[-6,-18],[-7,-2],[-2,-10],[-15,0],[-15,4],[0,21],[5,11],[0,19],[-4,13],[-1,14],[-10,29],[-8,10]],[[5554,3757],[0,159],[28,0],[0,212],[23,4],[21,9],[21,5],[9,-27],[15,26],[7,4],[4,-6],[7,13],[12,2]],[[5634,5812],[4,-14],[8,-14],[10,-31],[1,-16],[-1,-21],[-5,-6],[3,-9],[-2,-17],[19,-1]],[[5671,5683],[2,-7],[-4,-11],[3,-6],[16,-5],[8,-17],[5,-3],[1,-11],[-4,-4],[6,-14],[18,-19],[2,-10],[8,-10],[-2,-16],[8,-21],[6,-2],[13,-23],[-1,-15],[6,-14]],[[5762,5475],[-12,7],[-4,-8],[-10,-1],[-12,12],[-6,-3],[-11,9],[-4,-5],[0,-13],[-18,-7],[-5,11],[-6,-10],[-27,-19],[-12,12],[-9,-34],[-3,-5],[-23,9],[-2,-3],[-20,12],[-7,-2],[-6,20],[-13,14],[-3,7],[-10,1],[-17,-34],[-1,-7],[-6,-3],[2,-12],[-1,-27],[1,-13]],[[5517,5383],[-4,9],[-11,-4],[-16,7],[-8,-6],[-15,-2],[-4,-7],[-3,-27],[1,-7],[-8,-34]],[[5449,5312],[-2,8],[0,26],[-4,13],[-5,3],[-15,32],[-6,21],[4,1],[-3,14],[-10,19],[-1,31],[-4,6],[2,8],[1,27],[-7,10],[10,13],[5,24],[3,4],[6,30],[6,14]],[[5429,5616],[9,-4],[7,8],[10,5],[4,11],[2,-12],[5,-7],[23,26],[7,-2],[5,4],[15,1],[15,36],[-6,7],[0,8],[5,5],[17,0],[10,7],[9,-1],[4,12],[8,5],[5,19],[13,24],[5,4],[3,10],[-1,14],[8,5],[0,5],[14,9],[9,-3]],[[2957,7804],[-12,-5],[13,16],[-1,-11]],[[2699,7829],[2,-7],[13,9],[3,-9],[5,9],[9,-4],[2,-11],[-7,-12],[-23,15],[-15,6],[11,4]],[[2665,7849],[6,-2],[-2,-11],[-4,13]],[[3319,7889],[6,-10],[-2,-13],[-7,-22],[5,3],[-19,-34],[10,5],[9,11],[-10,0],[12,21],[4,-8],[11,0],[-7,-23],[-16,-12],[-6,3],[-13,-5],[-5,21],[1,13],[6,7],[10,30],[7,14],[4,-1]],[[3221,7879],[6,-21],[3,6],[12,-8],[33,3],[3,-3],[-17,-10],[4,-13],[-11,-3],[-2,12],[-19,2],[-4,11],[-11,0],[2,14],[-9,-1],[4,16],[7,9],[-1,-14]],[[3503,7956],[10,3],[-1,-7],[-9,4]],[[2562,7993],[-9,-6],[0,8],[9,-2]],[[2924,7774],[20,14],[8,11],[6,0],[2,17],[7,17],[14,11],[5,9],[17,17],[5,-2],[32,22],[14,22],[0,4],[14,20],[0,5],[16,23],[21,20],[44,28],[28,8],[18,-3],[10,-5],[11,-14],[1,-8],[-11,8],[11,-15],[-4,-13],[-11,-4],[-1,-6],[-18,-13],[-16,11],[-3,-5],[-11,0],[18,-11],[9,-15],[8,9],[12,0],[3,-6],[-7,-14],[-1,-10],[-11,-13],[16,0],[-3,-15],[11,-32],[20,-8],[-8,-6],[7,-7],[10,0],[4,-9],[5,5],[24,-6],[10,10],[5,-15],[7,3],[7,-12],[-7,-5],[14,-3],[-1,-4],[-18,-7],[0,-3],[-32,-21],[-9,4],[-4,-9],[-8,1],[1,-9],[-11,0],[1,10],[-9,-5],[-4,-8],[2,-10],[-6,-5],[-8,-19],[-9,-10],[-6,1],[-9,-11],[-5,14],[-9,5],[-1,14],[7,29],[21,24],[22,18],[1,-13],[7,8],[20,9],[-34,2],[-5,-6],[-4,6],[13,15],[-3,9],[-5,-12],[-16,-9],[-17,-16],[-4,4],[-10,-10],[-12,-1],[-8,6]],[[3134,7784],[-9,6],[1,19]],[[3126,7809],[-10,9]],[[3116,7818],[1,1],[-1,74],[-14,17],[-16,-11],[-9,17],[-19,-37],[-4,-23],[-7,-12],[1,-17],[-12,-20],[1,-11],[-18,-5],[-6,-16],[-89,-1]],[[1546,8044],[6,-11],[-14,13],[8,-2]],[[1479,8054],[4,-13],[-7,0],[-4,9],[7,4]],[[3218,8058],[33,-11],[15,-14],[11,-6],[10,-14],[-16,-6],[-24,11],[-14,9],[-2,9],[-22,16],[9,6]],[[1494,8104],[-11,-4],[6,9],[5,-5]],[[1448,8112],[20,-17],[22,-5],[26,-13],[5,-19],[9,-12],[4,-16],[22,-13],[10,-22],[8,-25],[-6,-6],[-11,3],[-22,14],[-14,12],[9,11],[-18,-4],[-9,9],[4,11],[-8,0],[-1,10],[-14,-3],[0,11],[7,3],[-8,5],[-1,10],[-15,-2],[-33,43],[-2,7],[16,8]],[[3447,8155],[6,-8],[7,7],[-5,-17],[-12,4],[2,-12],[7,-5],[-28,-60],[-3,-27],[6,13],[13,21],[12,-13],[7,0],[-17,-14],[11,-17],[15,9],[-2,-16],[12,1],[8,14],[9,-8],[5,3],[15,-10],[-4,-13],[-17,-15],[10,3],[-3,-15],[12,-7],[3,10],[4,-6],[7,9],[-5,-19],[-11,-9],[-7,0],[6,-14],[-6,-9],[8,-15],[2,13],[6,14],[12,6],[-9,-18],[-1,-22],[8,8],[3,14],[5,-19],[-5,-10],[-2,-19],[-5,-17],[-6,3],[-10,-3],[4,26],[-2,5],[-14,-23],[-4,1],[8,31],[1,14],[-5,15],[-18,-29],[-10,-9],[0,-8],[-8,-11],[-9,-1],[-9,5],[3,7],[11,3],[15,28],[-11,3],[-6,-12],[-10,12],[-28,-4],[-25,3],[-6,4],[-18,-6],[-15,-2],[-4,17],[27,37],[-9,3],[-14,-6],[8,9],[6,-3],[9,33],[10,-9],[-2,9],[8,4],[-11,4],[25,78],[8,11],[8,28],[24,18]],[[1448,8147],[-7,0],[2,14],[5,-14]],[[1445,8181],[-2,-17],[-4,14],[6,3]],[[2798,8181],[-3,-7],[-8,3],[11,4]],[[1462,8192],[-15,-17],[2,14],[17,12],[-4,-9]],[[1430,8212],[1,-9],[-8,2],[7,7]],[[2738,8248],[8,-1],[10,-15],[3,-12],[-10,1],[-29,15],[6,10],[12,2]],[[1339,8249],[4,-12],[-6,-9],[6,-21],[17,-18],[-5,-5],[-20,26],[-16,32],[20,7]],[[1427,8244],[3,-10],[-2,-21],[-14,7],[-3,12],[2,20],[14,-8]],[[1419,8255],[-7,1],[4,10],[3,-11]],[[1382,8268],[9,-8],[5,-15],[-7,0],[-15,26],[8,-3]],[[1386,8270],[-9,4],[2,6],[7,-10]],[[1395,8273],[11,-17],[-5,-9],[-21,36],[3,5],[12,-15]],[[1380,8293],[-2,-10],[-7,7],[9,3]],[[1305,8302],[20,-3],[5,-14],[-15,-10],[13,-2],[2,21],[12,6],[-8,-28],[0,-22],[-13,-7],[-9,10],[7,6],[-11,3],[-7,25],[4,15]],[[2815,8428],[-1,-10],[-7,-3],[4,17],[4,-4]],[[2787,8429],[-11,-11],[1,8],[10,3]],[[2801,8446],[-3,-6],[9,-8],[-12,-27],[-8,-3],[2,12],[-9,-16],[-3,4],[14,23],[3,-5],[3,26],[4,0]],[[3293,8462],[1,-19],[-7,7],[6,12]],[[3204,8666],[5,-10],[-11,7],[6,3]],[[3109,8672],[7,-7],[-4,-10],[-10,-6],[-3,7],[5,16],[5,0]],[[3200,8731],[-2,-16],[-16,19],[18,-3]],[[2793,8775],[5,-7],[-8,-30],[-8,-9],[-10,11],[-2,14],[12,23],[11,-2]],[[3203,8784],[8,0],[-6,-10],[-9,3],[7,7]],[[3033,8802],[15,-11],[0,-7],[-13,1],[-7,15],[5,2]],[[2719,8809],[7,-3],[-2,-12],[-27,-27],[-23,-5],[-6,18],[18,27],[8,-5],[9,6],[16,1]],[[2822,8839],[21,-4],[4,-9],[-13,-10],[-16,17],[4,6]],[[3216,8833],[-8,14],[5,2],[3,-16]],[[2857,8849],[12,-6],[0,-11],[-20,14],[8,3]],[[3204,8862],[4,-12],[-12,8],[8,4]],[[3186,8910],[2,-6],[-13,-6],[11,12]],[[2625,8972],[12,-9],[-7,-5],[11,-20],[9,16],[14,-17],[20,-4],[4,-10],[19,-12],[5,2],[16,-14],[5,-23],[19,-8],[-1,8],[22,-21],[-8,-2],[-19,-16],[-26,14],[-12,-1],[-1,17],[-15,-1],[2,13],[-19,-10],[2,-14],[-19,-8],[-9,-19],[-25,-10],[-5,33],[-27,-2],[-14,-5],[8,20],[20,13],[-6,24],[6,15],[0,28],[5,23],[13,12],[1,-7]],[[2638,8984],[9,-10],[0,-16],[-12,13],[3,13]],[[2657,8990],[18,-11],[-3,-6],[15,-10],[-15,2],[-15,25]],[[2936,9103],[24,-5],[1,-12],[-28,0],[-10,16],[13,1]],[[2601,9095],[-7,-12],[-8,5],[-3,16],[9,13],[7,-6],[2,-16]],[[2900,9117],[16,-9],[-4,-11],[3,-24],[-9,-11],[-14,-6],[-31,-1],[-7,12],[0,22],[15,25],[31,3]],[[2096,9122],[-15,8],[14,1],[1,-9]],[[2919,9131],[3,-14],[-16,10],[2,12],[11,-8]],[[2173,9144],[-3,-12],[-12,5],[15,7]],[[2218,9152],[-13,-10],[2,17],[11,-7]],[[2820,9179],[-10,-28],[-16,-3],[26,31]],[[2860,9180],[10,-6],[-13,-11],[-6,16],[9,1]],[[2315,9189],[14,0],[-4,-11],[-10,11]],[[2342,9191],[8,-12],[-14,-3],[6,15]],[[3114,9197],[-2,-10],[-10,3],[12,7]],[[2834,9196],[-16,-12],[-9,1],[20,15],[5,-4]],[[2787,9204],[9,-8],[-21,-3],[4,-8],[-24,10],[16,8],[16,1]],[[2294,9191],[5,5],[10,-12],[22,-14],[6,-20],[18,-3],[-17,-6],[-13,-15],[-33,4],[-9,7],[-25,7],[-3,8],[-11,-6],[-11,11],[33,17],[-4,16],[12,-9],[-6,16],[10,11],[18,-11],[-2,-6]],[[3004,9275],[14,-3],[-20,-12],[-5,8],[11,7]],[[2924,7774],[-11,-4],[-19,-25]],[[2894,7745],[-6,-7],[-19,-10],[-11,-18],[-17,9],[-5,-3],[-30,-8],[-17,-15],[-5,-17],[13,-6],[7,4]],[[2804,7674],[-1,-9]],[[2803,7665],[5,-11],[-36,-7],[-9,-13],[-11,6],[-12,-1],[-32,-36],[-12,-2],[-5,4],[0,12],[5,4],[13,-1],[1,10],[-6,4]],[[2704,7634],[5,9],[1,17]],[[2710,7660],[8,4],[12,20],[-1,38],[4,14],[9,16],[0,12],[-12,25],[11,0],[1,-14],[14,-17],[18,-14],[0,17],[4,6],[6,-5],[-9,17],[2,14],[-10,3],[-10,32],[-12,0],[-10,8],[-39,6],[-3,0],[-30,10]],[[2663,7852],[0,10],[-10,-4]],[[2653,7858],[-3,4],[4,24],[-8,1],[3,23],[-11,14],[5,20],[-25,0],[-8,9],[-12,39],[-22,-2],[-24,14],[-2,-22],[-7,-2],[3,15],[-6,-2],[-5,-26],[-5,-3],[3,16],[-10,-5],[-5,-22],[-7,-6]],[[2511,7947],[-9,-1],[-4,7],[-20,0],[-2,7],[-16,-11],[-8,4],[-10,14],[-8,-7],[-3,12],[-14,11],[-22,-6],[-3,7],[-17,3],[-6,5],[-4,31],[-9,3],[0,-22],[-79,0],[-80,0],[-55,0],[-79,0],[-79,0],[-49,0],[-49,0],[-80,0],[-61,0],[-74,0],[-81,0]],[[1590,8004],[-8,0]],[[1582,8004],[-1,0]],[[1581,8004],[-7,20],[2,14],[-8,-11],[-12,8],[-1,15],[-14,0],[-6,8],[3,18],[-3,5],[-9,0],[-20,12],[-13,-2],[6,17],[-14,1],[-10,6],[-4,-6],[-14,11],[-8,12],[9,23],[13,3],[-9,3],[-10,-15],[-4,12],[0,14],[19,25],[0,13],[-12,-16],[-7,-5],[-8,17],[-4,-12],[4,26],[-10,9],[-10,34],[10,-5],[-8,12],[5,21],[-17,-20],[-3,-14],[-21,32],[-4,26],[-6,-3],[1,17],[7,4],[10,33],[-5,0],[-4,28],[2,8]],[[1387,8402],[0,0]],[[1387,8402],[-1,12],[-9,1],[-9,13],[-10,3],[-14,11],[-7,0],[0,11],[-7,4],[2,10],[-29,56],[-20,40],[-12,8],[-4,12],[-21,22],[3,8],[-13,13],[-25,-11],[-2,-20],[-27,-20],[-5,17],[-43,50],[3,16],[-17,-1],[-9,-8],[-12,6],[-16,1],[0,538]],[[1083,9194],[29,-2],[23,-6],[15,-16],[50,-21],[26,2],[-3,18],[20,5],[-1,8],[29,8],[12,-5],[-9,-9],[24,4],[10,14],[16,0],[45,28],[22,-4],[5,11],[9,-11],[-45,-25],[-27,-6],[-3,-10],[-18,-6],[-4,-15],[-9,3],[-4,-11],[24,-3],[-11,15],[29,13],[15,12],[12,-9],[14,21],[35,9],[0,-10],[23,16],[-2,9],[22,7],[-13,3],[0,17],[23,-16],[14,-32],[15,-16],[20,-9],[9,4],[-8,12],[10,9],[8,18],[10,-1],[-2,-19],[12,0],[-13,-19],[24,-2],[14,8],[6,20],[36,-3],[23,-10],[23,-16],[31,-5],[23,-13],[57,-13],[-9,8],[11,4],[38,-17],[18,-18],[-3,-9],[-26,2],[-8,-18],[-9,-3],[47,-13],[40,-1],[3,4],[36,1],[22,14],[13,-16],[18,0],[7,-21],[6,15],[20,-23],[-7,-21],[25,-29],[-12,23],[1,18],[16,-14],[-4,15],[-9,8],[0,15],[-12,12],[7,19],[35,18],[21,5],[1,13],[-24,-7],[2,-8],[-22,-7],[-16,5],[7,-11],[-22,-3],[-2,12],[-10,-3],[14,20],[27,5],[31,14],[12,-3],[9,-11],[4,-20],[19,-6],[4,-12],[20,-1],[9,8],[5,-11],[27,-14],[21,-3],[23,10],[26,-1],[15,-7],[25,5],[22,-12],[12,11],[-16,12],[-10,-9],[-10,10],[3,9],[-11,11],[27,1],[-8,9],[21,-3],[5,-12],[18,3],[-11,-15],[26,12],[-16,-41],[11,-19],[10,8],[11,-20],[4,16],[-15,26],[7,19],[17,-3],[18,14],[18,33],[-10,8],[-5,-13],[-15,0],[11,34],[18,-2],[2,13],[-22,-5],[-9,14],[-7,-7],[-25,10],[-21,22],[1,14],[9,15],[-12,9],[5,30],[14,6],[8,-7],[5,12],[-13,4],[18,9],[2,13],[18,3],[4,-19],[7,7],[32,-24],[4,-30],[37,-41],[-25,2],[-4,-6],[18,-3],[-25,-18],[20,-9],[18,7],[10,-9],[19,-1],[-23,-12],[14,-11],[6,-20],[-2,-17],[9,-12],[11,12],[4,31],[11,15],[9,1],[28,-27],[5,-32],[-16,2],[1,-19],[8,-19],[17,-15],[-1,-14],[15,7],[-3,7],[14,-1],[1,20],[17,23],[7,37],[25,0],[-10,13],[11,7],[-20,11],[-2,10],[6,23],[7,-4],[20,5],[16,-9],[30,-1],[15,-23],[22,-5],[-6,-12],[-12,-5],[20,-5],[1,-10],[-20,-13],[-17,6],[-2,-7],[18,-11],[-5,-13],[26,-30],[-7,-27],[-13,-1],[-17,-24],[-12,-1],[-10,-11],[-25,21],[16,-30],[-4,-2],[-19,14],[4,-14],[-25,7],[-5,17],[-19,-5],[-18,2],[7,-12],[19,-9],[-16,-15],[-3,-13],[-23,-20],[-16,0],[-17,15],[-31,20],[-10,-3],[-30,2],[32,-7],[14,-11],[11,-16],[56,-5],[2,-11],[-16,-20],[-14,-27],[-18,-15],[-24,1],[-12,10],[4,-14],[-10,-17],[-21,-3],[-19,10],[-14,0],[-37,16],[-8,-2],[11,-10],[4,5],[31,-11],[-10,-11],[18,11],[6,-8],[25,-12],[2,-18],[-22,-16],[-19,5],[-10,-3],[15,-16],[-19,5],[-2,-20],[-8,-12],[-18,-12],[11,-4],[-17,-12],[-19,-60],[-8,-31],[3,-40],[-3,-17],[13,-17],[3,4],[29,-1],[2,-15],[10,-37],[9,-24],[-3,-25],[12,2],[30,12],[15,-3],[15,-12],[30,-8],[12,-15],[13,-10],[7,-15],[10,-12],[11,-1],[32,-17],[21,-20],[12,-3],[19,5],[15,-6],[12,1],[18,-9],[3,-14],[-6,-25],[0,-12],[8,-17],[-2,-23],[3,-13],[-5,-19],[20,-28],[6,-21],[10,-5],[15,-30],[1,-10],[19,-11],[1,16],[10,15],[11,-20],[6,11],[-9,15],[13,19],[2,22],[-6,4],[1,19],[-5,0],[-5,42],[-2,32],[-7,2],[-6,25],[-5,1],[39,22],[16,14],[19,23],[12,21],[4,16],[0,44],[-8,34],[-9,20],[-24,23],[-13,16],[-2,16],[22,21],[-1,20],[14,6],[-1,13],[-7,2],[-7,35],[6,6],[-16,2],[10,15],[2,20],[6,5],[-13,13],[-4,34],[18,16],[21,-4],[32,-14],[34,-1],[14,12],[18,-9],[17,-14],[-1,-8],[30,-19],[-9,-10],[14,-16],[23,-5],[11,2],[2,-11],[12,-1],[2,12],[5,-18],[-12,-15],[6,-26],[2,-26],[-6,-6],[3,-9],[11,-2],[-8,-8],[2,-18],[-19,-7],[10,-3],[15,12],[13,1],[11,-6],[5,-24],[7,10],[9,-20],[28,15],[6,21],[10,-9],[5,18],[7,3],[-2,12],[8,8],[-3,22],[8,2],[7,25],[14,2],[0,-12],[9,-6],[-1,-17],[6,0],[5,-15],[12,-13],[-11,-9],[13,3],[1,-13],[7,1],[4,-11],[-9,-11],[16,0],[-2,-19],[15,-12],[7,-20],[-14,-11],[10,2],[6,-6],[-6,-7],[18,-7],[-8,-18],[-7,0],[5,-13],[-9,-4],[11,-10],[-12,-2],[5,-5],[14,1],[-3,-13],[10,-2],[1,-7],[22,-5],[-4,-5],[3,-16],[-4,-16],[20,12],[-2,-10],[10,-5],[10,9],[6,-22],[30,-6],[14,-10],[-9,-11],[-15,-1],[-1,-6],[-33,-12],[21,5],[3,-3],[-30,-15],[-13,-3],[2,-15],[-11,-14],[38,24],[6,15],[19,9],[-5,7],[24,-1],[11,-22],[-12,-11],[6,-9],[9,15],[30,-19],[4,-15],[-6,-7],[5,-9],[-7,-12],[8,-9],[4,-17],[-8,-15],[-20,-17],[-10,-13],[-8,5],[-25,-14],[-8,3],[-7,-12],[-8,-5],[1,-12],[-13,-8],[0,-8],[-11,-6],[-3,-10],[-38,-3],[-10,-5],[-6,7],[-51,4],[-26,-2],[-37,0],[-5,-5],[-8,5],[-19,-25],[-3,-23],[-4,-6],[-19,-3],[-4,-11],[-24,-18],[-10,-28],[-7,-9],[-19,14],[-5,-2],[22,-14],[-5,-20],[-10,-17],[-6,-3],[-6,-17],[-17,-23],[-15,-1],[-21,-24],[-10,-4],[-7,-18],[-12,-11],[-7,-11],[-6,-2],[5,-8],[-15,-12],[-6,-8]],[[1827,9404],[6,-29],[-17,-11],[32,3],[-4,6],[17,15],[49,-17],[-3,-15],[17,6],[18,-8],[8,4],[-26,29],[23,-2],[24,-23],[11,-1],[-1,-11],[13,-38],[6,-4],[21,15],[-15,14],[-9,45],[0,25],[29,-10],[8,7],[26,-17],[18,-30],[4,-24],[19,-29],[-7,-28],[16,-17],[25,-16],[8,1],[35,-23],[16,4],[4,-24],[-13,-6],[-4,13],[-5,-14],[-19,11],[-14,-26],[22,5],[-2,-17],[9,-10],[-19,-8],[-24,-5],[-49,6],[4,12],[-40,5],[-4,18],[-10,-16],[-17,-13],[-28,-6],[-12,-9],[-56,-11],[-59,-3],[-16,19],[2,22],[-18,5],[-26,-3],[-22,4],[-18,9],[0,6],[-18,12],[-4,14],[39,12],[41,5],[53,-7],[9,7],[22,-3],[-18,14],[-19,2],[-18,8],[-58,-6],[-19,4],[-40,-1],[-19,23],[17,8],[41,11],[13,11],[-48,-10],[-21,6],[13,5],[-36,7],[0,11],[16,17],[13,3],[-13,15],[34,25],[50,16],[27,11],[10,-5]],[[2094,9405],[-16,-22],[-8,1],[-18,19],[-26,12],[13,13],[42,1],[16,-10],[-3,-14]],[[2768,9430],[25,-7],[37,2],[19,-6],[32,-26],[-1,-17],[-52,5],[-28,-9],[-22,6],[-4,22],[-21,5],[1,25],[14,0]],[[2595,9436],[41,-3],[4,-8],[-30,-21],[-18,-26],[10,-20],[-3,-28],[9,-14],[19,-16],[14,-5],[-16,-13],[-13,0],[-8,-10],[21,10],[18,-2],[8,17],[-4,14],[-16,-1],[-8,13],[2,21],[16,1],[-18,12],[-3,25],[14,2],[-6,11],[26,-5],[-19,15],[63,24],[37,-1],[11,-27],[14,-5],[0,-14],[10,-10],[-26,-24],[18,11],[-11,-18],[5,-13],[12,5],[16,25],[23,-13],[11,14],[26,14],[67,-15],[7,-14],[-14,-14],[33,4],[0,-15],[-32,-17],[31,12],[19,-1],[-10,-9],[-4,-17],[12,19],[3,-12],[15,-7],[13,23],[32,-12],[8,-11],[-10,-12],[-11,3],[-13,-14],[4,-6],[25,7],[4,9],[15,2],[3,-9],[-13,-17],[30,15],[-3,-16],[15,10],[31,-11],[-10,-16],[-31,-9],[32,3],[-1,-16],[12,9],[6,14],[24,-23],[2,-12],[-26,3],[-15,-11],[19,-8],[19,1],[16,-11],[-2,-8],[-26,2],[-15,8],[-22,3],[22,-8],[13,-10],[-8,-4],[5,-11],[-43,2],[33,-6],[-9,-8],[29,-2],[23,-6],[-10,-6],[8,-11],[37,-12],[12,7],[-2,-12],[18,-4],[13,-28],[-21,-10],[47,10],[-7,-18],[22,-5],[5,9],[18,-10],[10,-16],[-20,-10],[14,-3],[-30,-8],[14,-7],[-7,-17],[-15,-3],[7,-7],[-17,-1],[-7,16],[3,-21],[-9,-4],[9,-9],[-5,-24],[-17,9],[-9,14],[-1,-9],[-18,16],[-1,14],[-9,5],[19,17],[-31,-5],[-2,9],[-22,20],[2,8],[-13,-6],[-6,-11],[-16,12],[7,-15],[16,-12],[-1,-7],[-20,-1],[-9,18],[-2,-18],[12,-16],[14,3],[-2,-10],[10,-2],[10,-39],[1,14],[31,-16],[-3,-16],[17,0],[-10,-10],[11,-14],[11,-5],[-9,-11],[12,-6],[0,-25],[-7,5],[-4,18],[-2,-14],[10,-29],[-17,5],[8,-19],[-7,-5],[-1,13],[-12,11],[-12,-3],[-13,13],[-5,-5],[-20,21],[-6,12],[-1,-16],[-27,24],[-8,-3],[23,-33],[17,-6],[17,-21],[5,0],[16,-26],[7,-2],[-9,-20],[-30,16],[-35,7],[-12,7],[-25,24],[-9,-2],[-38,22],[-5,14],[15,10],[-16,12],[-2,-7],[-15,9],[-13,14],[-15,33],[-20,-9],[4,15],[-14,-6],[-5,-14],[-30,14],[-5,-12],[-24,-12],[-14,2],[-18,11],[-4,27],[5,9],[18,8],[-3,15],[21,-2],[25,-11],[9,-9],[-6,-7],[10,-12],[-2,16],[-16,17],[23,-3],[1,7],[15,-3],[11,12],[19,-5],[-7,19],[-8,4],[-13,18],[41,32],[5,19],[15,6],[-4,22],[-12,18],[-4,23],[-23,5],[3,18],[-19,-6],[-13,16],[2,15],[-9,-11],[-10,2],[-32,-14],[0,20],[28,3],[1,9],[-30,19],[-15,5],[10,9],[-23,0],[0,21],[-20,2],[-10,12],[-21,2],[21,-15],[3,-13],[-29,-7],[-6,8],[-39,3],[15,-14],[-9,-2],[-14,13],[-15,-11],[-25,12],[-15,-3],[-31,3],[-5,4],[-39,2],[-21,21],[1,-11],[-47,11],[-21,25],[9,7],[22,-4],[27,0],[-15,18],[-6,-3],[-47,6],[-5,7],[5,17],[-9,11],[5,24],[25,52],[36,27],[33,8]],[[2227,9438],[17,-9],[57,6],[4,-12],[-12,-6],[8,-7],[-19,-7],[-19,-16],[35,-3],[9,-16],[12,3],[5,-18],[-9,-6],[3,-27],[-25,-13],[-26,2],[9,-8],[-13,-13],[-19,3],[-13,25],[-27,24],[-21,3],[-34,24],[-4,9],[14,16],[11,-4],[16,-18],[24,2],[10,8],[-4,14],[-11,1],[-28,20],[11,7],[16,-9],[3,8],[-13,12],[33,5]],[[2287,9448],[-13,-11],[-23,-4],[-12,7],[34,10],[14,-2]],[[2423,9449],[18,-8],[8,5],[45,-7],[-28,-33],[-12,-21],[-14,-14],[-33,4],[-13,-4],[10,-16],[-18,-22],[-29,-6],[-2,33],[-11,9],[-2,60],[11,2],[1,14],[44,9],[25,-5]],[[1623,9476],[28,-12],[41,-10],[46,4],[58,-41],[-3,-6],[-28,-9],[-76,-37],[-3,-15],[-14,-8],[-13,1],[-3,-32],[-7,-11],[-22,-7],[-9,5],[-11,-12],[-27,-10],[-26,36],[-34,14],[-14,0],[0,10],[14,22],[9,4],[-4,18],[17,2],[-12,9],[14,21],[16,15],[-10,9],[-14,28],[87,12]],[[2118,9518],[-3,-12],[-30,4],[15,17],[18,-9]],[[2378,9537],[25,-20],[2,-24],[-5,-11],[-41,1],[-43,18],[23,30],[25,8],[14,-2]],[[2325,9539],[-16,-17],[-5,9],[21,8]],[[2164,9558],[-14,-12],[-20,-1],[7,9],[27,4]],[[2380,9546],[-17,10],[11,3],[6,-13]],[[2157,9563],[-38,-10],[11,8],[27,2]],[[1732,9567],[5,-3],[-22,-28],[-10,-5],[-22,5],[20,18],[29,13]],[[2805,9567],[0,-15],[-16,-3],[16,18]],[[2149,9575],[-6,-11],[-43,0],[2,8],[47,3]],[[2113,9595],[25,-12],[-38,-5],[-7,16],[20,1]],[[2266,9598],[21,-11],[7,-58],[-18,1],[14,-20],[-11,-7],[-47,-3],[-20,3],[-11,19],[33,20],[-52,-5],[-33,-7],[2,14],[20,10],[-6,28],[18,3],[35,-31],[7,21],[-30,12],[15,9],[23,0],[13,-10],[20,12]],[[2213,9601],[-38,-8],[20,9],[18,-1]],[[2508,9589],[-10,-2],[-15,15],[17,6],[8,-19]],[[1981,9607],[-3,-11],[20,-20],[-11,-11],[22,-7],[-10,-10],[27,5],[12,10],[31,-10],[1,-18],[-15,-30],[-28,-8],[-21,7],[-19,-7],[-5,8],[-25,-11],[-22,-4],[-24,-12],[-34,-10],[-29,0],[-27,17],[52,17],[27,0],[19,13],[-36,-6],[-3,5],[-44,-9],[-5,24],[-10,-23],[-35,-6],[-55,16],[12,13],[30,0],[31,14],[-30,-8],[-32,0],[10,12],[57,5],[-39,0],[-12,12],[23,10],[10,12],[36,1],[7,-17],[28,5],[33,-21],[14,-22],[62,-1],[6,7],[-32,17],[18,11],[-30,11],[18,11],[15,19],[15,0]],[[1840,9610],[3,-10],[-34,3],[31,7]],[[2354,9618],[44,-6],[16,-16],[46,3],[26,-13],[-26,0],[59,-9],[-2,-7],[-52,-1],[30,-6],[28,-18],[2,-16],[14,11],[11,-8],[26,6],[13,-9],[59,10],[21,10],[23,-5],[16,6],[39,-3],[40,-18],[6,-11],[-25,-15],[16,1],[10,-9],[-23,-7],[-1,-11],[-29,0],[-12,-6],[-33,5],[-7,16],[-11,-16],[-84,-5],[-53,2],[2,20],[-21,-15],[-21,-3],[-30,10],[-10,-4],[-19,9],[1,10],[-13,14],[11,38],[-14,8],[-14,21],[-17,-6],[-37,-3],[6,7],[-27,3],[-11,14],[-18,4],[15,6],[-15,7],[13,6],[32,-1]],[[1774,9644],[20,-9],[-25,-7],[-2,-15],[13,-14],[-30,-8],[-9,-17],[-20,9],[5,24],[-19,-6],[-1,-22],[-34,-26],[-19,-3],[-7,19],[-15,-12],[-46,8],[9,15],[31,5],[9,14],[22,7],[15,17],[27,15],[26,1],[18,-6],[32,11]],[[2491,9653],[17,-10],[-11,-14],[-30,11],[0,13],[24,0]],[[2083,9641],[18,-11],[-11,-7],[-23,12],[-14,25],[13,0],[17,-19]],[[2350,9662],[51,0],[13,-7],[-11,-10],[-70,0],[-6,13],[23,4]],[[2196,9660],[-42,-1],[0,9],[21,1],[21,-9]],[[1824,9675],[20,-11],[-15,-6],[-27,14],[22,3]],[[1955,9679],[-35,-12],[21,-5],[-3,-16],[-52,-10],[-31,11],[3,23],[51,10],[46,-1]],[[1933,9718],[31,-15],[-4,-11],[-50,5],[-52,-7],[-5,8],[40,8],[40,12]],[[2308,9715],[18,-10],[40,-9],[-15,-7],[9,-16],[-51,-11],[-22,18],[22,2],[-33,10],[-10,12],[7,18],[35,-7]],[[2120,9752],[22,-6],[10,-21],[25,12],[58,-29],[-8,-16],[22,-13],[0,-11],[-25,-6],[-19,5],[-12,19],[-45,10],[-50,-6],[-10,18],[38,-3],[1,15],[-18,11],[-27,-9],[10,11],[-26,2],[4,16],[50,1]],[[2237,9796],[21,-8],[-5,-17],[-36,22],[20,3]],[[2423,9866],[56,-44],[40,-1],[1,-15],[22,9],[22,-2],[19,-26],[-9,-26],[20,9],[23,-2],[24,-19],[-46,-14],[-69,-50],[-26,25],[15,-26],[-24,10],[0,-11],[-49,4],[-22,17],[34,3],[-45,2],[-28,21],[25,12],[79,3],[-58,1],[0,12],[-36,-11],[-3,7],[-33,-6],[-14,15],[27,4],[-31,3],[-21,14],[-4,14],[53,-6],[21,9],[-36,-4],[-32,9],[14,17],[41,2],[7,8],[-33,3],[17,15],[39,0],[7,9],[-28,8],[41,-2]],[[3064,9969],[92,-13],[-63,-13],[33,0],[64,14],[63,-22],[36,-2],[8,-17],[-85,-27],[-75,-6],[11,-7],[-78,-18],[137,21],[-4,-9],[-119,-45],[-9,-11],[-28,-4],[-23,-32],[-31,-8],[-32,7],[7,-13],[-52,-10],[-85,-2],[20,-4],[80,-3],[-1,-11],[-35,3],[-9,7],[-57,-2],[56,-5],[-45,-3],[55,-3],[-14,-6],[38,-1],[8,-15],[-22,-5],[-30,2],[38,-10],[-14,-14],[-35,-13],[-43,0],[19,-17],[-14,-13],[-47,-6],[-38,9],[-17,14],[5,-14],[18,-8],[57,-7],[-10,-14],[19,-6],[18,11],[7,-22],[-21,-10],[-5,7],[-22,-15],[-42,-11],[8,17],[-36,5],[-6,-7],[-40,2],[-13,10],[-6,-17],[-23,-1],[-61,10],[-4,-7],[-37,4],[-15,10],[-1,17],[33,15],[23,-1],[15,8],[-21,5],[-15,25],[29,7],[27,-6],[22,-23],[54,-3],[27,35],[-39,-27],[-38,10],[15,39],[-21,-13],[-21,5],[-35,-4],[1,19],[24,20],[44,7],[35,-5],[56,1],[-53,4],[-30,6],[11,9],[-23,27],[-37,6],[0,32],[75,-4],[67,-35],[-7,16],[-44,23],[80,9],[54,8],[-44,0],[94,17],[-62,-3],[-2,9],[57,26],[-37,-9],[-40,-28],[-44,-11],[-53,-5],[27,11],[-48,2],[1,-13],[-55,-1],[-26,5],[26,19],[85,11],[-93,-8],[-33,-21],[-58,14],[99,12],[30,12],[-43,-8],[-98,-8],[-15,8],[12,11],[45,14],[-57,-12],[12,13],[-22,4],[-21,-8],[-14,7],[27,11],[83,15],[87,-6],[-56,12],[43,5],[-12,10],[30,1],[59,-23],[-11,12],[82,-19],[-75,24],[18,17],[41,-8],[-28,15],[47,-2],[16,12],[41,-3],[44,-11],[-31,15],[35,4],[54,-3],[10,-8],[24,12],[91,2]],[[5255,7927],[0,0]],[[5255,7927],[0,0]],[[5255,7927],[10,-8]],[[5264,7905],[2,-12]],[[5290,7882],[-2,-13],[-10,-7],[4,-15],[-6,6],[-12,-4],[-2,10],[-5,0],[-1,-14],[-5,-6],[-1,-18],[-7,10],[2,5],[-11,9],[0,13],[-10,-11],[1,-8],[-9,-12],[-8,4],[-13,-4]],[[5195,7827],[-7,15],[0,14]],[[5188,7856],[-5,6],[-8,-4],[-3,-9]],[[5172,7849],[-4,7],[2,10],[8,9],[0,11],[7,4],[12,28],[8,-5],[5,10]],[[5210,7923],[14,-1],[9,5],[4,9],[9,-9],[9,0]],[[3101,2016],[-9,-10],[13,-7],[6,-18],[-2,-7],[-8,14],[-15,-2],[2,19],[-18,-5],[-1,-4],[-14,10],[3,5],[39,9],[4,-4]],[[3116,2021],[14,-1],[7,-9],[-5,-12],[-7,7],[-9,-6],[-8,1],[-2,15],[10,5]],[[3041,2018],[7,-9],[-19,2],[-1,8],[13,-1]],[[3069,2021],[8,-5],[-19,-3],[-1,8],[12,0]],[[3013,2074],[7,-1],[8,-15],[-5,-7],[-8,10],[-4,-3],[-2,16],[4,0]],[[3003,2080],[6,-2],[-5,-24],[-11,16],[0,7],[10,3]],[[3044,2081],[2,-8],[-9,4],[3,-17],[-9,10],[-1,10],[8,1],[-2,10],[6,7],[2,-17]],[[2972,2103],[2,3],[22,-21],[-6,-2],[-14,-18],[4,15],[-9,1],[-7,-7],[1,12],[-8,1],[3,17],[12,-1]],[[2925,2147],[15,-16],[8,0],[21,-22],[-10,3],[-11,14],[-13,-1],[-10,22]],[[3093,2028],[0,-1]],[[3093,2021],[-12,-3],[-17,9],[-13,-4],[-23,10],[-10,10],[-17,-8],[-1,12],[8,-7],[10,12],[7,-9],[6,12],[-2,12],[20,-15],[7,5],[13,-4],[10,-11],[3,8],[-28,18],[-4,19],[24,15],[-1,8],[-25,-6],[-6,8],[1,17],[9,1],[0,8],[12,7],[2,13],[6,4],[5,-11],[16,0]],[[2952,2165],[-2,-17],[-9,0],[-2,7],[13,10]],[[2921,2176],[8,-2],[-6,-7],[-2,9]],[[2938,2182],[8,-11],[-5,-6],[-3,17]],[[2920,2209],[3,-4],[-3,-19],[-5,7],[5,16]],[[2943,2211],[3,-10],[-9,5],[6,5]],[[2925,2234],[1,-8],[-9,1],[8,7]],[[2931,2257],[2,-13],[-14,-1],[-1,9],[9,-2],[4,7]],[[2924,2263],[1,-11],[-8,7],[7,4]],[[2906,2275],[8,0],[-10,-15],[2,15]],[[2931,2276],[3,1],[5,-22],[-5,0],[-6,13],[3,8]],[[2908,2302],[14,-5],[0,-6],[-18,-9],[1,12],[7,-5],[-4,13]],[[2903,2329],[8,-14],[-12,3],[4,11]],[[2914,2359],[5,-2],[0,-12],[-9,10],[4,4]],[[2906,2359],[2,-6],[-9,-5],[7,11]],[[2925,2377],[5,0],[2,-27],[-3,-27],[3,-13],[-9,-10],[-4,6],[1,25],[-4,-21],[-7,11],[-2,25],[13,-3],[2,12],[-7,18],[10,4]],[[2906,2392],[1,-9],[-7,-5],[-2,13],[8,1]],[[2924,2406],[4,-8],[2,-18],[-14,4],[-1,6],[9,16]],[[2913,2413],[9,-4],[-1,-11],[-7,-2],[-5,19],[4,-2]],[[2907,2415],[7,-32],[-6,0],[0,16],[-5,-5],[-3,20],[7,1]],[[2921,2430],[3,-17],[-11,6],[-1,6],[9,5]],[[2945,2427],[4,-6],[-19,2],[7,7],[8,-3]],[[2914,2436],[-3,-8],[-5,6],[8,2]],[[2924,2545],[-1,-11],[-10,7],[11,4]],[[2936,2556],[-5,-9],[0,15],[5,-6]],[[2955,2556],[-6,-2],[3,11],[3,-9]],[[2948,2591],[3,-16],[-7,2],[-6,12],[10,2]],[[2946,2594],[-9,-4],[3,9],[6,-5]],[[2946,2613],[2,-4],[-11,-6],[-4,10],[13,0]],[[2974,2623],[6,-4],[-12,-23],[-4,-1],[-5,16],[7,2],[-1,11],[9,-1]],[[2948,2662],[3,-7],[-11,0],[8,7]],[[2945,2775],[11,1],[5,-30],[-8,-2],[-4,-15],[9,-10],[-6,-5],[6,-13],[-7,-2],[2,-14],[-17,3],[-3,4],[7,21],[-1,36],[4,8],[2,18]],[[3098,2168],[-21,9],[-7,-4],[-3,-12],[-8,-1],[-27,-20],[-3,-19],[-1,-36],[-7,-5],[-24,11],[-10,15],[5,11],[15,1],[10,5],[6,18],[-5,1],[-22,-19],[-5,6],[-7,-20],[1,-10],[-20,22],[9,0],[-1,20],[14,1],[13,9],[14,0],[-2,5],[-21,3],[-19,-19],[1,-11],[-6,-4],[-8,6],[6,5],[-9,6],[9,1],[2,11],[-11,-5],[0,29],[6,-2],[15,16],[9,-1],[0,13],[-7,-6],[-15,13],[10,-15],[-6,-4],[-4,-13],[-8,7],[0,17],[-9,7],[-1,13],[6,2],[1,13],[-6,-6],[-7,4],[-1,17],[11,-2],[-1,9],[-6,-4],[-5,21],[-13,14],[9,8],[1,26],[3,6],[-5,9],[0,44],[10,11],[-11,13],[-3,13],[21,-4],[6,-13],[5,5],[-10,27],[-1,-6],[-21,1],[-2,12],[9,-2],[-7,11],[6,12],[5,0],[6,11],[-6,2],[-3,12],[-11,0],[-1,-5],[-11,14],[4,11],[-13,-16],[2,-11],[-6,-3],[-4,19],[13,13],[3,10],[12,11],[0,11],[14,3],[6,-14],[-1,-8],[7,-4],[-7,-18],[4,-3],[5,16],[4,49],[8,10],[-3,20],[4,-1],[14,13],[1,15],[-14,13],[4,39],[-1,17],[9,12],[-3,14],[0,18],[5,2],[-3,15],[5,3],[4,-15],[0,27],[-8,-3],[-4,6],[8,12],[-10,13],[-3,-13],[-12,-6],[-7,4],[2,7],[-5,11],[-2,27],[5,20],[1,37],[9,7],[4,19],[1,19],[-9,38],[2,30],[-6,26],[1,22],[9,-3],[5,16],[0,18],[4,-4],[5,42],[6,9],[-1,15],[6,18],[5,6],[1,15],[4,12],[1,31],[6,21],[4,4],[1,12],[-4,23],[6,5],[4,37],[-4,9],[1,25],[-5,52],[0,24],[2,12],[7,5],[2,44],[-5,10],[-1,19],[6,11],[4,20],[0,18],[3,22],[4,2],[-1,30],[4,5],[2,15],[2,41],[-2,11],[2,19],[6,8],[-1,24],[-2,5],[1,62],[3,17],[-6,0],[1,25],[6,1],[4,33],[0,23],[2,25],[2,3],[0,24],[-3,10],[0,37],[2,6],[-1,31],[-5,51],[0,21],[-2,8]],[[3044,4127],[12,4],[4,9],[0,26],[9,9]],[[8073,6343],[8,-9],[1,-20],[-9,-13],[-7,-43],[-4,0],[-5,-15],[-9,-1],[-2,-11],[-14,6],[-14,12],[-1,42],[10,19],[8,9],[-1,10],[7,-3],[5,9],[8,-6],[10,10],[8,-9],[1,13]],[[8066,6398],[4,-5],[-8,-2],[4,7]],[[8393,6916],[2,-7],[-8,4],[6,3]],[[8386,6994],[-10,4],[-11,15],[6,2],[9,-11],[8,-5],[-2,-5]],[[8689,7778],[-2,10],[-10,6],[-11,-7]],[[8666,7787],[-4,7],[-12,-22],[-11,-4],[0,-9],[6,-40],[-2,-28],[3,-6],[-5,-31],[-19,-10],[3,-13]],[[8625,7631],[-8,13],[0,9],[-9,7],[-4,-13],[-1,-19],[-14,-5],[-1,-10],[-7,-10],[-26,-3],[8,-20],[-3,-13],[-30,7],[-2,12],[-9,1],[-12,-34],[-9,-16],[-6,0],[-8,-10],[-16,-14],[-14,-21]],[[8454,7492],[-5,-13],[-6,-5],[-9,3],[-11,-3],[-28,-28],[-3,-9],[-8,-11],[-3,5],[-7,-13],[-10,-4],[0,12],[15,8],[-10,29],[6,0],[-2,11],[12,12],[11,27],[-3,13],[-22,14],[-12,-7],[0,-7],[-10,-13],[-4,-16],[-14,-7],[-17,-19],[-1,-19],[-10,-15],[-10,0],[-7,-8],[-11,11],[-6,-6],[-5,-28],[5,-14],[10,-13],[14,-4],[7,5],[12,-25],[-7,-1],[-2,-21],[10,-12],[13,1],[2,11],[10,10],[3,9],[12,10],[11,-8],[0,-6],[9,-7],[34,-4],[-7,-15],[3,-13],[-9,-5],[-5,9],[-28,-23],[-6,3],[4,-11],[-7,-1],[0,-17],[-11,-5],[2,8],[-8,2],[2,-13],[-7,-22],[-8,-4],[-7,-26],[-5,-3],[1,-16],[12,-14],[17,-12],[6,-38],[11,-36],[-1,-21],[15,-16],[0,-13],[11,-10],[4,-16],[-8,1],[-9,9],[-10,-3],[-4,11],[-11,2],[-5,-7],[-7,4],[-3,16],[-6,2],[3,-11],[11,-13],[16,4],[2,-9],[7,-5],[8,-15],[9,-9],[6,-12],[2,-13],[-9,-2],[-12,-10],[-8,-11],[-5,-15],[6,-2],[6,9],[6,-1],[8,-19],[13,-6],[-13,-19],[7,5],[0,-22],[-4,-6],[-5,3],[1,-27],[-5,-3],[5,-23],[-5,2],[-4,-10],[-3,12],[-9,-28],[-8,-17],[-3,-23],[-6,-4],[-1,-11],[-9,-7],[-1,-8],[-5,9],[-4,-6],[5,-6],[2,-11],[-5,4],[2,-10],[-5,-15],[5,-3],[-3,-18],[-4,0],[6,-17],[-11,10],[-4,-8],[5,-14],[-9,1],[-3,-9],[3,-10],[-10,0],[4,-9],[-3,-8],[-6,3],[-5,-5],[-2,8],[-5,-13],[3,-11],[-5,-4],[-1,-10],[-6,-1],[-7,-13],[-4,1],[-5,-14],[-6,5],[0,-9],[-10,-21],[-1,-10],[-6,1],[-13,-12],[-7,6],[0,-11],[-14,8],[-5,-13],[-6,11],[-5,-7],[4,-8],[-4,-3],[-2,9],[-5,-3]],[[8172,6482],[-4,-2]],[[8168,6480],[-7,-3],[-2,17],[-3,-1],[-2,15],[-6,-8],[6,-17],[0,-15],[-2,-9],[-10,20],[7,-19],[-10,-14],[-5,1],[-13,-12],[-10,3],[-11,-15],[-25,-8],[-3,-10],[-6,-1],[-7,-13],[5,-7],[-1,-13],[7,-9],[-4,-10],[-13,-2],[-1,10],[-7,25],[3,28],[5,0],[0,8],[-8,1],[-2,14],[-1,-16],[-12,1],[0,6],[-9,2],[-9,13],[2,-16],[-6,7],[0,-8],[-9,-5]],[[7999,6420],[-7,10],[-9,-4],[-12,14],[1,6],[-10,2],[0,14],[-4,7],[0,14],[5,0],[0,16],[-14,0],[-18,12],[-7,14],[-14,-13],[1,-9],[-14,-14],[-3,8],[-6,-8],[0,-9],[-11,16],[-4,-12],[-5,11],[-7,-21],[-5,10],[-13,9],[-4,-20],[-3,0]],[[7836,6473],[-13,3],[-4,-12],[1,-10],[5,-15],[0,-39],[-5,6],[-9,-2],[-2,20]],[[7809,6424],[-2,12],[-7,-6],[-3,-8],[-8,-4],[-2,5],[-5,-6],[-2,13],[-4,3],[-1,19],[-14,5],[-6,-1],[0,16],[4,5],[-1,14],[6,11],[-5,13],[-8,-2],[-7,5],[2,6],[-6,40],[6,9],[-9,-3],[-13,1],[-14,-14],[-2,5],[5,10],[-1,18],[-4,0],[0,17],[7,8],[-2,12],[4,11],[2,-3],[6,10],[0,13],[6,-3],[3,13],[7,6],[-4,6],[5,33],[0,29],[-2,31],[-7,4],[-1,-9],[-7,20],[0,16],[-8,13],[-9,9],[-5,-18]],[[7703,6808],[-7,9],[-4,-3],[-7,15],[-7,1],[5,6],[-4,17],[-9,21],[-12,-9],[-6,0],[-6,-9],[-9,4],[-9,11],[-8,-6],[-3,-16],[-9,-6],[-6,-8],[-7,-1],[-9,-16],[-12,-14],[0,-11],[-9,-9],[-12,-5],[-8,2]],[[7468,6756],[-4,12],[3,18],[-1,10],[-6,5],[-13,-14]],[[7447,6787],[-8,2],[-4,-5],[-15,1],[-3,7],[-14,9],[-4,-11],[-9,10],[-3,-11],[-2,13],[-6,7],[-16,3],[2,17],[-4,3],[-7,-6],[-9,11],[-7,12],[-2,16],[-5,5],[-13,-7],[-9,26],[-9,2],[-9,15],[-10,8],[-1,15],[-14,5],[-11,-23],[-7,11]],[[7248,6922],[-11,15],[-10,6],[1,9],[-14,15],[-4,-3],[-9,13],[-5,16],[-9,-8],[-2,12],[4,5],[-4,7],[2,15],[-9,14],[-2,20],[9,4],[6,-16],[10,8],[7,13],[-5,14],[0,12],[-7,3],[-8,16],[-3,33],[8,8],[0,7],[-10,12],[-9,5],[-8,41],[1,9],[-7,0]],[[7160,7227],[-18,1],[-11,8]],[[7131,7236],[-5,6],[0,8],[-13,-4],[-4,10],[1,27],[-7,15],[-9,1],[0,7],[-8,7],[-7,-2],[-9,4]],[[7080,7327],[7,10],[-8,13],[3,7],[-5,17],[-1,26],[-12,9],[-6,0],[-2,-9],[-6,3],[-4,16],[4,9],[-6,12],[1,14]],[[7045,7454],[8,8],[-3,9],[4,18],[11,3],[10,14],[3,10],[11,-4],[8,11],[4,-20],[18,4],[9,13],[0,10],[5,15],[18,-2],[11,5],[5,-2],[8,19],[26,23],[27,15],[-1,8]],[[7227,7611],[1,3],[-3,23],[3,11],[9,6],[-7,5],[13,6],[-4,13],[2,7],[-11,37],[0,32],[5,5],[-18,8],[7,9],[21,5],[23,13],[3,-9],[13,3],[7,-7],[4,17],[-11,7],[7,21],[9,47],[5,14],[0,14],[24,-13],[21,1],[4,-10],[13,13],[7,0],[5,9],[-4,41],[4,25],[25,10],[4,10],[0,17],[4,6],[12,-1]],[[7424,8009],[15,5]],[[7439,8014],[-4,-17],[9,-8],[-2,-9],[16,-10],[2,-12],[14,-12],[11,1],[7,-11],[9,3],[11,-21],[0,-11],[15,-34],[1,-11],[-5,-14],[3,-17],[-7,-13],[-2,-16],[6,-17],[6,2],[16,-9],[23,-4],[11,2],[23,-8],[6,-13],[7,0],[14,-19],[9,-5],[11,2],[-2,-16],[6,-3],[9,-41],[12,-19],[2,-11],[23,4],[63,-13],[14,6],[49,-12],[7,-15],[29,-11],[18,-15],[23,7],[0,-12],[13,-5],[6,10],[44,30],[36,10],[20,-3],[20,4],[25,19],[15,29],[18,12],[10,13],[-9,18],[-7,23],[11,33],[5,4],[13,-1],[5,-10],[14,-6],[13,-3],[16,16],[14,24],[6,-3],[23,5],[15,18],[-1,7],[11,24],[6,3],[15,-1],[1,13],[9,-4],[16,12],[12,-3],[3,5],[14,-8],[11,-1],[5,6],[-4,23],[-18,25],[0,6],[-10,7],[-6,11],[-10,5],[-12,-3]],[[8270,7946],[-7,-13]],[[8263,7933],[-5,-6],[-13,13],[-17,-1],[-11,-9],[-7,10],[-2,13],[8,8],[-1,12],[25,79]],[[8240,8052],[16,-12],[14,-6],[12,9],[13,17],[12,1],[7,6],[1,14],[-4,6],[8,27],[7,10],[1,11],[8,23],[16,14],[3,17],[-4,7],[3,13],[-8,5],[-12,-1],[22,37],[12,1],[26,11],[19,0],[11,6],[28,-11],[4,-9],[20,-1],[17,-13],[23,-49],[-3,-10],[6,-23],[6,-9],[1,-20],[10,-19],[1,-23],[7,-6],[-2,-23],[5,-9],[11,-7],[20,2],[7,-14],[13,-3],[9,-7],[11,-17],[12,0],[-4,-13],[6,-8],[2,-13],[-4,-13],[7,-20],[15,2],[13,-5],[17,3],[3,9],[12,14],[12,-1],[6,9],[18,8],[9,-7],[-4,-13],[6,-17],[-8,-19],[-9,-6],[-4,-38],[-5,-13],[2,-9],[-11,-22],[-1,-15],[-8,-8],[-2,-21],[-8,-3]],[[4913,5477],[0,-1]],[[4913,5476],[0,1]],[[4925,5729],[-2,-26],[3,-1],[4,-47],[-8,-15],[-6,-39],[-7,-28],[2,-31],[2,-4],[4,-31],[5,-1],[2,-13],[-3,-14]],[[4921,5479],[-10,3],[-3,-4],[-15,4],[-5,4],[-18,3],[-3,-9],[16,7],[6,-3],[-22,-5],[-22,-3],[-38,-25],[-5,-8],[-12,-10]],[[4790,5433],[-1,2],[0,41],[5,10],[-1,33],[-10,7],[-1,13],[-6,7],[-10,3],[-6,8],[8,15],[1,23],[-5,23]],[[4764,5618],[7,-1],[3,10],[3,27],[-7,4],[2,14],[7,0],[5,-7],[2,15],[-8,9],[1,12],[5,5],[-5,6],[2,13],[-5,-2],[-3,7],[1,32],[4,6]],[[4778,5768],[4,2],[5,14],[5,1],[3,-12],[9,-6],[2,12],[7,-1],[1,18],[8,-5],[-1,8],[5,2],[2,-15],[-2,-13],[6,-3],[3,9],[11,4]],[[5402,5930],[2,-13],[7,-8],[3,-17],[-1,-10],[5,-3],[2,-34],[-2,-3],[-1,-26],[3,-28],[9,-22],[6,-8],[-7,-3],[-9,3],[-10,-4],[-15,3],[-7,-19],[11,-27],[17,-29],[3,-1],[8,-30],[2,-17],[4,-2],[-3,-16]],[[5449,5312],[-3,-5],[2,-25],[-18,15],[-7,3],[-10,-2],[-8,12],[-9,-3],[-27,0]],[[5369,5307],[-6,5],[-48,3],[-1,-7]],[[5314,5308],[-38,0],[-4,10]],[[5272,5318],[0,12],[4,27],[-1,12],[-8,18],[-2,13],[6,11],[-2,8],[-10,-11],[-10,10],[-2,29],[-11,-4],[2,17]],[[5238,5460],[6,19],[1,41],[4,2],[10,24],[10,13],[2,14],[10,13],[3,-8],[7,1],[1,9],[8,-5],[7,-14],[1,-16],[7,1],[6,15],[-1,8],[10,15],[-2,17],[5,9],[0,9],[5,14],[1,25],[16,23],[2,34],[9,9],[2,17],[-1,14],[6,5],[3,30],[12,34],[6,-1],[11,14],[1,37],[-3,10],[-10,4],[-3,40]],[[5390,5936],[7,0]],[[5397,5936],[-1,-11],[6,5]],[[5398,5936],[1,0]],[[5399,5936],[-1,0]],[[5944,7202],[0,0]],[[5944,7202],[-3,0]],[[5941,7202],[0,0]],[[5941,7202],[3,0]],[[5905,7208],[0,1]],[[5905,7209],[1,0]],[[5906,7209],[1,0]],[[5907,7209],[-2,-1]],[[5935,7200],[1,-2]],[[5936,7198],[-7,-1],[-1,11],[-17,-6],[-3,7]],[[5908,7209],[0,0]],[[5908,7209],[3,-5],[17,6],[1,-10],[6,0]],[[5807,5072],[0,-19],[-2,6],[2,13]],[[5762,5475],[2,-10],[7,-8],[0,-10],[16,-18],[12,12],[6,1],[5,-9],[7,12],[0,6],[10,-5],[0,-12],[4,-3],[7,-21],[10,-6],[0,-14],[6,4],[2,-10]],[[5856,5384],[2,-7],[-5,-19],[3,-15],[-4,-19],[8,-3],[8,-13]],[[5868,5308],[-10,-15],[-12,-24],[0,-15]],[[5846,5254],[-7,-6],[-2,-13],[-6,-5],[0,-21],[-3,-7],[-4,-25]],[[5824,5177],[-7,-9],[-3,-12],[1,-13],[8,12]],[[5823,5155],[-1,-6],[-1,-46]],[[5821,5103],[-7,-8],[-3,-9]],[[5811,5086],[-3,1],[-7,-28],[3,-9],[-3,-10]],[[5801,5040],[4,-14]],[[5811,4991],[-2,-3],[-1,-49],[4,11],[-1,-27],[-3,-5],[0,-30],[7,-28],[-1,-13],[-4,-5],[10,-49],[6,-14],[6,-6],[6,-13],[2,-29],[7,-10],[2,-12]],[[5849,4709],[-28,-8],[-19,-7]],[[5802,4694],[-16,-35],[0,-23],[4,-2],[2,9]],[[5792,4643],[4,-21],[-1,-21],[1,-34],[-5,-16],[0,-10],[-4,-17],[4,-25],[9,-11],[6,-17],[14,-4],[-2,11],[9,5],[0,-75],[-5,1],[-1,12],[-10,-10],[-7,1],[-2,14],[-6,17],[-4,-2],[-1,13],[-5,13],[-16,7],[-6,6],[-3,16],[-5,7],[-1,12],[-5,0],[-1,-16],[-7,-8],[-10,6],[-11,0],[-4,7],[-14,8],[0,26],[-17,-7],[-8,-8],[-4,5],[3,14],[-8,6],[-4,9]],[[5366,4846],[-9,2],[-4,-10],[-7,-3],[-7,16]],[[5363,4916],[8,-9],[0,-6],[8,11],[1,14],[7,-2],[12,12],[2,-8],[-3,-7],[1,-20],[9,0],[4,6],[10,27],[8,8],[1,8],[9,4],[10,35],[-1,29],[1,13],[-1,26],[12,25],[0,7],[11,30],[8,5],[12,27],[0,21],[3,25],[3,7],[-2,14],[1,28],[5,27],[-1,34],[16,57],[0,19]],[[5333,4894],[-5,13],[0,10],[-15,33],[-5,6]],[[5308,4956],[2,12],[8,13],[5,-10],[5,-2],[4,22],[-8,9],[3,10],[-7,12],[2,7],[-1,20],[4,-5],[6,5],[4,-5],[11,5],[-1,24],[5,5],[5,-5],[5,-26],[11,-4],[9,13],[1,6],[9,-22],[5,9],[0,20],[5,5],[1,41],[-2,10],[3,23],[-9,9],[-3,11],[-5,0],[0,27],[5,19],[5,0],[6,16],[-5,18],[0,11],[-14,6],[-7,-9],[-7,-3],[-4,22],[2,23],[3,9]],[[3018,5865],[-19,-13],[-7,-27],[-6,-1],[-7,-26],[-5,-13],[-2,-37],[-11,-37],[11,7],[1,-11],[4,2],[4,-28],[8,-16],[1,-19],[-4,-7],[1,-28],[7,-3],[3,-18],[7,-5],[5,4],[18,-4],[9,7],[10,-10],[7,-1],[18,-46],[5,-2],[7,8],[11,-5],[29,8],[4,-18],[-6,-10],[0,-17],[-5,-6],[0,-66],[5,-28],[4,-2],[5,-17],[-15,-35],[7,-6],[11,-18],[0,-12],[4,-17],[5,-39]],[[3056,4939],[-8,22],[-6,-2],[-7,6],[18,59],[0,7],[-26,25],[-10,-10],[-2,7],[-8,7],[-6,-11],[-10,-7],[-8,6],[-9,-5],[-7,8],[2,12],[-2,17],[-10,6],[1,12],[-4,13],[-7,3],[-5,10],[-5,2],[-4,26],[-6,11],[-5,2],[-8,14],[-5,-2]],[[2909,5177],[-11,11],[-3,-1],[-7,15],[-8,7],[-3,-12],[-9,-1],[-19,10],[-1,14],[-7,11],[-11,5],[-13,16],[-7,13]],[[2810,5265],[-5,10],[5,13],[7,-2],[-3,14],[0,13],[7,19],[10,-5],[0,9],[9,-4],[1,22],[12,29],[0,6],[7,20],[-6,-5],[-4,5],[-1,15],[3,16],[-2,57],[-5,2],[9,12],[0,7],[-7,20],[3,5],[1,19],[-5,6],[-3,17],[-7,14]],[[2836,5599],[2,14],[13,12],[1,13],[4,2],[-6,28],[-3,3],[3,11]],[[2850,5682],[12,-31],[1,-12],[5,0],[-1,29],[-4,10],[7,5],[10,15],[6,23],[12,4],[2,15],[-3,1],[3,13],[-1,20],[3,2],[0,16],[8,14],[11,14],[9,-5],[-3,-8],[7,-4],[4,18],[1,14],[10,-3],[15,1],[6,12],[10,13],[13,10],[3,11],[-1,9],[6,1],[12,10],[8,-6],[3,-18],[-6,-10]],[[6235,4487],[1,-17],[-4,8],[3,9]],[[6207,4496],[-7,9],[1,21],[4,1],[-1,-12],[3,-19]],[[4324,6037],[-5,9],[5,2],[0,-11]],[[4340,6065],[8,-16],[-5,-7],[-4,7],[1,16]],[[4365,6116],[5,-8],[-8,-3],[3,11]],[[4303,6173],[3,-6],[-7,-10],[-3,11],[7,5]],[[2676,5812],[7,-32],[16,-36],[7,-10]],[[2706,5734],[-3,-5],[-5,7],[-2,-8],[0,-23],[6,-10],[-5,-4],[2,-19],[-6,-11],[4,-16]],[[2697,5645],[-2,11],[-5,9],[0,15],[-9,5],[5,-10],[0,-10],[-12,12],[3,27],[-8,14],[-10,11],[-11,8],[1,10],[-12,21],[-4,-7],[9,-12],[-6,-16],[-6,15],[-10,5],[-5,19],[1,16],[3,2],[1,15],[-8,5],[7,2],[0,9]],[[2619,5821],[2,7],[21,-15],[5,7],[13,-10],[0,-5],[8,-5],[8,5],[0,7]],[[2698,6446],[5,-3],[4,-17],[-10,-9],[-8,8],[7,1],[-4,15],[6,5]],[[2836,6454],[6,-1],[-1,-7],[-5,8]],[[2823,6481],[-2,-7],[-7,5],[9,2]],[[2914,6329],[-1,4]],[[2913,6333],[-1,0]],[[2912,6333],[-2,-4]],[[2910,6329],[-10,-1],[-15,6],[-21,-3],[-2,-3],[-21,-3],[6,17],[9,10],[3,9],[-8,15],[-19,-1],[-13,20],[-1,18],[-6,16],[-14,-5],[-10,8],[-8,0],[-10,11],[-5,10],[-13,-1],[-13,8],[-13,4],[-7,11],[12,1],[1,7],[-7,6],[-25,1],[-10,-21],[-7,-9],[-15,0],[-2,-15],[-3,2],[-11,-11],[1,10],[-11,-3],[10,9],[5,0],[-2,15],[3,11],[12,15],[14,8],[3,6],[19,3],[9,8],[27,-2],[3,-6],[15,2],[6,-8],[10,1],[11,-12],[9,-20],[15,-1],[13,-13],[5,-1],[7,-16],[12,-5],[-3,9],[12,-16],[5,-11],[23,-17],[0,-5],[12,2],[3,-6],[-5,-10],[2,-9],[20,1],[7,-5],[9,-19],[5,2],[2,-9],[-3,-6],[-13,0],[-10,-9]],[[3089,5876],[-11,16],[3,2],[8,-18]],[[5905,7209],[1,0]],[[5941,7202],[-6,-2]],[[5908,7209],[6,1],[0,11],[14,-4],[17,8],[15,13],[0,-3],[-19,-22],[3,-11]],[[5938,7197],[0,0]],[[5938,7197],[0,0]],[[5937,7198],[0,0]],[[5944,7202],[-3,-6]],[[5941,7196],[0,6]],[[5936,7198],[0,-1]],[[5936,7197],[-3,-9],[-16,-11]],[[5917,7177],[-8,1]],[[5909,7178],[-7,3],[-5,11],[1,9],[7,7]],[[5907,7209],[1,0]],[[5411,8112],[4,8],[9,-9],[14,-7],[6,-6],[12,-3],[-7,-8],[13,-20],[10,7],[-4,12],[9,-2],[19,-24],[4,4],[7,-7],[8,0],[8,-23]],[[5523,8034],[-8,-1],[-12,-15],[-1,-11],[-15,-14],[-9,4],[-8,-15]],[[5383,7990],[-10,11],[-13,20],[-10,9],[-7,17],[3,13],[-5,11],[6,13],[26,11],[3,8],[9,1],[13,9],[-2,8],[15,-9]],[[5255,7927],[0,0]],[[5394,8289],[0,-4]],[[5394,8285],[0,4]],[[5371,8330],[6,-3],[4,-14],[-11,-5],[-6,4],[1,12],[6,6]],[[5262,8339],[4,3],[12,-11],[5,-15],[13,-5],[11,2],[1,-9],[-10,-8],[12,-2],[8,-7],[5,14],[11,2],[14,11],[13,4],[3,-10],[10,-8],[6,2],[3,-17],[13,-10]],[[5396,8275],[3,-23],[-5,-27],[12,-14],[-3,-9],[7,-21],[-4,-20],[2,-11],[7,-4],[2,-14],[-6,-20]],[[5269,7921],[-15,12],[1,-6]],[[5210,7923],[-2,4],[8,55],[9,11],[2,10],[-16,4],[-4,7],[-18,-1],[-13,17]],[[5176,8030],[4,20],[-6,3],[-5,16]],[[5166,8104],[-3,14],[9,22],[0,9],[-8,12],[5,10],[8,-4],[10,5],[8,28],[-10,5],[2,9],[8,1],[4,18],[0,16]],[[5199,8249],[-3,19],[6,6],[21,2],[6,-18],[0,12],[8,-4],[2,20],[9,1],[-8,29],[10,6],[-9,13],[-1,9]],[[5240,8344],[22,-5]],[[6201,5844],[-9,-28]],[[6192,5816],[-6,4],[-22,-7],[-4,8]],[[6160,5821],[0,12]],[[6160,5833],[0,24],[10,22],[7,22]],[[6177,5901],[8,-6],[3,9],[9,11]],[[6197,5915],[6,-14],[2,-25],[-10,-14],[-7,-3],[-3,-11],[13,3],[3,-7]],[[3294,6081],[4,-5],[0,-15],[-3,-3],[-3,16],[2,7]],[[5312,8347],[17,-10],[-1,-7],[-10,-1],[-8,6],[2,12]],[[5348,8350],[-12,-5],[4,7],[8,-2]],[[5272,8355],[7,-12],[-8,2],[1,10]],[[5413,8363],[6,-13],[-9,3],[3,10]],[[5287,8385],[7,0],[6,-15],[-2,-16],[-19,1],[-11,24],[19,6]],[[5342,8415],[7,-3],[0,-22],[-11,-12],[8,-11],[-13,-8],[5,-3],[-8,-10],[8,-5],[-9,-11],[-4,32],[-13,0],[-2,28],[13,12],[5,-13],[14,26]],[[5247,8463],[-2,-13],[-9,0],[11,13]],[[5240,8344],[-2,32],[-14,7],[3,14],[6,5],[-4,11],[-4,-6],[0,34],[16,1],[7,12],[9,-10],[-3,15],[18,12],[-32,-9],[-5,-13],[-7,3],[11,20],[17,1],[9,6],[10,19],[20,10],[-6,-10],[3,-20],[-7,-15],[2,-23],[12,-1],[5,-6],[-6,-16],[-11,2],[-4,-20],[-20,-21],[6,-16],[-7,-5],[8,-8],[-8,-10]],[[3006,6222],[2,16],[-6,10]],[[3002,6248],[0,0]],[[3002,6248],[-1,2]],[[3001,6250],[-1,4]],[[3000,6254],[8,11],[-2,9],[4,12],[-4,32]],[[3006,6318],[3,11],[14,-4],[4,6],[11,-10],[5,1],[4,-8],[11,0],[4,-20],[6,2],[11,-3],[-2,-5],[-11,2],[0,-8],[24,-7],[12,-20],[-9,-23],[-8,11],[-17,0],[-9,4],[-8,-14],[-9,-2],[-3,12],[-9,-8],[-5,2],[1,-9],[-10,-31],[-6,8],[-4,17]],[[5238,7310],[2,-6],[-7,-4],[1,-6],[-8,-8],[6,-5],[-4,-35],[3,-10],[-1,-19],[4,-5],[-4,-8],[-3,-30],[-11,-11],[-1,-9],[-7,-8],[-1,-14],[7,-25],[0,-11],[10,-7],[6,-15],[2,-20],[19,-24],[7,-62],[6,-44]],[[5264,6924],[-7,-7],[11,-29],[5,-37],[-2,-44],[4,-19],[-5,-34],[2,-21],[3,-4],[-2,-20],[-10,-9],[-3,-10],[18,-52],[0,-25],[5,-5],[1,-10],[6,-6],[7,5],[21,-13],[3,-4],[11,-43]],[[5332,6537],[-28,-35],[-99,-122],[-24,-40],[-17,-32],[-8,-8],[-39,-15]],[[5117,6285],[-26,-9],[-5,7],[4,15],[-2,11],[1,14],[-8,8],[-12,4],[-9,16],[-2,-4],[-9,5],[-4,14],[-14,12],[1,19],[-14,18],[-28,40],[-8,9],[-36,49],[-21,30],[-8,9],[-51,70]],[[4866,6622],[-64,78],[-16,21],[-28,33]],[[4758,6754],[0,22]],[[4758,6776],[0,59],[12,18],[18,22],[7,0],[8,8],[10,0],[27,5],[6,-5],[7,21],[11,17],[11,11],[6,11],[17,8],[3,14],[-8,21],[4,4],[1,15],[23,9],[-3,14],[12,5],[35,-3],[0,17],[6,7],[-11,14],[-4,11],[2,8],[-5,10],[2,18],[-4,8],[2,24],[-4,15],[3,6],[-4,7],[2,9],[-12,19]],[[4938,7203],[8,0],[18,16],[2,12],[11,12],[8,0],[1,7],[6,-5],[8,2],[5,15],[24,22],[25,4],[10,4],[8,-2],[11,13],[3,-4],[12,2],[9,8],[21,-1],[13,-7],[8,-8],[10,11],[14,5],[6,10],[12,-12],[8,2],[0,9],[9,-1],[7,-10],[13,4],[10,-1]],[[2774,5010],[-4,-1],[0,11],[5,9],[5,-3],[-6,-16]],[[2519,5143],[-4,-14],[-5,0],[9,14]],[[2493,5154],[0,-14],[-8,2],[1,11],[7,1]],[[2459,5168],[2,-12],[-7,2],[-1,8],[6,2]],[[2478,5174],[6,-6],[-5,-6],[-4,5],[3,7]],[[2463,5192],[4,-22],[6,-11],[-1,-9],[6,-10],[-4,-13],[-13,-3],[-3,10],[12,14],[-9,21],[-3,18],[5,5]],[[2909,5177],[-10,0],[6,-20],[4,-4],[-1,-13],[2,-13],[-5,0],[-4,-27],[-15,-40],[-16,-25],[-33,-24],[-9,-21],[1,-7],[-6,5],[-1,-22],[-8,-31],[-1,-17],[-4,-3],[-1,-12],[-4,-7],[-8,2],[-5,16],[0,9],[-8,2],[-9,11],[-8,-11],[-2,5],[4,10],[-5,9],[10,10],[-2,22],[-3,6]],[[2768,4987],[11,12],[6,40],[-3,5],[-4,-11],[-1,15],[-7,-22],[-11,18],[-7,5],[5,13],[-1,22],[-2,5],[2,15],[-4,19],[10,7],[3,21],[-1,11],[12,24],[1,31],[-2,13],[12,11],[19,9],[4,15]],[[5949,6986],[2,-6]],[[5951,6980],[17,-99]],[[5968,6881],[-4,-12],[-3,-33],[-5,-16],[0,-26],[-5,-14],[-13,15],[-6,17],[-10,16],[-1,26],[-8,12],[-5,14],[-2,23],[-4,-1],[-4,-16],[6,-10],[3,-16],[0,-14],[4,-6],[14,-42],[5,-5],[5,-36],[4,-4],[5,-25],[0,-11],[11,-43],[15,-51],[8,-35],[15,-29],[-8,3],[2,-41],[3,-16],[6,-13],[10,-6],[2,-8],[16,-29]],[[6024,6449],[-78,0],[-73,0],[0,14],[-6,-14],[-57,0],[-71,0],[-46,0]],[[5693,6449],[0,421],[-3,10],[-1,24],[-4,13],[6,20],[3,17],[-4,22],[0,14],[8,16]],[[5698,7006],[1,-7],[7,-2],[12,7],[14,-6],[27,-8],[1,-7],[8,-5],[5,4],[4,-9],[21,-6],[8,-9],[13,7],[16,22],[4,-4],[4,14],[3,-3],[11,6],[-9,-10],[9,2],[7,11],[13,-9],[8,5],[-3,-15],[7,-4],[1,-7],[6,2],[0,9],[6,-10],[7,-4],[31,7],[9,9]],[[6111,6097],[3,-11],[8,-6],[-12,2],[-2,8],[3,7]],[[6177,5901],[-6,15],[-8,12],[-5,18],[-14,19],[-7,23],[-5,10],[-10,7],[-5,9],[-9,-1],[-10,9],[-10,-6],[-5,10],[-3,-8],[-13,-5],[-6,16],[-3,-1],[-6,12],[-9,-45],[-6,19],[-5,1],[-2,-8],[-10,1],[-6,-4]],[[6014,6004],[-3,51],[6,17],[1,18],[3,5],[5,24],[-2,23],[3,6],[-1,17],[12,-2],[3,17],[21,13],[5,18],[5,9]],[[6072,6220],[9,-35],[0,-9],[6,-31],[1,-24],[3,-23],[4,-4],[0,-17],[5,-2],[2,-22],[4,-1],[-2,18],[3,4],[6,-7],[0,-17],[6,-8],[3,5],[6,-3],[3,-12],[12,-6],[12,-31],[2,-9],[9,-6],[3,-12],[3,1],[4,-13],[1,-13],[4,2],[6,-13],[0,-8],[10,-9]],[[5941,7196],[-3,1]],[[5938,7197],[-2,0]],[[4503,6784],[-3,-9],[-5,3],[8,6]],[[4571,6803],[1,-17],[-5,-6],[-6,6],[2,19],[8,-2]],[[4552,6828],[-7,-11],[-2,-14],[-7,-8],[-6,21],[12,4],[4,8],[6,0]],[[4604,6803],[7,35],[5,-4],[-4,-26],[-8,-5]],[[4503,6844],[4,-7],[-3,-16],[-4,14],[3,9]],[[4626,6861],[0,-6],[-9,-10],[-1,11],[10,5]],[[4919,7214],[-1,3]],[[4918,7217],[1,-3]],[[4851,7247],[-1,5]],[[4850,7252],[1,-5]],[[5043,7435],[2,-6],[-6,-9],[-6,2],[10,13]],[[5088,7483],[0,-11],[8,0],[-7,-23],[-4,-6],[-8,7],[-3,10],[-9,0],[9,14],[14,9]],[[5114,7490],[6,-11],[-3,-3],[-12,12],[9,2]],[[5055,7627],[0,0]],[[4950,7681],[11,-8],[1,-9],[16,-8],[6,-11],[6,3],[8,-7],[20,0],[0,9],[18,-7],[3,-7]],[[5047,7630],[8,-9],[8,4],[6,-5],[12,8],[7,-3]],[[5088,7625],[4,-5],[-6,-6],[3,-18],[-4,-6],[-23,-20],[-3,-10],[-17,-6],[-15,-8],[-8,-13],[5,-6],[-8,-7],[-7,-18],[-8,-14],[-11,-32],[3,-21],[6,-15],[7,-7],[-21,-22],[-9,-36],[4,-6],[-19,-4],[-12,-20],[-2,-15],[-7,-12],[-5,6],[-7,-1],[-3,-8],[-6,4],[-42,-1],[-7,-13],[-15,-5],[-4,-16]],[[4851,7264],[0,0]],[[4851,7264],[-6,-7],[-14,11],[-9,24],[-2,18],[-12,13],[-14,2]],[[4794,7325],[-3,18],[7,27],[6,2],[3,10],[-5,0],[-6,14],[1,17],[6,6],[3,12],[-5,3],[-5,22],[-6,12],[14,0],[4,14],[-4,17],[7,8],[-1,30],[-3,6],[8,16],[6,4],[6,14],[-10,6],[0,16],[-16,2],[-2,-7],[-11,-3],[-3,3],[-13,-3],[3,13],[-4,6],[-15,-10]],[[4756,7600],[-4,7],[8,12],[-7,6],[1,13],[-6,-4],[1,10],[-7,18],[12,17],[5,-3],[11,5],[-2,4],[13,17],[6,2],[13,-13],[36,2],[14,-2],[17,-9],[16,0],[17,6],[3,-6],[11,-2],[10,4],[16,-8],[10,5]],[[5628,8557],[8,2],[12,-10],[-17,-13],[-15,-4],[-10,7],[0,13],[22,5]],[[5631,8581],[8,-10],[-15,-8],[-3,11],[-9,4],[19,3]],[[5778,8608],[4,-7]],[[5782,8601],[-5,-1]],[[5777,8600],[3,-1]],[[5780,8599],[-7,-9]],[[5773,8590],[-4,-10]],[[5769,8580],[-12,1],[-9,-8],[13,-28],[6,-22]],[[5767,8523],[5,-8],[-7,-3],[-6,-16]],[[5759,8496],[-14,5],[-8,-6],[-15,19],[-26,13],[-21,-12]],[[5675,8515],[7,26],[-10,-3],[-13,5],[-6,13],[-3,20],[6,3],[-5,14],[18,5],[6,10],[30,1],[8,10],[35,-13],[27,-2],[3,4]],[[6160,5833],[0,-12]],[[6192,5816],[-8,-22],[5,-23],[5,-13],[6,-8],[1,-13],[4,-12],[5,-4],[12,-21],[51,-34],[31,-23],[28,0]],[[6332,5643],[-21,-43],[-31,-61],[-14,-31],[-14,-34],[-5,-9],[-27,3],[-20,-14],[-8,-12],[-1,-8],[-9,-7],[-12,-2],[-7,-13]],[[6163,5412],[-19,-3],[-3,2],[-9,19],[-26,-24],[-8,-27],[-25,12],[-15,0],[-7,11],[-28,36],[-23,1],[-3,10]],[[5997,5449],[-4,8],[0,27],[-2,9],[-11,-2],[-1,9],[-5,7],[-3,12],[0,13],[-4,11],[-3,24],[-6,5],[0,8],[-6,4],[-7,24],[-9,16],[-19,8],[-1,9],[5,9],[0,17],[12,3],[2,-5],[7,3],[5,9],[-1,50]],[[5946,5727],[4,33],[3,9],[-1,22],[7,18],[6,-7],[5,5],[0,25],[4,16],[-1,14],[6,8],[2,12],[11,31],[11,1],[0,19],[3,19],[6,24],[2,28]],[[5634,8649],[-3,-11],[-9,9],[12,2]],[[5804,9158],[-14,-7],[8,-9],[-8,-12],[7,-21],[18,-7],[18,-21],[-2,-10],[-23,-30],[-1,-9],[13,-20],[11,-25],[5,-23],[-10,-1],[2,-32],[-7,-6],[6,-11],[9,-1],[-2,-23],[14,-8],[1,-11],[-17,-18],[14,-16],[21,-15],[9,-17],[-9,-24],[-25,-28],[-15,-23],[-18,-22],[-10,-7],[-27,-31]],[[5772,8670],[-31,-8],[-19,-2],[-8,-8],[-15,0],[-6,-6],[-38,-11],[-10,-6],[-10,17],[3,10],[-12,-6],[2,10],[-10,0],[-12,14],[-5,-7],[-8,8],[-2,23],[5,3],[3,23],[-5,25],[-5,3],[3,22],[-6,2],[3,27],[13,9],[-5,12],[11,-3],[13,8],[-5,9],[17,9],[3,10],[13,6],[10,18],[17,18],[5,16],[25,8],[-4,14],[2,17],[-33,19]],[[5671,8973],[-15,37],[10,20],[-12,20],[5,16],[-7,26],[5,3],[-23,26],[-21,5],[-41,32]],[[5572,9158],[12,1],[7,14],[10,-2],[21,-31],[22,-6],[20,12],[27,-15],[7,13],[18,12],[-1,17],[6,22],[15,15],[16,-2],[22,10],[17,-16],[18,-7],[6,-12],[-14,-14],[3,-11]],[[9954,4093],[-5,-13],[-7,0],[12,13]],[[9951,4184],[0,-5],[9,-12],[2,-26],[-10,-2],[-3,-6],[-10,-2],[-15,11],[-1,12],[5,7],[-2,6],[7,12],[18,5]],[[0,4252],[9987,-23],[-2,-11],[4,2],[7,14],[0,-17],[-16,-2],[-1,7],[-11,-10],[-4,-9],[-7,15],[12,16],[13,4],[2,8],[-9984,6]],[[3351,2225],[4,-3],[-17,-28],[-11,-4],[-4,-11],[-8,-4],[-11,12],[16,3],[-4,17],[12,1],[-13,15],[11,-5],[9,6],[15,-3],[1,4]],[[3368,2227],[7,2],[4,-8],[12,3],[4,-18],[-17,-11],[-16,0],[8,-4],[-12,-6],[1,-10],[-11,5],[3,-11],[-9,12],[6,17],[13,11],[-3,14],[10,4]],[[6541,3981],[5,-2],[5,-13],[-1,-13],[-7,-1],[-6,6],[-4,14],[8,9]],[[6252,4454],[4,-5],[-1,-13],[-3,-1],[0,19]],[[3483,5317],[7,10],[4,16],[2,29],[4,19],[-10,24],[-3,26],[-1,25],[4,16],[5,9]],[[3495,5491],[3,5],[3,18],[12,-10],[11,-4],[6,-6],[10,-19],[22,-31],[3,-18],[-1,-11]],[[3306,6034],[4,-11],[-1,-7],[-9,13],[1,11],[5,-6]],[[3288,6120],[2,-14],[-4,-5],[-3,22],[5,-3]],[[3295,6124],[5,-5],[-9,-3],[1,18],[3,-10]],[[5262,7641],[2,-7],[1,-27],[-4,-7],[-2,-24],[-7,-9],[-8,9],[3,8],[-7,3],[2,19],[-5,15],[3,10],[13,13],[6,-1],[3,16],[0,-18]],[[5160,8036],[5,-6],[11,0]],[[5172,7849],[16,7]],[[5195,7827],[-7,-5],[5,-18],[5,-6],[-2,-11],[-13,-6],[3,-11],[8,-5],[1,-9],[-6,-11],[4,-14],[10,-7],[9,3],[-4,-22]],[[5208,7705],[-2,-3]],[[5206,7702],[-2,-1]],[[5204,7701],[-11,-10],[-9,-23],[-14,-6],[-22,9],[0,7],[-15,1],[-7,6],[-11,0],[-5,6],[-13,-17],[-10,-6],[-3,-9],[0,-26],[4,-8]],[[4950,7681],[9,13],[6,48],[-1,11],[4,49],[11,-11],[0,8],[-14,16],[3,6],[1,26],[-20,14],[-9,18],[4,14],[-5,12],[-8,1],[-3,15],[-6,-3],[-11,11],[-18,6],[-4,6],[-11,-5],[0,7],[-9,7],[12,5],[-14,12],[1,13],[10,6],[22,0],[2,9],[12,2],[10,-20],[12,9],[16,-4],[4,8],[-1,28],[-6,8],[0,18],[16,0],[-1,-11],[5,-6],[30,-4],[8,7],[-5,3],[2,11],[10,9],[18,7],[11,15],[0,37],[10,8],[17,4]],[[4800,8771],[13,-21],[-14,13],[1,8]],[[4808,8772],[9,-11],[-11,3],[2,8]],[[9394,5584],[3,-9],[-4,-1],[1,10]],[[5308,4956],[-3,13],[-10,15],[0,9],[-17,28],[-8,19],[7,-8],[5,3],[-8,8],[-7,1],[-2,13],[-9,21],[1,10],[8,2],[-2,7],[-4,-5],[-9,16],[-1,11],[-6,18],[5,6],[2,-7],[2,12],[6,13],[1,14],[-1,27],[2,-7],[11,-2],[-8,7],[-5,19],[9,-6],[-2,24],[3,7],[4,-4]],[[5272,5240],[6,1],[36,-1],[0,68]],[[4964,8107],[6,-6],[-7,-6],[-6,6],[7,6]],[[4883,8252],[-4,-10],[-6,16],[10,-6]],[[4825,8298],[-11,-2],[-8,20],[-10,-17],[-14,5],[-9,13],[11,10],[-5,6],[11,2],[8,19]],[[4798,8354],[20,10],[13,-2],[0,-8],[18,-35],[-7,-6],[-11,-19],[-6,4]],[[4857,8375],[-7,14],[7,-1],[0,-13]],[[4830,8398],[2,-9],[-7,-6],[-6,6],[1,10],[10,-1]],[[4839,8409],[-5,-13],[-4,6],[9,7]],[[4832,8443],[11,-10],[-2,-5],[-18,-4],[7,10],[-7,5],[9,4]],[[4795,8489],[3,-18],[-4,1],[1,17]],[[4800,8503],[1,-8],[-10,7],[9,1]],[[4824,8506],[5,-20],[14,-6],[-9,-6],[-10,1],[-13,15],[11,5],[2,11]],[[4827,8543],[-5,-20],[-16,-15],[3,11],[-7,3],[2,15],[23,15],[0,-9]],[[4907,8560],[9,0],[-6,-20],[-22,-20],[6,-7],[-8,-14],[22,8],[20,-3],[16,2],[7,-13],[-6,-9],[-6,-24],[-9,-18],[-10,-8],[8,-10],[-21,-15],[9,-4],[11,6],[13,-8],[14,-19],[4,-29],[8,-27],[19,-9],[4,-13],[8,-7],[-4,-5],[11,-24],[-7,1],[12,-23],[-7,-19],[8,-7],[5,11],[20,-2],[11,-10],[3,-16],[-5,-24],[-4,0],[-14,-26],[-11,-12],[12,-3],[13,1],[-3,-14],[-11,-13],[-5,1],[-14,-11],[-12,6],[-18,-6],[-3,7],[-18,-7],[-14,-1],[2,-8],[-27,9],[-13,-6],[-2,-17],[-8,-7],[-11,10],[-16,-3],[-12,-21],[-8,10],[19,25],[7,14],[1,12],[6,-1],[2,11],[12,3],[11,-4],[11,2],[8,20],[-23,-9],[-8,12],[-13,-3],[0,6],[-10,3],[-8,-7],[-10,18],[13,6],[20,18],[2,9],[-2,24],[-17,-4],[11,12],[5,11],[27,10],[8,19],[-4,11],[5,2],[-1,14],[-9,-6],[-11,23],[9,26],[-19,-10],[-11,5],[1,-10],[-13,10],[-5,-5],[-1,21],[11,19],[-15,29],[-8,-15],[-4,-23],[-5,-1],[3,22],[-1,18],[5,24],[8,18],[-12,-13],[-5,11],[0,17],[5,10],[-6,19],[7,25],[12,0],[-5,20],[11,21],[20,-6],[26,7]],[[4912,8589],[-2,-13],[-4,10],[6,3]],[[4964,8673],[4,-27],[-15,5],[9,7],[2,15]],[[6206,7550],[-23,27],[-5,-9],[-8,5],[-9,-5],[-8,5]],[[6153,7573],[7,17],[-8,51],[-10,6],[-3,11],[-21,13],[-8,10]],[[6110,7681],[2,9],[16,0],[27,-19],[21,2],[7,-6],[6,1],[10,-14],[17,-9],[-2,-8],[6,-4],[16,12],[7,-8],[4,8],[11,-14],[11,0],[-2,-18],[8,-10],[14,-9]],[[4995,5824],[5,-3],[-3,-26],[10,-13],[3,-27],[-4,-30],[8,0],[-2,-24],[2,-8],[-4,-8],[9,-19],[-3,-11],[0,-28],[-3,-15],[4,-3],[-1,-23],[-3,-2],[6,-28],[8,-9],[5,-13]],[[5032,5534],[-7,-19],[-15,1],[-21,-17],[-12,-16],[-6,0],[-6,-7],[-11,-5],[-10,-15],[-7,8],[-24,12]],[[4913,5477],[8,2]],[[4851,7264],[0,0]],[[4683,5897],[-3,-14],[6,-9],[6,11],[4,0],[8,-17],[4,13],[5,5],[16,-11],[2,7],[14,19],[5,-5],[2,-20],[3,-1],[-1,-21],[13,-17],[-9,-23],[5,5],[6,-3],[0,-28],[9,-12],[0,-8]],[[4764,5618],[-6,8],[-1,-12],[-11,-17],[-5,13],[-4,0],[3,19],[-5,25],[0,11],[-8,10],[-7,-7],[-6,3]],[[4714,5671],[-3,1],[-5,-11],[-3,4],[5,15],[-3,10],[0,15],[-4,1],[2,13],[-15,39],[-19,0],[-17,-7],[-5,-26],[-12,-21],[-5,-1]],[[4630,5703],[4,8],[-12,23],[0,12],[-4,-2],[-6,13],[-20,29],[4,20],[-5,-10],[-3,21],[-4,-14],[-2,11]],[[4582,5814],[8,30],[12,8],[16,4],[0,19],[-6,11],[7,3],[-1,24]],[[4618,5913],[19,-3],[-1,-8],[17,-6],[3,-5],[7,6],[20,0]],[[4534,5935],[-2,17],[4,7],[8,-14],[5,5],[-8,2],[-1,13]],[[4540,5965],[29,0],[4,12],[7,2],[8,-5],[2,-7],[6,1],[4,-10],[12,7],[3,-14],[-15,-6],[-5,7],[-11,6],[-6,7],[-1,-9],[-5,-4],[-12,-1],[0,-11],[-24,1],[-2,-6]],[[4553,5826],[1,-7],[-6,3],[5,4]],[[4582,5814],[-1,9],[-5,-7],[-7,20],[5,15],[8,-2],[-9,7],[-2,-8],[-3,8],[2,11],[8,-1],[-5,6],[-6,-7],[-11,-6],[3,14],[-7,-6],[-6,6],[1,13],[-5,-2],[-7,9]],[[4535,5893],[14,7],[15,-1],[13,14],[41,0]],[[5272,5240],[-3,6],[-10,3],[3,15],[10,28],[0,26]],[[5243,5399],[5,-8],[-8,-24],[-6,4],[0,10],[4,1],[1,11],[4,6]],[[5663,7229],[13,-11],[9,5],[22,-8],[8,3],[-1,-12],[9,6],[7,-7],[-2,-5],[-25,-2],[-16,-4],[0,9],[-10,6],[-24,5],[1,17],[4,5],[5,-7]],[[5756,7245],[-1,-17],[-3,-5],[4,22]],[[5640,7268],[-4,-2],[0,12],[4,-10]],[[5784,7281],[-5,-19],[-8,-12],[-2,13],[5,13],[10,5]],[[5710,7319],[-4,-10],[-2,10],[6,0]],[[5731,7350],[-10,-7],[2,7],[8,0]],[[5748,7357],[-5,-6],[-5,6],[10,0]],[[5576,7363],[5,-7],[-4,-5],[-5,10],[4,2]],[[5690,7366],[3,-13],[-8,16],[5,-3]],[[5571,7398],[6,-23],[-8,2],[-3,14],[5,7]],[[5723,7405],[3,-16],[-4,-9],[-5,25],[6,0]],[[5651,7423],[11,-14],[8,0],[5,-29],[7,0],[0,-10],[-7,1],[-8,23],[-11,0],[-1,9],[-12,17],[-9,-1],[13,12],[4,-8]],[[5733,7446],[6,-17],[-13,0],[4,10],[-10,-4],[-2,8],[13,8],[2,-5]],[[5553,7474],[-2,-18],[-5,18],[7,0]],[[5706,7488],[-2,-14],[-9,3],[0,9],[11,2]],[[5688,7522],[-8,1],[4,10],[4,-11]],[[5586,7536],[18,3],[4,11],[23,3],[5,10]],[[5731,7585],[7,-8],[1,-14],[-8,-6],[0,-15],[-8,-13]],[[5723,7529],[-3,5],[-11,2],[-11,8],[-12,-10],[-8,6],[-9,-12],[-11,1],[4,-19],[-4,-10],[8,-6],[-1,-11],[-9,17],[-8,0],[0,-6],[10,-14],[-9,6],[-2,14],[-12,9],[0,14],[-6,-6],[-3,-28],[8,-15],[2,-11],[5,-6],[7,-17],[-11,9],[-4,-7],[6,-16],[-9,-6],[17,-11],[0,-9],[8,-2],[13,-15],[-2,-5],[2,-25],[-3,-1],[-12,22],[-15,-11],[5,-3],[0,-11],[10,-10],[-11,-8],[-11,16],[0,-8],[7,-21],[3,-20],[0,-17],[-11,22],[-5,-6],[-4,-14],[0,13],[-6,19],[-6,-1],[0,-14],[-7,3],[-3,13],[3,14],[-3,15],[-13,17],[7,16],[7,2],[6,9],[19,-10],[10,-12],[9,10],[-5,6],[-17,14],[-1,-6],[-12,4],[-12,-7],[-4,8],[-8,-4],[-5,24],[-4,-1],[-1,16],[-13,20],[-2,14],[-5,4]],[[5583,7526],[0,0]],[[5582,7531],[4,5]],[[3288,5876],[-5,-2],[5,13],[0,-11]],[[3786,8632],[-12,-4],[4,9],[8,-5]],[[3787,8645],[3,-11],[-11,4],[-4,10],[12,-3]],[[3846,8835],[12,-11],[-9,0],[-12,15],[9,-4]],[[3579,8886],[3,14],[6,-4],[-9,-10]],[[3876,8910],[-1,-14],[-10,26],[11,-12]],[[3961,8973],[2,-9],[-18,-2],[0,10],[16,1]],[[3583,9209],[9,-5],[-9,-16],[-11,9],[11,12]],[[3535,9210],[20,-7],[5,-10],[-9,-9],[-40,-14],[-19,9],[8,9],[-21,2],[3,11],[-6,23],[14,9],[30,-7],[15,-16]],[[4292,9258],[5,-6],[-22,-8],[-56,-5],[5,12],[24,14],[11,0],[27,11],[6,-18]],[[3513,9274],[-13,6],[9,10],[4,-16]],[[3537,9281],[-14,10],[21,1],[-7,-11]],[[3472,9375],[-13,-11],[-4,9],[17,2]],[[4335,9380],[22,-3],[33,-25],[-20,4],[17,-11],[-5,-9],[-50,20],[-10,8],[0,15],[13,1]],[[4354,9391],[36,-8],[-3,-13],[-17,-1],[-14,11],[-38,1],[0,5],[36,5]],[[4333,9407],[21,-8],[-47,6],[55,-12],[-48,-4],[-29,9],[13,12],[35,-3]],[[4418,9469],[11,-1],[11,-14],[-32,-5],[-18,7],[3,8],[25,5]],[[4439,9496],[13,-2],[-12,-10],[-14,7],[13,5]],[[4505,9520],[-7,-8],[21,-2],[-15,-6],[-30,-2],[2,17],[29,1]],[[4481,9596],[3,-41],[-16,34],[13,7]],[[2994,9643],[23,-5],[-21,-3],[-2,8]],[[4445,9674],[18,-11],[-32,9],[14,2]],[[4519,9788],[-33,-16],[-26,9],[49,14],[10,-7]],[[3575,9904],[-53,7],[4,13],[49,-20]],[[3722,9942],[44,-15],[-28,-11],[-44,11],[-20,15],[48,0]],[[3880,9983],[38,-14],[-47,9],[9,5]],[[4105,9998],[43,-1],[139,-17],[-12,-6],[-116,-3],[-142,-14],[100,5],[47,8],[96,-4],[39,6],[2,-18],[34,4],[72,-17],[-31,-17],[-54,-4],[-152,-7],[-81,-17],[1,-9],[30,8],[107,13],[89,-4],[-3,-12],[-44,-9],[-2,-11],[85,20],[2,14],[51,4],[11,-19],[-7,-14],[-56,-36],[-16,-18],[53,26],[58,30],[75,-8],[37,24],[53,-1],[57,-12],[13,-8],[-64,-27],[-24,0],[7,-12],[-31,-8],[-46,1],[36,-15],[-18,-11],[-40,-3],[-44,6],[-25,-22],[11,-12],[20,3],[-9,-21],[17,-12],[-27,-8],[0,-11],[-28,-2],[-11,-42],[-18,-22],[18,0],[10,17],[51,-16],[-6,-10],[-19,10],[-22,-2],[38,-26],[10,6],[21,-5],[2,-18],[-10,-12],[-35,13],[-27,-3],[-24,-13],[-13,12],[-14,-8],[10,-12],[18,1],[0,-16],[19,4],[30,-4],[6,-11],[-15,-4],[21,-14],[3,-29],[-17,-4],[-4,9],[-16,-2],[-26,17],[8,-12],[24,-14],[-8,-27],[30,-5],[7,6],[13,-11],[-18,-15],[-16,2],[-7,11],[-36,-2],[-11,-18],[9,-27],[-2,21],[9,3],[36,-10],[-7,-26],[-28,3],[-18,-14],[-36,11],[-14,9],[-1,13],[-10,-16],[-25,-4],[-17,-16],[24,-7],[-16,-14],[22,-6],[6,-12],[-19,-7],[21,1],[23,-15],[33,-16],[-17,-14],[20,9],[14,-3],[-17,-11],[2,-17],[9,14],[10,-1],[0,-35],[8,-18],[-13,-10],[-11,3],[-7,22],[-2,-22],[-19,0],[-16,10],[-9,27],[-24,13],[-15,14],[-20,5],[-16,-3],[-26,23],[-16,-2],[31,-13],[-8,-6],[26,-8],[25,1],[11,-12],[-16,-13],[-24,-7],[-44,2],[14,-7],[-11,-17],[2,-11],[40,7],[13,-6],[-17,-3],[-27,-14],[-16,-3],[34,-3],[11,16],[15,-4],[29,13],[23,-11],[25,-7],[33,0],[0,-8],[-14,0],[-4,-12],[-19,-2],[1,-10],[-13,-8],[-17,-1],[2,-9],[-26,-21],[-31,-10],[-13,-9],[-23,1],[1,-6],[-24,-7],[-9,4],[-5,-11],[-18,10],[-1,-16],[-30,-3],[-30,17],[6,-17],[-4,-12],[-11,1],[-16,-12],[-12,-33],[-13,-5],[-1,-15],[-27,-26],[-15,-2],[-14,-18],[-13,3],[-20,-12],[-17,14],[15,16],[-12,0],[-7,-21],[-14,-1],[8,-16],[-17,1],[-7,-6],[-8,9],[-14,-12],[2,-15],[-14,-14],[-10,8],[-13,-3],[1,-12],[14,-11],[-1,-13],[-13,-9],[-12,1],[3,-8],[18,-1],[7,-27],[-13,0],[6,-7],[-18,-12],[-13,6],[12,-15],[-4,-15],[-21,-8],[-6,-11],[9,-15],[-21,9],[12,-11],[9,-1],[-8,-21],[11,5],[-6,-22],[-8,-6],[7,-7],[-17,-13],[9,-6],[-3,-17],[-20,3],[20,-7],[-12,-15],[-11,5],[14,-18],[0,-9],[-29,6],[-13,-12],[-12,10],[3,19],[-9,0],[6,10],[-15,-11],[-11,20],[6,8],[-3,10],[-10,-9],[-22,-8],[3,7],[-19,-8],[-17,0],[14,12],[-20,6],[-4,9],[7,5],[-20,5],[-1,9],[-10,13],[8,10],[-10,16],[-15,2],[-8,9],[5,28],[-12,7],[15,8],[-28,-3],[-2,19],[-11,10],[3,23],[-6,8],[14,-1],[13,13],[6,16],[9,-13],[-4,16],[-11,4],[-15,-12],[2,10],[-19,-33],[-9,0],[1,29],[22,16],[-10,2],[-8,-13],[-23,50],[-12,0],[-4,23],[19,15],[18,9],[21,21],[-21,-13],[-3,-7],[-33,-23],[-9,1],[1,22],[11,11],[16,-1],[5,10],[-34,3],[-6,14],[49,13],[17,-3],[12,6],[-28,-2],[-28,-7],[-21,-2],[2,10],[25,18],[15,2],[12,-7],[24,4],[-49,5],[-24,-17],[0,18],[22,10],[-5,12],[15,-1],[16,-8],[21,2],[-6,8],[7,12],[-13,0],[9,-8],[-31,-6],[-3,7],[-15,-1],[13,14],[18,4],[23,-2],[-5,11],[7,22],[16,-8],[0,19],[-17,-7],[10,18],[-2,11],[15,4],[-8,11],[-24,0],[-25,5],[-25,17],[-22,4],[-15,18],[11,6],[48,-8],[25,-15],[24,-6],[5,11],[-14,-6],[1,16],[-24,21],[17,-6],[-5,9],[-22,-1],[16,9],[-4,6],[-19,-12],[5,13],[24,4],[-8,4],[-21,-8],[-7,9],[25,4],[-41,6],[-4,7],[-14,-11],[0,-11],[-14,-5],[-24,1],[-17,17],[17,13],[-8,8],[19,13],[-21,11],[17,5],[10,12],[-3,15],[-18,4],[4,18],[-30,38],[7,13],[-16,5],[7,11],[-21,13],[4,8],[-31,10],[-14,17],[13,3],[-7,17],[-16,-2],[-4,10],[-26,9],[-17,-2],[-4,9],[-42,5],[-31,8],[-6,-11],[-27,5],[1,-9],[-35,-1],[7,10],[-15,1],[-6,-12],[-18,11],[-7,-6],[23,-12],[-58,9],[-30,15],[36,17],[-57,7],[-26,11],[12,12],[50,5],[21,6],[50,-3],[14,9],[-19,13],[-24,-11],[-45,-4],[-29,6],[21,8],[-33,-1],[13,9],[-30,-4],[-44,23],[8,21],[91,16],[8,10],[43,9],[42,-2],[31,23],[-5,30],[-56,2],[-12,15],[39,20],[28,7],[8,12],[46,13],[44,-9],[16,6],[6,19],[-19,15],[104,24],[90,11],[24,-14],[-6,-33],[24,17],[-1,11],[85,-18],[-31,13],[44,0],[-31,12],[-15,20],[65,-8],[77,-19],[22,-14],[25,1],[-8,28],[38,-1],[-68,26],[132,2],[-157,7],[28,14],[74,4],[6,5],[54,-17],[95,1],[-42,3],[53,5],[-49,3],[0,13],[180,11]],[[2530,6098],[8,-8],[4,5],[7,-7]],[[2549,6088],[-17,-28],[-9,-9],[-2,-15],[2,-14],[-6,-9]],[[2517,6013],[-6,-1],[2,-10],[-5,-3],[-10,-17],[-1,-9]],[[2497,5973],[-15,12],[-19,1],[-9,9],[-17,25]],[[2437,6020],[3,7],[-1,33],[1,10],[11,38],[36,0],[2,20],[-7,4],[-4,17],[-8,7],[-1,7],[-9,13],[12,0],[1,33],[50,0]],[[9022,5957],[-2,-11],[-3,10],[5,12],[4,-3],[-4,-8]],[[3409,5499],[-2,-9],[4,-10],[-2,-8],[-13,-2],[-5,-8],[2,-9],[-6,-39],[4,-7],[2,-13],[5,-8],[0,-8],[10,0],[2,-28],[6,-15],[0,-8],[9,-27],[6,-5]],[[3312,5482],[-18,43],[8,14],[-2,28],[9,7],[5,-2],[11,21],[-7,0],[-5,21],[5,19],[5,3],[15,22],[-6,18]],[[3332,5676],[4,-9],[7,-3],[15,-20],[17,-36],[1,-15],[-4,-18],[1,-10],[3,13],[4,2],[10,-8],[9,-18],[2,-9],[6,-1],[5,-11],[0,-27],[-3,-7]],[[8172,6482],[5,-7],[-5,-9],[-9,5],[5,9]],[[7037,2130],[10,-6],[-7,-4],[-3,10]],[[2691,6046],[-12,-1],[-4,-8],[-12,-4],[-8,-7],[-8,2],[-3,9],[-6,-6],[-4,-11],[0,-12],[-5,-3],[-5,-13],[-6,-5],[0,-7],[-8,9],[-8,-14],[-13,-2],[2,-26],[-6,-2],[0,-10],[-11,-5]],[[2574,5930],[-4,22],[-10,3]],[[2560,5955],[3,17],[-2,12],[-6,-1],[-3,6],[-10,-8],[0,7],[-7,3],[-8,17],[-10,5]],[[2549,6088],[8,9],[7,2],[7,-7],[2,4],[12,-6],[4,3],[12,-1],[13,11],[15,-6],[11,6],[18,-9],[13,-22],[-8,6],[10,-19],[8,0],[-7,9],[9,-6],[4,-13],[4,-3]],[[5512,7634],[1,-9]],[[5513,7625],[-8,12],[-27,21],[12,-5]],[[5466,7679],[-8,-5],[-2,8],[10,-3]],[[5412,7751],[11,-14],[-10,8],[-1,6]],[[5401,7772],[0,-20],[-5,27],[5,-7]],[[5404,7789],[3,-10],[-5,-3],[2,13]],[[5458,7861],[5,-3],[18,-29],[6,0],[9,-10],[17,0],[11,9]],[[5524,7828],[3,-33],[12,-10],[-10,-3],[-1,-17]],[[5488,7656],[-12,12],[-6,13],[-14,10],[-11,-4],[-2,10],[-14,14],[-9,17],[8,5],[-15,23],[-1,23],[-9,12],[-7,2],[-3,-20],[-8,-11],[-8,20],[0,20]],[[5377,7802],[9,-3],[13,3],[6,6],[20,-9],[-2,17],[12,6],[-2,20],[9,5],[8,12],[8,2]],[[3002,6248],[-1,2]],[[2977,6260],[-12,8],[1,7],[11,-10],[0,-5]],[[3000,6254],[2,-6]],[[3006,6222],[-8,11],[-24,-5],[-11,6],[-8,0],[-6,-5],[1,-8],[-12,16],[-7,4],[2,15],[6,2],[16,-10],[24,-4],[4,8],[7,-2],[0,7],[-13,23],[1,19],[3,2],[-9,11],[-11,1],[-2,6],[8,10],[11,2],[13,-11],[15,-2]],[[5614,7970],[21,-26]],[[5635,7944],[-8,-11],[-4,2],[-13,-17],[-4,-19],[-5,-6],[-4,-21],[-6,-5],[-1,-12],[-6,-10],[-7,2],[-5,-8],[-10,-1]],[[5562,7838],[-16,4],[-11,-11],[-11,-3]],[[5458,7861],[-7,21],[-4,-1]],[[5476,7947],[6,-1],[10,-13],[15,0],[14,3],[-1,10],[7,4],[14,3],[4,7],[8,-7],[12,11],[3,13],[9,3],[9,-5],[11,3],[5,-11],[12,3]],[[8426,4574],[2,-3],[-6,-11],[-11,-6],[0,8],[6,3],[10,17],[-1,-8]],[[8386,4582],[-1,-10],[-6,2],[7,8]],[[8333,4644],[9,-18],[4,2],[10,-24],[-10,-15],[-9,5],[-5,14],[-10,12],[-15,3],[-4,11],[10,10],[20,0]],[[8473,4637],[-2,-11],[-16,-29],[-8,0],[-2,-6],[-12,-5],[-3,9],[7,6],[-5,10],[2,16],[10,18]],[[8444,4645],[2,-5],[7,4],[3,10]],[[8456,4654],[13,13]],[[8469,4667],[7,-5],[0,-8],[-6,-2],[3,-15]],[[8318,4695],[-3,-16],[1,18],[2,-2]],[[8424,4708],[1,-8],[-8,-2],[4,11],[3,-1]],[[8242,4700],[-7,-24],[3,-4],[-11,-3],[-10,6],[6,6],[-1,15],[7,13],[8,-1],[5,-8]],[[8442,4708],[-5,-4],[-10,-16],[-5,4],[7,9],[-2,6],[12,4],[3,-3]],[[8450,4700],[-5,-10],[-4,6],[11,16],[-2,-12]],[[8858,4702],[-10,-1],[7,12],[3,-11]],[[8265,4700],[-2,12],[5,2],[-3,-14]],[[8459,4715],[2,-3],[13,1],[1,-11],[-22,-6],[3,18],[3,1]],[[8550,4716],[8,-3],[-2,-6],[-6,9]],[[8276,4716],[4,0],[5,-15],[6,7],[6,-6],[8,2],[1,-19],[-18,-12],[0,10],[-7,-11],[-12,-2],[-9,-9],[-7,-2],[-11,5],[2,11],[-1,13],[12,14],[6,-8],[4,5],[6,-18],[14,4],[-6,11],[-4,1],[-6,16],[7,3]],[[8415,4713],[2,-8],[-7,-8],[2,-8],[-13,-10],[-8,1],[-9,-9],[-11,5],[-1,-7],[-12,0],[-2,6],[-7,2],[-9,-3],[-13,4],[0,11],[13,18],[19,-4],[15,-16],[15,11],[6,-12],[6,1],[0,7],[12,12],[-4,4],[3,8],[3,-5]],[[8208,4712],[5,-15],[-14,-15],[-7,13],[-11,8],[-3,14],[12,-6],[8,8],[10,-7]],[[8604,4733],[0,-14],[-5,14],[5,0]],[[8519,4741],[-6,-15],[-15,2],[-5,-7],[5,21],[11,-2],[8,7],[2,-6]],[[8857,4720],[-12,-20],[-23,0],[5,24],[6,21],[6,8],[11,6],[5,-1],[7,-11],[-5,-27]],[[8656,4770],[0,-26],[-8,-16],[-7,-6],[3,28],[10,23],[2,-3]],[[8664,4774],[1,-9],[-7,7],[6,2]],[[8166,4787],[3,-6],[-12,-8],[-3,-6],[-12,-1],[-12,5],[4,15],[32,1]],[[8204,4789],[6,-5],[-10,-1],[4,6]],[[8738,4813],[-1,-5],[-6,7],[3,6],[4,-8]],[[8733,4812],[3,-8],[-6,-16],[-7,2],[2,30],[-1,7],[9,-15]],[[7948,4837],[3,4],[13,-9],[8,1],[0,9],[9,-3],[2,-10],[7,-5],[6,2],[5,-8],[8,5],[5,-14],[2,-16],[11,-1],[10,-5],[4,4],[11,-7],[7,4],[5,-7],[7,8],[2,19],[4,5],[7,-1],[3,-15],[12,3],[12,-14],[16,1],[0,-13],[6,-8],[-2,-17],[16,-15],[12,4],[7,6],[13,-11],[-3,-41],[7,-10],[-18,4],[-20,20],[-6,-1],[-10,-8],[-9,6],[-16,4],[-2,-6],[-9,6],[-11,0],[-13,8],[-14,14],[-18,10],[-23,1],[-2,-7],[-18,4],[-11,14],[-25,5],[-4,10],[4,15],[-7,-1],[-7,10],[-20,-2],[3,10],[2,-8],[4,17],[5,1],[1,18],[5,17],[4,-6]],[[8346,4810],[-1,39],[3,-8],[-2,-31]],[[8685,4859],[3,-16],[-4,0],[1,16]],[[8737,4870],[5,-12],[1,-27],[-5,-14],[-8,8],[-1,9],[2,19],[6,17]],[[7843,4868],[-9,8],[9,-3],[0,-5]],[[8386,4889],[2,1],[2,-20],[-3,-2],[-4,10],[3,11]],[[8410,4898],[-4,-6],[0,-18],[-10,-1],[3,23],[-2,8],[11,13],[2,-19]],[[8422,4913],[0,-9],[-5,6],[-2,-24],[7,-6],[-2,-7],[-8,-5],[0,-10],[-6,-1],[-2,9],[5,17],[3,22],[0,15],[4,10],[6,-17]],[[8418,4952],[5,-5],[-3,-8],[-5,6],[3,7]],[[8564,4977],[-2,-8],[-9,-3],[3,10],[8,1]],[[8225,4951],[-3,23],[3,18],[4,5],[1,-36],[-5,-10]],[[8523,5004],[7,-6],[-2,-7],[6,-2],[0,-14],[-15,-15],[-15,15],[-5,14],[1,12],[11,5],[12,-2]],[[8598,5023],[14,-13],[8,1],[7,-8],[1,-15],[7,-11],[-1,-17],[-24,23],[-3,8],[-9,2],[-2,-10],[-15,7],[-2,8],[-6,-10],[-7,-2],[-6,20],[-4,-17],[-6,11],[8,6],[1,12],[21,0],[5,-5],[13,10]],[[7789,5006],[0,-13],[-7,21],[0,8],[6,-7],[1,-9]],[[7994,5036],[13,-12],[-2,-21],[-6,-7],[-3,11],[-8,-10],[0,26],[2,12],[4,1]],[[7782,5024],[-5,-4],[0,20],[5,-16]],[[7769,5060],[4,-12],[-4,1],[-5,11],[5,0]],[[8501,5041],[-3,3],[-3,21],[4,3],[2,-27]],[[8483,5079],[15,1],[11,-2],[-2,-3],[-24,-4],[0,8]],[[8620,5085],[2,-15],[-6,-6],[-14,10],[10,9],[8,2]],[[8458,5089],[22,-6],[0,-9],[-8,-3],[-7,2],[-10,-6],[-1,20],[4,2]],[[8762,5091],[20,-3],[6,-5],[14,-4],[-11,-5],[-15,5],[-14,12]],[[7940,5097],[5,-5],[4,-17],[0,-18],[4,-16],[14,-6],[-5,-8],[-2,-12],[4,-10],[-22,15],[0,21],[-3,4],[-1,14],[-18,4],[0,8],[7,9],[-3,5],[9,9],[2,-13],[3,1],[-2,12],[4,3]],[[8550,5100],[9,-9],[-6,-5],[-11,-3],[-5,6],[1,9],[6,8],[6,-6]],[[8421,5116],[1,-14],[3,9],[6,-1],[0,-10],[-4,-5],[-3,6],[-1,-12],[-3,18],[-6,-15],[-4,10],[3,13],[8,1]],[[8044,5127],[4,-10],[-9,-8],[0,18],[5,0]],[[7746,5129],[7,-31],[4,-7],[-2,-11],[-9,6],[-9,29],[3,13],[6,1]],[[8636,5129],[4,-8],[-2,-16],[-7,6],[-3,15],[8,3]],[[8634,5139],[-7,-9],[-4,6],[11,3]],[[8761,5145],[12,-2],[9,-20],[6,-4],[-7,-7],[-7,2],[-4,22],[-3,-4],[-6,13]],[[8536,5138],[-5,0],[3,9],[2,-9]],[[8915,5033],[0,-218],[-3,-12],[3,-17],[0,-128]],[[8915,4658],[-10,18],[-4,12],[-15,28],[-17,-5],[-3,6],[-7,-8],[-1,19],[5,19],[-4,4],[-7,18],[13,-3],[-12,8],[-4,13],[10,2],[-8,7],[1,5],[-7,13],[-3,32],[-8,7],[0,12],[-4,8],[-15,20],[-21,12],[-18,18],[-14,4],[-7,-1],[-16,20],[1,11],[-4,-6],[-5,9],[-1,-9],[-5,7],[1,8],[-6,-4],[-4,14],[-3,-5],[0,28],[6,6],[-1,9],[-6,-11],[0,-14],[-7,-21],[1,-8],[-5,-11],[-7,-3],[-6,11],[-2,14],[6,8],[-9,15],[-3,12],[-6,8],[-6,-2],[-2,12],[5,5],[10,-2],[4,-6],[9,18],[7,5],[7,-10],[8,7],[4,12],[-1,9],[-7,-8],[-11,2],[-16,-6],[-4,7],[-6,-5],[-8,11],[-4,22],[-5,11],[-9,2],[-5,-3],[-7,4],[3,13],[5,6],[0,18],[7,5],[8,0],[10,17],[8,5],[8,-1],[12,-10],[6,-11],[17,0],[5,-8],[-4,-5],[7,-22],[-1,-12],[-4,-7],[2,-39],[5,-10],[3,-17],[1,17],[5,-3],[1,-23],[5,-17],[6,-6],[11,0],[2,7],[10,16],[1,11],[9,14],[3,18],[9,-2],[14,10],[-3,16],[19,18],[4,0],[11,-13],[9,-4],[5,-10],[7,-3],[20,-21],[10,3],[16,-10],[-2,-6],[8,0]],[[7903,5160],[0,-12],[-8,7],[6,9],[2,-4]],[[8544,5159],[1,-17],[6,0],[-1,-9],[-5,6],[-5,-3],[0,10],[-5,11],[6,9],[3,-7]],[[8533,5168],[1,-14],[-4,-1],[0,14],[3,1]],[[7735,5153],[-4,0],[3,16],[1,-16]],[[7881,5163],[-8,-1],[3,8],[5,-7]],[[8633,5183],[14,-10],[-2,-13],[-6,2],[-11,13],[8,-16],[-6,-1],[-1,8],[-9,2],[-2,9],[15,6]],[[7737,5167],[-5,8],[0,8],[5,-16]],[[7904,5183],[11,-16],[-7,4],[-8,-1],[4,13]],[[7850,5240],[4,0],[7,-11],[-14,-1],[-1,20],[4,-8]],[[7861,5243],[2,-12],[-8,11],[-5,-1],[5,9],[6,-7]],[[7892,5248],[-1,-8],[-5,3],[6,5]],[[7904,5252],[2,-10],[-2,-11],[-3,13],[-6,-3],[2,9],[7,2]],[[7845,5238],[-6,7],[-1,17],[3,2],[5,-9],[-1,-17]],[[7704,5270],[3,-2],[6,-18],[6,-7],[-2,-28],[-4,1],[-3,14],[-5,7],[-8,26],[7,7]],[[7839,5273],[7,-4],[0,-13],[-10,11],[-2,10],[5,-4]],[[8473,5279],[5,-11],[-3,-3],[-6,-26],[-5,-5],[-7,-25],[-24,-11],[-11,3],[-4,10],[-24,0],[-12,-4],[-6,6],[-13,-7],[-11,7],[-10,-4],[-7,-19],[-3,-19],[3,-26],[4,-13],[5,-1],[5,-12],[2,-17],[13,1],[2,12],[8,18],[5,-3],[13,0],[1,9],[15,-2],[7,4],[-7,4],[10,6],[9,-5],[0,-20],[-3,-4],[-4,11],[-9,-3],[-8,-23],[-9,-17],[-12,-6],[-3,-12],[-10,8],[0,-8],[8,-15],[5,-3],[11,-32],[7,-26],[-5,-8],[-1,-14],[13,-17],[-1,-9],[7,-3],[0,-15],[-4,-6],[-4,6],[-14,-7],[-2,-7],[2,-12],[-12,1],[-5,9],[1,25],[3,8],[-8,7],[-13,25],[0,9],[5,10],[1,26],[-8,8],[-17,-20],[6,-16],[0,-25],[-2,-12],[1,-36],[2,-7],[-4,-14],[-1,-14],[5,-24],[-15,-2],[-4,-8],[-11,16],[0,14],[3,7],[0,18],[4,19],[0,23],[-5,19],[2,12],[-6,3],[-10,-8],[-3,14],[2,27],[-4,0],[1,13],[3,-1],[7,11],[-1,15],[3,13],[4,2],[-2,14],[0,26],[5,11],[1,11],[7,11],[1,50],[3,16],[4,4],[-1,10],[9,8],[7,-3],[6,14],[0,15],[3,3],[10,-7],[5,3],[0,-9],[5,-4],[8,2],[8,-5],[7,1],[10,-12],[4,8],[19,-6],[8,1],[10,8],[9,23],[10,19],[2,-4]],[[7825,5301],[0,-16],[-7,-2],[-2,18],[9,0]],[[8556,5309],[-6,-20],[5,-6],[0,-25],[-11,-20],[3,-8],[6,3],[0,8],[7,8],[-3,5],[3,9],[11,11],[4,-1],[-1,-29],[-11,-9],[0,-14],[11,-6],[0,-13],[-20,8],[-3,-10],[1,-20],[5,-25],[10,-24],[-11,11],[-5,20],[-5,6],[1,34],[-4,4],[-2,38],[-3,10],[4,12],[0,12],[4,16],[10,15]],[[8571,5333],[3,-7],[-3,-21],[-8,-7],[-3,16],[5,13],[6,6]],[[7663,5350],[2,-7],[14,-20],[-5,0],[-14,13],[-4,9],[7,5]],[[8268,5370],[-4,6],[4,4],[0,-10]],[[8489,5385],[-4,-3],[0,16],[4,-13]],[[8269,5423],[5,-1]],[[8274,5422],[-2,-7],[-3,8]],[[8008,5418],[2,-16],[-2,-7],[-8,11],[-1,9],[7,11],[2,-8]],[[8265,5422],[-5,1],[11,-21],[-1,-10],[-15,-1],[7,-13],[-5,-10],[11,-13],[-4,-4],[16,-37],[-8,-15],[1,-8],[7,-13],[9,-10],[10,-16],[6,-14],[-7,-9],[-16,4],[-8,12],[4,-17],[-6,2],[-6,-18],[-4,-26],[2,-2],[-3,-17],[1,-14],[4,4],[-3,-14],[4,-4],[-9,-8],[-1,5],[-7,-22],[-14,-16],[1,-8],[-9,-10],[6,1],[-2,-24],[6,0],[-2,-19],[-4,-2],[0,-18],[-5,-7],[-6,-36],[-38,-32],[0,28],[-14,23],[-6,-9],[-9,3],[0,12],[-6,-6],[-9,20],[-3,-10],[3,-3],[-14,-16],[-9,6],[-7,-11],[-4,-1],[1,27],[-4,17],[0,-10],[-4,-4],[-7,5],[-9,-9],[-7,6],[-2,-5],[-3,12],[-7,-8],[-6,62],[-5,8],[3,3],[2,20],[-4,16],[-7,11],[-7,4],[-2,-4],[-7,21],[0,34],[5,-2],[-5,14],[-5,4],[0,20],[3,50],[7,9],[1,14],[9,9]],[[8045,5303],[-3,-16],[3,-12],[17,-35],[7,-8],[8,3],[2,6],[10,4],[7,-6],[9,2],[8,7],[2,18],[8,7],[15,0],[-2,-8],[9,-3],[11,-8],[7,12],[16,-1],[5,12],[1,13],[3,2],[-1,20],[12,14],[-4,12],[1,10],[5,10],[6,-1],[4,65],[5,11],[6,-4],[3,5],[7,-4],[10,4],[13,0],[10,-12]],[[8523,5442],[2,-13],[-3,-14],[-4,-2],[2,32],[3,-3]],[[7652,5506],[11,-6],[4,-11],[10,-6],[12,4],[10,-8],[9,6],[11,-21],[3,-16],[6,-9],[0,-16],[13,-17],[3,-9],[6,-5],[20,-26],[7,-15],[-1,-13],[3,-5],[3,6],[6,-23],[14,-21],[-2,19],[6,1],[8,-16],[1,-14],[10,-6],[12,-18],[1,-19],[7,-15],[13,-3],[5,-14],[-13,-13],[8,1],[12,15],[11,-13],[2,-18],[-7,0],[-6,-21],[7,-4],[-5,-5],[1,-12],[4,-12],[9,-1],[7,-6],[6,2],[2,-16],[1,-28],[4,-14],[7,-5],[-1,-9],[8,-5],[13,-1],[0,-13],[5,-6],[0,-10],[6,-4],[2,-14],[-6,-14],[-1,-15],[3,-5],[-4,-25],[2,-13],[0,-26],[-2,-53],[-7,2],[-7,19],[-3,-6],[0,-12],[-8,6],[-9,11],[-1,-4],[5,-19],[-4,-3],[-3,11],[-10,17],[-5,19],[-7,10],[-11,12],[-28,46],[-1,17],[-17,23],[-8,29],[-9,16],[-5,17],[2,7],[-9,34],[0,8],[-5,3],[1,11],[-9,30],[-9,14],[0,13],[-4,9],[-9,10],[-5,1],[-1,21],[-9,45],[0,20],[-3,0],[-7,14],[-5,2],[-9,14],[-7,6],[-2,27],[-5,5],[-4,14],[-3,5],[-8,23],[-11,6],[-8,21],[-6,5],[-13,28],[-5,27],[-3,6],[0,17],[8,2]],[[4872,8298],[-4,5],[8,13],[4,-7],[-8,-11]],[[7606,5598],[2,-16],[-2,-11],[-5,16],[0,9],[5,2]],[[7571,5804],[0,-12],[-5,0],[-1,12],[6,0]],[[7583,5964],[1,-29],[-3,1],[1,-36],[-3,-2],[1,-13],[-5,-6],[2,-9],[-2,-25],[-5,13],[5,34],[0,29],[2,1],[0,26],[6,16]],[[7448,6428],[-4,1],[4,13],[0,-14]],[[7248,6922],[-16,-24],[0,-12],[-5,-9],[1,-17],[-7,-14],[9,-14],[9,-1],[7,-10],[9,-6],[2,-11],[15,-17],[6,3],[11,-14],[7,2],[1,-11],[12,-4],[18,0],[8,4],[6,-8],[8,-2],[1,-18],[8,-3],[10,-14],[9,7],[7,-16],[4,5],[9,-3],[11,-11],[7,7],[9,-11],[13,6],[7,-5],[4,17],[0,13],[-6,11],[2,24],[3,21]],[[7703,6808],[0,-19],[-13,-15],[0,-11],[7,-21],[-7,6],[-4,10],[-21,-9],[-2,-10],[-14,-19],[-9,-5],[-2,-21],[4,-12],[-4,-6],[0,-10],[-10,-18],[-2,-16],[3,-3],[-2,-22],[-3,-2],[-6,-22],[-5,-27],[-11,9],[-11,-2],[4,-18],[-2,-30],[-9,-21],[2,-34],[-3,1],[-1,-12],[-8,9],[-3,-10]],[[7473,6457],[-4,-11],[5,-18],[-6,2],[-4,-6],[-2,22],[-5,-3],[-1,-16],[-7,0],[-1,26],[-8,-18],[-21,-14],[-8,-19],[6,-28],[-7,-10],[-4,-16],[-4,-3],[-6,-16],[-19,-10],[-5,9],[-5,-13],[5,1],[-15,-26],[-9,-26],[-13,-29],[-9,-8],[-6,-10],[-9,-22],[-21,-21],[-6,-16],[3,-5],[-1,-14],[-6,-9],[-11,-8],[-10,4],[-4,-3],[-1,-20],[-10,-15],[-1,10],[-6,-1],[-9,-10],[-3,-17],[-2,-18],[3,-24],[-1,-30],[3,-29],[-5,-4],[7,-9],[0,-14],[-3,-37],[-8,-24],[-4,-26],[2,-16],[0,-46],[1,-17],[-15,0],[-2,-15],[-8,-21],[-2,-13],[5,-9],[-20,-12],[-5,-12],[-2,-22],[-2,-8],[-16,-16],[-7,6],[-11,22],[-7,19],[-6,25],[-3,32],[4,-10],[0,11],[-6,7],[-2,18],[-6,30],[-1,14],[-9,36],[-9,17],[-6,25],[-6,34],[-2,33],[-8,39],[-1,14],[-7,14],[-2,12],[-4,5],[0,15],[-3,4],[-4,24],[-4,8],[-5,29],[-1,37],[-5,30],[-6,45],[1,7],[-3,22],[-1,23],[-3,24],[2,33],[4,12],[-2,36],[-3,-4],[-3,11],[2,16],[12,11],[-16,-3],[2,14],[-2,14],[9,5],[-13,4],[-2,-15],[-8,-7],[8,-18],[-6,-25],[-17,-17],[-14,-11],[-5,0],[-10,9],[-11,17],[-15,33],[-15,29],[0,10],[7,1],[0,-9],[14,12],[3,-3],[9,7],[7,23],[-10,-1],[-9,-10],[-13,5],[-11,10],[-9,15],[-4,19],[-6,14]],[[6893,6556],[5,7],[10,0],[0,19],[13,-3],[11,2],[5,-7],[6,0],[3,8],[13,7],[0,-8],[6,-3],[9,10],[-4,12],[3,3],[-5,27],[-6,14],[0,17],[-10,1],[-6,14],[2,35],[-9,2],[-10,11],[1,17],[10,20],[6,22],[7,12],[6,1],[4,-16],[4,-2],[9,7],[20,8],[0,9],[8,16],[5,21],[16,16],[9,29],[3,22],[12,8],[4,7],[-2,10],[6,11],[6,19],[10,12],[-4,2],[3,17],[-2,24],[7,10],[14,8],[1,10],[-8,8],[-11,2],[0,14],[-9,2],[0,13],[-9,10],[4,22],[-5,5],[1,10],[7,10],[-9,1],[1,16],[-5,3],[4,19],[13,6],[7,-5],[16,-2],[11,-9],[11,11],[17,3],[3,10],[5,1],[4,11]],[[7140,7205],[20,22]],[[4825,8298],[2,-37],[6,-29],[-6,-16],[-4,-28],[-10,1],[-8,-4],[-12,0],[-5,-10],[-7,0],[-4,-8],[-7,-1],[-12,-14],[-20,0],[-11,-8],[10,14],[-20,-4],[12,13],[-11,-6],[-7,10],[13,14],[-15,-2],[5,10],[13,-2],[-1,11],[8,12],[-10,-5],[12,12],[5,21],[10,8],[-16,-2],[-14,9],[-3,9],[6,13],[0,24],[-5,4],[22,4],[23,-3],[-5,4],[12,9],[3,8],[-15,-1],[-2,7],[10,6],[2,18],[15,2],[6,-6],[4,17],[13,-9],[-9,-9]],[[6560,6732],[-4,-9],[-5,0],[-16,-12],[0,7],[13,7],[13,13],[-1,-6]],[[6357,7396],[3,-38],[4,-9],[9,-7],[13,-2],[9,-5],[2,-13],[21,-24],[23,-9],[43,18],[16,-4],[-3,30]],[[6497,7333],[8,-1],[16,11],[1,13],[9,13],[9,7],[24,0],[3,10],[17,-4],[5,4],[3,-17],[23,-10],[8,-9],[10,3],[11,-10],[10,-21],[13,-7],[8,-22],[23,0],[2,-31],[-3,-8],[4,-5],[0,-15]],[[6689,6902],[14,-27],[0,-8],[6,-21],[10,-20],[14,-8],[5,-10],[5,-1],[-1,-12],[2,-18],[-1,-26],[11,2],[4,-8],[-4,-17],[0,-11],[-12,0],[-12,-7],[-2,-10],[-11,-7],[-7,-59]],[[6710,6634],[-5,-8],[-10,9],[-12,4],[-1,9],[-5,-6],[-24,3],[-2,4],[-12,-4],[-6,10],[-7,2],[-14,-2],[-4,8],[-17,5],[-4,19],[-4,42],[-6,17],[-11,3],[-8,-2],[-5,-8],[-9,-4],[-3,-11],[-6,2],[-13,-17],[-11,5],[-3,7],[-17,0],[-8,16],[-10,6],[-13,16],[-4,16],[-12,11],[-9,-1],[-8,6],[-9,35],[0,12],[-8,13],[2,10],[-6,0],[1,16],[-15,30],[0,10],[-5,6],[-11,-12],[-2,9],[-7,-1],[-9,13],[8,-1],[0,9],[-9,-8],[1,-20],[-11,-4]],[[6347,6908],[-3,15],[-11,14],[0,31],[-9,0],[0,23],[4,21],[-9,22],[-5,19],[-6,-1],[-14,21],[-16,15],[4,5],[-4,15],[-11,15],[-5,22],[3,14],[-4,8],[2,8],[6,-3],[-2,9],[7,21],[7,2],[1,7],[-6,16],[1,10],[6,2],[-4,9],[-6,-3],[-14,14],[-3,21],[-5,0],[-1,18],[-6,5],[2,12],[-3,7]],[[6243,7322],[0,10],[-6,6],[1,17],[-10,17],[6,20],[-4,0],[-3,45],[-5,13],[11,4],[4,19],[7,-7]],[[6347,6908],[-13,5],[-3,-3]],[[6331,6910],[-7,6],[-9,0],[-6,-5],[-8,-33],[-9,-20]],[[6292,6858],[-5,-2],[-46,8],[-62,91],[-11,18],[-47,49],[-34,10]],[[6087,7032],[4,8],[-7,3],[0,11],[-8,51]],[[6076,7105],[4,3],[43,44],[14,11],[7,22],[1,40],[3,8],[-2,23]],[[6146,7256],[0,0]],[[6146,7256],[0,20],[3,10],[13,5],[15,26],[-1,3]],[[6176,7320],[6,2],[6,13],[9,0],[10,-7],[12,-2],[8,4],[1,-18],[11,12],[4,-2]],[[4554,9014],[7,-14],[12,-7],[12,13],[-4,-20],[10,2],[-2,-20],[12,4],[0,-8],[21,-10],[-4,-10],[6,-8],[-13,-25],[-13,-4],[-2,-15],[-24,-8],[-39,-26],[-31,-6],[-1,-11],[-23,-7],[-27,8],[-12,0],[-28,20],[-42,-4],[4,9],[14,4],[10,10],[2,11],[-13,-6],[-9,29],[-32,1],[-11,-4],[-3,8],[23,2],[15,8],[25,-2],[-21,7],[22,16],[-39,7],[-20,-9],[-18,6],[7,8],[12,-7],[-8,15],[17,-5],[-9,12],[10,17],[20,-8],[-5,7],[9,16],[11,-11],[25,-14],[-2,-19],[9,-29],[0,13],[9,15],[9,-10],[5,13],[-5,20],[9,3],[13,-22],[6,-1],[-1,19],[22,6],[16,-26],[-6,27],[10,-1],[10,-11],[12,14],[6,-6],[13,3],[-3,19],[15,2]],[[5993,7068],[-6,-5],[0,-15]],[[5987,7048],[-10,8],[-6,-14],[0,-19],[6,-9],[-7,-11],[-2,-14],[10,1],[5,6]],[[5983,6996],[0,-9]],[[5983,6987],[0,-6]],[[5983,6981],[1,-8]],[[5984,6973],[-8,-34],[0,-21],[-6,-33]],[[5970,6885],[-2,-4]],[[5951,6980],[8,18],[-2,4]],[[5957,7002],[7,21],[6,44],[5,21]],[[5975,7088],[10,0],[1,9],[8,10]],[[5994,7107],[-1,-9],[3,-19],[-3,-11]],[[5434,7386],[-12,-29],[-3,-25],[6,-18],[-6,-11],[1,-8],[-10,1],[-8,6],[-3,10],[-7,8],[-7,-1],[-25,27],[-10,1],[-4,6],[0,19],[7,6],[6,-6],[4,10],[7,1],[10,-13],[9,4],[9,-2],[17,10],[4,-4],[12,11],[3,-3]],[[5256,7557],[8,-6],[8,-34],[-5,-14],[3,-13],[-2,-30],[-6,-24],[-10,6],[-5,-19],[-8,0],[-7,17],[5,39],[-4,1],[2,23],[-5,17],[-4,0],[2,16],[8,-2],[9,6],[11,17]],[[5380,7862],[-9,-16],[7,-7],[-4,-8],[3,-12],[8,-10],[-5,-1]],[[5380,7808],[1,7],[-18,1],[-3,-5],[-16,-12],[-4,2],[-1,-16],[9,-13],[-6,-7],[-2,-13],[2,-18],[8,-16],[9,-7],[19,-21],[12,-54],[18,-28],[12,-11],[25,0],[4,-9],[-8,-15],[19,-17],[13,-7],[14,-18],[13,-8],[0,-6],[12,-15],[2,-10],[-4,-18],[-9,6],[-5,23],[-11,0],[-14,11],[-11,-25],[-2,-21],[9,-5],[9,-11],[-1,-29],[-11,-1],[-5,-8],[1,-18],[-8,-10],[-8,-20],[-10,4],[0,15],[5,3],[3,12],[-3,8],[9,5],[2,12],[-4,8],[-2,21],[-4,6],[-2,20],[-7,11],[-5,-5],[-12,13],[2,8],[-6,18],[-8,1],[-5,8],[-7,3],[-10,22],[-10,1],[-8,-3],[-5,11],[-7,2],[-12,24],[-10,10],[-8,18],[-10,5],[-3,12],[-9,9],[1,6],[-8,2],[1,18],[-7,17],[0,14],[-5,13],[-7,1],[-16,17],[-15,5],[-14,-19],[-3,-11],[-17,-6]],[[5344,7711],[0,0]],[[5345,7596],[0,0]],[[2849,6246],[15,-3],[3,-8],[12,-7],[4,-14],[-9,-3],[-10,6],[-1,-7],[-6,3],[-1,-11],[-7,10],[-8,-1],[-7,10],[-3,10],[-8,2],[5,12],[10,5],[11,-4]],[[6087,7032],[-4,-6],[-57,-30],[15,-28],[13,-29],[-9,-10],[-4,-18],[-21,-8],[-7,-22],[-12,-17],[-31,9]],[[5970,6873],[0,12]],[[5984,6973],[-1,8]],[[5983,6987],[4,0],[0,25]],[[5987,7012],[0,36]],[[5993,7068],[7,-5],[10,-16],[12,-3],[54,61]],[[8563,6721],[-5,-10],[-7,-5],[-4,-21],[0,20],[7,8],[-3,7],[7,-1],[4,12],[1,-10]],[[8603,6820],[-13,-15],[0,9],[11,11],[2,-5]],[[8624,6937],[5,-5],[-7,-8],[2,13]],[[8639,6942],[-5,-5],[6,22],[-1,-17]],[[8616,7056],[0,-12],[-6,-7],[1,18],[5,1]],[[8578,7069],[-1,-10],[-6,2],[7,8]],[[8638,7135],[3,-16],[7,-3],[9,6],[1,-15],[-5,-9],[10,1],[0,-17],[5,-2],[-11,-22],[-6,-38],[0,-16],[-3,-14],[-7,5],[1,-11],[-12,-13],[2,20],[-5,12],[-2,-4],[0,-22],[-9,5],[4,18],[-5,12],[1,21],[2,-2],[8,19],[-2,11],[3,12],[-5,15],[-8,2],[7,-19],[-6,-11],[1,11],[-10,-10],[-6,18],[1,10],[4,-14],[5,-1],[-1,10],[-11,11],[1,10],[6,-2],[18,22],[2,9],[6,4],[7,-3]],[[8726,7162],[8,-9],[5,1],[-1,-13],[4,-10],[-10,-11],[-5,-23],[-8,15],[-5,2],[-13,-11],[0,-7],[-7,-11],[-1,-16],[-10,0],[3,9],[-6,1],[-6,31],[11,14],[2,17],[6,6],[5,-10],[10,2],[3,14],[8,9],[7,0]],[[8747,7160],[-3,-8],[-3,8],[8,15],[-2,-15]],[[8595,7181],[-2,-23],[-3,4],[1,16],[4,3]],[[8845,7375],[1,-10],[-6,-6],[-1,17],[8,13],[-2,-14]],[[8923,7564],[5,3],[-1,-34],[2,-14],[8,-11],[5,-22],[4,-26],[-5,-14],[0,-12],[-7,-6],[-5,-25],[1,-17],[-6,9],[-7,-6],[-3,-24],[3,-14],[-2,-39],[-5,-8],[-5,-19],[-1,-20],[8,-27],[-11,-7],[-2,-21],[-16,-17],[2,30],[5,11],[-8,0],[-4,-12],[1,-16],[-7,11],[-8,-5],[0,-21],[-9,-16],[-1,25],[-6,4],[-6,-11],[-4,-18],[-17,5],[-15,-6],[7,9],[-13,1],[0,16],[-5,-3],[-3,-22],[9,-9],[1,-10],[-7,3],[-10,-9],[0,-10],[-6,-8],[-3,-15],[-5,-7],[-10,5],[-1,8],[-9,11],[3,8],[-3,14],[10,17],[-2,9],[-11,-4],[-6,7],[-7,0],[-20,-18],[-10,1],[-3,-9],[-6,2],[-15,-9],[-1,9],[-8,-6],[-2,-24],[-11,13],[-16,-7],[-4,7],[-3,-8],[-1,25],[3,5],[12,-1],[3,10],[7,5],[17,28],[7,7],[-1,9],[17,8],[5,-8],[24,6],[7,7],[11,-2],[8,7],[-1,-12],[13,-4],[12,10],[-3,18],[5,16],[7,8],[10,28],[-1,26],[11,10],[6,1],[-3,-13],[-9,-5],[4,-6],[-2,-13],[10,-6],[3,10],[21,13],[10,12],[10,29],[14,15],[1,16],[9,23],[3,24],[4,10],[1,17],[-4,11],[-5,-3],[7,19],[1,11],[-5,13],[5,10],[7,3],[1,26],[9,-5],[3,-20],[3,9],[8,-6],[3,19],[-13,-5],[3,23],[10,-10]],[[8944,7799],[15,-24],[4,-13],[19,-27],[11,-7],[0,-6],[12,0],[3,-7],[13,-4],[15,25],[1,-8],[-7,-17],[-1,-9],[8,-28],[8,6],[-4,-12],[-6,0],[-8,-10],[-27,-4],[-11,-14],[-8,-20],[-3,-23],[-8,11],[-14,9],[-8,11],[-12,9],[-8,-3],[-12,-15],[-9,15],[-5,0],[-6,-18],[12,-8],[13,-20],[-13,-1],[-8,-7],[-6,-13],[-7,10],[5,14],[-3,17],[-7,6],[3,26],[12,7],[5,11],[-5,13],[6,8],[8,-9],[10,-3],[7,10],[-3,22],[9,14],[0,22],[3,6],[1,20],[-6,23],[3,12],[9,3]],[[6762,7807],[-15,8],[-3,11],[1,13],[12,14],[11,-3],[7,-11],[1,-13],[-4,-11],[-10,-8]],[[7140,7205],[-9,31]],[[6651,7782],[-20,19]],[[6631,7801],[12,18],[8,-37]],[[7227,7611],[-6,13],[-15,4],[-12,17],[-14,6],[-14,0],[-19,2],[-14,5],[-13,-5],[-16,1],[-3,-6],[-13,2],[-12,8],[-12,13],[-21,-10],[-5,-27],[3,-9],[-22,14],[-27,9],[-10,-1],[-10,-13],[-5,-15],[3,-3]],[[6970,7616],[-6,-3],[-4,-11],[-4,5],[-9,-16],[-20,-15],[0,-5],[-10,-5],[0,-10],[-13,-17],[1,-19],[-4,0],[-13,13],[4,14],[-5,7],[-33,-3],[-5,20],[-2,30],[-14,0],[2,57],[-8,-7],[-8,26],[-7,5],[-10,19],[-12,-10],[-37,4],[-32,-8],[-23,38],[-2,12],[-28,28]],[[6668,7765],[0,34],[-2,9],[-7,-1],[3,20],[17,-5],[8,16],[12,7],[2,14],[-11,2],[-3,9],[-13,3],[-8,-7],[4,-13],[17,0],[2,-11],[-4,-6],[-24,2],[-2,12],[-7,0],[7,-14],[-3,-17],[-8,-6],[-4,5],[4,13],[-15,-3],[-6,-23]],[[6627,7805],[-73,-31],[0,-212]],[[6554,7562],[-14,-3],[-15,32],[0,6],[-20,23],[-20,-3],[-14,-9],[-15,-21]],[[6456,7587],[-1,20],[6,15],[3,22],[-15,9],[-8,-3],[-6,18],[-12,0],[1,23],[-4,4],[-8,33],[-17,9],[1,17],[16,-1],[4,-6],[16,-2],[-17,20],[12,28],[9,5],[22,0],[11,-6],[10,2],[-15,10],[0,6],[9,18],[4,40],[-8,19],[-13,2],[-10,-10],[-16,14],[-9,3],[-12,-11],[-9,-2],[-18,-21],[-13,2],[-2,-14]],[[6367,7850],[-9,9],[-10,5],[0,12],[6,-6],[7,6],[-9,19],[-4,15],[-14,23],[-11,0],[-7,5],[-1,-9],[-7,7],[0,26],[-18,8],[8,30],[8,10],[-7,14],[3,28],[12,12],[-1,14],[9,9],[22,-37],[13,11],[-5,20],[0,13],[20,17],[0,15],[11,0],[15,12],[6,17],[5,6],[14,-3],[1,-11],[11,-1],[6,12],[11,6],[5,-16],[23,0],[9,-7],[1,-9],[7,-1],[6,-13],[10,-7],[-3,-16],[8,2],[1,24],[10,-13],[16,-15],[13,11],[11,20],[18,0],[5,-11],[11,1],[1,13],[22,-4],[0,-11],[10,-11],[16,-3],[1,-9],[7,4],[5,18],[9,-10],[15,-1],[17,10],[2,19],[4,6],[-7,11],[-10,1],[-3,8],[-16,3],[3,8],[-12,4],[11,15],[7,1],[10,11],[-10,23],[22,16],[17,-3],[1,7],[-13,9],[-14,3],[2,12],[-6,8],[5,11],[-6,3],[12,10],[4,-6],[43,7],[25,14],[25,5],[9,-4],[-1,10],[7,7],[15,-1],[15,6],[33,8],[13,6],[2,13],[10,0],[2,9],[8,-4],[-1,9],[8,-6],[13,0],[14,-11],[8,9],[14,-12],[1,-18],[6,-3],[-1,-23],[-6,0],[6,-13],[3,6],[11,-4],[10,5],[3,9],[9,-14],[-3,-13],[9,3],[-4,10],[11,-1],[3,-8],[11,-2],[8,7],[-3,-12],[-6,1],[-6,-17],[6,-8],[13,12],[14,-10],[1,12],[9,9],[7,-2],[12,11],[-2,4],[31,15],[12,8],[-7,-19],[-8,1],[3,-9],[34,-36],[7,-11],[42,-97],[12,-38],[15,7],[-1,14],[6,6],[15,-7],[-3,-15],[9,2],[2,-13],[11,3],[6,-4],[17,5],[18,12],[13,-7],[11,-20],[0,-15],[23,-14],[-2,-7],[9,-19],[19,-1],[6,-7],[12,20],[0,-10],[12,-22],[7,-9]],[[6163,5412],[-17,-50],[-9,-17],[0,-175],[1,-39],[15,-39],[0,-7]],[[6153,5085],[-6,-15],[-9,-4],[-4,-20],[-5,-9],[-5,0],[-9,-13],[2,-12],[-3,-18],[-6,-12],[-3,-25],[-4,-11],[-7,-30],[-6,-3]],[[6088,4913],[-21,33],[-19,27],[-5,13],[4,6],[-1,14],[-100,116]],[[5946,5122],[3,12],[-4,7],[0,10],[4,7],[9,-1],[-2,6],[11,4],[-4,11],[-10,-6],[2,-6],[-9,7],[-3,12],[1,12]],[[5944,5197],[4,21],[7,12],[2,15],[9,9],[2,18],[3,6],[0,26],[-3,18],[2,3],[-14,40],[-2,17],[2,13],[-8,5],[-3,24],[-2,2]],[[5943,5426],[11,23],[15,14],[14,9],[4,-7],[2,-16],[8,0]],[[7045,7454],[-13,-5],[-15,2],[-9,-5],[-2,-6],[-5,10],[-7,-7],[-2,12],[-8,8],[-12,-11],[-8,-1],[-4,11],[-36,-5],[-2,14],[7,20],[14,6],[18,-12],[1,7],[8,8]],[[6970,7500],[12,3],[11,-7],[9,15],[8,-3],[0,14],[7,-6],[4,9],[10,8],[-13,3],[-5,9],[-9,-1],[0,10],[-8,0],[-6,22],[-1,-10],[-6,-2],[0,-13],[-6,-1],[-12,7],[-4,14],[-4,-4],[-9,10],[8,7],[22,29],[-8,3]],[[6976,7489],[-6,4],[2,-14],[4,10]],[[6993,7480],[0,0]],[[6961,7477],[0,0]],[[7901,5783],[-6,7],[-11,2],[-7,-4],[-3,5],[5,13],[0,15],[-4,5],[-3,-16],[-9,2],[-2,38],[-3,3]],[[7858,5853],[0,7],[-6,22],[0,22],[-6,7],[0,21],[-3,7],[-2,25],[6,0],[10,26],[1,11],[9,8],[12,5],[9,-5],[5,3],[11,-2],[5,4],[6,-3],[2,-10],[4,8]],[[7921,6009],[3,-14],[13,-1],[3,-9],[6,-1],[2,7],[-6,19],[7,7],[6,-2],[3,6],[8,-14],[4,0],[8,11],[5,2],[2,10]],[[7985,6030],[0,-14],[-3,-2],[-2,-19],[3,-10],[0,-10],[5,-22],[-5,-20],[4,-24],[-2,-15],[-2,-6],[-4,5],[-8,-14],[-8,-7],[-8,-1],[0,-17],[-11,7],[-4,-13],[-1,-15],[9,-13],[1,-17],[-9,3],[-3,10],[-10,-2],[-3,-7],[-7,6],[1,-11],[-6,-13],[-9,0],[-2,-6]],[[627,5299],[5,-18],[-8,8],[3,10]],[[8522,7115],[1,-14],[-17,-6],[-2,8],[5,8],[13,4]],[[8508,7172],[1,-8],[-7,2],[6,6]],[[8575,7196],[-1,-14],[-5,11],[6,3]],[[8518,7361],[8,22],[5,6],[27,0],[7,17]],[[8565,7406],[7,-27],[14,-31],[6,-25],[4,-25],[-2,-7],[-1,-33],[4,-6],[-2,-25],[-9,-23],[-18,0],[-1,-15],[-3,6],[-17,1],[-2,-20],[-4,14],[0,-13],[-5,-9],[-3,13],[-6,-5],[-3,-11],[-4,3],[-4,-10],[-2,15],[-7,2],[0,9],[6,-7],[2,11],[-4,1],[-2,18],[2,17],[6,9],[-4,4],[8,7],[-7,10],[5,1],[-5,11],[-1,31],[-3,8],[3,12],[7,-1],[-6,42],[4,3]],[[5598,7616],[-9,-9],[-3,6],[-10,-8],[0,-11],[-5,0]],[[5557,7633],[8,15]],[[5565,7648],[9,17],[-2,6],[14,-7],[8,-19],[10,-5],[-6,-24]],[[6338,6909],[5,-15],[-4,-7],[-5,12],[4,10]],[[6345,6826],[-22,0],[-6,27],[-25,5]],[[6331,6910],[7,-26],[-6,2],[-7,-12],[10,-1],[2,-19],[8,-28]],[[7836,6473],[2,-9],[8,-12],[6,-22],[2,9],[5,-5],[0,-9],[-2,-23],[7,-19],[15,-11],[2,8],[9,10],[5,-4],[9,-13],[-1,-9],[-6,-3],[9,-6],[0,-8],[7,-2],[0,-11],[-2,-10],[-9,-12],[-8,6],[-4,-15],[-6,-7],[18,-21],[4,-8],[9,-5],[5,-6],[-2,-12],[6,-14],[5,0],[7,-30],[13,-24],[9,-17],[0,-18],[4,-11],[5,5],[4,-14],[8,-12],[4,-1],[-1,-8],[-6,-5],[2,-12],[7,-8],[5,-12],[-5,-33]],[[7921,6009],[9,11],[0,20],[1,5],[-3,11],[3,6],[2,24],[-5,5],[0,13],[-11,7],[0,8],[-8,15],[0,29],[2,20],[-3,9],[-7,7],[-6,14],[-7,24],[-18,8],[-2,-10],[-9,-15],[-9,-6],[-16,16],[-4,-9],[-19,-26],[-4,-7],[-5,6],[3,19],[4,9],[0,17],[-3,3],[5,14],[0,15],[3,7],[-3,6],[-1,19],[2,7],[-12,2],[-2,-7],[-7,0],[-3,9],[3,29],[-5,15],[-6,-5]],[[7780,6353],[0,15],[7,14],[4,-1],[0,13],[6,16],[3,0],[9,14]],[[5975,7088],[14,52],[1,19],[9,12],[0,7]],[[5999,7178],[13,-3],[4,-23],[-9,-14],[2,-8],[-6,2],[-6,-12],[3,-5],[-6,-8]],[[4790,5433],[-19,13],[-21,22],[-9,12],[-21,40],[-9,19],[-12,7],[-1,10],[-14,13],[-3,12]],[[4681,5581],[3,14],[6,12],[15,23],[0,16],[8,8],[1,17]],[[5693,6449],[0,-115],[-27,0],[0,-28]],[[5666,6306],[-66,66],[-3,4],[-45,45],[-34,36],[-45,45],[-30,31],[-27,-26]],[[5416,6507],[-22,-22],[-20,33],[-42,19]],[[5264,6924],[10,7],[11,30],[-5,31],[6,17],[5,1],[10,22],[19,18],[-2,10],[1,34]],[[5319,7094],[10,-6],[12,-14],[15,-2],[14,6],[6,-6],[17,-5],[8,-12],[20,-6],[5,-13],[0,-14],[7,-25],[4,-7],[17,-9],[10,0],[18,-8],[23,-18],[3,-7],[18,-22],[8,0],[14,14],[10,24],[1,18],[-6,24],[0,16],[3,12],[15,24],[14,13],[10,1],[5,7],[21,-3],[21,-14],[-1,-18],[6,-6],[19,-7],[2,-5],[25,-2],[5,-18]],[[3307,5973],[-4,11],[5,10],[-1,-21]],[[7235,5735],[7,-13],[17,-49],[5,-36],[5,-8],[4,-24],[0,-20],[-2,-22],[-12,-22],[-22,-17],[-9,5],[-4,7],[-7,43],[-1,50],[1,40],[2,10],[0,17],[6,17],[-2,7],[4,10],[6,1],[-14,10],[2,7],[7,-3],[7,-10]],[[5798,3530],[6,-12],[10,-10],[3,-14],[-4,-17],[-5,-7],[1,-10],[-8,-9],[-13,-4],[-5,-7],[-4,-22],[-8,2],[-16,35],[-5,22],[8,6],[12,35],[8,2],[4,10],[13,8],[3,-8]],[[5582,8366],[-1,0]],[[5581,8366],[1,0]],[[5652,8289],[0,9],[-14,16],[-6,-1]],[[5632,8313],[-3,6],[5,24],[-8,11],[-15,1],[-21,9]],[[5590,8364],[-6,32],[0,16]],[[5584,8412],[8,9],[22,11],[15,-4],[8,3],[29,-5],[4,-4],[22,8],[5,-12],[15,-2],[26,-28]],[[5759,8496],[14,-14],[-6,-26],[14,-17],[0,-23]],[[5584,8412],[-2,19],[2,24],[10,12],[0,15],[8,15],[22,11],[18,-21],[4,-17],[12,-7],[19,15],[-2,37]],[[3249,6221],[-2,2]],[[3247,6223],[2,-2]],[[4851,7247],[2,-14],[14,-21],[11,-5],[19,8],[6,-5],[15,7]],[[4919,7214],[2,-9],[17,-2]],[[4758,6776],[-3,0],[1,-30],[-18,-3],[-7,-11],[-16,-2],[-9,7],[-10,1],[-13,-7],[2,-15],[-4,-6],[-8,-25],[-8,-3],[-4,-23],[-3,-30],[-3,-13],[-6,-12],[-12,-16],[-6,-22],[-16,-16],[-4,-13],[-6,-53],[0,-16],[-12,-26],[1,-7],[-4,-14],[-11,-4],[-22,4],[-18,-1],[-12,-4]],[[4527,6416],[1,21],[4,20],[10,13],[4,26],[5,11],[-2,5],[13,42],[-4,0],[8,12],[11,26],[5,4],[5,17],[0,22],[10,45],[0,9],[9,16],[7,4],[10,14],[10,53],[7,16],[24,8],[16,14],[11,23],[15,15],[21,49],[5,19],[1,14],[-7,13],[0,26],[2,26],[3,11],[9,18],[3,24],[-1,7],[11,17],[10,23],[26,19],[21,25],[15,48],[2,15],[9,39],[14,7]],[[5206,7702],[-2,-1]],[[5783,7801],[-3,21],[1,26],[3,22],[-4,18],[-6,5],[-17,36],[-10,30],[-8,3]],[[5739,7962],[20,10],[14,-2],[6,-9],[21,-8],[10,-13],[-1,-25],[7,-10],[5,2],[0,-20],[10,-9],[-1,-16],[6,-9],[-15,0],[-3,6],[-7,-6],[-1,9],[-7,-4],[1,-26],[-13,-19],[0,-11],[-8,-1]],[[6384,4200],[0,8],[5,14],[-5,-22]],[[6370,4487],[-2,-11],[7,-4],[1,-18],[7,-8],[4,-13],[-1,-9],[5,-25],[3,-37],[0,-29],[8,-27],[-4,-34],[-3,-9],[-6,7],[-3,25],[-8,-7],[3,-23],[-2,-5],[5,-11],[-1,-25],[-5,-13],[-6,-24],[2,-29],[-4,-39],[-3,-11],[-10,-59],[-2,-19],[-7,-32],[-3,-29],[-10,-57],[-4,-16],[-2,-24],[-7,-48],[-1,-16],[-4,-13],[-8,-47],[-14,-15],[-11,-2],[-13,-11],[-6,-9],[-12,-2],[-11,17],[-10,2],[-10,15],[-2,20],[-7,14],[-1,45],[3,10],[-4,6],[-1,16],[-6,12],[-4,36],[3,27],[4,6],[0,17],[7,4],[11,46],[4,7],[6,29],[-3,4],[2,24],[-6,18],[1,16],[-6,22],[-1,35],[-3,15],[15,49],[0,30],[12,-1],[11,16],[10,-2],[0,7],[8,4],[4,-6],[1,9],[6,5],[18,25],[3,-7],[-3,-10],[7,2],[-4,18],[4,5],[2,12],[6,8],[-3,-22],[11,28],[-3,11],[3,11],[4,-2],[3,11],[-4,9],[0,19],[7,-1],[1,-10],[4,-1],[0,14],[5,1],[-1,9],[6,-4],[3,5],[1,16],[3,8],[-2,22],[3,13],[5,4],[3,18],[2,-8]],[[2590,6367],[-7,-17],[2,17],[5,0]],[[1889,6595],[7,-4],[1,-9],[-8,13]],[[1800,6801],[-5,-1],[5,12],[0,-11]],[[1880,6866],[3,-12],[-3,-16],[-7,7],[2,17],[5,4]],[[1847,6884],[4,-14],[5,-1],[2,-17],[-11,17],[-3,9],[3,6]],[[2186,6889],[0,-8],[7,-2]],[[2193,6879],[11,-20],[1,-12],[9,-31],[6,-12],[9,-27],[7,-6],[-1,-15],[2,-15]],[[2237,6741],[3,-16],[3,2],[2,-14]],[[2245,6713],[2,-9],[20,-12],[4,-8],[16,-2],[9,-10],[5,6]],[[2301,6678],[0,-14],[-8,-31],[-6,-38],[-2,-30],[-1,-43],[1,-16],[-4,-22],[3,-29],[5,-34],[15,-57],[9,-17],[9,-27],[3,-25],[5,-5],[1,-9],[7,-19],[7,-4],[11,2],[5,-9],[6,-2],[8,-21],[10,3],[16,11],[17,3],[15,13],[10,2],[6,-12],[10,-3],[6,17],[-5,8],[14,16],[5,11],[1,21],[7,14],[-1,6],[1,39],[3,15],[16,17],[19,4],[17,12],[14,2],[20,-9],[6,9],[6,-10],[2,-17],[-3,-16],[-9,-18],[-7,-19],[-1,-19],[-8,-16],[9,-8],[-6,-40],[-3,-10],[-2,-23],[-3,14],[-4,3],[2,18],[-5,-4],[-3,-15]],[[2437,6020],[-20,42],[-19,33],[-11,16],[-10,10],[-1,-6],[-8,1],[-4,13],[-5,-9],[9,-4],[-11,-1],[-8,-12],[-15,-9],[-7,-8],[-8,-2],[-15,10],[-4,6],[-17,3],[-8,13],[-13,6],[-6,14],[-5,0],[-15,8],[-5,0],[-5,9],[-31,22],[-6,11],[-13,14],[-4,13],[-7,6],[-5,-4],[-32,20],[-8,21],[-9,14],[-12,13],[-15,12],[-3,14],[-5,6],[-8,22],[0,10],[-4,8],[3,8],[10,6],[-7,15],[7,12],[1,22],[-6,8],[-7,23],[-2,32],[-9,17],[-15,34],[-12,32],[-21,28],[7,-7],[0,9],[-5,-1],[-9,13],[-6,18],[7,0],[-22,24],[0,5],[-9,-3],[6,9],[-7,-1],[-8,9],[0,14],[4,9],[0,19],[-4,9],[-10,3],[-5,23],[-9,2],[-7,13],[-2,26],[2,3],[-14,4],[-8,12],[-5,13],[-5,5],[-13,29],[-2,20],[-5,2],[1,9],[-11,23],[0,16],[-10,36],[3,20],[-16,10],[-1,10],[-7,6],[-9,-6],[-10,15],[-8,2],[0,-41],[4,-8],[3,-27],[-1,-19],[7,-21],[4,-1],[17,-27],[3,-23],[7,-3],[11,-32],[3,-25],[4,-12],[8,-6],[4,-20],[6,-7],[-1,-6],[8,-25],[-3,20],[8,-10],[0,-9],[5,-13],[1,-29],[9,-25],[10,-36],[-2,-15],[3,-15],[8,-8],[0,13],[14,-16],[4,-23],[7,-10],[0,-14],[-11,-19],[-7,0],[-6,36],[-8,9],[-12,22],[-14,16],[-5,14],[-4,-3],[-4,14],[-3,-1],[-2,25],[3,3],[0,27],[-9,30],[-3,0],[-17,21],[-1,21],[-4,-13],[-10,-1],[-5,13],[-8,9],[-10,6],[0,9],[-16,20],[-1,8],[15,-5],[7,6],[5,-13],[-1,17],[2,28],[-9,26],[-4,3],[-12,26],[-6,2],[-14,19],[-4,12],[0,19],[-5,4],[-1,26],[-7,9],[0,11],[-10,22],[1,15],[-8,14],[-6,28]],[[1746,7056],[66,10],[-1,-12],[46,-30],[58,-37],[79,0],[0,26],[46,0],[11,-20],[8,-8],[14,-26],[6,-4],[7,-12],[6,-21],[-1,-10],[5,-21],[14,-20],[25,-19],[8,14],[4,30],[8,2],[3,6],[5,-5],[20,-2],[3,-8]],[[2290,6649],[-4,-5],[0,-32],[-2,-53],[6,67],[4,13],[-4,10]],[[5582,7536],[0,0]],[[5586,7536],[-4,1]],[[5581,7537],[0,0]],[[5575,7539],[-2,10]],[[5598,7616],[20,7],[2,-4]],[[5117,6285],[0,-124],[-1,-33],[-4,-7],[-4,-29],[-11,-17],[0,-8],[-14,4],[0,-5],[-47,-3],[-9,-17],[-9,-3],[-13,3],[1,-5]],[[4683,5897],[-1,36],[-6,21],[-5,-5],[-8,23],[4,5],[-2,28],[-5,6],[1,18],[-2,5]],[[4659,6034],[5,-2],[7,8],[0,24],[3,11],[6,7],[14,-22],[3,-2],[4,13],[12,1],[14,-4],[13,7],[65,0],[41,0],[5,45],[-8,15],[-1,33],[-2,21],[-1,36],[-2,22],[-6,109],[0,17],[-3,39],[-6,104],[0,14],[-3,39],[0,16],[-3,37],[50,0]],[[7737,5862],[0,-11],[-4,-2],[-1,13],[5,0]],[[7733,5907],[-2,-14],[-1,20],[3,-6]],[[7622,6095],[-2,9],[7,13],[2,-6],[-7,-16]],[[7710,6117],[-4,12],[2,5],[2,-17]],[[7602,6269],[-2,-10],[-5,9],[7,1]],[[7604,6305],[6,-6],[-6,-6],[-3,10],[3,2]],[[7780,6353],[-9,6],[0,-6],[-10,2],[3,-11],[-6,-6],[-8,1],[-1,-17],[-21,-7],[-6,8],[0,-9],[-5,-4],[-2,-10],[1,-18],[-4,-10],[3,-19],[-10,-8],[5,-6],[5,-22],[-2,-10],[11,-23],[4,-17],[7,-8],[-1,-11],[6,-28],[6,5],[-2,-15],[-7,-3],[0,-40],[-9,-4],[-2,-12],[2,-16],[6,-13],[3,-15],[11,-14],[4,-11],[3,-67],[6,-9],[1,-25],[2,1],[3,-19],[-6,-12],[-1,-12],[-5,-17],[-6,-8],[0,-8],[-5,-4],[-2,-23]],[[7742,5779],[-7,-20],[0,24],[-1,18],[7,10],[1,45],[-5,2],[4,20],[-6,11],[5,21],[-3,32],[-9,31],[-4,-1],[0,27],[-3,9],[-5,30],[0,32],[-2,26],[-4,14],[2,25],[-8,-2],[-5,13],[0,18],[-3,12],[-6,8],[0,-23],[-2,-16],[-5,-11],[-11,3],[2,-12],[-16,-8],[-2,-16],[-7,-13],[-9,8],[-6,-4],[0,12],[-5,-9],[-3,5],[3,21],[-12,-19],[-1,11],[4,22],[2,38],[4,9],[0,22],[-2,3],[-2,30],[-6,24],[-5,8],[0,20],[-2,-4],[-1,-16],[-7,9],[-6,22],[9,-10],[6,14],[-11,14],[3,13],[-4,-3],[-6,11],[-10,-1],[2,16],[-4,-12],[-5,6],[5,4],[-5,9],[0,-11],[-7,22],[-3,3],[-3,21]],[[5533,7690],[8,-17],[11,-8],[13,-12],[0,-5]],[[5538,7620],[0,-3]],[[5537,7617],[-6,0],[7,-10]],[[5537,7593],[-14,24],[-10,8]],[[8263,7933],[2,-6],[9,9],[-4,10]],[[7439,8014],[9,6],[1,10],[19,0],[8,3],[15,13],[-2,11],[25,18],[5,0],[8,12],[11,0],[12,16],[9,-2],[7,10],[7,-10],[9,6],[2,-10],[33,-2],[3,-22],[8,-10],[8,1],[15,-8],[9,7],[21,-9],[11,2],[9,-10],[7,11],[15,6],[5,15],[2,14],[-8,6],[-6,22],[7,27],[5,0],[3,14],[8,4],[7,20],[11,-11],[11,-3],[9,-10],[14,0],[23,-15],[7,1],[17,-9],[2,-43],[17,-15],[11,-7],[20,-3],[13,10],[19,4],[4,6],[21,-6],[4,-6],[13,3],[14,-20],[22,-3],[-1,-15],[17,-20],[16,1],[31,-10],[3,4],[9,-6],[20,14],[18,1],[11,8],[10,-2],[8,5],[3,12],[27,27],[17,-1],[17,-20],[9,-1],[12,8],[12,-5],[3,-6]],[[5913,3637],[-22,0]],[[5891,3637],[1,15],[-3,17],[1,16],[-3,3]],[[5887,3688],[1,16],[0,71],[-4,30],[-3,5],[-6,24],[1,14],[-7,44]],[[5869,3892],[31,64],[-2,10],[4,10],[-1,17],[6,7],[9,29],[1,14],[-6,6],[1,36],[-5,2],[0,11],[6,3],[-1,14],[4,4],[-2,36],[3,14],[-1,17],[-5,22],[4,14],[-7,-1],[-1,6],[-13,9],[-9,1],[-5,12],[-5,1],[-7,10],[-9,-2],[-2,4],[-13,-1],[0,21]],[[5844,4282],[-1,18],[-4,20],[19,14],[14,6],[19,16],[4,1],[27,19]],[[5922,4376],[6,-21],[7,-13],[1,6],[17,6],[5,-11],[2,-41],[-5,-11],[0,-9],[-5,-10],[5,-13],[1,-14],[9,-15],[5,-13],[5,-4],[0,-17],[5,0],[-2,38],[4,19],[9,2],[3,5],[1,35],[-1,16],[3,15],[-2,14],[-21,54],[-6,11]],[[5968,4405],[-2,10],[-1,28],[2,8],[-4,14],[0,16],[6,10],[2,25]],[[5971,4516],[19,0],[5,10],[9,-10],[1,-7],[15,1],[7,6],[12,-8],[11,10],[1,13],[7,4],[11,-8],[11,13],[11,0],[5,9],[9,4],[18,27]],[[6123,4580],[6,-13],[-7,-32],[0,-23],[3,-18],[0,-28],[3,-20],[-6,-8],[5,-1],[-2,-39],[4,-23],[-4,-8],[6,-2],[-3,-8],[6,-5],[0,-22],[-5,-7],[1,-8],[-3,-24],[-13,-26],[-3,-14],[-7,-7],[3,-7],[-21,-26],[-1,-7],[-11,-2],[-16,-16],[-6,-3],[-20,-22],[-11,-32],[-8,-15],[-2,-13],[-5,5],[1,-12],[-4,6],[-13,-18],[-6,-17],[-16,-26],[-3,4],[0,-25],[-3,-12],[6,-15],[3,0],[4,-39],[4,-16],[2,-20],[-1,-24],[5,16],[2,-16],[-2,-10],[3,-20],[-7,-50],[6,-4],[-3,-17],[-9,-26],[-13,-11],[-26,-17],[-11,-10],[-12,-16],[-5,-18],[-4,-6],[3,-12],[7,-5],[-1,-33]],[[4659,6034],[-6,12],[-12,16],[-1,13],[-8,8],[-2,17],[-5,13],[-10,-2],[-6,16],[-8,14],[-16,0],[-20,-9],[-19,1],[-1,-15],[-3,-3],[-2,-22]],[[4540,6093],[0,30],[2,18],[8,33],[4,26],[0,28],[-3,40],[-5,20],[-6,11],[9,24],[0,28],[-9,26],[0,-9],[-5,11],[-4,19],[-4,-3],[-1,-16]],[[4526,6379],[-1,6],[3,26],[55,0],[55,0],[0,15],[-4,71],[3,10],[12,16],[17,11],[0,146],[56,0],[36,0],[0,74]],[[6603,4026],[2,-11],[-3,-12],[-9,-1],[0,15],[4,13],[6,-4]],[[5969,4525],[0,2]],[[5969,4527],[0,-2]],[[5964,4534],[0,2]],[[5964,4536],[0,-2]],[[5952,4624],[-3,6]],[[5949,4630],[3,-6]],[[5946,4634],[0,1]],[[5946,4635],[0,-1]],[[5941,4623],[2,-16],[8,-22],[-1,-51],[3,-25],[-8,-21],[0,-15],[4,-4],[0,-16],[4,-12],[-1,-26],[2,-9],[7,-10],[-2,-24],[7,-10],[2,11],[8,-16],[4,0],[-6,34],[-6,2],[0,12]],[[5922,4376],[-7,-1],[-2,12],[-6,14],[6,8],[4,49],[9,3],[5,11],[-4,0],[-4,11],[2,15],[-3,27],[5,15],[-4,17],[7,6],[5,11],[-4,20],[-6,8],[1,15],[-4,12],[-7,1],[-1,11]],[[5914,4641],[10,-5],[4,-7],[9,1],[4,-7]],[[8093,5320],[-2,3],[0,20],[2,-2],[0,-21]],[[8269,5423],[5,-1]],[[7786,5497],[-1,-11],[-3,11],[4,0]],[[7773,5553],[-3,-8],[-3,8],[6,0]],[[7834,5543],[9,-7],[3,-14],[18,-29],[9,-33],[1,-32],[-4,-8],[0,-23],[4,-12],[-2,-6],[1,-32],[10,-15],[3,-23],[8,-23],[1,-24],[-16,4],[-4,-10],[-5,15],[-15,19],[-7,11],[-10,9],[-11,21],[-14,15],[2,9],[-2,17],[-6,17],[-11,19],[2,9],[-4,6],[1,21],[-2,19],[-6,11],[2,6],[-2,23],[0,26],[-7,25]],[[7780,5554],[2,15],[4,-9],[12,-7],[2,-11],[7,1],[0,-19],[-3,-9],[3,-8],[5,9],[9,7],[6,-10],[7,30]],[[8045,5303],[0,-10],[8,-13],[9,1],[16,-8],[6,-6],[0,16],[5,22],[0,18],[4,0],[2,16],[5,8],[11,2],[20,10],[9,9],[12,33],[7,12],[6,19],[1,16]],[[8193,5464],[1,-4]],[[8198,5465],[6,1],[6,15],[-6,9],[6,11],[6,0],[3,14],[4,4],[1,17],[6,6],[1,8],[8,18],[3,19],[3,-3],[-2,-22],[6,8],[3,15],[4,-2],[1,-18],[7,-3],[6,-10],[-4,-13],[5,-16],[6,9],[3,-14],[8,-1],[9,-15],[15,-10],[0,-11],[-15,-13],[-7,-1],[-2,6],[-7,-8],[5,-14],[9,-13],[-18,-12],[-11,10],[-1,-14]],[[8256,5598],[-5,-6],[0,10],[6,4],[-1,-8]],[[5649,4167],[22,9],[17,-1],[7,-5],[6,-12]],[[5554,3757],[1,-13],[0,-196],[-12,-8],[-2,-9],[-7,-5],[-3,-11],[-11,7],[-16,-4],[-16,13],[-5,-1],[-2,28],[-4,0],[-3,11],[-5,-2],[-4,-12],[0,-11],[-8,-7]],[[5457,3537],[-5,4],[-15,27],[-12,41],[-2,21],[-5,18],[2,11],[-5,7],[0,21],[-3,11],[-1,23],[1,20],[-11,53],[1,33],[-2,25],[3,10],[-1,27],[-14,39],[-4,18],[-13,37],[-5,37],[-3,3],[-4,20],[-7,22],[-3,18],[-8,23],[-8,14],[-5,21],[-3,36],[1,12]],[[9665,3952],[5,-3],[-1,-13],[-7,3],[-2,12],[5,1]],[[9646,3990],[4,-27],[-9,7],[-1,8],[6,12]],[[9555,4026],[7,-13],[6,0],[16,-24],[5,-3],[11,-30],[7,-3],[15,-20],[4,-10],[11,-14],[2,-10],[-3,-5],[-12,8],[-2,-4],[-6,8],[-2,13],[-4,-1],[-7,14],[-13,7],[-4,13],[-12,16],[-1,8],[-6,6],[-12,44]],[[5416,6507],[4,-53],[1,-34],[12,-31],[-1,-12],[11,-21],[-7,-29],[0,-21],[-6,-142],[-1,-9],[-22,-46],[-12,-29],[-13,-39],[0,-11],[-9,-19],[4,-39]],[[5377,5972],[-6,1],[-4,-10],[-5,0],[-14,-18],[-2,-10],[-10,2],[-7,9],[-12,6],[-22,1],[-13,-6],[-7,-7],[-8,-20],[-18,2],[-10,7],[-15,20],[-9,1],[-10,-12],[-6,0],[-3,-7],[-7,4],[-4,15],[-12,21],[-3,-3],[-16,14],[-8,-8],[-12,2],[-11,-6],[-9,-11],[-1,-28],[-4,-14],[-8,-13],[-1,-25],[1,-21],[-2,-2]],[[5377,5972],[13,-36]],[[5238,5460],[-5,-4],[-6,14],[5,-21],[-2,-4],[-17,-3],[-14,10],[0,-10],[-4,-4],[0,13],[-4,2],[3,-18],[-25,-6],[-7,6],[-8,17],[-3,12],[-3,27],[-4,8],[-3,17],[-6,13],[-13,20],[-15,4],[-12,-1],[4,6],[-5,2],[0,-9],[-19,-1]],[[2691,6046],[-6,-4],[4,-35],[-7,-20],[-4,-40],[2,-21],[-1,-19],[2,-10],[-4,-2],[1,15],[-5,-4],[4,-12],[-5,-31],[3,2],[1,-14],[-6,-11],[1,-16],[5,-12]],[[2619,5821],[-6,13],[-12,18],[-7,15],[-4,17],[-26,41],[4,10],[6,-5]],[[5093,8141],[24,0]],[[5162,8210],[-10,-17],[-10,7],[15,13],[5,-3]],[[5118,8141],[-21,6],[1,7],[9,1],[7,-11],[-3,33],[8,7],[6,13],[6,36],[10,-1],[14,21],[11,5],[24,3],[9,-12]],[[5140,8230],[7,-10],[-8,-8],[0,-15],[12,-5],[12,14],[-12,20],[-2,13],[-9,-9]],[[5157,8665],[-10,4],[10,9],[0,-13]],[[5249,8849],[3,-8],[-16,-5],[-3,7],[16,6]],[[5244,8857],[-2,-7],[-13,0],[15,7]],[[5344,8955],[3,-6],[-12,-11],[9,17]],[[5387,9114],[3,-5],[-17,-6],[5,13],[9,-2]],[[5420,9124],[-11,-11],[-15,-6],[9,15],[17,2]],[[5441,9154],[2,-15],[8,12],[8,-5],[-1,-15],[-21,-8],[-4,-7],[-17,-3],[6,18],[6,0],[6,23],[7,0]],[[5421,9152],[6,-15],[-9,-5],[-18,7],[21,13]],[[5439,9158],[-11,-3],[20,19],[-9,-16]],[[5492,9188],[10,-7],[-3,-14],[-32,-8],[9,12],[-6,8],[22,9]],[[5523,9207],[6,-7],[-8,-11],[-17,-2],[5,15],[14,5]],[[5533,9218],[12,-6],[-15,-10],[-9,7],[12,9]],[[5652,9249],[5,-8],[-16,-11],[-6,7],[17,12]],[[5649,9262],[-11,-16],[-24,-4],[7,13],[17,-3],[11,10]],[[5856,9203],[2,-15],[-17,4],[-10,-15],[-16,-3],[-11,-16]],[[5572,9158],[-14,0],[7,-8],[-11,-20],[0,-11],[-42,13],[-8,-3],[1,-19],[-8,-13],[-16,8],[-15,-11],[-5,-16],[-14,-13],[9,-12],[-1,-10],[-27,-31],[2,-13],[-12,-7],[-15,-1],[3,-17],[-3,-30],[-5,-12],[-20,-30],[14,-8],[1,-15],[-5,-10],[-21,5],[-15,-8],[-14,-21],[-5,-18],[6,-16],[-4,-24],[7,-20],[-5,-30],[20,-20],[-4,-18],[-13,-4],[10,-29],[-3,-21],[-10,-13],[-7,0],[-6,-16],[4,-21],[-6,-21],[-5,6]],[[5317,8580],[-2,7],[-16,4],[-5,22],[-5,-3],[1,-15],[-5,-12],[-15,-2],[-28,-36],[-16,-16],[-15,-5],[-30,5],[4,7],[-19,9],[-10,9],[-4,11],[2,18],[14,-10],[-5,13],[9,14],[-12,11],[2,-11],[-10,-4],[-8,9],[8,18],[11,0],[-5,7],[7,5],[5,15],[10,13],[-13,-9],[-6,-16],[-6,16],[-6,-8],[-6,8],[3,14],[12,-3],[-1,14],[-10,-9],[-10,14],[3,16],[10,0],[-13,10],[0,10],[11,7],[-11,5],[11,16],[33,-6],[-31,8],[-7,-3],[7,17],[13,1],[25,16],[-12,-3],[12,13],[22,-8],[-1,10],[-16,2],[-2,12],[10,5],[7,-6],[16,2],[4,11],[12,-2],[-5,11],[34,19],[7,-14],[24,5],[-2,8],[19,14],[2,9],[-18,-7],[2,-9],[-26,-14],[-12,16],[15,11],[-3,9],[14,10],[12,17],[13,-11],[0,17],[11,5],[4,17],[19,3],[-10,6],[10,12],[-8,12],[27,33],[-8,8],[9,16],[12,10],[-7,6],[20,4],[10,13],[22,-3],[0,5],[-28,1],[28,31],[-15,-9],[4,15],[30,7],[-22,1],[23,8],[5,-17],[6,8],[-11,14],[17,8],[32,-1],[-9,8],[-29,-5],[2,11],[24,6],[6,22],[10,6],[4,14],[19,5],[11,13],[26,10],[8,-11],[15,2],[11,14],[19,-17],[-5,14],[-18,15],[28,3],[20,-6],[5,-14],[11,25],[29,23],[0,11],[37,-7],[-19,-17],[-9,-26],[8,-1],[6,15],[33,35],[-3,-34],[17,22],[11,6],[-8,10],[28,3],[8,-5],[-19,-29],[14,2],[11,20],[9,1],[21,-14],[8,4],[27,-25],[-16,-2],[-10,-10],[-39,6],[-3,-4],[29,-8],[-2,-12],[34,3]],[[5713,9281],[11,-11],[-15,-3],[-6,9],[10,5]],[[4778,9282],[-1,-9],[-15,-2],[16,11]],[[5647,9686],[-7,-11],[38,-10],[-33,-33],[-23,0],[10,17],[-53,-6],[22,27],[-22,9],[23,8],[45,-1]],[[5596,9708],[21,-5],[1,-13],[-43,-4],[-15,17],[36,5]],[[5313,9706],[24,-18],[-29,12],[-16,19],[13,4],[8,-17]],[[5467,9783],[4,5],[53,-31],[2,-16],[23,1],[8,-9],[40,-9],[-5,-12],[-44,-1],[-22,-10],[3,-21],[-18,-4],[-5,-31],[-14,1],[-11,-30],[-12,-11],[3,-11],[-20,6],[-35,25],[-18,3],[-9,22],[50,-2],[-31,7],[59,9],[-36,4],[-50,-9],[-5,19],[40,3],[17,12],[27,1],[-3,22],[-14,-14],[-16,-1],[-1,23],[-28,-21],[10,-6],[-25,-10],[-23,-1],[-17,20],[-20,10],[21,16],[-19,4],[10,14],[-23,-12],[-16,26],[31,17],[9,-10],[47,12],[-3,-10],[-33,-9],[37,-1],[19,16],[20,-12],[5,-15],[28,-25],[-14,23],[-7,33],[24,9],[7,-9]],[[5642,9812],[113,-16],[-1,-15],[-37,-13],[-5,-13],[-38,-5],[-6,-7],[-32,2],[-1,11],[-57,-2],[-32,10],[22,8],[39,1],[0,7],[-66,-7],[-28,4],[-12,23],[33,-5],[33,19],[53,-25],[3,26],[19,-3]],[[9617,2273],[0,-19],[-6,6],[6,13]],[[9665,2494],[6,-10],[0,-14],[-12,-2],[-5,-8],[1,13],[5,6],[-1,14],[6,1]],[[96,2665],[10,-1],[-9,-6],[6,-11],[-9,-5],[3,13],[-9,8],[8,2]],[[9802,2850],[-4,0],[-2,-14],[9,-2],[1,-21],[4,-9],[10,14],[6,3],[3,-10],[3,13],[9,-2],[-4,-7],[3,-10],[-6,-8],[6,-18],[-8,-17],[-3,-13],[-9,-13],[-6,-23],[-15,-16],[-1,-24],[9,-5],[1,-9],[-7,-4],[-10,10],[-7,-9],[-25,-22],[-4,-20],[0,-17],[-7,-15],[-5,-25],[0,-16],[-8,-3],[-17,-24],[-4,-11],[-13,-7],[-11,0],[-1,6],[-13,-4],[-5,16],[-11,-2],[-2,10],[-8,3],[-3,-7],[-16,3],[1,13],[-9,0],[0,10],[9,6],[-2,8],[4,17],[8,-7],[-4,16],[36,56],[2,7],[10,1],[19,21],[8,4],[16,27],[14,12],[13,29],[6,37],[9,4],[8,16],[1,31],[15,21],[7,0]],[[9872,3102],[4,-10],[-7,5],[3,5]],[[9807,3201],[-1,-14],[3,-11],[8,-8],[8,2],[10,-9],[2,-9],[5,4],[1,-13],[5,-10],[-2,-23],[9,-16],[-3,-21],[7,-17],[8,0],[4,-17],[5,3],[-4,18],[3,20],[3,-14],[7,-9],[1,-35],[2,-7],[14,-7],[19,-13],[10,4],[5,14],[8,7],[8,0],[7,-10],[-6,-15],[-1,-32],[-10,-9],[-2,-34],[-1,12],[-12,1],[-10,-8],[-4,-10],[1,-13],[4,-3],[-5,-25],[-8,-21],[-6,-9],[-9,-30],[-8,-14],[-13,-14],[-3,11],[-9,-1],[-8,12],[4,4],[10,24],[4,27],[-5,17],[-15,10],[-6,12],[-9,4],[-6,8],[1,14],[22,19],[3,41],[4,20],[-3,30],[4,10],[-3,8],[-8,-6],[-2,16],[-6,19],[7,-12],[-2,22],[-11,8],[1,-9],[-26,61],[2,16],[-12,29],[10,1]],[[6629,6344],[-1,12],[8,19],[-7,-31]],[[6474,6141],[-8,37],[-2,0],[-11,55],[-10,44]],[[6443,6277],[13,8],[52,37],[19,12],[9,56],[9,61],[-13,39]],[[6566,6621],[6,-28],[6,-15],[10,-17],[31,-18],[8,2],[6,-11],[13,-39],[7,-13],[8,-2],[0,-17],[-9,-27],[-4,-19],[-12,-17],[-11,-42],[-8,1],[1,11],[-5,-3],[-3,-13],[-4,-4],[-1,-20],[-3,-10],[2,-31],[2,-11],[-3,-4],[-15,-2],[-8,-6],[-7,-12],[-3,-28],[-5,-10],[-5,1],[-21,-7],[-6,-19],[2,-9],[-7,-20],[-8,-3],[-4,5],[-16,-3],[-12,-14],[-7,0],[-7,-6]],[[6557,6684],[2,8],[9,-6],[-5,-27]],[[6893,6556],[-1,-9],[-8,10],[-6,-3],[-8,15],[-5,42],[-13,5],[1,20],[-5,7],[-3,13],[-7,1],[2,-7],[-16,-8],[-13,2],[-1,-4],[-23,-1],[-19,6],[-4,-11],[-28,4],[-5,-6],[-17,-8],[1,8],[-5,2]],[[2729,5623],[3,-19],[-7,12],[4,7]],[[2836,5599],[-8,16],[-7,31],[5,4],[0,10],[5,8],[-5,3],[-4,-7],[-3,16],[-10,15],[-6,5],[-10,2],[-9,-12],[0,-13],[-8,-11],[-12,-10],[0,-8],[10,-19],[4,-14],[-10,-6],[-2,-9],[-13,-2],[0,7],[-8,30],[-1,-14],[-10,8],[-3,19],[-9,8],[-6,-1],[0,8],[-8,-4],[-9,2],[-2,-16]],[[2706,5734],[6,-10],[3,-23],[13,-4],[-4,11],[5,-3],[6,-15],[10,-1],[9,5],[7,12],[14,8],[14,22],[10,-4],[7,2],[-2,-7],[16,-2],[17,-19],[3,-9],[10,-15]],[[3073,4289],[-8,13],[-7,0],[2,-20],[-3,4],[-3,-15],[17,-10],[-2,-8],[7,-8],[4,3]],[[3084,4249],[-2,-19]],[[3044,4127],[-14,19],[0,3],[-13,15],[0,13],[-3,10],[-18,16],[-6,15],[-10,5],[-17,20],[-17,13],[-3,8],[-32,34],[-1,9],[-9,19],[-10,12],[-6,25],[-4,2],[0,15],[3,23],[-10,34],[0,7],[-8,20],[1,6],[-7,9],[-3,11],[-2,23],[-4,10],[-8,9],[1,11],[-4,20],[-12,36],[-1,20],[-4,9],[-2,18],[-5,8],[-4,33],[-6,23],[-14,29],[-6,35],[-7,12],[-6,16],[-16,16],[-11,17],[0,11],[8,6],[-2,16],[-7,11],[3,15],[-8,19],[2,25],[12,23],[0,5],[14,21]],[[8339,5486],[-9,-12],[-3,4],[12,8]],[[8361,5534],[5,-6],[-8,-6],[3,12]],[[8390,5552],[-3,0],[-4,14],[7,5],[7,-7],[-7,-12]],[[8493,5581],[-3,9],[3,5],[0,-14]],[[8251,5645],[-2,-13],[-1,14],[3,-1]],[[8489,5736],[9,-8],[3,-13],[4,4],[-1,-13],[4,-7],[0,-10],[-6,-9],[8,-6],[-1,-20],[3,3],[-2,-23],[5,-6],[1,-27],[-4,-16],[-6,-12],[-1,-28],[-4,20],[1,8],[-6,19],[-1,14],[-5,-4],[0,-9],[-5,-8],[-3,-22],[6,-6],[3,-20],[-1,-12],[-7,-21],[-7,13],[3,8],[-3,9],[-3,-14],[-10,5],[-13,14],[-5,15],[0,20],[-2,0],[1,19],[6,8],[0,9],[-5,11],[-15,13],[-3,-12],[1,-15],[-4,9],[-4,-1],[0,12],[-4,-14],[-6,0],[1,16],[-9,-3],[-7,-26],[-2,-17],[-3,-3],[-5,9],[7,30],[-1,11],[7,16],[16,6],[3,21],[8,1],[2,11],[3,-6],[6,1],[4,-13],[0,-15],[11,6],[2,17],[3,4],[6,-8],[3,5],[0,23],[4,1],[5,-9],[5,10],[7,1],[0,17],[-4,21],[2,8],[5,-12]],[[8503,5750],[-4,-2],[2,14],[2,-12]],[[8453,5767],[7,-6],[-1,-12],[-7,-13],[-12,2],[-2,9],[7,10],[3,10],[5,0]],[[8479,5754],[-4,9],[3,3],[1,-12]],[[8490,5782],[1,-31],[-5,11],[0,15],[4,5]],[[8332,5791],[-6,-5],[2,10],[4,-5]],[[8408,5792],[-5,-9],[0,11],[4,7],[1,-9]],[[8423,5815],[8,-4],[1,-7],[-7,-25],[-1,-15],[-4,-13],[0,-19],[5,-11],[-2,-12],[-7,-5],[-3,15],[-9,8],[-5,15],[2,15],[11,6],[-1,23],[4,23],[8,6]],[[8444,5821],[1,-35],[-2,-9],[-9,-14],[0,-7],[-6,-27],[-3,-4],[2,34],[9,27],[5,33],[3,2]],[[8319,5836],[0,-30],[6,-17],[-10,-11],[-4,-14],[-13,-9],[1,-12],[-9,-26],[-10,-10],[-1,-9],[-8,-14],[-6,-2],[-1,-9],[-9,0],[19,43],[4,0],[9,23],[7,11],[6,20],[12,17],[4,32],[0,14],[3,3]],[[8456,5842],[7,-8],[4,7],[6,-10],[-1,-30],[5,-8],[2,-19],[-8,-4],[2,-10],[-8,7],[-1,14],[2,19],[-2,11],[-5,5],[-4,-4],[1,30]],[[8456,5856],[5,-12],[-5,0],[0,12]],[[8396,5860],[10,-14],[4,6],[3,-11],[7,8],[-1,-24],[-9,-10],[-1,-11],[-6,-6],[-9,-2],[-6,-13],[-2,20],[4,17],[0,39],[-6,1],[3,10],[9,-10]],[[8332,5870],[2,-13],[-3,-2],[-2,15],[3,0]],[[8331,5890],[11,-11],[0,-5],[-10,1],[-1,15]],[[8405,5890],[-5,12],[6,0],[-1,-12]],[[8469,5906],[10,-3],[2,-13],[5,-4],[-2,-6],[1,-33],[6,-24],[-14,0],[-2,10],[-4,0],[-4,10],[6,17],[-5,0],[-6,16],[-8,11],[-3,20],[7,-3],[11,2]],[[8426,5905],[6,-6],[5,-13],[4,-1],[4,-15],[0,-12],[-17,28],[-8,-17],[3,13],[-1,26],[4,-3]],[[8392,5910],[-3,-30],[-3,11],[2,17],[4,2]],[[8434,5912],[3,-18],[-5,16],[2,2]],[[8421,5926],[-7,8],[2,6],[5,-14]],[[8360,5962],[15,-22],[-1,-23],[-3,-26],[-4,-5],[-9,17],[-4,15],[0,14],[-7,12],[-4,18],[10,-4],[7,4]],[[8385,5963],[7,-9],[-4,-11],[-5,8],[2,12]],[[8450,5993],[5,-11],[0,-12],[-7,-8],[-4,7],[3,5],[0,20],[3,-1]],[[8387,6049],[2,-18],[-3,-5],[-3,23],[4,0]],[[8358,6252],[7,4],[10,-14],[13,-6],[4,13],[3,0],[2,-15],[-4,-8],[-1,-29],[3,-15],[4,0],[2,-28],[-8,-32],[1,-4],[-18,-18],[2,-10],[-7,-28],[9,-32],[-3,-1],[4,-30],[5,-10],[10,-2],[-3,13],[8,9],[8,-1],[9,-20],[-1,-12],[5,-3],[3,17],[17,-13],[1,-4],[-12,-1],[0,-8],[5,-8],[4,-16],[6,-8],[2,-12],[-2,-14],[-6,5],[-1,13],[-7,1],[-8,7],[0,14],[-3,11],[-7,6],[-5,16],[-9,7],[2,-18],[5,-15],[-3,-12],[-7,25],[-17,19],[-8,-8],[1,-6],[-11,-4],[-4,16],[-6,2],[-2,-7],[-1,24],[11,17],[-4,14],[-9,-4],[2,-13],[-4,-3],[-4,23],[-7,4],[-1,23],[-4,8],[1,26],[-4,3],[0,23],[9,-15],[9,5],[-3,17],[0,21],[4,10],[-1,11],[0,43],[5,23],[-1,10],[10,4]],[[8740,5620],[-2,-13],[-3,3],[5,10]],[[9256,4529],[13,-10],[0,-5],[-10,3],[-3,12]],[[9195,4611],[7,-2],[-2,-10],[-8,2],[-5,23],[8,-13]],[[9184,4640],[3,2],[5,-15],[-14,1],[0,16],[6,-4]],[[9176,4644],[-1,-9],[-5,5],[-1,9],[6,1],[1,-6]],[[9234,4667],[10,-3],[5,-11],[-10,2],[-5,12]],[[8989,4680],[-11,16],[11,-11],[0,-5]],[[8981,4701],[6,0],[1,-7],[-7,7]],[[9105,4867],[7,-7],[-1,-11],[-7,10],[1,8]],[[9299,4867],[8,-4],[3,-17],[6,-8],[1,-9],[5,-4],[8,-16],[2,-14],[-7,-8],[-5,1],[-10,17],[1,14],[-14,25],[0,19],[2,4]],[[9089,4870],[-4,0],[-2,11],[3,3],[3,-14]],[[9296,4889],[-2,-21],[-1,25],[3,-4]],[[9228,4941],[-2,-6],[7,-2],[0,-17],[-5,-20],[-8,-1],[5,-25],[-8,-9],[-11,3],[2,-8],[-14,-21],[-15,-13],[-24,-2],[-3,10],[-6,4],[-6,-5],[-2,7],[-10,12],[-9,7],[4,14],[11,-5],[3,4],[7,-8],[20,6],[2,24],[4,-27],[8,6],[8,-5],[8,6],[0,10],[10,20],[7,-3],[2,5],[-2,23],[-3,16],[7,0],[5,-8],[2,8],[6,0]],[[8915,5033],[7,-1],[25,-25],[25,-17],[13,-4],[9,-11],[5,-11],[15,-2],[0,-8],[9,-6],[5,-15],[8,-3],[13,-25],[-1,-38],[14,-4],[18,-16],[5,-7],[12,-3],[9,-22],[0,-18],[-25,-3],[0,-12],[5,-13],[1,-15],[7,-6],[8,-21],[12,-8],[3,-30],[7,-9],[2,-19],[21,3],[-4,-19],[1,-9],[7,-6],[15,-2],[1,-5],[-9,-5],[8,-16],[10,-7],[12,-3],[-4,-5],[-9,-1],[10,-10],[-7,-9],[-13,6],[2,7],[-9,8],[-7,-1],[-8,6],[-12,0],[1,5],[-11,-3],[-2,5],[-17,1],[-11,33],[-5,2],[-7,22],[-8,6],[-4,23],[-10,30],[-13,9],[-5,-1],[-7,8],[-9,2],[-6,12],[-6,-1],[2,-13],[-7,10],[1,-8],[-13,8],[4,-19],[-11,-4],[1,-12],[-18,-5],[-6,1],[11,-10],[7,-15],[1,-11],[-22,-23],[-11,10],[-20,-3],[-6,4],[-3,-5],[-6,7]],[[9195,5027],[10,-11],[11,-17],[7,-3],[14,-33],[11,-10],[5,-22],[-2,-14],[-5,-10],[-6,14],[1,21],[-5,19],[-10,21],[-6,2],[-9,16],[-5,4],[-9,15],[-10,7],[8,1]],[[9172,5046],[6,-5],[0,-12],[-8,0],[-3,9],[5,8]],[[9079,5070],[12,-5],[-3,-8],[-17,0],[0,11],[8,2]],[[9154,5105],[6,-13],[-6,5],[0,8]],[[5544,8319],[0,-1]],[[5544,8318],[4,-1]],[[5548,8317],[63,-4],[21,0]],[[5655,8150],[1,-13],[14,-27],[-5,0],[4,-18],[-10,-8],[-18,-24],[-13,-25],[4,-28],[-6,2]],[[5626,8009],[-15,8],[-11,12],[-16,-2],[-4,-6],[-6,6],[-10,0],[-14,-12],[-1,12],[-10,11],[-7,-11],[-9,7]],[[5396,8275],[8,-3],[0,13],[-10,0]],[[5394,8289],[54,20],[12,16],[10,2],[11,9],[27,5],[7,-23],[12,-6],[17,7]],[[3138,6248],[29,-2],[9,-6],[2,-7],[-7,-13],[-9,-5],[-17,3],[-12,-1],[1,15],[-3,7],[3,10],[4,-1]],[[8625,7631],[5,-14]],[[8630,7617],[-7,4],[-11,-15],[-11,-27],[4,-15],[-3,-11],[1,-19],[-11,-5],[-7,-16],[-13,-11],[-8,-14],[-9,1],[-4,-9],[-10,-8],[2,-9],[-6,-13],[2,-13],[9,-2],[17,-29]],[[8518,7361],[-8,4],[-8,-9],[-8,15],[-7,1],[2,-14],[-10,9],[-7,-2],[3,9],[-13,4],[9,5],[-3,9],[10,20],[-3,4],[4,21],[5,14],[-4,8],[-16,7],[-11,14],[1,12]],[[4525,7072],[11,-2],[-3,-7],[-10,3],[2,6]],[[4286,7362],[15,1],[0,-6],[-10,-3],[-5,8]],[[4220,7396],[-11,-2],[-2,9],[13,-7]],[[4248,7409],[-8,0],[0,8],[6,0],[2,-8]],[[4794,7325],[-12,-12],[-21,8],[-10,-7],[4,24],[1,44],[-4,18],[-8,-2],[-1,11],[8,6],[-2,7],[-4,-11],[-9,1],[4,38],[6,7],[7,36],[-1,3],[7,47],[-6,50],[3,7]],[[3492,3797],[-1,-17],[-4,-23],[-1,-22],[-3,-17]],[[5949,6986],[8,16]],[[5987,7012],[-4,-16]],[[853,4163],[-9,-2],[-1,11],[5,3],[5,-12]],[[6422,6601],[-8,-2],[-3,9]],[[6411,6608],[1,10],[-3,15],[1,20],[3,6],[4,24],[6,6],[4,-12],[5,-2],[1,-9],[-4,-14],[4,-14],[0,-15],[-4,-17],[-7,-5]],[[5783,7801],[3,-8],[11,-6],[14,12],[10,-3],[2,-9]],[[5823,7787],[-1,-22],[-14,-4],[-3,13],[-4,-3],[-6,-35],[1,-21],[-3,-13]],[[5630,7730],[-6,15],[8,5],[-10,9],[-6,-14],[-5,9],[-10,2],[-9,9],[5,16],[-15,12],[-6,9],[1,16],[-13,13],[-2,7]],[[5635,7944],[10,8],[7,-5],[20,-6],[10,3],[9,-14],[10,11],[26,6],[3,12],[9,3]],[[9064,7741],[7,1],[-12,-10],[-16,-24],[15,37],[6,-4]],[[9133,7793],[-15,-6],[-10,-15],[-5,0],[-7,-11],[-18,-19],[10,17],[-3,3],[25,28],[9,0],[12,15],[2,-12]],[[9182,7845],[-21,-27],[-10,-9],[15,27],[16,9]],[[9227,7898],[-1,-8],[-10,-14],[11,22]],[[9301,8041],[-1,-17],[-6,3],[7,14]],[[9336,8091],[-7,-15],[-9,-4],[-5,-11],[-5,16],[15,9],[4,15],[7,3],[0,-13]],[[9344,8100],[-7,6],[7,7],[0,-13]],[[8967,8309],[5,-11],[-3,-7],[8,-35],[4,-38],[-6,-46],[5,-11],[-2,-12],[6,0],[9,-69],[10,-33],[0,-7],[8,-36],[-9,14],[-23,9],[3,-6],[-10,-7],[-2,-16],[-12,-57],[6,-26],[8,-11],[0,-11],[5,-21],[9,4],[1,-28],[-3,-6],[-2,22],[-17,3],[-2,6],[-7,-5],[-6,-32],[-5,-9],[-3,6],[-4,29],[7,30],[-3,31],[7,21],[-3,26],[-5,12],[7,55],[0,46],[-3,10],[1,17],[5,19],[-5,18],[-11,14],[-1,38],[4,5],[3,26],[-4,26],[13,9],[1,-9],[10,9],[-4,8],[9,2],[-2,12],[-10,21],[5,-2],[5,11],[3,-8]],[[9669,8321],[-19,19],[4,0],[15,-19]],[[8810,8355],[-14,-11],[8,11],[6,0]],[[8827,8358],[9,-8],[-12,-22],[-6,15],[-6,1],[8,17],[7,-3]],[[5548,8317],[18,15],[-10,2],[-12,-16]],[[5544,8319],[10,17],[0,12],[12,-1],[15,19]],[[5582,8366],[-12,-19],[12,-3],[7,5],[1,15]],[[9609,8371],[18,-27],[1,-11],[-13,14],[-4,13],[-7,6],[5,5]],[[9571,8591],[3,-16],[-8,-2],[-23,-18],[9,26],[19,10]],[[5777,8600],[3,-1]],[[6924,9029],[21,-5],[-5,-13],[-16,18]],[[6396,9167],[-24,-22],[-23,-4],[-10,9],[1,19],[15,16],[13,1],[28,-19]],[[9482,9188],[-3,-8],[6,-25],[-10,6],[-2,19],[9,8]],[[9705,9201],[-6,-12],[-29,7],[-11,8],[14,11],[32,-8],[0,-6]],[[6648,9234],[5,-8],[26,-17],[0,-11],[-25,-1],[-5,11],[-10,-2],[-13,12],[-1,15],[13,8],[10,-7]],[[6464,9295],[14,-14],[-6,-11],[-7,12],[-15,9],[14,4]],[[0,9271],[9990,-7],[-25,-4],[-4,14],[8,11],[30,17],[-9999,-31]],[[8829,9305],[-3,-9],[-20,5],[23,4]],[[0,9302],[26,4],[18,-3],[27,-17],[-12,-12],[-42,-8],[-17,5],[0,31]],[[7160,9347],[-27,1],[22,18],[21,-9],[-16,-10]],[[8580,9366],[-7,-7],[-15,7],[22,0]],[[8592,9374],[-28,2],[18,7],[10,-9]],[[7209,9382],[0,-11],[-19,1],[-8,7],[16,13],[11,-10]],[[7078,9392],[-5,-14],[-16,10],[21,4]],[[6536,9406],[31,-6],[-8,-26],[-15,-9],[-7,-32],[5,-18],[16,-29],[23,-20],[19,-10],[-49,-5],[-16,3],[-2,-8],[-14,12],[-18,-1],[-11,7],[-11,34],[-11,-4],[-10,10],[-19,-6],[-8,6],[-3,22],[11,12],[15,-5],[9,22],[11,9],[-20,7],[7,8],[21,1],[-7,12],[17,12],[13,-2],[20,9],[11,-5]],[[6970,9416],[1,-13],[11,-6],[-42,-7],[3,20],[27,6]],[[8951,9436],[32,-18],[0,-21],[-33,3],[-40,10],[-27,-4],[2,8],[17,1],[17,22],[32,-1]],[[8903,9439],[-10,16],[20,5],[2,-17],[-12,-4]],[[8148,9464],[-16,-15],[-37,13],[18,14],[34,-4],[1,-8]],[[7281,9528],[-4,-16],[-14,11],[18,5]],[[9075,9530],[47,-4],[5,-12],[15,3],[49,-6],[-8,-15],[-25,-8],[-43,2],[-58,24],[7,20],[11,-4]],[[8773,9524],[-11,-1],[6,29],[14,-16],[-9,-12]],[[8863,9565],[40,-20],[10,14],[19,1],[-8,10],[35,-19],[29,1],[50,-20],[-19,-5],[5,-8],[-16,-15],[-40,6],[-11,13],[15,13],[-3,8],[-25,-4],[5,-18],[12,-15],[30,-9],[-38,-6],[-14,10],[-49,-10],[-6,8],[-17,-18],[-33,8],[-25,20],[-2,34],[18,1],[-9,9],[42,18],[5,-7]],[[7674,9577],[3,-9],[-30,3],[27,6]],[[8125,9595],[2,-10],[-18,11],[16,-1]],[[9145,9596],[-23,0],[29,8],[-6,-8]],[[6893,9615],[24,-15],[-21,-24],[-51,-17],[-116,-32],[-47,-18],[0,-15],[-22,-8],[-2,-8],[-17,8],[1,-16],[-26,8],[15,-17],[-16,-8],[-16,-31],[-24,-20],[-36,4],[-11,6],[-20,-6],[-4,9],[24,12],[-30,-4],[-2,8],[26,12],[-3,6],[26,13],[-3,20],[24,4],[-14,7],[18,4],[-18,4],[-3,9],[21,-4],[14,19],[19,-4],[-5,11],[38,20],[23,3],[14,11],[23,-2],[0,12],[52,-5],[61,15],[49,28],[35,1]],[[7679,9622],[-33,-4],[35,11],[-2,-7]],[[8666,7787],[3,-13],[-2,-13],[9,-14],[7,9],[6,22]],[[6367,7850],[-12,-15],[-2,-14],[-4,9],[-10,-14],[-17,0],[-7,-31],[-8,-23],[-10,-8],[0,-13],[14,-11],[8,-28],[-2,-14],[6,19],[-5,-26],[0,-21],[7,-10],[4,-16],[12,-26],[2,-11],[6,-4]],[[6110,7681],[-15,21],[-1,6],[-18,24],[-15,7],[-11,15],[-9,1],[-8,19],[-17,11],[8,3],[-1,11],[8,-6],[11,2],[5,-4],[0,16],[-4,2],[8,10],[2,14],[4,-6],[2,11],[11,0],[-13,17],[-5,0],[-4,15],[6,-3],[13,14],[24,9],[0,13],[-30,-8]],[[6061,7895],[-1,12],[5,17],[11,5],[3,10],[25,-3],[0,13],[6,12],[-8,29],[10,5],[-8,3],[11,26],[-1,14],[-10,-2],[-5,10],[-7,0],[-5,9],[-6,-5],[-8,10],[-18,-4],[-8,11],[-8,20],[-16,-6],[-6,-7],[-10,4],[-5,8],[-13,-5],[-6,10],[2,10],[-4,19],[-7,12],[-11,-3],[-13,12],[-3,17],[8,9],[-8,8],[-1,10],[-11,13],[-13,1],[-9,-8],[-15,5],[-1,-11],[-12,-7],[-3,5]],[[5767,8523],[9,-9],[6,9],[-6,10],[-10,-2],[7,19],[-4,30]],[[5773,8590],[9,11]],[[5778,8608],[-1,16],[11,-5],[3,11],[10,-4],[7,12],[29,-8],[2,8],[-9,9],[-25,2],[-10,28],[-16,-9],[-7,2]],[[5856,9203],[15,-9],[19,18],[16,-11],[14,-3],[-7,-8],[-20,4],[6,-7],[19,-3],[-6,-7],[19,4],[5,-5],[35,-7],[23,-1],[52,-28],[21,-21],[14,-2],[16,-14],[13,-3],[30,-21],[1,-23],[7,-2],[-5,-24],[-21,-24],[-30,-15],[-22,-4],[-28,5],[-22,9],[-27,3],[-27,15],[-36,7],[-24,23],[-11,0],[8,-15],[18,-11],[3,-9],[13,-6],[-4,-7],[14,-3],[21,-20],[-4,-21],[-6,-7],[13,-46],[-6,-4],[16,-15],[15,2],[12,-18],[31,-13],[16,9],[1,21],[-25,5],[-16,19],[-3,12],[10,2],[7,12],[18,-9],[10,-13],[0,-9],[10,10],[31,-15],[9,7],[18,-7],[-4,22],[-19,30],[4,9],[18,12],[6,9],[18,5],[22,27],[11,-8],[20,3],[22,-21],[1,11],[11,23],[0,16],[-20,19],[10,28],[3,31],[-25,18],[18,-4],[37,0],[18,-6],[16,-18],[5,-18],[-38,-5],[-12,-22],[17,-9],[8,-17],[20,-5],[34,13],[5,22],[-3,11],[26,7],[1,6],[24,9],[31,22],[8,-1],[31,13],[-1,-12],[16,4],[-12,10],[32,18],[15,-3],[-7,-14],[6,-13],[-21,-8],[29,-3],[7,6],[11,-7],[1,12],[29,14],[38,-5],[18,17],[25,8],[15,-13],[-10,-8],[1,-13],[16,-4],[8,10],[-6,7],[20,5],[13,11],[0,10],[-22,28],[15,6],[2,10],[74,-10],[20,-7],[19,-15],[62,-29],[33,-25],[2,-9],[17,25],[7,19],[-21,2],[-10,16],[-1,12],[-35,14],[3,16],[12,3],[-6,9],[6,15],[-1,20],[-16,-3],[-2,17],[8,14],[28,12],[15,17],[14,51],[12,16],[5,-5],[52,1],[39,-11],[1,-25],[-16,-26],[1,-7],[-15,-11],[8,-13],[16,-10],[5,-15],[-2,-25],[-10,-9],[8,-25],[-5,-11],[3,-21],[-3,-16],[5,-8],[26,-20],[-15,-16],[3,-22],[-18,-13],[-9,-27],[-20,-14],[2,-15],[-15,-1],[-10,-7],[-22,21],[-22,-6],[8,-15],[27,-10],[22,2],[24,-8],[10,6],[2,16],[13,2],[26,20],[1,17],[24,24],[-1,25],[-11,15],[3,17],[29,12],[31,4],[1,-11],[19,-15],[-5,-15],[5,-20],[-7,-7],[18,-13],[18,-1],[-25,13],[0,18],[20,10],[-11,14],[-5,24],[-19,5],[-24,13],[-17,1],[-20,-10],[-27,5],[3,18],[-10,15],[6,25],[17,20],[-21,41],[-15,12],[14,22],[39,16],[5,17],[-4,28],[15,-7],[6,-30],[-13,-17],[7,-17],[-5,-18],[11,-4],[57,-7],[6,-11],[12,0],[-4,17],[-17,2],[-39,16],[-8,20],[27,8],[17,-13],[15,3],[-5,14],[-15,-2],[15,14],[16,5],[28,-3],[51,-35],[23,-3],[18,5],[14,-7],[-14,-16],[-16,-6],[-2,-17],[7,-12],[-10,-12],[11,2],[0,11],[10,11],[9,-6],[-4,-27],[-10,-9],[14,-10],[-7,14],[18,0],[6,8],[-17,44],[13,23],[-6,11],[-32,15],[-3,11],[-26,4],[-14,11],[4,23],[-11,9],[2,28],[39,5],[43,-1],[59,10],[40,3],[-23,-18],[25,2],[10,13],[-19,21],[-22,4],[14,18],[-21,4],[13,10],[16,-7],[68,47],[67,8],[66,16],[-28,9],[19,3],[22,-5],[25,7],[21,-3],[-16,-13],[58,10],[32,12],[29,-10],[-29,24],[18,-3],[40,4],[1,26],[63,39],[43,3],[33,-17],[-21,-13],[-24,-3],[82,-7],[6,-6],[-27,-21],[36,-1],[4,12],[38,1],[19,-4],[27,5],[47,-24],[3,-16],[19,4],[3,-28],[-21,5],[1,-12],[22,-1],[-2,-14],[-20,-17],[-20,-6],[-12,-13],[-47,-16],[-2,-9],[-32,-15],[-20,-19],[-27,-1],[-12,-18],[-17,-2],[-6,-15],[-15,-12],[23,6],[7,17],[37,-2],[15,8],[51,12],[23,10],[-7,6],[-25,-5],[-6,8],[13,10],[25,-6],[7,7],[8,-13],[19,-6],[22,5],[-2,12],[16,-20],[-8,-12],[44,9],[19,7],[100,-13],[-18,-4],[1,-11],[38,-12],[36,-5],[25,2],[21,-8],[-7,11],[19,-6],[11,17],[-8,10],[3,16],[17,-2],[10,10],[23,-14],[29,0],[12,-16],[7,15],[30,-4],[7,-12],[34,-14],[-34,-12],[30,-6],[-39,-3],[20,-10],[18,-1],[6,-12],[-15,-11],[-19,8],[27,-37],[13,-27],[40,-21],[13,12],[18,43],[10,14],[13,-19],[23,-12],[22,0],[4,6],[31,8],[22,-6],[19,-11],[11,-13],[7,27],[16,4],[12,-13],[17,2],[-3,27],[15,17],[-29,0],[12,16],[37,2],[4,10],[-12,9],[23,-1],[23,-9],[38,0],[50,-8],[39,-12],[-37,1],[-16,4],[-13,-15],[27,6],[42,2],[-26,-26],[10,16],[-12,4],[-3,-17],[-23,-12],[29,4],[30,31],[36,0],[34,-9],[13,-13],[-12,-9],[-7,7],[-9,-11],[25,-2],[-2,-11],[20,2],[0,-13],[24,3],[18,-20],[-13,0],[26,-9],[28,3],[65,12],[45,-1],[26,-6],[33,-17],[11,-25],[-11,-19],[3,-8],[31,-8],[3,-28],[11,-11],[-10,-25],[14,22],[-2,26],[19,17],[51,7],[23,-12],[23,2],[11,-5],[24,-1],[21,16],[16,-13],[2,-19],[29,-8],[7,-18],[22,4],[17,12],[-13,32],[-11,-1],[11,11],[-1,19],[41,-7],[22,-1],[17,-10],[1,9],[37,-6],[20,2],[28,-7],[71,-27],[17,-16],[-9958,-15],[3,-12],[28,-11],[2,-9],[12,1],[20,-19],[16,-2],[-10,-7],[12,-5],[0,10],[12,-7],[8,-20],[10,-2],[-3,-18],[5,-13],[-7,-6],[14,-8],[-1,-14],[17,13],[-11,3],[9,6],[-2,17],[-9,6],[27,1],[20,-12],[-5,9],[32,-6],[10,-17],[13,-7],[10,-17],[5,4],[17,-14],[-9,0],[-14,-11],[-5,-15],[-21,13],[11,-20],[-32,3],[4,-27],[-19,-12],[-8,-11],[16,-5],[6,-9],[-13,-1],[-12,-9],[-23,10],[-2,8],[-16,10],[-33,12],[-4,29],[-29,10],[-12,-10],[-30,4],[-11,27],[9,7],[2,15],[-7,-11],[-28,-4],[0,-16],[13,-11],[-7,-23],[9982,-11],[-10,-13],[-34,-9],[-21,8],[-1,8],[-16,9],[12,-16],[-24,2],[-11,7],[20,-23],[20,12],[-3,-16],[17,-17],[8,8],[12,-25],[2,-16],[-5,-13],[18,-9],[2,-20],[7,-16],[-12,-7],[0,-10],[-28,12],[-22,3],[-10,16],[2,-16],[-21,-16],[-25,-11],[-25,-18],[-12,2],[-7,-10],[-8,4],[-1,-10],[-10,-10],[-11,2],[5,-8],[-22,-13],[-3,-12],[-17,-4],[-1,-9],[-15,-7],[-10,-16],[-6,-18],[-8,8],[-7,21],[-13,9],[-32,0],[-35,-20],[-16,-23],[-4,0],[8,39],[-33,-24],[-5,-14],[-7,-2],[-2,11],[-30,3],[2,-9],[-9,-4],[-5,-19],[4,-12],[-12,-10],[4,-10],[-18,-16],[-10,-26],[1,-19],[13,-7],[1,11],[18,-8],[3,-6],[-15,-21],[1,-36],[11,1],[4,-32],[-9,-10],[-12,13],[8,11],[-6,4],[-8,-7],[6,-6],[-16,-12],[-7,-25],[-1,-16],[11,-34],[-11,-14],[-13,-1],[-6,6],[-15,-9],[-13,-15],[-6,-22],[4,-13],[-3,-6],[5,-22],[-13,10],[-9,-5],[-21,-25],[1,-26],[-7,-19],[-10,-20],[-11,-7],[-2,-8],[-17,-22],[-9,17],[-1,40],[-4,33],[-7,23],[-4,46],[-9,60],[-2,29],[4,46],[6,29],[6,15],[17,15],[7,17],[-5,22],[16,0],[7,14],[15,0],[20,19],[24,33],[3,13],[13,12],[5,12],[8,2],[18,25],[14,14],[-1,8],[30,21],[21,9],[-8,4],[15,18],[-7,9],[8,12],[2,33],[14,12],[17,-5],[-18,17],[-15,-1],[-22,-8],[3,-11],[-8,-6],[3,-9],[-6,-15],[10,-9],[-10,-7],[-5,11],[-10,-2],[-12,-18],[-32,-32],[-19,-14],[8,27],[-17,-7],[5,11],[-3,9],[14,29],[-3,10],[-12,-14],[-10,-2],[-3,12],[-13,2],[-26,-10],[-15,3],[-22,-15],[-1,-18],[-20,-20],[0,-9],[-27,-20],[-13,-28],[-7,-1],[-2,-23],[14,5],[16,-14],[-1,-7],[-11,-3],[-8,5],[-13,-10],[-19,11],[0,-8],[-10,-2],[-2,-8],[-16,8],[-9,-11],[-17,-2],[-9,15],[10,4],[18,-1],[6,4],[-15,8],[-10,14],[-13,-8],[-12,2],[-2,7],[-23,8],[-16,-8],[5,-5],[-14,-5],[6,-12],[-14,2],[-2,7],[-12,0],[-10,-9],[-31,13],[-3,-16],[-8,-3],[-6,9],[4,6],[-27,-1],[-32,2],[-19,-3],[-25,-13],[-19,-30],[-17,-11],[-8,-13],[-5,-20],[-15,-9],[-4,-11],[-11,-12],[-14,-9],[-22,-32],[-12,-26],[-26,-27],[-8,-4],[-15,-23],[-19,-15],[0,-12],[14,-9],[30,5],[0,-28],[-4,-21],[12,0],[5,14],[-6,6],[10,10],[8,-2],[-8,-11],[9,-11],[-12,-22],[16,4],[11,9],[7,14],[1,-9],[-10,-15],[7,-3],[8,26],[-1,20],[16,-8],[9,5],[17,-12],[0,-11],[27,-32],[6,-10],[-13,-12],[8,-5],[1,-15],[-4,-13],[11,-12],[-6,-3],[3,-9],[-9,-16],[-6,-3],[0,-12],[-6,-8],[0,-18],[-4,-4],[-3,-20],[1,-32],[3,-23],[-6,-17],[1,-17],[-6,-17],[0,-14],[-26,-38],[-7,-28],[-13,-18],[-5,-27],[-18,-41],[-15,-25],[-10,-11],[-8,-20],[-6,-6],[-5,-15],[-7,-5],[-11,-25],[-3,-14],[-5,0],[-1,-12],[-18,-20],[-9,-6],[-7,-11],[-8,0],[-12,-10],[-6,7],[-4,-4],[-12,10],[-3,-4],[-1,23],[-9,-11],[1,15],[-16,-21],[-1,-11],[-14,-11],[-4,-17]],[[7858,9748],[0,-12],[30,4],[14,-16],[16,-1],[8,-19],[-16,-10],[-31,-5],[-68,-3],[-33,-14],[-21,5],[21,17],[6,19],[36,39],[19,-6],[2,11],[17,-9]],[[7118,9769],[37,-6],[-27,-3],[-10,9]],[[7523,9794],[79,-8],[-18,-13],[-55,8],[-6,13]],[[6659,9787],[-27,3],[21,7],[6,-10]],[[7715,9797],[-5,-21],[25,17],[20,0],[24,-16],[-9,-24],[-19,-5],[25,-18],[-39,-10],[-38,4],[-11,8],[-50,2],[-18,12],[-1,14],[-33,3],[29,14],[23,19],[77,1]],[[6585,9810],[-4,-16],[-28,0],[1,14],[31,2]],[[6481,9813],[15,-7],[-35,-6],[20,13]],[[6646,9809],[-52,-12],[-13,20],[42,0],[23,-8]],[[6329,9836],[-38,-20],[-39,11],[77,9]],[[6729,9835],[-5,-10],[-29,-12],[-38,1],[-13,13],[14,11],[65,2],[6,-5]],[[6537,9839],[-13,-8],[-22,8],[35,0]],[[6388,9840],[7,-8],[30,3],[-9,-14],[-60,-9],[4,-14],[-38,-4],[16,15],[-22,8],[63,10],[-18,7],[27,6]],[[7225,9845],[-28,-9],[2,9],[26,0]],[[6560,9854],[57,-11],[-29,-1],[-28,12]],[[6542,9848],[13,2],[47,-13],[-19,-7],[-41,18]],[[6797,9859],[20,-16],[-28,-11],[-36,-3],[-17,9],[46,10],[15,11]],[[7536,9852],[-37,1],[2,7],[38,-2],[-3,-6]],[[7665,9859],[54,-29],[-20,-3],[0,-24],[-75,-6],[-22,-7],[-63,20],[36,9],[15,17],[-22,-3],[16,14],[81,12]],[[6577,9869],[28,-6],[-38,-6],[10,12]],[[6605,9878],[14,-9],[-44,4],[30,5]],[[5846,5121],[2,-14],[5,-5],[3,-11],[1,-26],[-1,-18],[-8,-2]],[[5801,5040],[6,7],[8,22],[-4,17]],[[5821,5103],[7,4],[4,-9],[5,7],[5,16],[4,0]],[[4526,6379],[-1,15],[2,22]],[[6163,6147],[4,4],[4,-6],[-8,2]],[[6345,6826],[6,-29],[6,-11],[0,-14],[11,-4],[-4,-5],[5,-5],[11,-23],[8,-6],[0,-16],[6,-10],[-2,-18],[-4,4],[7,-31],[8,-17],[0,-12],[8,-21]],[[6422,6601],[7,-4],[-5,-9],[8,-8]],[[6443,6277],[-4,-2],[-58,-16],[-17,-4],[-27,-27],[-16,-40],[-3,-19],[-9,-11],[-5,1],[-7,19],[-11,-3],[-25,5],[-5,6],[-16,1],[-15,-5],[-11,0],[-7,10],[-9,-11],[-1,-24],[2,-15],[-11,-16]],[[6188,6126],[-2,21],[-5,8],[0,8],[-6,9],[0,15],[-15,23],[-9,25],[0,8],[-7,16],[-2,14],[-11,49],[-18,29],[-9,3],[-6,13],[-13,43],[3,7],[-7,28],[4,20],[0,19],[-8,23],[0,8],[-14,46],[-18,21],[-2,-3],[-12,35],[3,0],[0,20],[-4,7],[-4,18],[-8,11],[1,11],[-5,5],[-8,30],[-4,7],[-8,26],[-7,15],[-6,24],[-8,14],[-6,-3],[-6,7],[5,20],[4,47]],[[6024,6449],[0,-20],[6,-21],[2,-34],[2,-65],[5,-40],[4,-8],[10,-8],[5,-9],[1,-10],[10,-6],[3,-8]],[[5946,5727],[-6,5],[3,17],[-2,21],[-20,35],[-3,45],[2,5],[2,31],[-13,0],[0,-12],[-18,0],[7,-17],[0,-27],[2,-11],[-14,-24],[-1,-9],[-18,-39],[-13,-4],[-14,23],[-7,8],[-11,-12],[-4,-17],[-13,-9],[-5,-10],[1,-6],[-23,0],[-4,15],[-22,1],[-14,-7],[-11,27],[-8,12],[-2,15],[-21,-7],[-3,-21],[-5,-6],[0,-19],[-3,-6],[-3,-29],[-11,-12]],[[5634,5812],[3,13],[-1,15],[-4,-1],[-7,16],[3,23],[-5,-2],[0,34],[-7,7],[-6,-7],[-5,9],[6,21],[7,14],[-5,25],[4,9],[9,9],[-4,7],[-1,18],[8,6],[0,10],[7,15],[2,15],[-2,11],[7,9],[12,2],[11,-2],[0,218]],[[5943,5426],[-14,-28],[-9,2],[-3,6],[-5,-5],[-13,-3],[-6,-13],[-7,5],[-4,12],[-7,-8],[-11,7],[-8,-17]],[[4535,5893],[-1,42]],[[4540,5965],[-5,11],[-1,13],[-14,41],[-8,3],[11,9],[8,18],[9,33]],[[7884,5266],[4,-3],[-4,-7],[-7,2],[7,8]],[[3953,2073],[22,-4],[11,-7],[17,-21],[3,-11],[-10,-7],[-10,20],[-12,11],[-22,11],[1,8]],[[9445,4521],[15,-17],[-6,0],[-3,9],[-8,4],[2,4]],[[9612,4569],[-6,-12],[-3,7],[9,5]],[[9481,4595],[13,-14],[8,0],[5,-13],[0,-8],[-12,4],[-9,10],[-1,11],[-6,3],[2,7]],[[9483,4641],[4,-12],[0,-10],[-5,7],[1,15]],[[9442,4640],[13,0],[11,-20],[-4,-9],[-10,7],[-13,1],[-6,13],[0,16],[3,2],[6,-10]],[[9388,4691],[3,-9],[-6,0],[3,9]],[[9371,4689],[-5,3],[5,6],[0,-9]],[[9466,4701],[6,-16],[-2,-11],[5,-5],[7,-34],[-14,21],[-3,10],[-5,37],[6,-2]],[[9378,4711],[4,-3],[3,-19],[-7,4],[-2,13],[-9,-2],[-1,6],[6,13],[5,-1],[1,-11]],[[9365,4716],[-5,1],[-1,9],[4,5],[2,-15]],[[9349,4747],[6,-9],[-4,-9],[-5,14],[3,4]],[[9405,4746],[4,0],[9,-16],[12,-12],[9,-15],[1,-13],[-7,12],[-11,9],[-18,25],[-3,13],[4,-3]],[[9349,4800],[13,-15],[3,-16],[10,-7],[-2,-7],[-15,13],[-7,18],[-6,9],[4,5]],[[4650,5621],[2,-12],[-12,10],[10,2]],[[4681,5581],[-6,9],[-23,18],[1,15],[-7,4],[-6,10],[2,3],[-3,18],[-5,-4],[-3,18],[7,1],[-6,7],[0,11],[4,7],[-6,5]],[[2560,5955],[-2,-14],[-12,0],[-13,5],[-14,14],[-14,2],[-8,11]],[[6359,5831],[0,-104],[-27,-84]],[[6201,5844],[18,-44],[13,-18],[15,0],[11,15],[4,0],[10,12],[11,-4],[6,-7],[6,4],[21,25],[8,-5],[14,3],[9,10],[12,-4]],[[6359,5831],[14,5],[4,7],[7,0],[12,7],[13,23],[15,-9],[-5,-19],[-1,-18],[2,-35],[8,-8],[-14,-6],[-3,-53],[-4,-8],[-1,-12],[-6,-10],[-3,-22],[-6,-20],[-8,-13],[0,-11],[-6,-25],[-10,-29],[-4,-29],[-12,-48],[-13,-33],[-7,-26],[-12,-30],[-14,-28],[-10,-24],[-9,-15],[-8,-19],[-21,-26],[-8,-7],[-18,-27],[-8,-17],[-10,-15],[-22,-48],[-11,-21],[-18,-49],[-9,-28]],[[5183,5187],[-3,-2],[-1,13],[5,8],[3,-11],[-4,-8]],[[3409,5499],[3,3],[1,20],[5,7],[8,-2],[20,-10],[2,10],[33,0],[18,-8],[-1,-20],[-3,-8]],[[5626,8009],[-12,-39]],[[5377,7802],[3,6]],[[5474,8485],[-7,-30],[-12,-34],[0,19],[19,45]],[[5521,8514],[8,1],[-8,-14],[-2,-22],[-10,-8],[-5,7],[-1,19],[10,16],[8,1]],[[5327,8537],[-2,-9],[-9,3],[11,6]],[[5671,8973],[-41,-2],[-9,5],[1,-19],[-16,0],[3,-8],[-13,0],[4,-13],[-10,-13],[-4,-15],[12,-15],[-17,-17],[-4,-15],[-13,-13],[-8,1],[-11,-13],[-32,-24],[0,-9],[-17,-3],[5,-11],[-5,-7],[-15,-2],[5,-14],[-5,-29],[-7,-9],[5,-32],[0,-18],[10,-10],[10,4],[14,-25],[9,-2],[6,-19],[-20,-23],[-6,3],[8,-16],[-17,-16],[-18,-13],[-13,-2],[8,-8],[-6,-3],[3,-15],[-10,-16],[6,-8],[0,-17],[-6,-10],[-3,-37],[-3,0],[-6,-23],[-5,-8],[-6,5],[-27,-3],[-11,-14],[-2,-11],[5,-10],[-6,-9],[-11,3],[-10,-5],[-14,2],[4,15],[-14,31],[8,6],[-6,8],[8,2],[-15,26],[-18,47],[4,27],[-4,8],[-9,-4],[-4,9],[-1,39],[6,-6]],[[5891,3637],[-3,2],[-1,-29],[-12,0],[-11,7],[-9,22],[0,24],[7,17],[1,10],[8,11],[14,-15],[2,2]],[[3249,6221],[-2,2]],[[5999,7178],[-3,27],[1,18],[-4,4],[1,20],[3,4]],[[5997,7251],[7,-5],[5,9],[0,11],[9,3],[-4,14],[4,21],[8,-5],[2,-7],[12,0],[5,6],[18,10],[10,-11],[16,-3],[21,8],[20,17],[22,-1],[16,7],[4,7],[4,-12]],[[5402,5930],[5,0],[0,13],[-4,3],[-6,-5],[2,-5]],[[5398,5936],[-1,0]],[[5044,5541],[-12,-7]],[[7728,5654],[6,-7],[0,-10],[-6,-6],[0,23]],[[7840,5883],[5,-11],[-4,1],[-1,10]],[[7858,5853],[-4,22],[-5,11],[-1,-7],[-12,18],[0,8],[-5,0],[-8,10],[-7,-5],[-16,5],[3,15],[-3,7],[4,21],[-11,5],[-15,-8],[-2,-9],[4,-13],[-4,-16],[0,-27],[2,-5],[-7,-15],[0,-11],[-4,-13],[-5,-20],[0,-15],[-9,-32],[2,-7],[-2,-27],[5,-21],[-3,-10],[16,5],[4,-12],[1,-29],[9,-16],[0,-12],[4,-37],[4,-16],[-4,4],[-3,29],[-6,-2],[2,-13],[6,-18],[6,0],[9,-18],[12,1],[6,-4],[6,-21],[7,-12]],[[7780,5554],[-4,13],[-8,12],[2,14],[-6,2],[-5,10],[-2,18],[-7,5],[1,7],[-5,11],[-4,1],[-3,18],[-5,-2],[-2,-12],[-4,5],[-2,18],[2,14],[4,19],[0,16],[3,16],[7,40]],[[6962,7540],[0,0]],[[6882,7324],[1,20],[12,24],[3,15],[-7,12],[-2,14],[4,10],[-2,9],[-12,1],[0,7],[-9,4],[2,16],[8,9],[18,-6],[7,6],[0,11],[8,4],[1,14],[-10,2],[13,4],[7,-3],[1,9],[-4,11],[5,14],[8,-8],[18,14],[5,7],[8,-18],[-11,-19],[7,-10],[9,3]],[[6497,7333],[-3,23],[2,30],[-1,22],[4,15],[-12,17],[0,9],[-11,0],[1,8],[14,2],[-9,14],[6,10],[-5,3],[-14,-3],[-5,6],[0,25],[4,9],[2,19],[4,-11],[13,-1],[5,-8],[16,6],[1,12],[8,-6],[3,14],[-19,23],[-4,34],[-6,5],[-16,-3],[-5,-6],[-5,-17],[4,0],[-3,-19],[-7,9],[-3,13]],[[6554,7562],[29,-5],[4,7],[-4,7],[-2,23],[4,3]],[[6585,7597],[4,-18],[11,-2],[7,14],[-6,6],[0,13]],[[6601,7610],[5,1],[4,19],[7,-2],[-3,10],[11,1],[2,6],[8,-12],[7,-2],[7,-14],[13,2],[5,-8],[-1,-12],[6,-8],[-5,-4],[4,-10],[-3,-10],[11,-11],[18,1],[6,-3],[7,6],[9,-10],[8,-36],[4,-2],[5,-29],[27,-31],[4,-10],[13,-16],[5,2],[10,-14],[27,-29],[7,1],[19,-14],[3,-4],[-4,-9],[0,-25]],[[8444,4645],[12,9]],[[8469,4667],[5,9],[1,10],[20,8],[10,-1],[6,5],[3,-4],[11,10],[11,-6],[-13,-19],[-8,-3],[-4,-9],[-7,-2],[-6,-8],[-10,-3],[-15,-17]],[[130,3966],[6,0],[-1,-7],[-5,7]],[[3308,5807],[-4,-9],[1,-31],[-4,-4],[-14,-1],[-5,4],[10,7],[0,20],[-5,5],[8,7],[13,2]],[[5303,7135],[4,-6],[-9,-6],[0,11],[5,1]],[[5238,7310],[7,2],[10,15],[13,6],[17,-9],[-4,-1],[6,-17],[-5,-4],[10,-3],[14,20],[3,-14],[-10,-23],[-6,-4],[-3,-16],[6,-18],[11,-10],[-1,-16],[3,-7],[-3,-11],[-12,-28],[-14,-14],[-2,-16],[4,-12],[9,-10],[6,4],[0,-13],[11,4],[2,-20],[9,-1]],[[5778,7600],[-2,-9],[6,-15],[20,-17],[6,-2],[-3,-13],[-14,-1],[-9,6],[-6,-7],[-12,1],[-9,-20],[-14,-10],[-15,-24],[2,17],[13,10],[3,7],[-20,-3],[-1,9]],[[5997,7251],[2,5],[-6,17],[12,18],[0,11],[-6,7],[-10,-18],[-8,-3],[-18,15],[-11,-13],[-17,-26],[-7,1],[-17,-8],[-13,9],[-7,18],[-21,18],[-18,5],[-3,-3],[0,-18],[-5,-18],[-4,6],[-13,-10],[-12,5],[-7,9],[0,16],[-7,-1],[-7,9],[-10,3],[-3,-6],[-11,1],[-2,-6],[-9,3],[8,5],[12,0],[-1,7],[8,7],[-15,-3],[-12,2],[-1,8],[7,-2],[-10,13],[0,14],[-5,5],[7,4],[-1,13],[-17,7],[-11,9],[7,6],[-4,14],[4,3],[5,-20],[14,8],[-7,0],[-5,16],[6,2],[3,10],[-6,-2],[0,14],[-6,9],[9,16],[-24,-6],[2,29],[16,25],[16,3],[2,-7],[11,-1],[-1,11],[8,-2],[-2,-7],[11,3],[19,-3],[1,7],[-8,3],[5,6],[27,5],[-15,3],[-11,13],[6,13],[19,-6],[11,5],[15,-8],[9,1],[7,11],[29,28],[14,6],[10,9],[28,-6],[10,0],[10,9],[1,-10],[6,-11],[9,-5],[10,6],[4,-16],[8,-13],[5,8],[12,-5],[0,-6],[13,-8],[8,0],[15,-7],[32,11],[4,-6],[14,-5],[12,7],[24,20],[3,7]],[[8378,6635],[10,-12],[-5,-8],[1,-22],[-6,-18],[-4,-43],[-3,-19],[-6,-20],[-4,-5],[-4,-17],[-1,-27],[-5,7],[-1,16],[-11,20],[-2,22],[-3,0],[2,15],[0,20],[17,58],[3,3],[4,18],[12,7],[2,9],[4,-4]],[[6108,4736],[-7,-14],[1,11],[6,3]],[[6093,4842],[6,-26],[-4,-4],[-7,16],[0,15],[5,-1]],[[6102,4899],[5,-11],[-3,-19],[-2,30]],[[5914,5071],[5,-1],[2,-12],[-9,7],[2,6]],[[5882,5125],[1,0]],[[5883,5125],[1,0]],[[5884,5125],[-1,-28],[-2,0],[-1,-30],[-2,-20],[4,2],[0,-28],[2,8],[4,-3],[0,13],[5,-3],[-3,10],[7,6],[2,-10],[12,-2],[8,5],[3,-7],[17,17],[-2,8],[-4,-6],[-10,4],[5,8],[-3,9],[5,-1],[5,9],[-1,12],[6,0],[-2,7],[8,17]],[[6088,4913],[1,-10],[-4,-16],[-3,-25],[-5,-21],[2,-26],[5,-5],[12,-22],[2,-15],[-4,-5],[-4,-23],[1,-10],[4,-2],[0,-13],[-4,-14],[2,-25],[4,-7],[0,-16],[4,-4],[0,-15],[4,-21],[-2,-8],[15,-16],[5,-14]],[[5971,4516],[-2,9]],[[5969,4527],[-5,7]],[[5964,4536],[-4,14],[2,20],[-2,4],[-1,30],[-7,20]],[[5949,4630],[-3,4]],[[5946,4635],[-4,-2],[-1,-10]],[[5914,4641],[-12,10],[-3,6],[-13,6],[-6,6],[-4,13],[-11,6]],[[5865,4688],[0,10],[-4,5],[-1,11],[-11,36],[1,11],[-3,8],[2,12],[-5,9],[-7,21],[-6,-1],[-6,12],[0,13],[6,7],[-5,32],[1,21],[-6,5],[2,27]],[[5846,5121],[10,4],[26,0]],[[5883,5125],[1,0]],[[5944,5197],[-8,-3],[1,8],[-8,-8],[-3,15],[-5,-3],[-2,-12],[-6,-7],[0,7],[-6,-6],[0,10],[-8,-17],[-9,0],[-4,-9],[3,-7],[-9,-26],[2,-14]],[[5823,5155],[5,6],[2,14],[-6,2]],[[5846,5254],[4,-12],[9,28],[10,11],[3,11],[-1,25],[-3,-9]],[[6061,7895],[-18,0],[-6,-11],[-4,2],[-12,-13],[-4,3],[-22,-8],[-14,-18],[-4,3],[-11,-12],[4,-22],[15,-28],[18,10],[13,-3],[-5,-9],[1,-11],[-17,-4],[-9,7],[-4,-10],[-23,-12],[-12,-18],[-10,-2],[-11,11],[5,5],[1,24],[-8,3],[-11,13],[-9,-2],[-1,8],[24,21],[8,2],[-1,14],[-6,-3],[-5,10],[-3,-6],[-18,-3],[-17,14],[4,8],[-7,6],[17,-5],[4,9],[-11,-4],[-6,5],[-25,-2],[-24,-46],[-5,1],[-10,-23],[4,2],[-3,-14]],[[5836,7853],[9,-17],[2,3],[-11,14]],[[5948,7848],[0,-9],[-11,7],[3,-13],[4,5],[21,-17],[6,-8],[4,-20],[9,-4],[-12,23],[-7,26],[-10,-6],[-7,16]],[[3523,3302],[-5,-5],[0,-12],[-8,-5],[3,-30]],[[3517,3240],[-4,-18],[-7,-13],[0,-7],[-13,-16],[-20,-17],[-12,10],[-14,0],[-7,-8],[-20,15],[-8,13],[-18,-1],[-16,29],[-2,10],[3,27],[-1,10],[9,9],[-4,31]],[[677,6342],[13,-11],[2,-12],[8,-13],[-6,-10],[-16,-13],[-3,-11],[-7,9],[1,15],[-4,25],[5,12],[-1,17],[8,-8]],[[649,6394],[3,-7],[7,2],[8,-8],[0,-7],[-9,-6],[-4,2],[0,10],[-7,7],[2,7]],[[631,6405],[16,-4],[-2,-5],[-15,2],[1,7]],[[613,6427],[6,-8],[1,-12],[-13,2],[-3,14],[7,10],[2,-6]],[[571,6463],[4,-3],[-1,-14],[-8,-3],[-6,11],[11,9]],[[2301,6687],[-6,35],[0,12],[6,-47]],[[2761,6828],[-2,-18],[-2,17],[4,1]],[[2366,6873],[3,-1],[-11,-13],[8,14]],[[1707,7111],[7,-9],[-6,0],[-1,9]],[[1671,7144],[8,-4],[-8,-2],[0,6]],[[2993,7551],[-6,-11],[8,7],[8,-1],[-20,-15],[-36,-12],[-4,1],[4,11],[7,6],[29,6],[10,8]],[[2582,7791],[0,-10],[-7,-17],[-3,8],[10,19]],[[2679,7836],[1,-8],[-10,3],[9,5]],[[2563,7913],[-19,-17],[-6,0],[5,14],[8,6],[12,-3]],[[2541,7956],[-2,-6],[-15,-14],[0,8],[17,12]],[[1595,7969],[-3,-9],[8,-13],[-1,-5],[-9,17],[5,10]],[[1582,8004],[-1,0]],[[2511,7947],[-14,-11],[-19,-11],[-20,-29],[-17,-21],[9,-3],[22,14],[6,0],[-5,-19],[14,-2],[11,5],[7,9],[14,4],[10,7],[7,13],[7,-14],[-1,-10],[10,6],[9,-1],[12,-22],[11,0],[9,-4],[14,14],[18,-2],[13,6],[0,-17],[15,-1]],[[2663,7852],[-3,-10],[9,-12],[-16,1],[-5,4],[-2,-11],[-7,9],[-15,5],[-3,-7],[-25,-7],[-13,0],[-15,-39],[-3,-12],[-10,-17],[2,-8],[10,17],[7,-3],[-11,-49],[1,-13],[-6,-26],[0,-14],[4,-15],[-2,-28],[9,-33],[8,-4],[16,14],[7,22],[5,26],[0,15],[-9,37],[3,10],[-3,17],[8,20],[0,14],[5,15],[7,2],[7,15],[-3,-22],[4,-4],[4,14],[0,16],[11,5],[-3,15],[9,10],[13,-8],[6,-11],[16,-7],[6,-13],[-4,-11],[4,-6],[-1,-28],[-6,-5],[-1,-13],[-7,-2],[-3,-18],[6,-5],[7,6],[6,16],[9,5],[7,-10],[4,-37],[3,-14]],[[2704,7634],[-5,5],[-3,-17],[-6,-8],[-3,-17],[-6,-12],[15,-11],[7,0],[5,-7],[9,4],[14,3],[9,12],[24,15],[26,21],[14,21],[5,2],[-1,17],[-5,3]],[[2804,7674],[10,6],[16,2],[13,-8],[18,0],[8,5],[15,19],[-3,9],[4,4],[-7,11],[15,16],[1,7]],[[3116,7818],[10,-9]],[[3134,7784],[3,-9],[-3,-20],[-20,-16],[-6,5],[-13,-5],[1,-9],[-12,11],[-3,-22],[-14,-14],[-10,3],[-8,-8],[1,-9],[-11,-15],[-6,-22],[1,-15],[5,1],[-13,-19],[9,-7],[5,-23],[17,-8],[-14,-3],[-6,-6],[0,11],[-15,-14],[0,12],[-5,5],[-1,-17],[-12,-9],[-29,-2],[-6,-9],[-8,-1],[-23,-27],[-1,-10],[8,-1],[-2,-29],[-3,-14],[-7,-9],[-1,-11],[-12,-24],[-1,15],[-7,2],[-10,13],[3,-23],[9,-21],[1,-16],[-10,-31],[-7,-13],[-8,-30],[-2,11],[4,20],[6,17],[-6,-2],[1,9],[-13,21],[-1,17],[4,11],[-2,15],[11,15],[-5,0],[-11,-10],[2,-16],[-4,-6],[0,-23],[4,-6],[1,-20],[-9,11],[-8,-2],[9,-4],[11,-13],[-2,-17],[-6,3],[8,-12],[-7,-12],[6,-8],[-4,-8],[12,-4],[5,-35],[7,-23],[-5,9],[-6,38],[-2,-15],[6,-17],[-9,5],[0,-7],[-15,-4],[-2,-6],[15,3],[13,-8],[-1,-17],[-3,2],[-5,-13],[-13,1],[-2,9],[-4,-8],[7,-6],[-2,-11],[-11,-8],[17,-2],[-7,-11],[-15,-4],[-15,-18],[-9,-27],[-11,1],[-13,-12],[-5,-10],[-4,-21],[-22,-32],[-14,-8],[1,-8],[-12,-15],[1,-5],[-11,-14],[-3,-12],[2,-18],[-4,-5],[-3,-19],[8,-63],[9,-38],[9,-26],[-5,0],[0,-10],[18,-75],[3,-31],[-2,-12],[-1,-28],[-4,-11],[-4,-29],[-12,-1],[-7,-4],[0,14],[-6,25],[-6,7],[-6,0],[-3,31],[-6,5],[0,20],[-7,-2],[-6,21],[-3,18],[7,15],[-1,8],[-7,6],[0,-19],[-5,8],[2,21],[4,14],[0,26],[-4,16],[-7,0],[-10,20],[-6,20],[-11,14],[-10,-4],[-10,-15],[-16,-5],[0,7],[-11,20],[-22,14],[-15,-1],[-2,9],[-4,-11],[-14,-5],[-4,7],[-1,16],[-3,2],[-2,-22],[-5,5],[-5,-5],[-10,6],[-14,-7],[-7,-9],[-11,7],[-4,7],[-8,-12],[2,-7],[10,-1],[3,4],[6,-14],[5,12],[3,-3],[-8,-29],[4,-8],[11,-5],[3,-9],[-4,-9],[-3,10],[-15,9],[2,4],[-12,11],[4,-9],[-2,-16],[-10,12],[-8,-14],[-15,9],[0,13],[-7,3],[-3,12],[-6,5],[-9,-8],[4,-6],[-13,-2],[-21,13],[-16,-5],[2,17],[-8,-18],[-17,-13],[-1,19],[-8,-5],[-1,-9],[4,-12],[-8,-12],[1,-4],[-14,-18],[-16,-9],[-12,8],[1,-9],[6,-8],[-7,-6],[-5,6],[1,-12],[-12,-8],[1,-14],[-7,-33],[-3,-26],[7,-32],[1,-16],[3,-1]],[[2245,6713],[1,7],[-9,21]],[[2193,6879],[-7,10]],[[1746,7056],[-4,10],[-2,27],[-8,16],[-15,18],[-6,2],[-3,12],[-9,0],[-10,6],[-10,18],[-21,3],[-9,5],[0,33],[-7,5],[0,12],[-12,15],[-5,18],[-9,13],[-4,23],[5,9],[-3,11],[-6,-1],[-8,13],[-3,21],[3,5],[9,-11],[-10,29],[8,6],[-7,6],[-2,-19],[-16,13],[5,3],[-7,20],[-7,6],[-10,20],[1,10],[-4,16],[2,10],[-2,15],[-7,17],[-8,9],[0,19],[8,15],[-2,17],[3,16],[-2,16],[-5,5],[3,12],[-5,8],[-1,32],[-5,10],[9,41],[4,25],[2,52],[2,11],[1,62],[13,7],[-14,-2],[1,29],[-4,-2],[6,13],[-7,6],[-10,44],[-7,20],[6,11],[15,-11],[24,0],[7,-6],[4,-14],[-9,-15],[12,8],[2,-20],[-7,-10],[2,-4],[10,14],[-1,29],[5,8],[-5,18],[-9,6],[8,12],[-10,16],[1,6]],[[60,8169],[1,-9],[-11,9],[10,0]],[[80,8161],[-11,0],[12,11],[-1,-11]],[[96,8175],[2,-14],[-10,0],[1,14],[7,0]],[[177,8186],[18,-5],[-12,-3],[-15,5],[9,3]],[[162,8200],[5,-4],[-4,-12],[-7,-4],[-27,-2],[22,6],[9,7],[-7,4],[9,5]],[[9827,8206],[-2,-8],[-9,2],[11,6]],[[9802,8235],[12,-10],[-11,-5],[-1,15]],[[332,8268],[5,-12],[-32,-29],[11,24],[7,1],[-1,9],[10,7]],[[367,8291],[6,-8],[9,8],[-9,-15],[8,1],[-14,-16],[-4,1],[-20,-13],[-6,4],[19,9],[1,25],[10,4]],[[391,8303],[7,-5],[-10,-3],[3,8]],[[451,8354],[5,-1],[6,-16],[-8,-9],[-16,0],[-4,-9],[-14,-3],[-3,11],[7,3],[10,16],[3,-2],[14,10]],[[1304,8361],[8,-30],[-14,25],[6,5]],[[558,8363],[-9,-20],[4,19],[5,1]],[[1355,8404],[7,-16],[-1,-16],[-6,-11],[-13,9],[-5,8],[5,20],[13,6]],[[1295,8417],[2,-9],[-14,-4],[5,11],[7,2]],[[1319,8419],[9,-1],[0,-12],[-13,5],[4,8]],[[1289,8428],[10,-1],[4,-16],[13,-7],[9,-30],[9,-9],[-1,-33],[-16,17],[2,8],[-21,10],[8,20],[-11,-1],[6,13],[-3,17],[-9,2],[0,10]],[[1315,8433],[-5,-12],[-6,8],[11,4]],[[1328,8428],[4,-13],[-9,9],[0,12],[5,-8]],[[1308,8454],[9,-14],[-10,-3],[1,17]],[[1278,8457],[7,-4],[1,-11],[-6,-6],[-6,-28],[-3,4],[0,20],[-4,26],[11,-1]],[[1283,8470],[24,-10],[-2,-17],[-9,13],[7,-18],[-16,-4],[0,23],[-10,9],[6,4]],[[745,8475],[8,0],[-14,-10],[6,10]],[[1234,8479],[-1,-12],[-6,-2],[-1,19],[8,-5]],[[1237,8491],[8,2],[9,-14],[7,-29],[-1,-30],[-5,0],[-13,33],[-1,15],[-10,18],[6,5]],[[749,8519],[11,0],[7,-8],[-2,-10],[8,0],[-4,-10],[-18,4],[10,-7],[-18,-9],[-14,-22],[-10,-6],[6,10],[-12,-1],[-12,22],[3,14],[7,7],[10,0],[7,-19],[-4,28],[5,5],[16,-5],[-3,10],[7,-3]],[[1229,8536],[23,-12],[-1,-13],[-7,-1],[-18,12],[14,-15],[13,1],[1,-16],[-7,0],[-19,17],[7,-17],[-4,-6],[-8,6],[-1,10],[-12,12],[1,20],[18,2]],[[1252,8544],[6,-11],[14,-6],[8,-16],[-2,-5],[2,-21],[-19,-19],[-1,12],[4,10],[-5,13],[-7,43]],[[761,8550],[18,-11],[-6,-8],[-18,-4],[-10,2],[1,9],[10,1],[5,11]],[[913,8659],[5,-3],[-25,-29],[20,32]],[[385,8661],[13,-6],[2,-22],[-19,-5],[-10,2],[-19,13],[-4,7],[16,0],[9,9],[12,2]],[[929,8665],[13,-4],[-15,-9],[2,13]],[[897,8667],[-2,-19],[-4,10],[6,9]],[[231,8857],[0,-6],[17,-7],[20,7],[23,-20],[21,-2],[-2,-9],[-15,1],[-9,-13],[-3,10],[-28,19],[-17,-8],[-13,10],[6,18]],[[1387,8402],[-3,-8],[4,-28],[-10,-21],[-9,-8],[-7,2],[-3,23],[6,6],[-1,24],[-15,16],[-8,-7],[-7,-22],[-9,13],[7,4],[5,24],[-18,22],[-11,25],[-19,8],[12,9],[-11,10],[-3,12],[14,-6],[-15,12],[-15,23],[-16,11],[-4,24],[-6,1],[-1,17],[-6,-11],[7,-17],[1,-24],[-13,11],[-8,-2],[2,13],[-8,12],[-3,-4],[-17,8],[19,-18],[2,-12],[-9,-4],[-20,5],[-23,23],[-9,16],[-34,19],[-11,9],[12,10],[-5,11],[-18,-12],[-9,0],[-21,9],[3,11],[-13,-5],[-31,8],[-30,-6],[-12,12],[-16,5],[3,18],[-11,-14],[-21,5],[9,13],[-18,-1],[-16,19],[-12,1],[-2,-7],[-15,-3],[-3,6],[9,19],[-17,-18],[2,-20],[8,-8],[-6,-3],[-8,-27],[-18,1],[-5,-5],[-2,13],[-12,-25],[-13,3],[-7,-13],[-19,-17],[-16,-2],[-6,6],[3,9],[19,10],[2,8],[-11,-6],[-10,7],[4,16],[8,10],[5,19],[-5,8],[27,21],[6,-6],[18,3],[-14,10],[4,5],[-19,4],[-15,-15],[-9,-2],[-20,-27],[-7,-16],[-11,-2],[9,-10],[-18,-24],[-11,0],[-4,-11],[-9,-5],[-3,-20],[10,3],[13,-8],[2,-6],[-11,-12],[-5,0],[-14,-31],[-4,7],[-2,-11],[-12,1],[-9,-17],[-9,2],[-2,-13],[-10,-1],[-14,-15],[7,-5],[-7,-12],[-5,4],[-12,-16],[-17,-5],[-2,-11],[-13,-1],[-4,-8],[7,-10],[-10,-4],[-1,-7],[-22,-6],[-5,-17],[-6,16],[-20,-21],[-10,2],[-12,-10],[-5,2],[6,12],[-10,1],[-6,-22],[-9,-11],[-12,8],[-4,-14],[-7,2],[-9,-9],[0,18],[10,3],[22,30],[12,12],[9,3],[34,-7],[-10,9],[5,17],[16,15],[24,17],[9,-4],[-1,15],[10,16],[18,15],[2,46],[12,18],[5,16],[-8,-7],[-25,-13],[-11,12],[1,10],[-9,-10],[4,-20],[-11,-2],[-14,29],[-8,-10],[-12,17],[-19,-11],[-20,-18],[-11,4],[11,7],[-1,13],[6,7],[-12,2],[0,15],[7,6],[-20,46],[-1,-17],[-16,-8],[-23,-4],[-9,6],[-13,23],[-19,12],[20,19],[18,-3],[7,-12],[9,7],[-4,7],[-29,2],[-20,20],[-7,-6],[-9,14],[0,21],[-6,7],[15,2],[-4,13],[18,26],[8,-3],[-3,14],[5,17],[11,0],[-8,7],[7,5],[17,0],[2,-11],[17,1],[20,24],[25,-1],[18,17],[-6,30],[-13,9],[10,4],[9,13],[-10,12],[-41,-24],[-17,-5],[-12,9],[-18,0],[-19,-8],[-33,8],[-8,6],[3,12],[-11,10],[7,9],[13,2],[-38,8],[-18,10],[37,28],[24,9],[16,13],[16,7],[29,2],[-7,-11],[7,-19],[26,2],[24,-8],[11,18],[13,-3],[-13,10],[-11,-2],[-2,11],[-15,10],[-5,9],[9,3],[7,-17],[12,-11],[10,4],[14,-9],[16,2],[-3,14],[-23,0],[-9,-7],[-10,10],[2,20],[-23,-2],[-30,5],[-10,27],[-34,25],[-20,9],[-16,11],[9,17],[0,14],[16,-2],[37,4],[19,11],[15,16],[2,19],[29,33],[26,0],[45,27],[39,4],[21,14],[12,13],[33,-7],[-12,-12],[11,-6],[16,16],[13,-7],[2,-12],[19,5],[38,-1],[9,-4],[-12,-15],[24,0],[-6,-6],[32,3],[11,-5],[30,5],[31,-8],[27,-11],[40,0],[30,-12],[40,9],[52,-27],[12,0]],[[2912,6333],[-2,-4]],[[2914,6329],[-1,4]],[[6651,7782],[-7,-26],[12,-19],[-3,-12],[11,5],[3,8],[-2,16],[3,11]],[[6601,7610],[-7,11],[-5,-2],[-4,-22]],[[6627,7805],[-10,-35],[2,-18],[4,-10],[9,17],[-3,20],[3,6],[-1,16]],[[3301,5940],[-4,4],[5,8],[-1,-12]],[[3313,5694],[1,-6],[-5,-8],[-9,-2],[1,7],[12,9]],[[3303,5691],[4,12],[2,-5],[-6,-7]],[[3228,5816],[-8,-8],[-9,6],[4,7],[6,-5],[4,10],[3,-10]],[[3018,5865],[-3,-7],[-14,-7],[0,-13],[10,-38],[-1,-16],[-4,-6],[-10,-30],[5,-18],[6,-7],[-1,-15],[6,-5],[9,7],[5,10],[-1,32],[-11,30],[-2,23],[3,10],[4,0],[12,13],[18,8],[5,9],[8,-2],[-2,13],[-11,-5],[-2,13],[2,16],[5,5],[6,-10],[2,-22],[4,-10],[12,3],[15,-10],[7,-12],[4,-15],[-2,-7],[5,-15],[8,-1],[17,4],[6,4],[21,2],[11,-20],[11,-9],[11,-5],[8,2],[4,9],[5,0],[2,8],[20,5],[-5,5],[-9,1],[10,6],[7,-3],[11,6],[12,1],[16,-4],[8,4],[-2,-6],[-10,-6],[-16,0],[1,-9],[5,-5],[1,-12],[-9,-1],[5,-4],[8,8],[5,-25],[2,17],[11,-10],[7,-3],[-2,7],[13,-19],[4,1],[7,-12],[-9,-24],[-3,-22],[-12,0],[10,-11],[3,6],[14,6],[6,-4],[3,6],[9,-4]],[[7888,5785],[0,-17],[-4,12],[4,5]],[[7999,6420],[-7,1],[-4,-12],[-7,-3],[1,-12],[-6,-6],[-5,4],[-9,-2],[4,-16],[-8,-8],[2,-17],[-7,-4],[-4,-11],[-7,-4],[-3,-15],[-1,-23],[-5,-13],[7,-30],[7,-15],[11,-17],[-1,-15],[8,-21],[9,-14],[4,-12],[16,-29],[6,-2],[16,-47],[8,-11],[1,-21],[5,-18],[-2,-5],[6,-25],[0,-35],[2,-3],[0,-23],[3,-13],[-6,-10],[0,-42],[-3,-5],[4,-7],[-4,-10],[-2,4],[0,-16],[-7,-2],[-2,-8],[-4,0],[-8,-14],[-6,-1],[-2,-13],[-5,0],[-11,-13],[-13,0],[-5,12],[1,-23],[-11,2],[11,-9],[-4,-11],[-6,4],[7,-11],[-3,-2],[-12,24],[0,-5],[10,-18],[2,-11],[-5,-6],[-10,15],[4,-19],[-1,-6],[-17,-13],[-12,-29],[-11,-2],[5,9],[-2,10],[0,36],[2,17],[6,7],[-10,15],[-5,-5],[-3,16]],[[9706,4050],[-7,13],[4,7],[3,-20]],[[9699,4104],[2,-14],[-8,6],[0,12],[6,-4]],[[9675,4172],[7,-8],[-6,-8],[-6,7],[5,9]],[[9671,4228],[8,-15],[-7,1],[-1,14]],[[9675,4243],[-6,-2],[-6,7],[7,9],[5,-14]],[[9650,4255],[10,-14],[1,-7],[-10,-6],[-4,27],[-5,1],[1,12],[4,-1],[3,-12]],[[9672,4262],[-3,21],[1,9],[3,-20],[-1,-10]],[[9662,4292],[-5,2],[9,9],[-4,-11]],[[9671,4298],[-2,1],[-1,24],[2,-2],[1,-23]],[[9633,4310],[4,2],[0,11],[5,-11],[3,-23],[-11,-7],[-7,15],[1,11],[-3,15],[1,17],[5,-11],[2,-19]],[[9653,4368],[1,-9],[-5,0],[4,9]],[[9654,4385],[-4,-3],[-1,10],[5,-7]],[[5917,7177],[-8,1]],[[233,4380],[5,-6],[-14,2],[-4,7],[7,5],[6,-8]],[[213,4406],[3,-6],[-1,-12],[-9,0],[-5,15],[12,3]],[[6488,5914],[7,-6],[7,6],[10,-9],[-9,-11],[-10,-3],[-6,2],[-5,12],[6,9]],[[6474,6141],[-14,-9],[-10,-18],[-2,-12],[2,-20],[-10,-7],[-13,-15],[-23,-11],[-11,-11],[-4,0],[-25,-18],[-3,-12],[-8,-16],[-6,-3],[-14,3],[-10,-9],[-6,-13],[-15,-8],[-5,-6],[-14,0],[-16,-6],[-7,-15],[-15,-17],[-7,3],[-4,-8],[-14,-5],[-10,9],[-3,-4],[-7,35],[2,25],[-6,21],[-2,16],[-3,43],[-6,7],[4,2],[-3,17],[3,18],[-1,29]],[[5913,3637],[-1,-16],[-5,-23],[-3,-38],[-5,-21],[-10,-19],[-7,-3],[-13,-27],[-21,-68],[-4,-16],[-15,-32],[-4,-4],[-16,-28],[-9,-21],[-13,-22],[-25,-35],[-27,-26],[-15,4],[-9,-9],[0,-11],[-17,5],[-4,-12],[-11,1],[-8,6],[-16,4],[-6,-7],[-23,6],[-10,-4],[-12,-19],[-7,3],[-6,-5],[-11,4],[-1,-6],[-11,0],[-14,-20],[-9,3],[-9,9],[0,11],[-6,4],[-8,-2],[0,17],[-10,-2],[0,-13],[-4,19],[5,10],[-2,12],[-7,16],[-4,20],[-4,-1],[1,18],[7,-2],[4,8],[1,20],[-2,22],[-4,17],[-9,20],[-7,28],[-8,24],[-6,42],[-6,29],[-7,15],[-3,15]],[[5815,3905],[12,3],[14,-12],[15,3],[13,-7]],[[5844,4282],[-15,1],[-13,-5],[-15,-18],[0,-21],[-3,-8]],[[5798,4231],[-3,3],[-13,-9],[-5,-13],[-12,-14],[-13,-38],[-2,-11]],[[5750,4149],[-9,-7],[-14,11],[-7,-7],[-7,11],[-12,1]],[[5792,4643],[5,5],[9,23],[3,15],[-7,8]],[[5849,4709],[-4,-14],[7,-1],[9,-18],[5,4],[-1,8]],[[5750,4149],[10,22],[5,5],[4,17],[11,9],[0,11],[8,0],[8,9],[1,-7],[8,12],[-7,4]]],"type":"Topology","objects":{"units":{"geometries":[{"arcs":[[0,1,2,3,4,5]],"type":"Polygon","id":"AFG","properties":{"name":"Afghanistan"}},{"arcs":[[[6,7,8,9]],[[10,11,12]]],"type":"MultiPolygon","id":"AGO","properties":{"name":"Angola"}},{"arcs":[[[13,14]],[[15,16]],[[17,18,19,20,21,22,23,24,25,26,27,28,29,30]]],"type":"MultiPolygon","id":"ALB","properties":{"name":"Albania"}},{"arcs":[[[31]]],"type":"MultiPolygon","id":"ALD","properties":{"name":"Aland"}},{"arcs":[[32,33]],"type":"Polygon","id":"AND","properties":{"name":"Andorra"}},{"arcs":[[[34]],[[35,36,37,38,39],[40]]],"type":"MultiPolygon","id":"ARE","properties":{"name":"United Arab Emirates"}},{"arcs":[[[41,42]],[[43,44]],[[45,46,47,48,49,50]]],"type":"MultiPolygon","id":"ARG","properties":{"name":"Argentina"}},{"arcs":[[[51]],[[52,53,54,55,56],[57],[58]]],"type":"MultiPolygon","id":"ARM","properties":{"name":"Armenia"}},{"arcs":[[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]]],"type":"MultiPolygon","id":"ATA","properties":{"name":"Antarctica"}},{"arcs":[[[121]]],"type":"MultiPolygon","id":"ATF","properties":{"name":"Fr. S. Antarctic Lands"}},{"arcs":[[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]]],"type":"MultiPolygon","id":"AUS","properties":{"name":"Australia"}},{"arcs":[[141,142,143,144,145,146,147,148,149,150]],"type":"Polygon","id":"AUT","properties":{"name":"Austria"}},{"arcs":[[[151,152,-55]],[[-59]],[[-58]],[[153,154,155,-53,156],[-52]]],"type":"MultiPolygon","id":"AZE","properties":{"name":"Azerbaijan"}},{"arcs":[[157,158,159,160]],"type":"Polygon","id":"BDI","properties":{"name":"Burundi"}},{"arcs":[[161,162,163,164,165,166,167]],"type":"Polygon","id":"BEL","properties":{"name":"Belgium"}},{"arcs":[[168,169,170,171,172]],"type":"Polygon","id":"BEN","properties":{"name":"Benin"}},{"arcs":[[173,-172,174,175,176,177]],"type":"Polygon","id":"BFA","properties":{"name":"Burkina Faso"}},{"arcs":[[[178]],[[179]],[[180,181,182]]],"type":"MultiPolygon","id":"BGD","properties":{"name":"Bangladesh"}},{"arcs":[[183,184,185,186,187,188]],"type":"Polygon","id":"BGR","properties":{"name":"Bulgaria"}},{"arcs":[[189]],"type":"Polygon","id":"BHR","properties":{"name":"Bahrain"}},{"arcs":[[[190]],[[191]],[[192]],[[193]],[[194]],[[195]],[[196]],[[197]],[[198]],[[199]],[[200]]],"type":"MultiPolygon","id":"BHS","properties":{"name":"Bahamas"}},{"arcs":[[201,202,203,204,205]],"type":"Polygon","id":"BIH","properties":{"name":"Bosnia and Herz."}},{"arcs":[[206,207,208,209,210]],"type":"Polygon","id":"BLR","properties":{"name":"Belarus"}},{"arcs":[[[211,212,213]]],"type":"MultiPolygon","id":"BLZ","properties":{"name":"Belize"}},{"arcs":[[[214,215]],[[216,-51,217,218,219,220,221]]],"type":"MultiPolygon","id":"BOL","properties":{"name":"Bolivia"}},{"arcs":[[[222]],[[223]],[[224]],[[225]],[[226]],[[227]],[[228]],[[229]],[[230]],[[231]],[[232]],[[233]],[[234]],[[235]],[[236]],[[237]],[[238,239,240,241,242,243,-47,244,245,246,-222,247,248,249,250]]],"type":"MultiPolygon","id":"BRA","properties":{"name":"Brazil"}},{"arcs":[[251]],"type":"Polygon","id":"BRB","properties":{"name":"Barbados"}},{"arcs":[[[252,253]],[[254,255]]],"type":"MultiPolygon","id":"BRN","properties":{"name":"Brunei"}},{"arcs":[[256,257]],"type":"Polygon","id":"BTN","properties":{"name":"Bhutan"}},{"arcs":[[258,259,260]],"type":"Polygon","id":"BWA","properties":{"name":"Botswana"}},{"arcs":[[261,262,263,264,265,266]],"type":"Polygon","id":"CAF","properties":{"name":"Central African Rep."}},{"arcs":[[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[273]],[[274,275,276,277]],[[278]],[[279]],[[280]],[[281]],[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[290]],[[291]],[[292]],[[293]],[[294]],[[295]],[[296]],[[297]],[[298]],[[299]],[[300]],[[301]],[[302]],[[303]],[[304]],[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[314]],[[315]],[[316]],[[317]],[[318]],[[319]],[[320]],[[321]],[[322]],[[323]],[[324]],[[325]],[[326]],[[327]],[[328]],[[329]],[[330]],[[331]],[[332]],[[333,334,335,336,337,338,339,340,341,342,343,344,345,-346,346,347]],[[348]],[[349]],[[350]],[[351]],[[352]],[[353]],[[354]],[[355]],[[356]],[[357]],[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[368]],[[369]],[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[380]],[[381]],[[382]],[[383]],[[384]]],"type":"MultiPolygon","id":"CAN","properties":{"name":"Canada"}},{"arcs":[[385,386,387,-148,388,-146,389,390,391,392,393]],"type":"Polygon","id":"CHE","properties":{"name":"Switzerland"}},{"arcs":[[[394]],[[395]],[[396]],[[397]],[[398]],[[399]],[[400]],[[401]],[[402]],[[-44,403,-42,404]],[[405]],[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[413]],[[414]],[[415]],[[416]],[[417]],[[418]],[[419]],[[420]],[[421]],[[422]],[[423]],[[424]],[[425]],[[426]],[[427]],[[428]],[[429]],[[430]],[[431]],[[432]],[[433]],[[434]],[[435]],[[-50,436,437,-218]]],"type":"MultiPolygon","id":"CHL","properties":{"name":"Chile"}},{"arcs":[[[438]],[[439]],[[440]],[[441]],[[442,443,444,445,446,447,448,449,450,451,-258,452,453,454,455,456,-1,457,458,459,460,461,462,463,464]]],"type":"MultiPolygon","id":"CHN","properties":{"name":"China"}},{"arcs":[[[465,466]],[[-177,467,468,469,470,471]]],"type":"MultiPolygon","id":"CIV","properties":{"name":"C\u00f4te d'Ivoire"}},{"arcs":[[[472,-266,473,474,475,476,477,478,479]],[[480,481]]],"type":"MultiPolygon","id":"CMR","properties":{"name":"Cameroon"}},{"arcs":[[[482,483,484,485]],[[486,487,488,489]],[[490,491,492,493]]],"type":"MultiPolygon","id":"CNM","properties":{"name":"Cyprus U.N. Buffer Zone"}},{"arcs":[[[494]],[[495,496,497,498,499,500,501,502,503,-160,504,505,506,507,-10,508,-11,509,-264]]],"type":"MultiPolygon","id":"COD","properties":{"name":"Dem. Rep. Congo"}},{"arcs":[[-510,-13,510,511,-474,-265]],"type":"Polygon","id":"COG","properties":{"name":"Congo"}},{"arcs":[[[512,-249,513,514,515,516,517]]],"type":"MultiPolygon","id":"COL","properties":{"name":"Colombia"}},{"arcs":[[[518]],[[519]]],"type":"MultiPolygon","id":"COM","properties":{"name":"Comoros"}},{"arcs":[[[520]],[[521]],[[522]],[[523]]],"type":"MultiPolygon","id":"CPV","properties":{"name":"Cape Verde"}},{"arcs":[[[524,525,526,527]]],"type":"MultiPolygon","id":"CRI","properties":{"name":"Costa Rica"}},{"arcs":[[[528]],[[529]],[[530]],[[531,532,533,534]]],"type":"MultiPolygon","id":"CUB","properties":{"name":"Cuba"}},{"arcs":[[535]],"type":"Polygon","id":"CUW","properties":{"name":"Cura\u00e7ao"}},{"arcs":[[[536,-488]],[[-486,537,-494,538]]],"type":"MultiPolygon","id":"CYN","properties":{"name":"N. Cyprus"}},{"arcs":[[[539,540]],[[541]],[[542,543,-484]],[[544,545,546,547,-490,548,-492]]],"type":"MultiPolygon","id":"CYP","properties":{"name":"Cyprus"}},{"arcs":[[549,550,-151,551]],"type":"Polygon","id":"CZE","properties":{"name":"Czech Rep."}},{"arcs":[[[-387,552]],[[553,554]],[[555]],[[556,557,-552,-150,558,-394,559,560,-162,561,562,563]]],"type":"MultiPolygon","id":"DEU","properties":{"name":"Germany"}},{"arcs":[[564,565,566,567,568,569]],"type":"Polygon","id":"DJI","properties":{"name":"Djibouti"}},{"arcs":[[570]],"type":"Polygon","id":"DMA","properties":{"name":"Dominica"}},{"arcs":[[[571]],[[572]],[[573]],[[574]],[[575]],[[576]],[[577]],[[-564,578]]],"type":"MultiPolygon","id":"DNK","properties":{"name":"Denmark"}},{"arcs":[[[579,580,581,582,583,584]]],"type":"MultiPolygon","id":"DOM","properties":{"name":"Dominican Rep."}},{"arcs":[[585,586,587,588,589,590,591,592]],"type":"Polygon","id":"DZA","properties":{"name":"Algeria"}},{"arcs":[[[593]],[[594]],[[595]],[[596]],[[597]],[[598]],[[599,600,-515]]],"type":"MultiPolygon","id":"ECU","properties":{"name":"Ecuador"}},{"arcs":[[[601,602,603,604,605,606]]],"type":"MultiPolygon","id":"EGY","properties":{"name":"Egypt"}},{"arcs":[[[607]],[[-569,608,609,610]]],"type":"MultiPolygon","id":"ERI","properties":{"name":"Eritrea"}},{"arcs":[[-485,-544,611,-541,612,-545,-491,-538],[-542]],"type":"Polygon","id":"ESB","properties":{"name":"Dhekelia"}},{"arcs":[[[613]],[[614]],[[615]],[[616]],[[617]],[[618]],[[619,620]],[[621,622]],[[623]],[[624]],[[625]],[[626]],[[627,-33,628,629,630,631,632,633]]],"type":"MultiPolygon","id":"ESP","properties":{"name":"Spain"}},{"arcs":[[[634]],[[635]],[[636,637,638,639,640,641,642,643,644]]],"type":"MultiPolygon","id":"EST","properties":{"name":"Estonia"}},{"arcs":[[-568,645,-566,646,647,648,649,650,-609]],"type":"Polygon","id":"ETH","properties":{"name":"Ethiopia"}},{"arcs":[[[651]],[[652,653,654,655]]],"type":"MultiPolygon","id":"FIN","properties":{"name":"Finland"}},{"arcs":[[[656]],[[657]],[[658]]],"type":"MultiPolygon","id":"FJI","properties":{"name":"Fiji"}},{"arcs":[[[659]],[[660]]],"type":"MultiPolygon","id":"FLK","properties":{"name":"Falkland Is."}},{"arcs":[[[661]],[[662]],[[-240,663,664]],[[665]],[[666]],[[667]],[[668]],[[669,-560,-393,670,-391,671,672,673,674,-629,-34,-628,675,-164],[-627]]],"type":"MultiPolygon","id":"FRA","properties":{"name":"France"}},{"arcs":[[[676]],[[677]]],"type":"MultiPolygon","id":"FRO","properties":{"name":"Faeroe Is."}},{"arcs":[[[678]]],"type":"MultiPolygon","id":"FSM","properties":{"name":"Micronesia"}},{"arcs":[[[-512,679,680,-475]]],"type":"MultiPolygon","id":"GAB","properties":{"name":"Gabon"}},{"arcs":[[[681]],[[682]],[[683,684]],[[685]],[[686]],[[687]],[[688]],[[689]],[[690]],[[691]],[[692]],[[693]],[[694]],[[695]]],"type":"MultiPolygon","id":"GBR","properties":{"name":"United Kingdom"}},{"arcs":[[-157,-57,696,697,698]],"type":"Polygon","id":"GEO","properties":{"name":"Georgia"}},{"arcs":[[699,700,-466,701,-468,-176]],"type":"Polygon","id":"GHA","properties":{"name":"Ghana"}},{"arcs":[[-631,702]],"type":"Polygon","id":"GIB","properties":{"name":"Gibraltar"}},{"arcs":[[703,-471,704,705,706,707,708]],"type":"Polygon","id":"GIN","properties":{"name":"Guinea"}},{"arcs":[[709,710]],"type":"Polygon","id":"GMB","properties":{"name":"Gambia"}},{"arcs":[[[711]],[[712,713,-708]]],"type":"MultiPolygon","id":"GNB","properties":{"name":"Guinea-Bissau"}},{"arcs":[[[-681,714,-476]],[[715]]],"type":"MultiPolygon","id":"GNQ","properties":{"name":"Eq. Guinea"}},{"arcs":[[[716]],[[717]],[[718]],[[719]],[[720]],[[721]],[[722]],[[723]],[[724]],[[725]],[[726]],[[727]],[[728]],[[729]],[[730]],[[731]],[[732,-186,733,734,-27,735,-25,736]]],"type":"MultiPolygon","id":"GRC","properties":{"name":"Greece"}},{"arcs":[[[737]]],"type":"MultiPolygon","id":"GRD","properties":{"name":"Grenada"}},{"arcs":[[[738]],[[739]],[[740]],[[741]],[[742]],[[743]],[[744]],[[745]],[[746]],[[747]],[[748]],[[749]],[[750]],[[751]],[[752]],[[753]],[[754]],[[755]],[[756]],[[757]],[[758]],[[759]],[[760]],[[761]],[[762]],[[763]]],"type":"MultiPolygon","id":"GRL","properties":{"name":"Greenland"}},{"arcs":[[-213,764,765,766,767,768]],"type":"Polygon","id":"GTM","properties":{"name":"Guatemala"}},{"arcs":[[769]],"type":"Polygon","id":"GUM","properties":{"name":"Guam"}},{"arcs":[[[770,-251,771,772]]],"type":"MultiPolygon","id":"GUY","properties":{"name":"Guyana"}},{"arcs":[[[773,-447]]],"type":"MultiPolygon","id":"HKG","properties":{"name":"Hong Kong"}},{"arcs":[[774]],"type":"Polygon","id":"HMD","properties":{"name":"Heard I. and McDonald Is."}},{"arcs":[[[775,776,777,-766,778]]],"type":"MultiPolygon","id":"HND","properties":{"name":"Honduras"}},{"arcs":[[[-204,779,780]],[[781]],[[782]],[[783]],[[784]],[[785,786,-206,787,788]]],"type":"MultiPolygon","id":"HRV","properties":{"name":"Croatia"}},{"arcs":[[[-582,789]],[[790]],[[-584,791,-580,792]]],"type":"MultiPolygon","id":"HTI","properties":{"name":"Haiti"}},{"arcs":[[793,794,795,-786,796,-143,797]],"type":"Polygon","id":"HUN","properties":{"name":"Hungary"}},{"arcs":[[[798]],[[799]],[[800]],[[801,802,803,804]],[[805]],[[806]],[[807]],[[808]],[[809]],[[810]],[[811]],[[812]],[[813]],[[814]],[[815]],[[816]],[[817]],[[818]],[[819]],[[820]],[[821]],[[822]],[[823]],[[824]],[[825]],[[826]],[[827]],[[828]],[[829]],[[830]],[[831]],[[832]],[[833]],[[834]],[[835]],[[836]],[[837]],[[838]],[[839]],[[840]],[[841]],[[842]],[[843]],[[844]],[[845]],[[846]],[[847]],[[848]],[[849]],[[850]],[[851]],[[852]],[[853]],[[854]],[[855]],[[856]],[[857,858]],[[859]],[[860]],[[861]],[[862]],[[863]],[[864]],[[865]],[[866]],[[867]],[[868]],[[869]],[[870]],[[871]],[[872]],[[873]],[[874]],[[875]],[[876]],[[877]],[[878]],[[879]],[[880]],[[881,882]],[[883]],[[884,885]],[[886]],[[887]]],"type":"MultiPolygon","id":"IDN","properties":{"name":"Indonesia"}},{"arcs":[[888]],"type":"Polygon","id":"IMN","properties":{"name":"Isle of Man"}},{"arcs":[[[889]],[[890]],[[891]],[[892]],[[893,-453,-257,-452,894,-183,895,896,897,-455]]],"type":"MultiPolygon","id":"IND","properties":{"name":"India"}},{"arcs":[[[-684,898]]],"type":"MultiPolygon","id":"IRL","properties":{"name":"Ireland"}},{"arcs":[[[899]],[[-54,-156,900,901,-3,902,903,904,905,-152]]],"type":"MultiPolygon","id":"IRN","properties":{"name":"Iran"}},{"arcs":[[-905,906,907,908,909,910,911,912,913]],"type":"Polygon","id":"IRQ","properties":{"name":"Iraq"}},{"arcs":[[[914]]],"type":"MultiPolygon","id":"ISL","properties":{"name":"Iceland"}},{"arcs":[[915,916,917,918,919,920,921,-603,922,923,924,925]],"type":"Polygon","id":"ISR","properties":{"name":"Israel"}},{"arcs":[[[926]],[[927]],[[928,929,-672,-390,-145],[930],[931]]],"type":"MultiPolygon","id":"ITA","properties":{"name":"Italy"}},{"arcs":[[932]],"type":"Polygon","id":"JAM","properties":{"name":"Jamaica"}},{"arcs":[[933,934,-921,935,-919,936,937,-916,938,-910]],"type":"Polygon","id":"JOR","properties":{"name":"Jordan"}},{"arcs":[[[939]],[[940]],[[941]],[[942]],[[943]],[[944]],[[945]],[[946]],[[947]],[[948]],[[949]],[[950]],[[951]]],"type":"MultiPolygon","id":"JPN","properties":{"name":"Japan"}},{"arcs":[[952]],"type":"Polygon","id":"KAB","properties":{"name":"Baikonur"}},{"arcs":[[-898,953,-456]],"type":"Polygon","id":"KAS","properties":{"name":"Siachen Glacier"}},{"arcs":[[[954,955]],[[-460,956,957,958,959,960,961,962],[-953]]],"type":"MultiPolygon","id":"KAZ","properties":{"name":"Kazakhstan"}},{"arcs":[[[-649,963,964,965,966,967,968]]],"type":"MultiPolygon","id":"KEN","properties":{"name":"Kenya"}},{"arcs":[[-459,969,970,-957],[971],[972],[973]],"type":"Polygon","id":"KGZ","properties":{"name":"Kyrgyzstan"}},{"arcs":[[[974,975,976,977]]],"type":"MultiPolygon","id":"KHM","properties":{"name":"Cambodia"}},{"arcs":[[[978]]],"type":"MultiPolygon","id":"KIR","properties":{"name":"Kiribati"}},{"arcs":[[[979]],[[980]],[[981]],[[982,983]]],"type":"MultiPolygon","id":"KOR","properties":{"name":"Korea"}},{"arcs":[[984,-18,985,986]],"type":"Polygon","id":"XKX","properties":{"name":"Kosovo"}},{"arcs":[[[987]],[[988,-908,989]]],"type":"MultiPolygon","id":"KWT","properties":{"name":"Kuwait"}},{"arcs":[[990,-977,991,992,-450]],"type":"Polygon","id":"LAO","properties":{"name":"Lao PDR"}},{"arcs":[[-925,993,994]],"type":"Polygon","id":"LBN","properties":{"name":"Lebanon"}},{"arcs":[[-470,995,996,-705]],"type":"Polygon","id":"LBR","properties":{"name":"Liberia"}},{"arcs":[[-606,997,998,999,-587,1000,1001]],"type":"Polygon","id":"LBY","properties":{"name":"Libya"}},{"arcs":[[1002]],"type":"Polygon","id":"LCA","properties":{"name":"Saint Lucia"}},{"arcs":[[-389,-147]],"type":"Polygon","id":"LIE","properties":{"name":"Liechtenstein"}},{"arcs":[[[1003]]],"type":"MultiPolygon","id":"LKA","properties":{"name":"Sri Lanka"}},{"arcs":[[1004]],"type":"Polygon","id":"LSO","properties":{"name":"Lesotho"}},{"arcs":[[[1005,1006]],[[-210,1007,1008,1009,1010]]],"type":"MultiPolygon","id":"LTU","properties":{"name":"Lithuania"}},{"arcs":[[-561,-670,-163]],"type":"Polygon","id":"LUX","properties":{"name":"Luxembourg"}},{"arcs":[[1011,-211,-1011,1012,-644]],"type":"Polygon","id":"LVA","properties":{"name":"Latvia"}},{"arcs":[[1013,1014]],"type":"Polygon","id":"MAF","properties":{"name":"St-Martin"}},{"arcs":[[-622,1015,-620,1016,-592,1017,1018]],"type":"Polygon","id":"MAR","properties":{"name":"Morocco"}},{"arcs":[[1019,-674]],"type":"Polygon","id":"MCO","properties":{"name":"Monaco"}},{"arcs":[[1020,1021]],"type":"Polygon","id":"MDA","properties":{"name":"Moldova"}},{"arcs":[[[1022]],[[1023]]],"type":"MultiPolygon","id":"MDG","properties":{"name":"Madagascar"}},{"arcs":[[[1024]],[[1025]],[[1026]],[[1027]],[[1028]],[[1029,1030,1031,1032,1033,-214,-769,1034,1035],[1036]]],"type":"MultiPolygon","id":"MEX","properties":{"name":"Mexico"}},{"arcs":[[[-23,1037]],[[-187,-733,1038,-15,1039,-21,1040,-19,-985,1041]]],"type":"MultiPolygon","id":"MKD","properties":{"name":"Macedonia"}},{"arcs":[[1042,-178,-472,-704,1043,1044,-589]],"type":"Polygon","id":"MLI","properties":{"name":"Mali"}},{"arcs":[[[1045]],[[1046]],[[1047]],[[1048]],[[1049]],[[1050]],[[-993,1051,1052,-181,-895,-451]]],"type":"MultiPolygon","id":"MMR","properties":{"name":"Myanmar"}},{"arcs":[[1053,-986,-31,1054,-16,1055,-29,1056,-780,-203]],"type":"Polygon","id":"MNE","properties":{"name":"Montenegro"}},{"arcs":[[-464,1057,-462,1058]],"type":"Polygon","id":"MNG","properties":{"name":"Mongolia"}},{"arcs":[[[1059,1060,1061,1062,1063,1064,1065,1066,1067]]],"type":"MultiPolygon","id":"MOZ","properties":{"name":"Mozambique"}},{"arcs":[[[1068,1069,1070,-590,-1045]]],"type":"MultiPolygon","id":"MRT","properties":{"name":"Mauritania"}},{"arcs":[[[1071]]],"type":"MultiPolygon","id":"MUS","properties":{"name":"Mauritius"}},{"arcs":[[[1072,1073]],[[1074,1075]],[[1076,1077]],[[1078,1079]],[[1080,-1065,1081,1082]]],"type":"MultiPolygon","id":"MWI","properties":{"name":"Malawi"}},{"arcs":[[[1083]],[[-882,1084]],[[1085]],[[1086]],[[1087,1088]],[[-886,1089,-256,1090,-253,1091]],[[1092]]],"type":"MultiPolygon","id":"MYS","properties":{"name":"Malaysia"}},{"arcs":[[1093,-261,1094,1095,-8]],"type":"Polygon","id":"NAM","properties":{"name":"Namibia"}},{"arcs":[[[1096]],[[1097]],[[1098]]],"type":"MultiPolygon","id":"NCL","properties":{"name":"New Caledonia"}},{"arcs":[[1099,1100,-173,-174,-1043,-588,-1000]],"type":"Polygon","id":"NER","properties":{"name":"Niger"}},{"arcs":[[[1101,-478,1102,-169,-1101]]],"type":"MultiPolygon","id":"NGA","properties":{"name":"Nigeria"}},{"arcs":[[[1103,-528,1104,-776]]],"type":"MultiPolygon","id":"NIC","properties":{"name":"Nicaragua"}},{"arcs":[[[-166,1105]],[[1106]],[[-562,-168,1107],[1108]]],"type":"MultiPolygon","id":"NLD","properties":{"name":"Netherlands"}},{"arcs":[[[1109]],[[1110]],[[1111]],[[1112]],[[1113]],[[1114]],[[1115]],[[1116]],[[1117]],[[1118]],[[1119]],[[1120]],[[1121]],[[1122]],[[1123,-656,1124,1125]],[[1126]],[[1127]],[[1128]],[[1129]],[[1130]],[[1131]],[[1132]]],"type":"MultiPolygon","id":"NOR","properties":{"name":"Norway"}},{"arcs":[[-894,-454]],"type":"Polygon","id":"NPL","properties":{"name":"Nepal"}},{"arcs":[[[1133]],[[1134]],[[1135]],[[1136]],[[1137]],[[1138]]],"type":"MultiPolygon","id":"NZL","properties":{"name":"New Zealand"}},{"arcs":[[[1139]],[[1140,1141,-37,1142]],[[-41],[-35]],[[-40,1143]]],"type":"MultiPolygon","id":"OMN","properties":{"name":"Oman"}},{"arcs":[[[-954,-897,1144,-903,-2,-457]]],"type":"MultiPolygon","id":"PAK","properties":{"name":"Pakistan"}},{"arcs":[[[1145]],[[-517,1146,-526,1147]]],"type":"MultiPolygon","id":"PAN","properties":{"name":"Panama"}},{"arcs":[[[-248,-221,1148,-215,1149,-219,-438,1150,-600,-514]]],"type":"MultiPolygon","id":"PER","properties":{"name":"Peru"}},{"arcs":[[[1151]],[[1152]],[[1153]],[[1154]],[[1155]],[[1156]],[[1157]],[[1158]],[[1159]],[[1160]],[[1161]],[[1162]],[[1163]],[[1164]],[[1165]],[[1166]],[[1167]],[[1168]],[[1169]],[[1170]],[[1171]],[[1172]],[[1173]],[[1174]],[[1175]],[[1176]],[[1177]],[[1178]],[[1179]],[[1180]],[[1181]]],"type":"MultiPolygon","id":"PHL","properties":{"name":"Philippines"}},{"arcs":[[[1182]]],"type":"MultiPolygon","id":"PLW","properties":{"name":"Palau"}},{"arcs":[[[1183]],[[1184]],[[1185]],[[1186]],[[1187]],[[1188]],[[1189]],[[1190]],[[1191]],[[1192]],[[1193]],[[1194]],[[-858,1195]],[[1196]],[[1197]],[[1198]],[[1199]]],"type":"MultiPolygon","id":"PNG","properties":{"name":"Papua New Guinea"}},{"arcs":[[1200,1201,1202,-1008,-209,1203,1204,-550,-558,1205,-554,1206]],"type":"Polygon","id":"POL","properties":{"name":"Poland"}},{"arcs":[[[1207]]],"type":"MultiPolygon","id":"PRI","properties":{"name":"Puerto Rico"}},{"arcs":[[[1208,1209,-983,1210,-445]]],"type":"MultiPolygon","id":"PRK","properties":{"name":"Dem. Rep. Korea"}},{"arcs":[[[1211]],[[1212]],[[1213]],[[1214]],[[1215,-633]]],"type":"MultiPolygon","id":"PRT","properties":{"name":"Portugal"}},{"arcs":[[-247,1216,-245,-46,-217]],"type":"Polygon","id":"PRY","properties":{"name":"Paraguay"}},{"arcs":[[[-602,1217,-923]],[[-938,1218,-917]]],"type":"MultiPolygon","id":"PSX","properties":{"name":"Palestine"}},{"arcs":[[[1219]]],"type":"MultiPolygon","id":"PYF","properties":{"name":"Fr. Polynesia"}},{"arcs":[[1220,1221]],"type":"Polygon","id":"QAT","properties":{"name":"Qatar"}},{"arcs":[[1222,1223,-189,1224,-795,1225,-1021]],"type":"Polygon","id":"ROU","properties":{"name":"Romania"}},{"arcs":[[[1226]],[[1227]],[[1228]],[[1229]],[[1230]],[[1231]],[[1232]],[[1233]],[[1234]],[[1235]],[[1236]],[[-1203,1237,-1201,1238,-1006,1239,-1009]],[[1240]],[[1241]],[[1242,-639]],[[1243]],[[1244]],[[1245]],[[1246]],[[1247]],[[1248]],[[1249]],[[1250]],[[1251]],[[1252]],[[1253]],[[1254]],[[1255]],[[1256]],[[1257]],[[1258]],[[1259]],[[1260]],[[1261]],[[1262]],[[1263]],[[1264]],[[1265]],[[1266]],[[1267]],[[1268]],[[1269]],[[1270]],[[-1209,-444,1271,-465,-1059,-461,-963,1272,-154,-699,1273,1274,-207,-1012,-643,1275,-641,1276,-637,1277,-653,-1124,1278]],[[1279]],[[1280]],[[1281]],[[1282]],[[1283]],[[1284]],[[1285]],[[1286]],[[1287]],[[1288]],[[1289]],[[1290]],[[1291]],[[1292]],[[1293]],[[1294]],[[1295]],[[1296]],[[1297]],[[1298]]],"type":"MultiPolygon","id":"RUS","properties":{"name":"Russia"}},{"arcs":[[1299,-161,-504,1300,-502,1301]],"type":"Polygon","id":"RWA","properties":{"name":"Rwanda"}},{"arcs":[[-591,-1071,1302,-1018]],"type":"Polygon","id":"ESH","properties":{"name":"W. Sahara"}},{"arcs":[[[1303]],[[-989,1304,-1221,1305,-38,-1142,1306,1307,-934,-909]]],"type":"MultiPolygon","id":"SAU","properties":{"name":"Saudi Arabia"}},{"arcs":[[[1308,-610,-651,1309,-262,1310,-998,-605]]],"type":"MultiPolygon","id":"SDN","properties":{"name":"Sudan"}},{"arcs":[[-650,-969,1311,-496,-263,-1310]],"type":"Polygon","id":"SSD","properties":{"name":"S. Sudan"}},{"arcs":[[-1044,-709,-714,1312,-711,1313,-1069]],"type":"Polygon","id":"SEN","properties":{"name":"Senegal"}},{"arcs":[[1314]],"type":"Polygon","id":"SGP","properties":{"name":"Singapore"}},{"arcs":[[[1315]]],"type":"MultiPolygon","id":"SGS","properties":{"name":"S. Geo. and S. Sandw. Is."}},{"arcs":[[[1316]],[[1317]],[[1318]],[[1319]],[[1320]],[[1321]],[[1322]],[[1323]],[[1324]],[[1325]],[[1326]],[[1327]],[[1328]]],"type":"MultiPolygon","id":"SLB","properties":{"name":"Solomon Is."}},{"arcs":[[[1329]],[[-997,1330,-706]]],"type":"MultiPolygon","id":"SLE","properties":{"name":"Sierra Leone"}},{"arcs":[[[-778,1331,-767]]],"type":"MultiPolygon","id":"SLV","properties":{"name":"El Salvador"}},{"arcs":[[-931]],"type":"Polygon","id":"SMR","properties":{"name":"San Marino"}},{"arcs":[[1332,-647,-565,1333]],"type":"Polygon","id":"SOL","properties":{"name":"Somaliland"}},{"arcs":[[-964,-648,-1333,1334]],"type":"Polygon","id":"SOM","properties":{"name":"Somalia"}},{"arcs":[[-1225,-188,-1042,-987,-1054,-202,-787,-796]],"type":"Polygon","id":"SRB","properties":{"name":"Serbia"}},{"arcs":[[[1335]]],"type":"MultiPolygon","id":"STP","properties":{"name":"S\u00e3o Tom\u00e9 and Principe"}},{"arcs":[[-664,-239,-771,1336]],"type":"Polygon","id":"SUR","properties":{"name":"Suriname"}},{"arcs":[[1337,-798,-142,-551,-1205]],"type":"Polygon","id":"SVK","properties":{"name":"Slovakia"}},{"arcs":[[-789,1338,-929,-144,-797]],"type":"Polygon","id":"SVN","properties":{"name":"Slovenia"}},{"arcs":[[[1339]],[[1340]],[[1341]],[[1342,-1125,-655]]],"type":"MultiPolygon","id":"SWE","properties":{"name":"Sweden"}},{"arcs":[[-1061,1343]],"type":"Polygon","id":"SWZ","properties":{"name":"Swaziland"}},{"arcs":[[1344,-1014]],"type":"Polygon","id":"SXM","properties":{"name":"Sint Maarten"}},{"arcs":[[-913,911,-911,-939,-926,-995,1345,1346]],"type":"Polygon","id":"SYR","properties":{"name":"Syria"}},{"arcs":[[-1311,-267,-473,1347,-481,1348,-479,-1102,-1100,-999]],"type":"Polygon","id":"TCD","properties":{"name":"Chad"}},{"arcs":[[-171,1349,-700,-175]],"type":"Polygon","id":"TGO","properties":{"name":"Togo"}},{"arcs":[[[1350]],[[1351]],[[-992,-976,1352,-1089,1353,-1052]]],"type":"MultiPolygon","id":"THA","properties":{"name":"Thailand"}},{"arcs":[[[-974]],[[1354]],[[-970,-458,-6,1355]]],"type":"MultiPolygon","id":"TJK","properties":{"name":"Tajikistan"}},{"arcs":[[[-4,-902,1356,-961,1357,1358,1359]]],"type":"MultiPolygon","id":"TKM","properties":{"name":"Turkmenistan"}},{"arcs":[[[1360,-803]],[[-805,1361]]],"type":"MultiPolygon","id":"TLS","properties":{"name":"Timor-Leste"}},{"arcs":[[[1362]]],"type":"MultiPolygon","id":"TON","properties":{"name":"Tonga"}},{"arcs":[[[1363]]],"type":"MultiPolygon","id":"TTO","properties":{"name":"Trinidad and Tobago"}},{"arcs":[[[1364]],[[-1001,-586,1365]]],"type":"MultiPolygon","id":"TUN","properties":{"name":"Tunisia"}},{"arcs":[[[1366,-734,-185]],[[-697,-56,-153,-906,-914,-1347,1367]]],"type":"MultiPolygon","id":"TUR","properties":{"name":"Turkey"}},{"arcs":[[[1368]]],"type":"MultiPolygon","id":"TWN","properties":{"name":"Taiwan"}},{"arcs":[[[1369]],[[1370]],[[1371]],[[1372]],[[1373,1374,1375,-966,1376,-1067,1377,-1074,1378,-1076,1379,-1078,1380,-1080,1381,-1083,1382,1383,-158,-1300,1384]]],"type":"MultiPolygon","id":"TZA","properties":{"name":"Tanzania"}},{"arcs":[[[-1375,1385]],[[1386,-1385,-1302,-501,1387,-499,1388,-497,-1312,-968]]],"type":"MultiPolygon","id":"UGA","properties":{"name":"Uganda"}},{"arcs":[[[1389,-1223,-1022,-1226,-794,-1338,-1204,-208,-1275],[1390],[1391]]],"type":"MultiPolygon","id":"UKR","properties":{"name":"Ukraine"}},{"arcs":[[1392,-242,1393,-48,-244]],"type":"Polygon","id":"URY","properties":{"name":"Uruguay"}},{"arcs":[[[1394]],[[1395]],[[1396]],[[1397]],[[1398]],[[1399]],[[1400]],[[1401]],[[1402]],[[1403]],[[1404]],[[1405]],[[1406]],[[1407]],[[1408]],[[1409]],[[1410,-344]],[[1411,-340,1412,-338,1413,-336,1414,-334,-278,1415,-276,1416,-1033,1417,-1031,1418,-1036,1419,-342]],[[1420]],[[1421]],[[1422]],[[1423]],[[1424]],[[1425]],[[1426]],[[1427]],[[1428]],[[1429]],[[1430]],[[1431]],[[1432]],[[1433]],[[1434]],[[1435]],[[1436]],[[1437]],[[1438]],[[1439]],[[1440]],[[1441]],[[1442]],[[1443]],[[1444]],[[1445]],[[1446]],[[1447]],[[1448]],[[1449]],[[1450]],[[1451]],[[1452]],[[1453]],[[-347,345,1454]]],"type":"MultiPolygon","id":"USA","properties":{"name":"United States"}},{"arcs":[[[-534,1455]],[[1456,-532]]],"type":"MultiPolygon","id":"USG","properties":{"name":"USNB Guantanamo Bay"}},{"arcs":[[[-973]],[[-972]],[[-955,1457,-958,-971,-1356,-5,-1360,1458,-1358,-960,1459],[-1355]]],"type":"MultiPolygon","id":"UZB","properties":{"name":"Uzbekistan"}},{"arcs":[[-932]],"type":"Polygon","id":"VAT","properties":{"name":"Vatican"}},{"arcs":[[[1460]]],"type":"MultiPolygon","id":"VCT","properties":{"name":"St. Vin. and Gren."}},{"arcs":[[[1461]],[[1462]],[[1463]],[[-772,-250,-513,1464]]],"type":"MultiPolygon","id":"VEN","properties":{"name":"Venezuela"}},{"arcs":[[[1465]],[[1466,-978,-991,-449]]],"type":"MultiPolygon","id":"VNM","properties":{"name":"Vietnam"}},{"arcs":[[[1467]],[[1468]],[[1469]],[[1470]],[[1471]],[[1472]],[[1473]],[[1474]],[[1475]],[[1476]],[[1477]],[[1478]]],"type":"MultiPolygon","id":"VUT","properties":{"name":"Vanuatu"}},{"arcs":[[1479,-547]],"type":"Polygon","id":"WSB","properties":{"name":"Akrotiri"}},{"arcs":[[[1480]],[[1481]]],"type":"MultiPolygon","id":"WSM","properties":{"name":"Samoa"}},{"arcs":[[[1482]],[[1483,-1307,-1141]]],"type":"MultiPolygon","id":"YEM","properties":{"name":"Yemen"}},{"arcs":[[[-1062,-1344,-1060,1484,-1095,-260,1485],[-1005]]],"type":"MultiPolygon","id":"ZAF","properties":{"name":"South Africa"}},{"arcs":[[-1383,-1082,-1064,1486,1487,1488,-1094,-7,-508,1489,-506,1490]],"type":"Polygon","id":"ZMB","properties":{"name":"Zambia"}},{"arcs":[[-1063,-1486,-259,-1489,1491,-1487]],"type":"Polygon","id":"ZWE","properties":{"name":"Zimbabwe"}}],"type":"GeometryCollection"}},"transform":{"translate":[-180,-90],"scale":[0.036003600360036005,0.01736514657995801]}} \ No newline at end of file From d6e5b12599fccc8a893b82c38f2a351abc571f74 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 14:46:35 +1000 Subject: [PATCH 011/117] Added .cicleci config --- .circleci/config.yml | 51 ++++++++++++++++++++ .travis.yml | 13 ----- src/components/darknodeList/DarknodeList.tsx | 2 +- src/components/statuspage/block/GasGraph.tsx | 2 +- 4 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 .circleci/config.yml delete mode 100644 .travis.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..e768c496 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,51 @@ +# Javascript Node CircleCI 2.0 configuration file +# +# Check https://circleci.com/docs/2.0/language-javascript/ for more details +# +version: 2.1 + +executors: + default: + docker: + - image: circleci/node:10.16 + working_directory: ~/darknode-sol + +commands: + install_deps: + description: "Install dependencies" + steps: + # Download and cache dependencies + - restore_cache: + name: Restore node_modules + keys: + - v2-dependencies-{{ checksum "yarn.lock" }} + - run: + name: Install Dependencies + command: yarn install + - save_cache: + name: Save node_modules + paths: + - node_modules + key: v2-dependencies-{{ checksum "yarn.lock" }} + +jobs: + build: + executor: default + steps: + - checkout + - install_deps + - run: + name: Build + command: yarn run build + - run: + name: Lint + command: yarn run lint + - run: + name: Lint with warnings + command: yarn run lint:extra || true # FIXME + +workflows: + build: + jobs: + - build + diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 69b7fbd8..00000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -dist: trusty -sudo: required -group: beta -language: node_js -node_js: - - "8" -cache: - directories: - - node_modules -script: - - yarn run build - - yarn run lint - - yarn run lint:extra || true diff --git a/src/components/darknodeList/DarknodeList.tsx b/src/components/darknodeList/DarknodeList.tsx index 34a75dd8..aefa799d 100644 --- a/src/components/darknodeList/DarknodeList.tsx +++ b/src/components/darknodeList/DarknodeList.tsx @@ -1,7 +1,7 @@ import * as React from "react"; -import { List, Map } from "immutable"; import { Loading } from "@renproject/react-components"; +import { List, Map } from "immutable"; import { DarknodeDetails } from "../../store/types"; import { _catch_ } from "../ErrorBoundary"; diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/statuspage/block/GasGraph.tsx index f9ab4419..de6ceaf2 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/statuspage/block/GasGraph.tsx @@ -1,9 +1,9 @@ import * as React from "react"; -import BigNumber from "bignumber.js"; import { faFire } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Loading } from "@renproject/react-components"; +import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { Scatter } from "react-chartjs-2"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings From 372e1eb387141e0c4a9563f4ce99157c4845b067 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 14:50:39 +1000 Subject: [PATCH 012/117] Updated circleci working directory --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e768c496..f733f9ac 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ executors: default: docker: - image: circleci/node:10.16 - working_directory: ~/darknode-sol + working_directory: ~/command-center commands: install_deps: From 161afbc48df18605ec51dcbca035b4d9c3b77470 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 14:53:49 +1000 Subject: [PATCH 013/117] Updated circleci dep cache version --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f733f9ac..595498c9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ commands: - restore_cache: name: Restore node_modules keys: - - v2-dependencies-{{ checksum "yarn.lock" }} + - v3-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies command: yarn install @@ -26,7 +26,7 @@ commands: name: Save node_modules paths: - node_modules - key: v2-dependencies-{{ checksum "yarn.lock" }} + key: v3-dependencies-{{ checksum "yarn.lock" }} jobs: build: From 86486b254146f6e671c2043abf6ef7cd34718270 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 14:59:28 +1000 Subject: [PATCH 014/117] Clear yarn cache in CI --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 595498c9..07b762c3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,7 +21,7 @@ commands: - v3-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: yarn install + command: yarn cache clean && yarn install - save_cache: name: Save node_modules paths: From 2f11f374c371ef4d9e6c427f6380075a6fae8284 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 15:03:59 +1000 Subject: [PATCH 015/117] Updated yarn.lock --- .circleci/config.yml | 6 +- yarn.lock | 778 ++++++++++++++++++------------------------- 2 files changed, 328 insertions(+), 456 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 07b762c3..54435166 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,15 +18,15 @@ commands: - restore_cache: name: Restore node_modules keys: - - v3-dependencies-{{ checksum "yarn.lock" }} + - v1-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: yarn cache clean && yarn install + command: yarn install - save_cache: name: Save node_modules paths: - node_modules - key: v3-dependencies-{{ checksum "yarn.lock" }} + key: v1-dependencies-{{ checksum "yarn.lock" }} jobs: build: diff --git a/yarn.lock b/yarn.lock index 17e1dd8d..ce84f00b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,20 @@ # yarn lockfile v1 -"@babel/code-frame@7.0.0", "@babel/code-frame@^7.0.0": +"@babel/code-frame@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== dependencies: "@babel/highlight" "^7.0.0" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== + dependencies: + "@babel/highlight" "^7.0.0" + "@babel/core@7.4.3": version "7.4.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.3.tgz#198d6d3af4567be3989550d97e068de94503074f" @@ -30,33 +37,33 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.4.5": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.4.tgz#4c32df7ad5a58e9ea27ad025c11276324e0b4ddd" - integrity sha512-+DaeBEpYq6b2+ZmHx3tHspC+ZRflrvLqwfv8E3hNr5LVQoyBnL8RPKSBCg+rK2W2My9PWlujBiqd0ZPsR9Q6zQ== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" + integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.5.0" - "@babel/helpers" "^7.5.4" - "@babel/parser" "^7.5.0" + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.5.5" + "@babel/helpers" "^7.5.5" + "@babel/parser" "^7.5.5" "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.0" - "@babel/types" "^7.5.0" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" - lodash "^4.17.11" + lodash "^4.17.13" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" - integrity sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA== +"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" + integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== dependencies: - "@babel/types" "^7.5.0" + "@babel/types" "^7.5.5" jsesc "^2.5.1" - lodash "^4.17.11" + lodash "^4.17.13" source-map "^0.5.0" trim-right "^1.0.1" @@ -92,26 +99,26 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.0.tgz#02edb97f512d44ba23b3227f1bf2ed43454edac5" - integrity sha512-EAoMc3hE5vE5LNhMqDOwB1usHvmRjCDAnH8CD4PVkX9/Yr3W/tcz8xE8QvdZxfsFBDICwZnF2UTHIqslRpvxmA== +"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" + integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-define-map@^7.4.0", "@babel/helper-define-map@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz#6969d1f570b46bdc900d1eba8e5d59c48ba2c12a" - integrity sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg== +"@babel/helper-define-map@^7.4.0", "@babel/helper-define-map@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" + integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== dependencies: "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/types" "^7.5.5" + lodash "^4.17.13" "@babel/helper-explode-assignable-expression@^7.1.0": version "7.1.0" @@ -144,12 +151,12 @@ dependencies: "@babel/types" "^7.4.4" -"@babel/helper-member-expression-to-functions@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" - integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== +"@babel/helper-member-expression-to-functions@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" + integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.5.5" "@babel/helper-module-imports@^7.0.0": version "7.0.0" @@ -159,16 +166,16 @@ "@babel/types" "^7.0.0" "@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz#96115ea42a2f139e619e98ed46df6019b94414b8" - integrity sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" + integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-simple-access" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" "@babel/template" "^7.4.4" - "@babel/types" "^7.4.4" - lodash "^4.17.11" + "@babel/types" "^7.5.5" + lodash "^4.17.13" "@babel/helper-optimise-call-expression@^7.0.0": version "7.0.0" @@ -183,11 +190,11 @@ integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== "@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.4.4.tgz#a47e02bc91fb259d2e6727c2a30013e3ac13c4a2" - integrity sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" + integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== dependencies: - lodash "^4.17.11" + lodash "^4.17.13" "@babel/helper-remap-async-to-generator@^7.1.0": version "7.1.0" @@ -200,15 +207,15 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.4.0", "@babel/helper-replace-supers@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz#aee41783ebe4f2d3ab3ae775e1cc6f1a90cefa27" - integrity sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg== +"@babel/helper-replace-supers@^7.4.0", "@babel/helper-replace-supers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" + integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== dependencies: - "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" "@babel/helper-simple-access@^7.1.0": version "7.1.0" @@ -235,14 +242,14 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.4.3", "@babel/helpers@^7.5.4": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.4.tgz#2f00608aa10d460bde0ccf665d6dcf8477357cf0" - integrity sha512-6LJ6xwUEJP51w0sIgKyfvFMJvIb9mWAfohJp0+m6eHJigkFdcH8duZ1sfhn0ltJRzwUIT/yqqhdSfRpCpL7oow== +"@babel/helpers@^7.4.3", "@babel/helpers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" + integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== dependencies: "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.0" - "@babel/types" "^7.5.0" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" "@babel/highlight@^7.0.0": version "7.5.0" @@ -253,10 +260,10 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" - integrity sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" + integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -308,10 +315,10 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.5.4": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.4.tgz#250de35d867ce8260a31b1fdac6c4fc1baa99331" - integrity sha512-KCx0z3y7y8ipZUMAEEJOyNi11lMb/FOPUjjB113tfowgw0c16EGYos7worCKBcUAh2oG+OBnoUhsnTSoLpV9uA== +"@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" + integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" @@ -419,13 +426,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz#c13279fabf6b916661531841a23c4b7dae29646d" - integrity sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA== +"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" + integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.11" + lodash "^4.17.13" "@babel/plugin-transform-classes@7.4.3": version "7.4.3" @@ -441,17 +448,17 @@ "@babel/helper-split-export-declaration" "^7.4.0" globals "^11.1.0" -"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz#0ce4094cdafd709721076d3b9c38ad31ca715eb6" - integrity sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw== +"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" + integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.4" + "@babel/helper-define-map" "^7.5.5" "@babel/helper-function-name" "^7.1.0" "@babel/helper-optimise-call-expression" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.4" + "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" globals "^11.1.0" @@ -587,13 +594,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-object-super@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" - integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== +"@babel/plugin-transform-object-super@^7.2.0", "@babel/plugin-transform-object-super@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" + integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.1.0" + "@babel/helper-replace-supers" "^7.5.5" "@babel/plugin-transform-parameters@^7.4.3", "@babel/plugin-transform-parameters@^7.4.4": version "7.4.4" @@ -721,11 +728,11 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.3.2": - version "7.5.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.2.tgz#ea7da440d29b8ccdb1bd02e18f6cfdc7ce6c16f5" - integrity sha512-r4zJOMbKY5puETm8+cIpaa0RQZG/sSASW1u0pj8qYklcERgVIbxVbP2wyJA7zI1//h7lEagQmXi9IL9iI5rfsA== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz#6d862766f09b2da1cb1f7d505fe2aedab6b7d4b8" + integrity sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w== dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.0" + "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" @@ -793,16 +800,16 @@ semver "^5.5.0" "@babel/preset-env@^7.1.6", "@babel/preset-env@^7.3.4": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.4.tgz#64bc15041a3cbb0798930319917e70fcca57713d" - integrity sha512-hFnFnouyRNiH1rL8YkX1ANCNAUVC8Djwdqfev8i1415tnAG+7hlA5zhZ0Q/3Q5gkop4HioIPbCEWAalqcbxRoQ== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" + integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" "@babel/plugin-proposal-dynamic-import" "^7.5.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.5.4" + "@babel/plugin-proposal-object-rest-spread" "^7.5.5" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-syntax-async-generators" "^7.2.0" @@ -813,8 +820,8 @@ "@babel/plugin-transform-arrow-functions" "^7.2.0" "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.4" - "@babel/plugin-transform-classes" "^7.4.4" + "@babel/plugin-transform-block-scoping" "^7.5.5" + "@babel/plugin-transform-classes" "^7.5.5" "@babel/plugin-transform-computed-properties" "^7.2.0" "@babel/plugin-transform-destructuring" "^7.5.0" "@babel/plugin-transform-dotall-regex" "^7.4.4" @@ -830,7 +837,7 @@ "@babel/plugin-transform-modules-umd" "^7.2.0" "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.2.0" + "@babel/plugin-transform-object-super" "^7.5.5" "@babel/plugin-transform-parameters" "^7.4.4" "@babel/plugin-transform-property-literals" "^7.2.0" "@babel/plugin-transform-regenerator" "^7.4.5" @@ -841,7 +848,7 @@ "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.5.0" + "@babel/types" "^7.5.5" browserslist "^4.6.0" core-js-compat "^3.1.1" invariant "^2.2.2" @@ -874,14 +881,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": - version "7.5.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.4.tgz#cb7d1ad7c6d65676e66b47186577930465b5271b" - integrity sha512-Na84uwyImZZc3FKf4aUF1tysApzwf3p2yuFBIyBfbzT5glzKTdvYI4KVW4kcgjrzoGUjC7w3YyCHcJKaRxsr2Q== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.3.1": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== @@ -897,28 +897,28 @@ "@babel/parser" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" - integrity sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" + integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.5.0" + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.5.5" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.0" - "@babel/types" "^7.5.0" + "@babel/parser" "^7.5.5" + "@babel/types" "^7.5.5" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.11" + lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" - integrity sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ== +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" + integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== dependencies: esutils "^2.0.2" - lodash "^4.17.11" + lodash "^4.17.13" to-fast-properties "^2.0.0" "@cnakazawa/watch@^1.0.3": @@ -1094,9 +1094,9 @@ integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== "@hapi/hoek@8.x.x": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.0.2.tgz#f63a5ff00e891a4e7aa98f11119f9515c6672032" - integrity sha512-O6o6mrV4P65vVccxymuruucb+GhP2zl9NLCG8OdoFRS8BEGw3vwpPp20wpAtpbQQxz1CEUtmxJGgWhjq1XA3qw== + version "8.1.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.1.0.tgz#8f7627b23ed9bf67088fc7f9669e48c63ad421bd" + integrity sha512-b1J4jxYnW+n6lC91V6Pqg9imP9BZq0HNCeM+3sbXg05rQsE9cGYrKFpZjyztVesGmNRE6R+QaEoWGATeIiUVjA== "@hapi/joi@^15.0.0": version "15.1.0" @@ -1420,32 +1420,30 @@ "@svgr/babel-plugin-transform-svg-component" "^4.2.0" "@svgr/core@^4.1.0": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.1.tgz#58c44d0ccc3fe41718c50433758b549dabd4d197" - integrity sha512-TXFcvzp6QjxKP5Oy7qoQY08w/nAix9TMOc4jSi3wjIJBBMUqypVwQJFMxtHrViGMQGmFdaN1y2diQrhvA+xNNQ== + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz#939c89be670ad79b762f4c063f213f0e02535f2e" + integrity sha512-N+tP5CLFd1hP9RpO83QJPZY3NL8AtrdqNbuhRgBkjE/49RnMrrRsFm1wY8pueUfAGvzn6tSXUq29o6ah8RuR5w== dependencies: - "@svgr/plugin-jsx" "^4.3.1" + "@svgr/plugin-jsx" "^4.3.2" camelcase "^5.3.1" cosmiconfig "^5.2.1" -"@svgr/hast-util-to-babel-ast@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.1.tgz#b3ea5b2228b50ff335a5d3cf3855f4b1f9fbc70e" - integrity sha512-MZbRccEpsro70mE6mhiv5QUXjBwHGDQZ7XrVcrDs44inaNvYUtIcheX0d9eColcnNgJmsfU3tEFfoGRnJ9E5pA== +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg== dependencies: "@babel/types" "^7.4.4" -"@svgr/plugin-jsx@^4.1.0", "@svgr/plugin-jsx@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.1.tgz#5b7f849213d1411886e1cec9b6c287faec69143e" - integrity sha512-v9sgsn/VpDM9G1U0ZDCair7ZmYqNrVC5LiSyIQli03DAm34bYLM12xVOOrl3dg8NGNY1k4C3A6YgBL3VKjA6Og== +"@svgr/plugin-jsx@^4.1.0", "@svgr/plugin-jsx@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz#ce9ddafc8cdd74da884c9f7af014afcf37f93d3c" + integrity sha512-+1GW32RvmNmCsOkMoclA/TppNjHPLMnNZG3/Ecscxawp051XJ2MkO09Hn11VcotdC2EPrDfT8pELGRo+kbZ1Eg== dependencies: "@babel/core" "^7.4.5" "@svgr/babel-preset" "^4.3.1" - "@svgr/hast-util-to-babel-ast" "^4.3.1" - rehype-parse "^6.0.0" - unified "^7.1.0" - vfile "^4.0.1" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" "@svgr/plugin-svgo@^4.0.3": version "4.3.1" @@ -1588,26 +1586,16 @@ dependencies: "@types/jest-diff" "*" -"@types/node@*": - version "12.6.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.2.tgz#a5ccec6abb6060d5f20d256fb03ed743e9774999" - integrity sha512-gojym4tX0FWeV2gsW4Xmzo5wxGjXGm550oVUII7f7G5o4BV6c7DBdiG1RRQd+y1bvqRyYtPfMK85UM95vsapqQ== +"@types/node@*", "@types/node@^12.6.1", "@types/node@^12.6.8": + version "12.6.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" + integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== -"@types/node@^10.12.18": +"@types/node@^10.12.18", "@types/node@^10.3.2": version "10.14.13" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.13.tgz#ac786d623860adf39a3f51d629480aacd6a6eec7" integrity sha512-yN/FNNW1UYsRR1wwAoyOwqvDuLDtVXnaJTZ898XIw/Q5cCaeVAlVwvsmXLX5PuiScBYwZsZU4JYSHB3TvfdwvQ== -"@types/node@^10.3.2": - version "10.14.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.12.tgz#0eec3155a46e6c4db1f27c3e588a205f767d622f" - integrity sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg== - -"@types/node@^12.6.1", "@types/node@^12.6.8": - version "12.6.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" - integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== - "@types/prop-types@*": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" @@ -1685,28 +1673,6 @@ resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.9.2.tgz#2c4f7743287218f5c2d9a83db3806672aa48530d" integrity sha512-KgOKTAD+9X+qvZnB5S1+onqKc4E+PZ+T6CM/NA5ohRPLHJXb+yCJMVf8pWOnvuBuKFNUAJW8N97IA6lba6mZGg== -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== - -"@types/vfile-message@*": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" - integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA== - dependencies: - "@types/node" "*" - "@types/unist" "*" - -"@types/vfile@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" - integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw== - dependencies: - "@types/node" "*" - "@types/unist" "*" - "@types/vfile-message" "*" - "@types/yargs@^12.0.2", "@types/yargs@^12.0.9": version "12.0.12" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" @@ -1964,9 +1930,9 @@ acorn@^5.5.3: integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" - integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw== + version "6.2.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" + integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== address@1.0.3: version "1.0.3" @@ -2014,10 +1980,10 @@ ajv-keywords@^3.1.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: - version "6.10.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.1.tgz#ebf8d3af22552df9dd049bfbe50cc2390e823593" - integrity sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ== +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -2377,11 +2343,11 @@ async@^1.4.2, async@^1.5.2: integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== dependencies: - lodash "^4.17.11" + lodash "^4.17.14" asynckit@^0.4.0: version "0.4.0" @@ -2702,10 +2668,11 @@ babel-plugin-emotion@^9.2.11: touch "^2.0.1" babel-plugin-istanbul@^5.1.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba" - integrity sha512-dySz4VJMH+dpndj0wjJ8JPs/7i1TdSPb1nRrn56/92pKOF9VKC1FMFJmMXjzlGGusnCAqujP6PBCiKq0sVA+YQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== dependencies: + "@babel/helper-plugin-utils" "^7.0.0" find-up "^3.0.0" istanbul-lib-instrument "^3.3.0" test-exclude "^5.2.3" @@ -3173,11 +3140,6 @@ backoff@^2.5.0: dependencies: precond "0.2" -bail@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b" - integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww== - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -3436,12 +3398,12 @@ browserslist@^3.2.6: electron-to-chromium "^1.3.47" browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.4.2, browserslist@^4.5.2, browserslist@^4.6.0, browserslist@^4.6.2, browserslist@^4.6.3: - version "4.6.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.4.tgz#fd0638b3f8867fec2c604ed0ed9300379f8ec7c2" - integrity sha512-ErJT8qGfRt/VWHSr1HeqZzz50DvxHtr1fVL1m5wf20aGrG8e1ce8fpZ2EjZEfs09DDZYSvtRaDlMpWslBf8Low== + version "4.6.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" + integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== dependencies: - caniuse-lite "^1.0.30000981" - electron-to-chromium "^1.3.188" + caniuse-lite "^1.0.30000984" + electron-to-chromium "^1.3.191" node-releases "^1.1.25" bs58@^4.0.1: @@ -3522,7 +3484,7 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.0.2, cacache@^11.3.2, cacache@^11.3.3: +cacache@^11.0.2, cacache@^11.3.2: version "11.3.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== @@ -3542,6 +3504,27 @@ cacache@^11.0.2, cacache@^11.3.2, cacache@^11.3.3: unique-filename "^1.1.1" y18n "^4.0.0" +cacache@^12.0.0: + version "12.0.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" + integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -3645,10 +3628,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981: - version "1.0.30000983" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000983.tgz#ab3c70061ca2a3467182a10ac75109b199b647f8" - integrity sha512-/llD1bZ6qwNkt41AsvjsmwNOoA4ZB+8iqmf5LVyeSXuBODT/hAMFNVOh84NdUzoiYiSKqo5vQ3ZzeYHSi/olDQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: + version "1.0.30000985" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f" + integrity sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w== capture-exit@^2.0.0: version "2.0.0" @@ -3667,11 +3650,6 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -ccount@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" - integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== - chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -3983,11 +3961,6 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -comma-separated-tokens@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz#419cd7fb3258b1ed838dc0953167a25e152f5b59" - integrity sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ== - commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" @@ -4384,14 +4357,6 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" -css-tree@1.0.0-alpha.28: - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" - integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - css-tree@1.0.0-alpha.29: version "1.0.0-alpha.29" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" @@ -4400,16 +4365,19 @@ css-tree@1.0.0-alpha.29: mdn-data "~1.1.0" source-map "^0.5.3" +css-tree@1.0.0-alpha.33: + version "1.0.0-alpha.33" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" + integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== + dependencies: + mdn-data "2.0.4" + source-map "^0.5.3" + css-unit-converter@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= -css-url-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" - integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= - css-what@2.1, css-what@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" @@ -4505,17 +4473,17 @@ csso@^3.5.1: dependencies: css-tree "1.0.0-alpha.29" -"cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4, cssom@~0.3.6: +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: version "0.3.8" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.3.0.tgz#c36c466f7037fd30f03baa271b65f0f17b50585c" - integrity sha512-wXsoRfsRfsLVNaVzoKdqvEmK/5PFaEXNspVT22Ots6K/cnJdpoDKuQFw+qlMiXnmaif1OgeC466X1zISgAOcGg== + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== dependencies: - cssom "~0.3.6" + cssom "0.3.x" csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7: version "2.6.6" @@ -4577,7 +4545,7 @@ damerau-levenshtein@^1.0.4: "darknode-sol@https://github.com/renproject/darknode-sol#localnet": version "0.0.3" - resolved "https://github.com/renproject/darknode-sol#a40d08f172b210f379ca1a4a0b90ae9294aa1cf5" + resolved "https://github.com/renproject/darknode-sol#7f62c02aec7a4e480e147732dd8371dec06aa289" dependencies: openzeppelin-solidity "2.3.0" @@ -5013,10 +4981,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.188, electron-to-chromium@^1.3.47: - version "1.3.190" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.190.tgz#5bf599519983bfffd9d4387817039a3ed7ca085f" - integrity sha512-cs9WnTnGBGnYYVFMCtLmr9jXNTOkdp95RLz5VhwzDn7dErg1Lnt9o4d01gEH69XlmRKWUr91Yu1hA+Hi8qW0PA== +electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.47: + version "1.3.200" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.200.tgz#78fb858b466269e8eb46d31a52562f00c865127f" + integrity sha512-PUurrpyDA74MuAjJRD+79ss5BqJlU3mdArRbuu4wO/dt6jc3Ic/6BDmFJxkdwbfq39cHf/XKm2vW98XSvut9Dg== elliptic@6.3.3: version "6.3.3" @@ -5119,7 +5087,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: +es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== @@ -5237,9 +5205,9 @@ eslint-loader@2.1.2: rimraf "^2.6.1" eslint-module-utils@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz#8b93499e9b00eab80ccb6614e69f03678e84e09a" - integrity sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw== + version "2.4.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" + integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== dependencies: debug "^2.6.8" pkg-dir "^2.0.0" @@ -5316,9 +5284,11 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3: estraverse "^4.1.1" eslint-utils@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + version "1.4.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c" + integrity sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ== + dependencies: + eslint-visitor-keys "^1.0.0" eslint-visitor-keys@^1.0.0: version "1.0.0" @@ -6323,11 +6293,6 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== -get-own-enumerable-property-symbols@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz#5c4ad87f2834c4b9b4e84549dc1e0650fb38c24b" - integrity sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug== - get-own-enumerable-property-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" @@ -6732,32 +6697,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hast-util-from-parse5@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-5.0.1.tgz#7da8841d707dcf7be73715f7f3b14e021c4e469a" - integrity sha512-UfPzdl6fbxGAxqGYNThRUhRlDYY7sXu6XU9nQeX4fFZtV+IHbyEJtd+DUuwOqNV4z3K05E/1rIkoVr/JHmeWWA== - dependencies: - ccount "^1.0.3" - hastscript "^5.0.0" - property-information "^5.0.0" - web-namespaces "^1.1.2" - xtend "^4.0.1" - -hast-util-parse-selector@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.2.tgz#66aabccb252c47d94975f50a281446955160380b" - integrity sha512-jIMtnzrLTjzqgVEQqPEmwEZV+ea4zHRFTP8Z2Utw0I5HuBOXHzUPPQWr6ouJdJqDKLbFU/OEiYwZ79LalZkmmw== - -hastscript@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.0.tgz#a19b3cca6a26a2bcd0f1b1eac574af9427c1c7df" - integrity sha512-7mOQX5VfVs/gmrOGlN8/EDfp1GqV6P3gTNVt+KnX4gbYhpASTM8bklFdFQCbFRAadURXAmw0R1QQdBdqp7jswQ== - dependencies: - comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.2.0" - property-information "^5.0.1" - space-separated-tokens "^1.0.0" - he@1.2.x: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -7143,6 +7082,11 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -7249,11 +7193,16 @@ ip@^1.1.0, ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.0, ipaddr.js@^1.9.0: +ipaddr.js@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz#37df74e430a0e47550fe54a2defe30d8acd95f65" integrity sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== +ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" @@ -7303,7 +7252,7 @@ is-buffer@^1.0.2, is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.0, is-buffer@^2.0.2: +is-buffer@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== @@ -7498,12 +7447,14 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-object@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" + integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== + dependencies: + isobject "^4.0.0" -is-plain-object@2.0.4, is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== @@ -7627,6 +7578,11 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isobject@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" + integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -8667,12 +8623,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: - version "4.17.14" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" - integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== - -lodash@^4.17.13: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -8747,13 +8698,13 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-fetch-happen@^4.0.1, make-fetch-happen@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-4.0.2.tgz#2d156b11696fb32bffbafe1ac1bc085dd6c78a79" - integrity sha512-YMJrAjHSb/BordlsDEcVcPyTbiJKkzqMf48N8dAJZT9Zjctrkb6Yg4TY9Sq2AwSIQJFn5qBBKVTYt3vP5FMIHA== +make-fetch-happen@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.0.tgz#a8e3fe41d3415dd656fe7b8e8172e1fb4458b38d" + integrity sha512-nFr/vpL1Jc60etMVKeaLOqfGjMMb3tAHFVJWxHOFCFS04Zmd7kGlMxo0l1tzfhoQje0/UPnd0X8OeGUiXXnfPA== dependencies: agentkeepalive "^3.4.1" - cacache "^11.3.3" + cacache "^12.0.0" http-cache-semantics "^3.8.1" http-proxy-agent "^2.1.0" https-proxy-agent "^2.2.1" @@ -8826,6 +8777,11 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + mdn-data@~1.1.0: version "1.1.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" @@ -9354,9 +9310,9 @@ node-pre-gyp@^0.12.0: tar "^4" node-releases@^1.1.13, node-releases@^1.1.25: - version "1.1.25" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.25.tgz#0c2d7dbc7fed30fbe02a9ee3007b8c90bf0133d3" - integrity sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ== + version "1.1.26" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz#f30563edc5c7dc20cf524cc8652ffa7be0762937" + integrity sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ== dependencies: semver "^5.3.0" @@ -9507,16 +9463,16 @@ npm-pick-manifest@^2.2.3: npm-package-arg "^6.0.0" semver "^5.4.1" -npm-registry-fetch@^3.8.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-3.9.1.tgz#00ff6e4e35d3f75a172b332440b53e93f4cb67de" - integrity sha512-VQCEZlydXw4AwLROAXWUR7QDfe2Y8Id/vpAgp6TI1/H78a4SiQ1kQrKZALm5/zxM5n4HIi+aYb+idUAV/RuY0Q== +npm-registry-fetch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz#5ef75845b605855c7964472542c25da172af8677" + integrity sha512-Jllq35Jag8dtv0M17ue74XtdQTyqKzuAYGiX9mAjOhkmNjib3bBUgK6mUY61+AHnXeSRobQkpY3/xIOS/omptw== dependencies: JSONStream "^1.3.4" bluebird "^3.5.1" figgy-pudding "^3.4.1" lru-cache "^5.1.1" - make-fetch-happen "^4.0.2" + make-fetch-happen "^5.0.0" npm-package-arg "^6.1.0" npm-run-path@^2.0.0: @@ -9897,27 +9853,27 @@ p-try@^2.0.0: integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json@^6.3.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.4.0.tgz#4f626976604f4a9a41723ce1792b204a60b1b61e" - integrity sha512-bd1T8OBG7hcvMd9c/udgv6u5v9wISP3Oyl9Cm7Weop8EFwrtcQDnS2sb6zhwqus2WslSr5wSTIPiTTpxxmPm7Q== + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: got "^9.6.0" - registry-auth-token "^3.4.0" + registry-auth-token "^4.0.0" registry-url "^5.0.0" - semver "^6.1.1" + semver "^6.2.0" pacote@^9.5.1: - version "9.5.1" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.1.tgz#adb0d23daeef6d0b813ab5891d0c6459ccec998d" - integrity sha512-Zqvczvf/zZ7QNosdE9uTC7SRuvSs9tFqRkF6cJl+2HH7COBnx4BRAGpeXJlrbN+mM0CMHpbi620xdEHhCflghA== + version "9.5.4" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.4.tgz#8baa26f3d1326d13dc2fe0fe84040a364ae30aad" + integrity sha512-nWr0ari6E+apbdoN0hToTKZElO5h4y8DGFa2pyNA5GQIdcP0imC96bA0bbPw1gpeguVIiUgHHaAlq/6xfPp8Qw== dependencies: bluebird "^3.5.3" - cacache "^11.3.2" + cacache "^12.0.0" figgy-pudding "^3.5.1" get-stream "^4.1.0" glob "^7.1.3" lru-cache "^5.1.1" - make-fetch-happen "^4.0.1" + make-fetch-happen "^5.0.0" minimatch "^3.0.4" minipass "^2.3.5" mississippi "^3.0.0" @@ -9926,7 +9882,7 @@ pacote@^9.5.1: npm-package-arg "^6.1.0" npm-packlist "^1.1.12" npm-pick-manifest "^2.2.3" - npm-registry-fetch "^3.8.0" + npm-registry-fetch "^4.0.0" osenv "^0.1.5" promise-inflight "^1.0.1" promise-retry "^1.1.1" @@ -10026,7 +9982,7 @@ parse5@4.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== -parse5@5.1.0, parse5@^5.0.0: +parse5@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== @@ -10226,9 +10182,9 @@ pnp-webpack-plugin@1.2.1: ts-pnp "^1.0.0" portfinder@^1.0.9: - version "1.0.20" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.20.tgz#bea68632e54b2e13ab7b0c4775e9b41bf270e44a" - integrity sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw== + version "1.0.21" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.21.tgz#60e1397b95ac170749db70034ece306b9a27e324" + integrity sha512-ESabpDCzmBS3ekHbmpAIiESq3udRsCBGiBZLsC+HgBKv2ezb0R4oG+7RnYEVZ/ZCfhel5Tx3UzdNWA0Lox2QCA== dependencies: async "^1.5.2" debug "^2.2.0" @@ -11003,13 +10959,6 @@ prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, object-assign "^4.1.1" react-is "^16.8.1" -property-information@^5.0.0, property-information@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.1.0.tgz#e4755eee5319f03f7f6f5a9bc1a6a7fea6609e2c" - integrity sha512-tODH6R3+SwTkAQckSp2S9xyYX8dEKYkeXw+4TmJzTxnNzd6mQPu1OD4f9zPrvw/Rm4wpPgI+Zp63mNSGNzUgHg== - dependencies: - xtend "^4.0.1" - protoduck@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" @@ -11195,7 +11144,7 @@ rc-config-loader@^2.0.4: path-exists "^3.0.0" require-from-string "^2.0.2" -rc@^1.1.6, rc@^1.2.7, rc@^1.2.8, rc@~1.2.7: +rc@^1.2.7, rc@^1.2.8, rc@~1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -11267,12 +11216,12 @@ react-dom@^16.8.6: scheduler "^0.13.6" react-element-to-jsx-string@^14.0.2: - version "14.0.2" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.2.tgz#586d248bb2416855aa6ac3881e18726832c146d2" - integrity sha512-eYcPUg3FJisgAb8q3sSdce8F/xMZD/iFEjMZYnkE3b7gPi5OamGr2Hst/1pE72mzn7//dfYPXb+UqPK2xdSGsg== + version "14.0.3" + resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.3.tgz#64f50fdbf6ba154d6439da3d7307f79069b94d58" + integrity sha512-ziZAm7OwEfFtyhCmQiFNI87KFu+G9EP8qVW4XtDHdKNqqprYifLzqXkzHqC1vnVsPhyp2znoPm0bJHAf1mUBZA== dependencies: - is-plain-object "2.0.4" - stringify-object "3.2.2" + is-plain-object "3.0.0" + stringify-object "3.3.0" react-error-overlay@^5.1.6: version "5.1.6" @@ -11600,7 +11549,7 @@ regenerate@^1.2.1, regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== -regenerator-runtime@0.13.2, regenerator-runtime@^0.13.2: +regenerator-runtime@0.13.2: version "0.13.2" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== @@ -11610,6 +11559,11 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== +regenerator-runtime@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== + regenerator-transform@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" @@ -11620,9 +11574,9 @@ regenerator-transform@^0.10.0: private "^0.1.6" regenerator-transform@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.0.tgz#2ca9aaf7a2c239dd32e4761218425b8c7a86ecaf" - integrity sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w== + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" + integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== dependencies: private "^0.1.6" @@ -11665,12 +11619,12 @@ regexpu-core@^4.5.4: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" -registry-auth-token@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== +registry-auth-token@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" + integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw== dependencies: - rc "^1.1.6" + rc "^1.2.8" safe-buffer "^5.0.1" registry-url@^5.0.0: @@ -11704,15 +11658,6 @@ regjsparser@^0.6.0: dependencies: jsesc "~0.5.0" -rehype-parse@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/rehype-parse/-/rehype-parse-6.0.1.tgz#a5401d7f4144d5e17cbb69be11f05a2a7ba87e27" - integrity sha512-FrGSbOzcGxIvWty1qHjKTvHT4WBTt7C6JLs65EkvFPa7ZKraSmsoDDj6al1eBxaXS1t/kiGdPYazUe58Mgflgw== - dependencies: - hast-util-from-parse5 "^5.0.0" - parse5 "^5.0.0" - xtend "^4.0.1" - relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -11768,7 +11713,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@1.0.0, replace-ext@^1.0.0: +replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= @@ -12205,11 +12150,16 @@ semver@6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== -semver@6.2.0, semver@^6.0.0, semver@^6.1.1, semver@^6.2.0: +semver@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== +semver@^6.0.0, semver@^6.1.1, semver@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -12540,11 +12490,6 @@ source-map@^0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -space-separated-tokens@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz#27910835ae00d0adfcdbd0ad7e611fb9544351fa" - integrity sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA== - sparkles@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" @@ -12764,7 +12709,16 @@ string-width@^3.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string.prototype.trim@^1.1.2, string.prototype.trim@~1.1.2: +string.prototype.trim@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" + integrity sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.13.0" + function-bind "^1.1.1" + +string.prototype.trim@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= @@ -12792,16 +12746,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.2.2.tgz#9853052e5a88fb605a44cd27445aa257ad7ffbcd" - integrity sha512-O696NF21oLiDy8PhpWu8AEqoZHw++QW6mUv0UvKZe8gWSdSvMXkiLufK7OmnP27Dro4GU5kb9U7JIO0mBuCRQg== - dependencies: - get-own-enumerable-property-symbols "^2.0.1" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -stringify-object@^3.3.0: +stringify-object@3.3.0, stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -12929,17 +12874,21 @@ sver-compat@^1.5.0: es6-iterator "^2.0.1" es6-symbol "^3.1.1" +svg-parser@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" + integrity sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg== + svgo@^1.0.0, svgo@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.2.2.tgz#0253d34eccf2aed4ad4f283e11ee75198f9d7316" - integrity sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" + integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== dependencies: chalk "^2.4.1" coa "^2.0.2" css-select "^2.0.0" css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.28" - css-url-regex "^1.1.0" + css-tree "1.0.0-alpha.33" csso "^3.5.1" js-yaml "^3.13.1" mkdirp "~0.5.1" @@ -12960,12 +12909,12 @@ symbol-tree@^3.2.2: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: - version "5.4.1" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.1.tgz#0691ae2ebe8259858efb63e550b6d5f9300171e8" - integrity sha512-E6CK1/pZe2N75rGZQotFOdmzWQ1AILtgYbMAbAjvms0S1l5IDB47zG3nCnFGB/w+7nB3vKofbLXCH7HPBo864w== + version "5.4.4" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.4.tgz#6e0f88fdae3692793d1077fd172a4667afe986a6" + integrity sha512-IIfEAUx5QlODLblLrGTTLJA7Tk0iLSGBvgY8essPRVNGHAzThujww1YqHLs6h3HfTg55h++RzLHH5Xw/rfv+mg== dependencies: - ajv "^6.9.1" - lodash "^4.17.11" + ajv "^6.10.2" + lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" @@ -13139,9 +13088,9 @@ timsort@^0.3.0: integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tiny-invariant@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.5.tgz#0d198cf4f50ba34b28a16d8b28dcc4b02b813c44" - integrity sha512-BziszNEQNwtyMS9OVJia2LK9N9b6VJ35kBrvhDDDpr4hreLYqhCie15dB35uZMdqv9ZTQ55GHQtkz2FnleTHIA== + version "1.0.6" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" + integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA== tiny-warning@^1.0.0, tiny-warning@^1.0.2: version "1.0.3" @@ -13272,11 +13221,6 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -trough@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" - integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== - "true-case-path@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" @@ -13350,9 +13294,9 @@ tsutils@^2.29.0: tslib "^1.8.1" tsutils@^3.7.0, tsutils@^3.9.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.14.0.tgz#bf8d5a7bae5369331fa0f2b0a5a10bd7f7396c77" - integrity sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw== + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.14.1.tgz#f1d2b93d2a0876481f2f1f98c25ba42bbd7ee860" + integrity sha512-kiuZzD1uUA5DxGj/uxbde+ymp6VVdAxdzOIlAFbYKrPyla8/uiJ9JLBm1QsPhOm4Muj0/+cWEDP99yoCUcSl6Q== dependencies: tslib "^1.8.1" @@ -13494,20 +13438,6 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== -unified@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" - integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw== - dependencies: - "@types/unist" "^2.0.0" - "@types/vfile" "^3.0.0" - bail "^1.0.0" - extend "^3.0.0" - is-plain-obj "^1.1.0" - trough "^1.0.0" - vfile "^3.0.0" - x-is-string "^0.1.0" - union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -13557,18 +13487,6 @@ unique-string@^1.0.0: dependencies: crypto-random-string "^1.0.0" -unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" - integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== - -unist-util-stringify-position@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3" - integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA== - dependencies: - "@types/unist" "^2.0.2" - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -13790,42 +13708,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vfile-message@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" - integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== - dependencies: - unist-util-stringify-position "^1.1.1" - -vfile-message@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz#951881861c22fc1eb39f873c0b93e336a64e8f6d" - integrity sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw== - dependencies: - "@types/unist" "^2.0.2" - unist-util-stringify-position "^2.0.0" - -vfile@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" - integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ== - dependencies: - is-buffer "^2.0.0" - replace-ext "1.0.0" - unist-util-stringify-position "^1.0.0" - vfile-message "^1.0.0" - -vfile@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz#fc3d43a1c71916034216bf65926d5ee3c64ed60c" - integrity sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - replace-ext "1.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - vinyl-fs@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" @@ -13926,11 +13808,6 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-namespaces@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.3.tgz#9bbf5c99ff0908d2da031f1d732492a96571a83f" - integrity sha512-r8sAtNmgR0WKOKOxzuSgk09JsHlpKlB+uHi937qypOu3PZ17UxPrierFKDye/uNHjNTTEshu5PId8rojIPj/tA== - web3-core-helpers@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-2.0.0-alpha.tgz#76d720e50a6d5fbf91761a350060cc155fa9e3d3" @@ -14604,11 +14481,6 @@ ws@^6.1.2: dependencies: async-limiter "~1.0.0" -x-is-string@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" - integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= - xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" From 7d5d20a8e818b700296ccdfe55f3e7a4ef7bebfe Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 15:54:11 +1000 Subject: [PATCH 016/117] Fetch darknode locations using lightnode and geolocation api --- src/components/darknodeMap/darknodeMap.tsx | 15 +++- src/components/darknodeMap/mapContainer.ts | 96 ++++++++++++++++++++-- 2 files changed, 100 insertions(+), 11 deletions(-) diff --git a/src/components/darknodeMap/darknodeMap.tsx b/src/components/darknodeMap/darknodeMap.tsx index 6db144cc..eafba205 100644 --- a/src/components/darknodeMap/darknodeMap.tsx +++ b/src/components/darknodeMap/darknodeMap.tsx @@ -1,14 +1,25 @@ import React from "react"; +import { Link } from "react-router-dom"; import { ComposableMap, Geographies, Geography, Marker, Markers, ZoomableGroup, } from "react-simple-maps"; -import { Link } from "react-router-dom"; import { MapContainer } from "./mapContainer"; import MapJSON from "./world-50m.json"; export const DarknodeMap = () => { const counter = MapContainer.useContainer(); + + // useEffect replaces `componentDidMount` and `componentDidUpdate`. + // To limit it to running once, we use the initialized hook. + const [initialized, setInitialized] = React.useState(false); + React.useEffect(() => { + if (!initialized) { + setInitialized(true); + counter.fetchDarknodes().catch(console.error); + } + }, [initialized]); + return (
    { {(geographies, projection) => - geographies.map((geography: any, i) => + geographies.map((geography, i) => // Don't render Antarctica (geography as { id: string }).id !== "ATA" && ( { - const [count, setCount] = useState(initialState); - const [darknodes, setDarknodes] = useState(sampleDarknodes); - const decrement = () => { setCount(count - 1); }; - const increment = () => { setCount(count + 1); }; - return { count, decrement, increment, darknodes }; +interface GeoAPIResponse { + asn: string; + city: string; + continent_code: string; + country: string; + country_calling_code: string; + country_name: string; + currency: string; + in_eu: boolean; + ip: string; + languages: string; + latitude: number; + longitude: number; + org: string; + postal: string; + region: string; + region_code: string; + timezone: string; + utc_offset: string; +} + +interface QueryResponse { + jsonrpc: "2.0"; + id: number; + result: { + peers: string[]; + }; +} + +const lightnode = "https://lightnode-testnet.herokuapp.com"; + +// tslint:disable-next-line: no-any +const parallelLimit = (promiseFactories: Array<() => Promise>, limit: number): any => { + const result: T[] = []; + let cnt = 0; + + // tslint:disable-next-line: no-any + const chain = (innerPromiseFactories: Array<() => Promise>): any => { + if (!innerPromiseFactories.length) { return; } + const i = cnt++; // preserve order in result + // tslint:disable-next-line: no-non-null-assertion + return innerPromiseFactories.shift()!().then((res) => { + result[i] = res; // save result + return chain(innerPromiseFactories); // append next promise + }); + }; + + const arrChains = []; + while (limit-- > 0 && promiseFactories.length > 0) { + // create `limit` chains which run in parallel + arrChains.push(chain(promiseFactories)); + } + + // return when all arrChains are finished + return Promise.all(arrChains).then(() => result); +}; + +const useMapContainer = () => { + // tslint:disable-next-line: prefer-const + let [darknodes, setDarknodes] = useState(sampleDarknodes); + + const addDarknodeID = async (multiAddress: string) => { + const [, , ip, , , , darknodeID] = multiAddress.split("/"); + let apiResponse; + while (!apiResponse) { + try { + apiResponse = (await Axios.get(`https://ipapi.co/${ip}/json`)).data; + } catch (error) { + // Try again + await sleep(1 * 1000); + } + } + darknodes = [...darknodes, { darknodeID, coordinates: [apiResponse.longitude, apiResponse.latitude] }]; + setDarknodes(darknodes); + }; + + const fetchDarknodes = async () => { + const request = { jsonrpc: "2.0", method: "ren_queryPeers", params: {}, id: 67 }; + const response = (await Axios.post(lightnode, request)).data; + const darknodeIDs = response.result.peers; + const updateDarknodes = darknodeIDs.map((darknodeID: string) => (() => addDarknodeID(darknodeID))); + await parallelLimit(updateDarknodes, 4); + }; + return { fetchDarknodes, darknodes }; }; export const MapContainer = createContainer(useMapContainer); From fa4ae80bff5dfba9eec216b160d987bde26805a6 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 26 Jul 2019 16:14:12 +1000 Subject: [PATCH 017/117] Add title to map --- src/components/darknodeMap/_darknodeMap.scss | 27 ++++- src/components/darknodeMap/darknodeMap.tsx | 116 ++++++++++--------- 2 files changed, 86 insertions(+), 57 deletions(-) diff --git a/src/components/darknodeMap/_darknodeMap.scss b/src/components/darknodeMap/_darknodeMap.scss index b30c147e..e11a7567 100644 --- a/src/components/darknodeMap/_darknodeMap.scss +++ b/src/components/darknodeMap/_darknodeMap.scss @@ -1,5 +1,15 @@ .map { - display: flex; + // display: flex; + + hr { + color: white; + margin-bottom: 10px; + border-width: 0.5px; + } + + .map--world--outer { + display: flex; + } .map--world { width: 100%; @@ -11,4 +21,19 @@ fill: #87C0FF; filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); } + + h2 { + font-family: Ubuntu; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 16px; + + /* identical to box height */ + letter-spacing: 1.75px; + text-transform: uppercase; + + color: #FFFFFF; + + } } \ No newline at end of file diff --git a/src/components/darknodeMap/darknodeMap.tsx b/src/components/darknodeMap/darknodeMap.tsx index eafba205..42ce9dd1 100644 --- a/src/components/darknodeMap/darknodeMap.tsx +++ b/src/components/darknodeMap/darknodeMap.tsx @@ -22,62 +22,66 @@ export const DarknodeMap = () => { return (
    - - - - {(geographies, projection) => - geographies.map((geography, i) => - // Don't render Antarctica - (geography as { id: string }).id !== "ATA" && ( - +

    DARKNODES ONLINE

    +
    + + + + {(geographies, projection) => + geographies.map((geography, i) => + // Don't render Antarctica + (geography as { id: string }).id !== "ATA" && ( + + ))} + + + {counter.darknodes.map((darknode, i) => + + - ))} - - - {counter.darknodes.map((darknode, i) => - - - - )} - - - -
    + + )} + +
    +
    +
    +
    ); }; From f246f672f57548f7b9d74b5b1862784402652835 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 11:26:42 +1000 Subject: [PATCH 018/117] Reorganized store directory --- src/components/AccountDropdown.tsx | 11 +- src/components/App.tsx | 15 +- src/components/BackgroundTasks.tsx | 21 +- src/components/Header.tsx | 17 +- src/components/Sidebar.tsx | 135 ------------ src/components/TokenBalance.tsx | 10 +- src/components/darknodeList/CardView.tsx | 83 ++++++++ src/components/darknodeList/DarknodeCard.tsx | 195 ++++++------------ src/components/darknodeList/DarknodeList.tsx | 21 +- src/components/darknodeMap/darknodeMap.tsx | 8 +- src/components/pages/Darknode.tsx | 40 ++-- src/components/pages/Home.tsx | 9 +- src/components/popups/LoggedOut.tsx | 9 +- src/components/popups/MultiStepPopup.tsx | 11 +- src/components/popups/NoWeb3Popup.tsx | 9 +- src/components/popups/PopupController.tsx | 9 +- src/components/popups/SelectWeb3Account.tsx | 9 +- src/components/popups/WithdrawPopup.tsx | 11 +- src/components/sidebar/Sidebar.tsx | 90 ++++++++ src/components/sidebar/SidebarIcon.tsx | 78 +++++++ src/components/statuspage/FeesItem.tsx | 15 +- src/components/statuspage/Notifications.tsx | 13 +- src/components/statuspage/OldFees.tsx | 11 +- src/components/statuspage/Registration.tsx | 15 +- src/components/statuspage/StatusPage.tsx | 15 +- src/components/statuspage/block/FeesBlock.tsx | 16 +- src/components/statuspage/block/GasBlock.tsx | 10 +- src/components/statuspage/block/GasGraph.tsx | 13 +- .../statuspage/block/NetworkBlock.tsx | 4 +- src/components/statuspage/topup/TopUp.tsx | 53 +++++ .../{TopUp.tsx => topup/TopUpController.ts} | 77 +++---- src/index.tsx | 23 +-- src/lib/connectUnstated.tsx | 9 + src/lib/darknodeFeeStatus.ts | 7 + src/lib/ethereum/tokens.ts | 3 +- src/lib/ethereum/wallet.ts | 4 +- src/lib/serializable.ts | 5 + src/lib/tokenPrices.ts | 6 + .../actions/statistics/networkActions.ts | 38 ---- src/store/actions/ui/uiActions.ts | 4 - src/store/{types.ts => applicationState.ts} | 91 +++----- src/store/configureStore.ts | 2 +- src/store/persistConfig.ts | 24 +-- src/store/{actions => }/popup/popupActions.ts | 4 +- .../{reducers => }/popup/popupReducer.ts | 7 +- src/store/{reducers => }/rootReducer.ts | 12 +- src/store/statistics/networkActions.ts | 40 ++++ .../statistics/operatorActions.ts | 65 +++--- .../statistics/operatorPopupActions.tsx | 43 ++-- .../statistics/statisticsReducer.ts | 12 +- .../{actions => }/trader/accountActions.tsx | 50 +++-- src/store/{actions => }/trader/darknode.tsx | 112 +++++----- .../{reducers => }/trader/traderReducer.ts | 6 +- src/store/ui/uiActions.ts | 4 + src/store/{reducers => }/ui/uiReducer.ts | 7 +- 55 files changed, 851 insertions(+), 760 deletions(-) delete mode 100644 src/components/Sidebar.tsx create mode 100644 src/components/darknodeList/CardView.tsx create mode 100644 src/components/sidebar/Sidebar.tsx create mode 100644 src/components/sidebar/SidebarIcon.tsx create mode 100644 src/components/statuspage/topup/TopUp.tsx rename src/components/statuspage/{TopUp.tsx => topup/TopUpController.ts} (62%) create mode 100644 src/lib/connectUnstated.tsx create mode 100644 src/lib/darknodeFeeStatus.ts create mode 100644 src/lib/serializable.ts create mode 100644 src/lib/tokenPrices.ts delete mode 100644 src/store/actions/statistics/networkActions.ts delete mode 100644 src/store/actions/ui/uiActions.ts rename src/store/{types.ts => applicationState.ts} (65%) rename src/store/{actions => }/popup/popupActions.ts (56%) rename src/store/{reducers => }/popup/popupReducer.ts (83%) rename src/store/{reducers => }/rootReducer.ts (50%) create mode 100644 src/store/statistics/networkActions.ts rename src/store/{actions => }/statistics/operatorActions.ts (89%) rename src/store/{actions => }/statistics/operatorPopupActions.tsx (80%) rename src/store/{reducers => }/statistics/statisticsReducer.ts (94%) rename src/store/{actions => }/trader/accountActions.tsx (80%) rename src/store/{actions => }/trader/darknode.tsx (78%) rename src/store/{reducers => }/trader/traderReducer.ts (74%) create mode 100644 src/store/ui/uiActions.ts rename src/store/{reducers => }/ui/uiReducer.ts (68%) diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index 2ecf98dd..3cdad405 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -2,10 +2,11 @@ import * as React from "react"; import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { login, logout } from "../store/actions/trader/accountActions"; -import { ApplicationData } from "../store/types"; +import { ApplicationState } from "../store/applicationState"; +import { AppDispatch } from "../store/rootReducer"; +import { login, logout } from "../store/trader/accountActions"; const defaultState = { // Entries must be immutable shown: false, @@ -182,7 +183,7 @@ class AccountDropdownClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, web3BrowserName: state.trader.web3BrowserName, @@ -194,7 +195,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ login, logout, diff --git a/src/components/App.tsx b/src/components/App.tsx index 23702b1c..3cc8bfe7 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -2,12 +2,13 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { DEFAULT_REN_NETWORK } from "../lib/environmentVariables"; -import { ApplicationData } from "../store/types"; +import { ApplicationState } from "../store/applicationState"; +import { AppDispatch } from "../store/rootReducer"; import { BackgroundTasks } from "./BackgroundTasks"; -import { DarknodeMap } from "./darknodeMap/darknodeMap"; +import { DarknodeMapProvider } from "./darknodeMap/darknodeMap"; import { _catch_ } from "./ErrorBoundary"; import { Header } from "./Header"; import { Darknode, getDarknodeParam } from "./pages/Darknode"; @@ -15,7 +16,7 @@ import { Home } from "./pages/Home"; import { LoggingIn } from "./pages/LoggingIn"; import { NotFound } from "./pages/NotFound"; import { PopupController } from "./popups/PopupController"; -import { Sidebar } from "./Sidebar"; +import { Sidebar } from "./sidebar/Sidebar"; // Scroll restoration based on https://reacttraining.com/react-router/web/guides/scroll-restoration const ScrollToTop = withRouter( @@ -65,7 +66,7 @@ class AppClass extends React.Component { {address ? _catch_() : null}
    - + @@ -78,7 +79,7 @@ class AppClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, web3: state.trader.web3, @@ -86,7 +87,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); diff --git a/src/components/BackgroundTasks.tsx b/src/components/BackgroundTasks.tsx index 2e603fe1..3b097104 100644 --- a/src/components/BackgroundTasks.tsx +++ b/src/components/BackgroundTasks.tsx @@ -3,17 +3,16 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router-dom"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { _captureBackgroundException_ } from "../lib/errors"; -import { - updateNetworkStatistics, updateTokenPrices, -} from "../store/actions/statistics/networkActions"; +import { ApplicationState } from "../store/applicationState"; +import { AppDispatch } from "../store/rootReducer"; +import { updateNetworkStatistics, updateTokenPrices } from "../store/statistics/networkActions"; import { updateDarknodeStatistics, updateOperatorStatistics, -} from "../store/actions/statistics/operatorActions"; -import { login, lookForLogout } from "../store/actions/trader/accountActions"; -import { ApplicationData } from "../store/types"; +} from "../store/statistics/operatorActions"; +import { login, lookForLogout } from "../store/trader/accountActions"; import { getDarknodeParam } from "./pages/Darknode"; /** @@ -113,11 +112,11 @@ class BackgroundTasksClass extends React.Component { private readonly callLookForLogout = async (props?: Props): Promise => { props = props || this.props; - const { address, web3, renNetwork } = props.store; + const { address } = props.store; if (address) { try { // tslint:disable-next-line: await-promise - await props.actions.lookForLogout(renNetwork, address, web3); + await props.actions.lookForLogout(); } catch (error) { _captureBackgroundException_(error, { description: "Error thrown in callLookForLogout background task", @@ -252,7 +251,7 @@ class BackgroundTasksClass extends React.Component { } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, web3: state.trader.web3, @@ -263,7 +262,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ login, lookForLogout, diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 976a0cff..5eb68009 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -3,15 +3,16 @@ import * as React from "react"; import { faBars } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { RenNetwork, RenNetworks } from "@renproject/contracts"; -import { CurrencyIcon, Dropdown } from "@renproject/react-components"; +import { currencies, Currency, CurrencyIcon, Dropdown } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link, RouteComponentProps, withRouter } from "react-router-dom"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { storeQuoteCurrency } from "../store/actions/statistics/operatorActions"; -import { storeRenNetwork } from "../store/actions/trader/accountActions"; -import { showMobileMenu } from "../store/actions/ui/uiActions"; -import { ApplicationData, currencies, Currency } from "../store/types"; +import { ApplicationState } from "../store/applicationState"; +import { AppDispatch } from "../store/rootReducer"; +import { storeQuoteCurrency } from "../store/statistics/operatorActions"; +import { storeRenNetwork } from "../store/trader/accountActions"; +import { showMobileMenu } from "../store/ui/uiActions"; import { ReactComponent as English } from "../styles/images/rp-flag-uk.svg"; import { AccountDropdown } from "./AccountDropdown"; @@ -126,7 +127,7 @@ class HeaderClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, quoteCurrency: state.statistics.quoteCurrency, @@ -134,7 +135,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ storeQuoteCurrency, showMobileMenu, diff --git a/src/components/Sidebar.tsx b/src/components/Sidebar.tsx deleted file mode 100644 index fa82c80c..00000000 --- a/src/components/Sidebar.tsx +++ /dev/null @@ -1,135 +0,0 @@ -import * as React from "react"; - -import { faStar } from "@fortawesome/free-regular-svg-icons"; -import { faFire, faGlobeAmericas, faThLarge, faTimes } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Blocky, CurrencyIcon } from "@renproject/react-components"; -import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { Link } from "react-router-dom"; -import { bindActionCreators, Dispatch } from "redux"; - -import { Token } from "../lib/ethereum/tokens"; -import { RegistrationStatus } from "../store/actions/statistics/operatorActions"; -import { hideMobileMenu } from "../store/actions/ui/uiActions"; -import { ApplicationData, Currency } from "../store/types"; -import { DarknodeID } from "./DarknodeID"; -import { darknodeIDHexToBase58 } from "./pages/Darknode"; -import { TokenBalance } from "./TokenBalance"; - -const mapStateToProps = (state: ApplicationData) => ({ - store: { - darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address) : null, - darknodeDetails: state.statistics.darknodeDetails, - darknodeNames: state.statistics.darknodeNames, - quoteCurrency: state.statistics.quoteCurrency, - mobileMenuActive: state.ui.mobileMenuActive, - }, -}); - -const mapDispatchToProps = (dispatch: Dispatch) => ({ - actions: bindActionCreators({ - hideMobileMenu, - }, dispatch), -}); - -interface Props extends ReturnType, ConnectedReturnType { - selectedDarknode: string | undefined; -} -/** - * Sidebar displays stats about an operator's darknodes collectively, - * as well as a breakdown of each darknode - */ -export const Sidebar = connect(mapStateToProps, mapDispatchToProps)( - ({ selectedDarknode, store, actions }: Props) => { - const { darknodeList, darknodeDetails, darknodeNames, quoteCurrency, mobileMenuActive } = store; - - return ( - - ); - } -); diff --git a/src/components/TokenBalance.tsx b/src/components/TokenBalance.tsx index 732f4b80..55676231 100644 --- a/src/components/TokenBalance.tsx +++ b/src/components/TokenBalance.tsx @@ -1,11 +1,13 @@ import * as React from "react"; +import { Currency } from "@renproject/react-components"; import { BigNumber } from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { AllTokenDetails, OldToken, Token } from "../lib/ethereum/tokens"; -import { ApplicationData, Currency } from "../store/types"; +import { ApplicationState } from "../store/applicationState"; +import { AppDispatch } from "../store/rootReducer"; const defaultState = { // Entries must be immutable decimals: 0, @@ -75,14 +77,14 @@ class TokenBalanceClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { tokenPrices: state.statistics.tokenPrices, web3: state.trader.web3, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); diff --git a/src/components/darknodeList/CardView.tsx b/src/components/darknodeList/CardView.tsx new file mode 100644 index 00000000..a4763b15 --- /dev/null +++ b/src/components/darknodeList/CardView.tsx @@ -0,0 +1,83 @@ +import * as React from "react"; + +import { faStar } from "@fortawesome/free-regular-svg-icons"; +import { faFire, faTimes } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Blocky, Currency, CurrencyIcon } from "@renproject/react-components"; +import { Link } from "react-router-dom"; + +import { Token } from "../../lib/ethereum/tokens"; +import { DarknodesState } from "../../store/applicationState"; +import { DarknodeID } from "../DarknodeID"; +import { statusText } from "../statuspage/Registration"; +import { TokenBalance } from "../TokenBalance"; + +interface Props { + darknodeID: string; + darknodeDetails: DarknodesState | null; + name: string | undefined; + quoteCurrency: Currency; + url: string; + faded: boolean | null; + hidable: boolean; + confirmedRemove: boolean; + removeDarknode: () => void; + continuable: boolean; +} + +export const CardView = ({ darknodeID, darknodeDetails, name, quoteCurrency, url, faded, hidable, confirmedRemove, removeDarknode, continuable }: Props) => { + const handleRemoveDarknode = (e: React.MouseEvent): void => { + e.stopPropagation(); + e.preventDefault(); + removeDarknode(); + }; + + return +
    +
    + {hidable ?
    + {confirmedRemove ? "Are you sure?" : } +
    : null} +
    +
    + + + +

    {name ? name : }

    + + {continuable ? "Continue registering" : darknodeDetails ? + statusText[darknodeDetails.registrationStatus] : + "" + } + +
    + {darknodeDetails ? +
    +
    + + + + + + {" "} + {quoteCurrency.toUpperCase()} +
    +
    + + + + + + {" "} + ETH +
    +
    + : null + } +
    + ; +}; diff --git a/src/components/darknodeList/DarknodeCard.tsx b/src/components/darknodeList/DarknodeCard.tsx index 0ce03ff8..12a7ab8a 100644 --- a/src/components/darknodeList/DarknodeCard.tsx +++ b/src/components/darknodeList/DarknodeCard.tsx @@ -1,146 +1,24 @@ import * as React from "react"; -import { faStar } from "@fortawesome/free-regular-svg-icons"; -import { faFire, faTimes } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { Link } from "react-router-dom"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { Blocky, CurrencyIcon } from "@renproject/react-components"; -import { Token } from "../../lib/ethereum/tokens"; -import { RegistrationStatus, removeDarknode, removeRegisteringDarknode } from "../../store/actions/statistics/operatorActions"; -import { ApplicationData, Currency, DarknodeDetails } from "../../store/types"; -import { DarknodeID } from "../DarknodeID"; +import { ApplicationState, DarknodesState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; +import { + RegistrationStatus, removeDarknode, removeRegisteringDarknode, +} from "../../store/statistics/operatorActions"; import { darknodeIDHexToBase58 } from "../pages/Darknode"; -import { statusText } from "../statuspage/Registration"; -import { TokenBalance } from "../TokenBalance"; +import { CardView } from "./CardView"; -const defaultState = { // Entries must be immutable - confirmedRemove: false, -}; - -class DarknodeCardClass extends React.Component { - - public constructor(props: Props, context: object) { - super(props, context); - this.state = defaultState; - } - - public render = (): JSX.Element => { - const { darknodeID, darknodeDetails, name, store, publicKey } = this.props; - const { quoteCurrency } = store; - const { confirmedRemove } = this.state; - - // If we have the public key and the status is unregistered (or the status is not available yet), then link to - // the registration page - const continuable = publicKey && ( - !darknodeDetails || - darknodeDetails.registrationStatus === RegistrationStatus.Unregistered - ); - - const faded = darknodeDetails && - darknodeDetails.registrationStatus === RegistrationStatus.Unregistered && - !continuable; - - const hidable = (darknodeDetails && darknodeDetails.registrationStatus === RegistrationStatus.Unregistered) || continuable; - - const darknodeIDBase58 = darknodeIDHexToBase58(darknodeID); - - const url = continuable ? - `/darknode/${darknodeIDBase58}?action=register&public_key=${publicKey}` : - `/darknode/${darknodeIDBase58}`; - - return ( - -
    -
    - {hidable ?
    - {confirmedRemove ? "Are you sure?" : } -
    : null} -
    -
    - - - -

    {name ? name : }

    - - {continuable ? "Continue registering" : darknodeDetails ? - statusText[darknodeDetails.registrationStatus] : - "" - } - -
    - {darknodeDetails ? -
    -
    - - - - - - {" "} - {quoteCurrency.toUpperCase()} -
    -
    - - - - - - {" "} - ETH -
    -
    - : null - } -
    - - ); - } - - private readonly removeDarknode = (e: React.MouseEvent): void => { - e.stopPropagation(); - e.preventDefault(); - - const { confirmedRemove } = this.state; - - if (!confirmedRemove) { - this.setState({ confirmedRemove: true }); - return; - } - - const { darknodeID, darknodeDetails, publicKey, store: { address } } = this.props; - - // If we have the public key and the status is unregistered (or the status is not available yet), then link to - // the registration page - const continuable = publicKey && ( - !darknodeDetails || - darknodeDetails.registrationStatus === RegistrationStatus.Unregistered - ); - - // tslint:disable-next-line: await-promise - if (continuable) { - this.props.actions.removeRegisteringDarknode({ darknodeID }); - } else if (address) { - this.props.actions.removeDarknode({ darknodeID, operator: address }); - } - - } -} - -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, quoteCurrency: state.statistics.quoteCurrency, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ removeRegisteringDarknode, removeDarknode, @@ -149,9 +27,60 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ interface Props extends ReturnType, ConnectedReturnType { darknodeID: string; - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; name: string | undefined; publicKey: string | undefined; } -export const DarknodeCard = connect(mapStateToProps, mapDispatchToProps)(DarknodeCardClass); +export const DarknodeCard = connect(mapStateToProps, mapDispatchToProps)((props: Props) => { + const { actions, darknodeID, darknodeDetails, name, store, publicKey } = props; + const { address, quoteCurrency } = store; + + const [confirmedRemove, setConfirmedRemove] = React.useState(false); + + // If we have the public key and the status is unregistered (or the status is not available yet), then link to + // the registration page + const continuable = (publicKey && ( + !darknodeDetails || + darknodeDetails.registrationStatus === RegistrationStatus.Unregistered + )) || false; + + const handleRemoveDarknode = React.useCallback((): void => { + if (!confirmedRemove) { + setConfirmedRemove(true); + return; + } + + // tslint:disable-next-line: await-promise + if (continuable) { + actions.removeRegisteringDarknode({ darknodeID }); + } else if (address) { + actions.removeDarknode({ darknodeID, operator: address }); + } + }, [confirmedRemove, continuable, actions, address, darknodeID]); + + const faded = darknodeDetails && + darknodeDetails.registrationStatus === RegistrationStatus.Unregistered && + !continuable; + + const hidable = (darknodeDetails && darknodeDetails.registrationStatus === RegistrationStatus.Unregistered) || continuable; + + const darknodeIDBase58 = darknodeIDHexToBase58(darknodeID); + + const url = continuable ? + `/darknode/${darknodeIDBase58}?action=register&public_key=${publicKey}` : + `/darknode/${darknodeIDBase58}`; + + return ; +}); diff --git a/src/components/darknodeList/DarknodeList.tsx b/src/components/darknodeList/DarknodeList.tsx index aefa799d..9fec3c29 100644 --- a/src/components/darknodeList/DarknodeList.tsx +++ b/src/components/darknodeList/DarknodeList.tsx @@ -3,19 +3,26 @@ import * as React from "react"; import { Loading } from "@renproject/react-components"; import { List, Map } from "immutable"; -import { DarknodeDetails } from "../../store/types"; +import { DarknodesState } from "../../store/applicationState"; import { _catch_ } from "../ErrorBoundary"; import { DarknodeCard } from "./DarknodeCard"; import { EmptyDarknodeCard } from "./EmptyDarknodeCard"; import { EmptyDarknodeList } from "./EmptyDarknodeList"; +interface Props { + darknodeList: List | null; + darknodeDetails: Map; + darknodeNames: Map; + darknodeRegisteringList: Map; +} + export const DarknodeList: React.StatelessComponent = ({ darknodeList, darknodeDetails, darknodeNames, darknodeRegisteringList, -}) => { - return
    +}) => +
    {darknodeList === null ?
    : <> {darknodeList && darknodeList.map((darknodeID: string) => { const details = darknodeDetails.get(darknodeID) || null; @@ -36,11 +43,3 @@ export const DarknodeList: React.StatelessComponent = ({ } }
    ; -}; - -interface Props { - darknodeList: List | null; - darknodeDetails: Map; - darknodeNames: Map; - darknodeRegisteringList: Map; -} diff --git a/src/components/darknodeMap/darknodeMap.tsx b/src/components/darknodeMap/darknodeMap.tsx index 42ce9dd1..3234b2ac 100644 --- a/src/components/darknodeMap/darknodeMap.tsx +++ b/src/components/darknodeMap/darknodeMap.tsx @@ -7,7 +7,7 @@ import { import { MapContainer } from "./mapContainer"; import MapJSON from "./world-50m.json"; -export const DarknodeMap = () => { +const DarknodeMap = () => { const counter = MapContainer.useContainer(); // useEffect replaces `componentDidMount` and `componentDidUpdate`. @@ -18,7 +18,7 @@ export const DarknodeMap = () => { setInitialized(true); counter.fetchDarknodes().catch(console.error); } - }, [initialized]); + }, [initialized, counter]); return (
    @@ -85,3 +85,7 @@ export const DarknodeMap = () => {
    ); }; + +export const DarknodeMapProvider = () => + +; diff --git a/src/components/pages/Darknode.tsx b/src/components/pages/Darknode.tsx index 3933b746..427b7db8 100644 --- a/src/components/pages/Darknode.tsx +++ b/src/components/pages/Darknode.tsx @@ -3,12 +3,15 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { toChecksumAddress } from "web3-utils"; import { EncodedData, Encodings } from "../../lib/encodedData"; -import { addRegisteringDarknode, RegistrationStatus, setDarknodeName } from "../../store/actions/statistics/operatorActions"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; +import { + addRegisteringDarknode, RegistrationStatus, setDarknodeName, +} from "../../store/statistics/operatorActions"; import { _catch_ } from "../ErrorBoundary"; import { StatusPage } from "../statuspage/StatusPage"; import { NotFound } from "./NotFound"; @@ -102,22 +105,17 @@ class DarknodeClass extends React.Component { return ; } - return ( -
    - {/*
    */} -
    - {_catch_()} -
    -
    - ); + return
    + {_catch_()} +
    ; } private readonly handleNewProps = (nextProps: Props, firstTime: boolean): void => { @@ -147,7 +145,7 @@ class DarknodeClass extends React.Component { } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, darknodeDetails: state.statistics.darknodeDetails, @@ -155,7 +153,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ setDarknodeName, addRegisteringDarknode, diff --git a/src/components/pages/Home.tsx b/src/components/pages/Home.tsx index 381d2d5e..fa5f8cfb 100644 --- a/src/components/pages/Home.tsx +++ b/src/components/pages/Home.tsx @@ -2,9 +2,10 @@ import * as React from "react"; import { List } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; import { DarknodeList } from "../darknodeList/DarknodeList"; import { _catch_ } from "../ErrorBoundary"; @@ -51,7 +52,7 @@ class HomeClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, darknodeDetails: state.statistics.darknodeDetails, @@ -62,7 +63,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); diff --git a/src/components/popups/LoggedOut.tsx b/src/components/popups/LoggedOut.tsx index e551899e..523278b3 100644 --- a/src/components/popups/LoggedOut.tsx +++ b/src/components/popups/LoggedOut.tsx @@ -2,10 +2,11 @@ import * as React from "react"; import { Blocky } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { getWeb3BrowserIcon } from "../../lib/ethereum/browsers"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; /** * LoggedOut is a popup component for prompting a user to select an @@ -39,13 +40,13 @@ const LoggedOutClass: React.StatelessComponent = (props) => {
    ; }; -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { web3BrowserName: state.trader.web3BrowserName, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); diff --git a/src/components/popups/MultiStepPopup.tsx b/src/components/popups/MultiStepPopup.tsx index 656da397..7df230fd 100644 --- a/src/components/popups/MultiStepPopup.tsx +++ b/src/components/popups/MultiStepPopup.tsx @@ -3,12 +3,13 @@ import * as React from "react"; import { Loading } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { _captureBackgroundException_, _captureInteractionException_ } from "../../lib/errors"; import { ErrorCanceledByUser } from "../../lib/ethereum/wallet"; -import { clearPopup } from "../../store/actions/popup/popupActions"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { clearPopup } from "../../store/popup/popupActions"; +import { AppDispatch } from "../../store/rootReducer"; import Warn from "../../styles/images/warn.svg"; const defaultState = { // Entries must be immutable @@ -213,12 +214,12 @@ class MultiStepPopupClass extends React.Component { } -const mapStateToProps = (_state: ApplicationData) => ({ +const mapStateToProps = (_state: ApplicationState) => ({ store: { }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ clearPopup, }, dispatch), diff --git a/src/components/popups/NoWeb3Popup.tsx b/src/components/popups/NoWeb3Popup.tsx index d7d64e75..79d82884 100644 --- a/src/components/popups/NoWeb3Popup.tsx +++ b/src/components/popups/NoWeb3Popup.tsx @@ -1,11 +1,12 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { Language } from "../../languages/language"; import { getWeb3BrowserIcon } from "../../lib/ethereum/browsers"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; const NoWeb3PopupClass: React.StatelessComponent = (props) => { const { message, disabled, onCancel, onConnect } = props; @@ -23,13 +24,13 @@ const NoWeb3PopupClass: React.StatelessComponent = (props) => {
    ; }; -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { web3BrowserName: state.trader.web3BrowserName, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); diff --git a/src/components/popups/PopupController.tsx b/src/components/popups/PopupController.tsx index 9a6762e8..6f80bf02 100644 --- a/src/components/popups/PopupController.tsx +++ b/src/components/popups/PopupController.tsx @@ -1,9 +1,10 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; import { _catch_ } from "../ErrorBoundary"; /** @@ -35,13 +36,13 @@ class PopupControllerClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { popup: state.popup, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); diff --git a/src/components/popups/SelectWeb3Account.tsx b/src/components/popups/SelectWeb3Account.tsx index 960e0296..4b4c2330 100644 --- a/src/components/popups/SelectWeb3Account.tsx +++ b/src/components/popups/SelectWeb3Account.tsx @@ -2,10 +2,11 @@ import * as React from "react"; import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { _captureBackgroundException_ } from "../../lib/errors"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; const defaultState = { // Entries must be immutable accounts: null as string[] | null, @@ -94,12 +95,12 @@ class SelectWeb3AccountClass extends React.Component } } -const mapStateToProps = (_state: ApplicationData) => ({ +const mapStateToProps = (_state: ApplicationState) => ({ store: { }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); diff --git a/src/components/popups/WithdrawPopup.tsx b/src/components/popups/WithdrawPopup.tsx index f32793f9..9f2d5fad 100644 --- a/src/components/popups/WithdrawPopup.tsx +++ b/src/components/popups/WithdrawPopup.tsx @@ -5,14 +5,15 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Loading } from "@renproject/react-components"; import { List } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { validate } from "wallet-address-validator"; import { Token } from "../../lib/ethereum/tokens"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; import { addToWithdrawAddresses, removeFromWithdrawAddresses, -} from "../../store/actions/statistics/operatorActions"; -import { ApplicationData } from "../../store/types"; +} from "../../store/statistics/operatorActions"; enum Stage { Pending, @@ -163,13 +164,13 @@ class WithdrawPopupClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { withdrawAddresses: state.statistics.withdrawAddresses, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ addToWithdrawAddresses, removeFromWithdrawAddresses, diff --git a/src/components/sidebar/Sidebar.tsx b/src/components/sidebar/Sidebar.tsx new file mode 100644 index 00000000..52a3c2a6 --- /dev/null +++ b/src/components/sidebar/Sidebar.tsx @@ -0,0 +1,90 @@ +import * as React from "react"; + +import { faGlobeAmericas, faThLarge, faTimes } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { connect, ConnectedReturnType } from "react-redux"; // Custom typings +import { Link } from "react-router-dom"; +import { bindActionCreators } from "redux"; + +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; +import { RegistrationStatus } from "../../store/statistics/operatorActions"; +import { hideMobileMenu } from "../../store/ui/uiActions"; +import { SidebarIcon } from "./SidebarIcon"; + +const mapStateToProps = (state: ApplicationState) => ({ + store: { + darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address) : null, + darknodeDetails: state.statistics.darknodeDetails, + darknodeNames: state.statistics.darknodeNames, + quoteCurrency: state.statistics.quoteCurrency, + mobileMenuActive: state.ui.mobileMenuActive, + }, +}); + +const mapDispatchToProps = (dispatch: AppDispatch) => ({ + actions: bindActionCreators({ + hideMobileMenu, + }, dispatch), +}); + +interface Props extends ReturnType, ConnectedReturnType { + selectedDarknode: string | undefined; +} +/** + * Sidebar displays stats about an operator's darknodes collectively, + * as well as a breakdown of each darknode + */ +export const Sidebar = connect(mapStateToProps, mapDispatchToProps)( + ({ selectedDarknode, store, actions }: Props) => { + const { darknodeList, darknodeDetails, darknodeNames, quoteCurrency, mobileMenuActive } = store; + + return ( + + ); + } +); diff --git a/src/components/sidebar/SidebarIcon.tsx b/src/components/sidebar/SidebarIcon.tsx new file mode 100644 index 00000000..cdde344a --- /dev/null +++ b/src/components/sidebar/SidebarIcon.tsx @@ -0,0 +1,78 @@ +import * as React from "react"; + +import { faStar } from "@fortawesome/free-regular-svg-icons"; +import { faFire } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { Blocky, Currency, CurrencyIcon } from "@renproject/react-components"; +import BigNumber from "bignumber.js"; +import { Link } from "react-router-dom"; + +import { Token } from "../../lib/ethereum/tokens"; +import { DarknodeID } from "../DarknodeID"; +import { darknodeIDHexToBase58 } from "../pages/Darknode"; +import { TokenBalance } from "../TokenBalance"; + +interface Props { + darknodeID: string; + storedName: string | undefined; + active: boolean; + faded: boolean; + feesEarnedTotalEth: BigNumber | string | undefined; + ethBalance: BigNumber | string | undefined; + quoteCurrency: Currency; + hideMobileMenu: () => void; +} + +/** + * Sidebar displays stats about an operator's darknodes collectively, + * as well as a breakdown of each darknode + */ +export const SidebarIcon = ({ darknodeID, storedName, active, faded, quoteCurrency, feesEarnedTotalEth, ethBalance, hideMobileMenu }: Props) => { + const name = storedName ? storedName : ; + + const darknodeIDBase58 = darknodeIDHexToBase58(darknodeID); + + return +
  • +
    + +
    +
    +
    {name}
    +
    +
    + {feesEarnedTotalEth ? <> + + + + + + {" "} + + {quoteCurrency.toUpperCase()} + + : null} +
    +
    + {ethBalance ? <> + + + + + {" "}ETH + : null + } +
    +
    +
    +
  • + ; +}; diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index 432bb5d3..182633e8 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -5,12 +5,13 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Loading } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { OldToken, Token } from "../../lib/ethereum/tokens"; -import { updateDarknodeStatistics } from "../../store/actions/statistics/operatorActions"; -import { withdrawReward } from "../../store/actions/trader/darknode"; -import { ApplicationData } from "../../store/types"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; +import { updateDarknodeStatistics } from "../../store/statistics/operatorActions"; +import { withdrawReward } from "../../store/trader/darknode"; const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { const [loading, setLoading] = React.useState(false); @@ -22,7 +23,7 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: if (address) { try { // tslint:disable-next-line: await-promise - await actions.withdrawReward(web3, renNetwork, address, darknodeID, token); + await actions.withdrawReward(darknodeID, token); } catch (error) { setLoading(false); return; @@ -46,7 +47,7 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: ); }; -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { web3: state.trader.web3, tokenPrices: state.statistics.tokenPrices, @@ -56,7 +57,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ withdrawReward, updateDarknodeStatistics, diff --git a/src/components/statuspage/Notifications.tsx b/src/components/statuspage/Notifications.tsx index f00e803e..fdf1ced4 100644 --- a/src/components/statuspage/Notifications.tsx +++ b/src/components/statuspage/Notifications.tsx @@ -1,12 +1,13 @@ import * as React from "react"; -import BigNumber from "bignumber.js"; - -import { faExclamationTriangle, faInfoCircle, faTimesCircle } from "@fortawesome/free-solid-svg-icons"; +import { + faExclamationTriangle, faInfoCircle, faTimesCircle, +} from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import BigNumber from "bignumber.js"; -import { RegistrationStatus } from "../../store/actions/statistics/operatorActions"; -import { DarknodeDetails } from "../../store/types"; +import { DarknodesState } from "../../store/applicationState"; +import { RegistrationStatus } from "../../store/statistics/operatorActions"; const lowValue = new BigNumber(Math.pow(10, 18)).multipliedBy(0.1); @@ -84,5 +85,5 @@ export const Notifications: React.StatelessComponent = (props) => { interface Props { isOperator: boolean; - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; } diff --git a/src/components/statuspage/OldFees.tsx b/src/components/statuspage/OldFees.tsx index 4dada7cd..a9d99236 100644 --- a/src/components/statuspage/OldFees.tsx +++ b/src/components/statuspage/OldFees.tsx @@ -2,26 +2,27 @@ import * as React from "react"; import { CurrencyIcon, TokenIcon } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { ApplicationData, DarknodeDetails } from "../../store/types"; +import { ApplicationState, DarknodesState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; import { TokenBalance } from "../TokenBalance"; import { FeesItem } from "./FeesItem"; -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { quoteCurrency: state.statistics.quoteCurrency, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ }, dispatch), }); interface Props extends ReturnType, ConnectedReturnType { isOperator: boolean; - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; } export const OldFees = connect(mapStateToProps, mapDispatchToProps)( diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index 81f0c8e4..7aaa83a8 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -2,16 +2,17 @@ import * as React from "react"; import { Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { _captureInteractionException_ } from "../../lib/errors"; +import { ApplicationState, DarknodesState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; import { RegistrationStatus, updateDarknodeStatistics, updateOperatorStatistics, -} from "../../store/actions/statistics/operatorActions"; +} from "../../store/statistics/operatorActions"; import { showDeregisterPopup, showRefundPopup, showRegisterPopup, -} from "../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData, DarknodeDetails } from "../../store/types"; +} from "../../store/statistics/operatorPopupActions"; export const statusText = { [RegistrationStatus.Unknown]: "Loading...", @@ -199,7 +200,7 @@ class RegistrationClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, web3: state.trader.web3, @@ -211,7 +212,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ showRegisterPopup, showDeregisterPopup, @@ -225,7 +226,7 @@ interface Props extends ReturnType, ConnectedReturnType< isOperator: boolean; registrationStatus: RegistrationStatus; darknodeID: string; - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; publicKey?: string; } diff --git a/src/components/statuspage/StatusPage.tsx b/src/components/statuspage/StatusPage.tsx index 53fde798..90f2afe0 100644 --- a/src/components/statuspage/StatusPage.tsx +++ b/src/components/statuspage/StatusPage.tsx @@ -2,12 +2,11 @@ import * as React from "react"; import { Blocky, InfoLabel } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { - RegistrationStatus, setDarknodeName, -} from "../../store/actions/statistics/operatorActions"; -import { ApplicationData, DarknodeDetails } from "../../store/types"; +import { ApplicationState, DarknodesState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; +import { RegistrationStatus, setDarknodeName } from "../../store/statistics/operatorActions"; import { DarknodeID } from "../DarknodeID"; import { DarknodeAction } from "../pages/Darknode"; import { FeesBlock } from "./block/FeesBlock"; @@ -166,13 +165,13 @@ class StatusPageClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { tokenPrices: state.statistics.tokenPrices, }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ setDarknodeName, }, dispatch), @@ -183,7 +182,7 @@ interface Props extends ReturnType, ConnectedReturnType< isOperator: boolean; darknodeID: string; - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; name: string | undefined; publicKey: string | undefined; } diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index b665febc..018d7194 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -7,15 +7,17 @@ import { CurrencyIcon, Loading, TokenIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { alreadyPast, naturalTime } from "../../../lib/conversion"; +import { DarknodeFeeStatus } from "../../../lib/darknodeFeeStatus"; import { OldToken, Token } from "../../../lib/ethereum/tokens"; +import { ApplicationState, DarknodesState } from "../../../store/applicationState"; +import { AppDispatch } from "../../../store/rootReducer"; import { RegistrationStatus, updateCycleAndPendingRewards, updateDarknodeStatistics, -} from "../../../store/actions/statistics/operatorActions"; -import { showClaimPopup } from "../../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData, DarknodeDetails, DarknodeFeeStatus } from "../../../store/types"; +} from "../../../store/statistics/operatorActions"; +import { showClaimPopup } from "../../../store/statistics/operatorPopupActions"; import { TokenBalance } from "../../TokenBalance"; import { FeesItem } from "../FeesItem"; import { OldFees } from "../OldFees"; @@ -323,7 +325,7 @@ class FeesBlockClass extends React.Component { } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, web3: state.trader.web3, @@ -338,7 +340,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ showClaimPopup, updateDarknodeStatistics, @@ -348,7 +350,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ interface Props extends ReturnType, ConnectedReturnType { isOperator: boolean; - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; } type State = typeof defaultState; diff --git a/src/components/statuspage/block/GasBlock.tsx b/src/components/statuspage/block/GasBlock.tsx index ae0f3f9e..850eea74 100644 --- a/src/components/statuspage/block/GasBlock.tsx +++ b/src/components/statuspage/block/GasBlock.tsx @@ -2,11 +2,11 @@ import * as React from "react"; import { faChevronRight, faFire, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { CurrencyIcon } from "@renproject/react-components"; +import { Currency, CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; -import { Currency, DarknodeDetails } from "../../../store/types"; -import { TopUp } from "../TopUp"; +import { DarknodesState } from "../../../store/applicationState"; +import { TopUpController } from "../topup/TopUpController"; import { Block, BlockBody, BlockTitle } from "./Block"; const defaultState = { // Entries must be immutable @@ -63,7 +63,7 @@ export class GasBlock extends React.Component { ETH
    - +
    } @@ -79,5 +79,5 @@ export class GasBlock extends React.Component { } interface Props { - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; } diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/statuspage/block/GasGraph.tsx index de6ceaf2..678e724b 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/statuspage/block/GasGraph.tsx @@ -7,13 +7,14 @@ import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { Scatter } from "react-chartjs-2"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; import { _captureBackgroundException_ } from "../../../lib/errors"; +import { ApplicationState, DarknodesState } from "../../../store/applicationState"; +import { AppDispatch } from "../../../store/rootReducer"; import { calculateSecondsPerBlock, fetchDarknodeBalanceHistory, HistoryIterations, HistoryPeriods, -} from "../../../store/actions/statistics/operatorActions"; -import { ApplicationData, DarknodeDetails } from "../../../store/types"; +} from "../../../store/statistics/operatorActions"; import { Block, BlockBody, BlockTitle } from "./Block"; const shift = new BigNumber(10).exponentiatedBy(18); @@ -285,7 +286,7 @@ class GasGraphClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { web3: state.trader.web3, balanceHistories: state.statistics.balanceHistories, @@ -293,7 +294,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ fetchDarknodeBalanceHistory, calculateSecondsPerBlock, @@ -301,7 +302,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ }); interface Props extends ReturnType, ConnectedReturnType { - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; } type State = typeof defaultState; diff --git a/src/components/statuspage/block/NetworkBlock.tsx b/src/components/statuspage/block/NetworkBlock.tsx index f4529f05..b0d250db 100644 --- a/src/components/statuspage/block/NetworkBlock.tsx +++ b/src/components/statuspage/block/NetworkBlock.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { faServer } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { DarknodeDetails } from "../../../store/types"; +import { DarknodesState } from "../../../store/applicationState"; import { darknodeIDHexToBase58 } from "../../pages/Darknode"; import { Block, BlockBody, BlockTitle } from "./Block"; @@ -44,5 +44,5 @@ export const NetworkBlock = (props: Props): JSX.Element => { // tslint:disable: react-unused-props-and-state interface Props { - darknodeDetails: DarknodeDetails | null; + darknodeDetails: DarknodesState | null; } diff --git a/src/components/statuspage/topup/TopUp.tsx b/src/components/statuspage/topup/TopUp.tsx new file mode 100644 index 00000000..a1d23928 --- /dev/null +++ b/src/components/statuspage/topup/TopUp.tsx @@ -0,0 +1,53 @@ +import * as React from "react"; + +import { CONFIRMATION_MESSAGE } from "./TopUpController"; + +interface Props { + darknodeID: string; + value: string; + resultMessage: string | null; + pending: boolean; + disabled: boolean; + handleChange: (value: string) => void; + handleBlur: () => void; + sendFunds: () => void; +} + +export const TopUp = (props: Props) => { + const { value, resultMessage, pending, disabled, handleChange, handleBlur, sendFunds } = props; + + const handleChangeEvent = (event: React.ChangeEvent) => { + handleChange(event.target.value); + }; + + return
    + + {resultMessage && +

    + {resultMessage} +

    + } +
    ; +}; diff --git a/src/components/statuspage/TopUp.tsx b/src/components/statuspage/topup/TopUpController.ts similarity index 62% rename from src/components/statuspage/TopUp.tsx rename to src/components/statuspage/topup/TopUpController.ts index 4a5a9b16..6b20000b 100644 --- a/src/components/statuspage/TopUp.tsx +++ b/src/components/statuspage/topup/TopUpController.ts @@ -1,15 +1,16 @@ -import * as React from "react"; - import { BigNumber } from "bignumber.js"; +import { Component, createElement } from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators, Dispatch } from "redux"; +import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../lib/errors"; -import { updateDarknodeStatistics } from "../../store/actions/statistics/operatorActions"; -import { showFundPopup } from "../../store/actions/statistics/operatorPopupActions"; -import { ApplicationData } from "../../store/types"; +import { _captureBackgroundException_ } from "../../../lib/errors"; +import { ApplicationState } from "../../../store/applicationState"; +import { AppDispatch } from "../../../store/rootReducer"; +import { updateDarknodeStatistics } from "../../../store/statistics/operatorActions"; +import { showFundPopup } from "../../../store/statistics/operatorPopupActions"; +import { TopUp } from "./TopUp"; -const CONFIRMATION_MESSAGE = "Transaction confirmed."; +export const CONFIRMATION_MESSAGE = "Transaction confirmed."; const defaultState = { // Entries must be immutable value: "0.1", @@ -19,7 +20,7 @@ const defaultState = { // Entries must be immutable traderBalance: new BigNumber(0), }; -class TopUpClass extends React.Component { +class TopUpControllerClass extends Component { private _isMounted = false; constructor(props: Props) { @@ -40,44 +41,18 @@ class TopUpClass extends React.Component { this._isMounted = false; } - public render = (): JSX.Element => { - const { value, resultMessage, pending, disabled } = this.state; - return ( -
    - - {resultMessage && -

    - {resultMessage} -

    - } -
    - ); - } - - private readonly handleChange = (event: React.ChangeEvent): void => { - const value = event.target.value; + public render = (): JSX.Element => createElement(TopUp, { + darknodeID: this.props.darknodeID, + value: this.state.value, + resultMessage: this.state.resultMessage, + pending: this.state.pending, + disabled: this.state.disabled, + handleChange: this.handleChange, + handleBlur: this.handleBlur, + sendFunds: this.sendFunds, + }) + + private readonly handleChange = (value: string): void => { this.setState({ value }); const { traderBalance, resultMessage, disabled } = this.state; @@ -108,7 +83,7 @@ class TopUpClass extends React.Component { return traderBalance; } - private readonly handleBlur = async (_event: React.ChangeEvent): Promise => { + private readonly handleBlur = async (): Promise => { const { value } = this.state; let traderBalance; try { @@ -162,7 +137,7 @@ class TopUpClass extends React.Component { } } -const mapStateToProps = (state: ApplicationData) => ({ +const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.trader.address, web3: state.trader.web3, @@ -171,7 +146,7 @@ const mapStateToProps = (state: ApplicationData) => ({ }, }); -const mapDispatchToProps = (dispatch: Dispatch) => ({ +const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ showFundPopup, updateDarknodeStatistics, @@ -182,4 +157,4 @@ interface Props extends ReturnType, ConnectedReturnType< darknodeID: string; } -export const TopUp = connect(mapStateToProps, mapDispatchToProps)(TopUpClass); +export const TopUpController = connect(mapStateToProps, mapDispatchToProps)(TopUpControllerClass); diff --git a/src/index.tsx b/src/index.tsx index 79e403e5..df988373 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -8,7 +8,6 @@ import { Route, Router, Switch } from "react-router-dom"; import { PersistGate } from "redux-persist/integration/react"; import { App } from "./components/App"; -import { MapContainer } from "./components/darknodeMap/mapContainer"; import { _catch_ } from "./components/ErrorBoundary"; import { NODE_ENV } from "./lib/environmentVariables"; import { history } from "./lib/history"; @@ -31,18 +30,16 @@ onLoad("Command Center"); ReactDOM.render( _catch_( - - - - - {/* We add the routes here as well as in App so that App has access to the URL parameters */} - - - {/* Don't add extra routes here - add them in App */} - - - - + + + + {/* We add the routes here as well as in App so that App has access to the URL parameters */} + + + {/* Don't add extra routes here - add them in App */} + + + ), document.getElementById("root") as HTMLElement ); diff --git a/src/lib/connectUnstated.tsx b/src/lib/connectUnstated.tsx new file mode 100644 index 00000000..f865514f --- /dev/null +++ b/src/lib/connectUnstated.tsx @@ -0,0 +1,9 @@ +import { ComponentClass, createElement, FunctionComponent } from "react"; +import { Container } from "unstated-next"; + +// Used temporarily while we migrated from redux/unstated to unstated-next. +export const connectContainer = ( + container: Container, + component: string | FunctionComponent | ComponentClass, +) => + (props: Props) => {createElement(component, props)}; diff --git a/src/lib/darknodeFeeStatus.ts b/src/lib/darknodeFeeStatus.ts new file mode 100644 index 00000000..7ee8265b --- /dev/null +++ b/src/lib/darknodeFeeStatus.ts @@ -0,0 +1,7 @@ + +export enum DarknodeFeeStatus { + BLACKLISTED = "BLACKLISTED", + CLAIMED = "CLAIMED", + NOT_CLAIMED = "NOT_CLAIMED", + NOT_WHITELISTED = "NOT_WHITELISTED", +} diff --git a/src/lib/ethereum/tokens.ts b/src/lib/ethereum/tokens.ts index e10493f0..5249b680 100644 --- a/src/lib/ethereum/tokens.ts +++ b/src/lib/ethereum/tokens.ts @@ -1,7 +1,8 @@ +import { Currency } from "@renproject/react-components"; import Axios from "axios"; import { Map } from "immutable"; -import { Currency, TokenPrices } from "../../store/types"; +import { TokenPrices } from "../tokenPrices"; export enum Token { DAI = "DAI", diff --git a/src/lib/ethereum/wallet.ts b/src/lib/ethereum/wallet.ts index f96895fe..1d94b60f 100644 --- a/src/lib/ethereum/wallet.ts +++ b/src/lib/ethereum/wallet.ts @@ -11,10 +11,12 @@ const ErrorNoWeb3 = Language.wallet.mustInstallMetaMask; const ErrorNoAccounts = Language.wallet.noAccounts; const ErrorAccountAccessRejected = Language.wallet.mustConnect; -export const getReadOnlyWeb3 = (): Web3 => { +const getReadOnlyWeb3 = (): Web3 => { return new Web3(PUBLIC_NODE); }; +export const readOnlyWeb3 = getReadOnlyWeb3(); + export const getInjectedWeb3Provider = async (onAnyProvider: (provider: provider) => void): Promise => { let injectedProvider; diff --git a/src/lib/serializable.ts b/src/lib/serializable.ts new file mode 100644 index 00000000..55816187 --- /dev/null +++ b/src/lib/serializable.ts @@ -0,0 +1,5 @@ + +export interface Serializable { + serialize(): string; + deserialize(str: string): T; +} diff --git a/src/lib/tokenPrices.ts b/src/lib/tokenPrices.ts new file mode 100644 index 00000000..cbeb35c0 --- /dev/null +++ b/src/lib/tokenPrices.ts @@ -0,0 +1,6 @@ +import { Currency } from "@renproject/react-components"; +import { Map } from "immutable"; + +import { OldToken, Token } from "./ethereum/tokens"; + +export type TokenPrices = Map>; diff --git a/src/store/actions/statistics/networkActions.ts b/src/store/actions/statistics/networkActions.ts deleted file mode 100644 index a23b63bf..00000000 --- a/src/store/actions/statistics/networkActions.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { RenNetworkDetails } from "@renproject/contracts"; -import BigNumber from "bignumber.js"; -import { OrderedMap } from "immutable"; -import { Dispatch } from "redux"; -import { createStandardAction } from "typesafe-actions"; -import Web3 from "web3"; - -import { DarknodeRegistryWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodeRegistry"; -import { getPrices, Token } from "../../../lib/ethereum/tokens"; -import { TokenPrices } from "../../types"; - -export const storeTokenPrices = createStandardAction("storeTokenPrices")(); - -export const storeMinimumBond = createStandardAction("storeMinimumBond")(); - -export const updateCurrentCycle = createStandardAction("updateCurrentCycle")(); -export const updatePreviousCycle = createStandardAction("updatePreviousCycle")(); - -export const updatePendingRewards = createStandardAction("updatePendingRewards")>>(); -export const updatePendingTotalInEth = createStandardAction("updatePendingTotalInEth")>(); -export const updateCycleTimeout = createStandardAction("updateCycleTimeout")(); - -export const updateNetworkStatistics = (web3: Web3, renNetwork: RenNetworkDetails) => async (dispatch: Dispatch) => { - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - const minimumBondBN = await darknodeRegistry.methods.minimumBond().call(); - if (minimumBondBN) { - const minimumBond = new BigNumber(minimumBondBN.toString()); - dispatch(storeMinimumBond(minimumBond)); - } -}; - -export const updateTokenPrices = () => async (dispatch: Dispatch) => { - const tokenPrices = await getPrices(); - dispatch(storeTokenPrices(tokenPrices)); -}; diff --git a/src/store/actions/ui/uiActions.ts b/src/store/actions/ui/uiActions.ts deleted file mode 100644 index cc45d442..00000000 --- a/src/store/actions/ui/uiActions.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { createStandardAction } from "typesafe-actions"; - -export const showMobileMenu = createStandardAction("showMobileMenu")(); -export const hideMobileMenu = createStandardAction("hideMobileMenu")(); diff --git a/src/store/types.ts b/src/store/applicationState.ts similarity index 65% rename from src/store/types.ts rename to src/store/applicationState.ts index b8583e6a..5aca75c2 100644 --- a/src/store/types.ts +++ b/src/store/applicationState.ts @@ -1,40 +1,37 @@ // tslint:disable:no-object-literal-type-assertion import { RenNetwork, RenNetworkDetails, RenNetworks } from "@renproject/contracts"; +import { Currency } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { List, Map, OrderedMap } from "immutable"; import { PromiEvent } from "web3-core"; +import { DarknodeFeeStatus } from "../lib/darknodeFeeStatus"; import { DEFAULT_REN_NETWORK } from "../lib/environmentVariables"; import { _captureBackgroundException_ } from "../lib/errors"; import { Web3Browser } from "../lib/ethereum/browsers"; import { OldToken, Token } from "../lib/ethereum/tokens"; -import { getReadOnlyWeb3 } from "../lib/ethereum/wallet"; +import { readOnlyWeb3 } from "../lib/ethereum/wallet"; import { Record } from "../lib/record"; -import { RegistrationStatus } from "./actions/statistics/operatorActions"; - -interface Serializable { - serialize(): string; - deserialize(str: string): T; -} - -export interface ApplicationData { - trader: TraderData; - popup: PopupData; - statistics: StatisticsData; - ui: UIData; +import { Serializable } from "../lib/serializable"; +import { TokenPrices } from "../lib/tokenPrices"; +import { RegistrationStatus } from "./statistics/operatorActions"; + +export interface ApplicationState { + trader: TraderState; + popup: PopupState; + statistics: StatisticsState; + ui: UIState; } -export const readOnlyWeb3 = getReadOnlyWeb3(); - -export class TraderData extends Record({ +export class TraderState extends Record({ // Login data address: null as string | null, web3BrowserName: Web3Browser.MetaMask, web3: readOnlyWeb3, renNetwork: RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails, -}) implements Serializable { +}) implements Serializable { public serialize(): string { // const js = this.toJS(); return JSON.stringify({ @@ -42,12 +39,12 @@ export class TraderData extends Record({ }); } - public deserialize(str: string): TraderData { + public deserialize(str: string): TraderState { // let next = this; try { const data = JSON.parse(str); // tslint:disable-next-line: no-any - let traderData = new TraderData(); + let traderData = new TraderState(); if (data.renNetwork) { traderData = traderData.set("renNetwork", RenNetworks[data.renNetwork]); } @@ -61,51 +58,18 @@ export class TraderData extends Record({ } } -export enum LabelLevel { - Info = "info", - Warning = "warning" -} - -export class PopupData extends Record({ +export class PopupState extends Record({ dismissible: true, onCancel: (() => null) as () => void, popup: null as JSX.Element | null, overlay: false, }) { } -export class UIData extends Record({ +export class UIState extends Record({ mobileMenuActive: false, }) { } -export enum Currency { - AUD = "aud", - CNY = "cny", - GBP = "gbp", - EUR = "eur", - JPY = "jpy", - KRW = "krw", - USD = "usd", - - ETH = "eth", - BTC = "btc", -} - -export const currencies = [ - { currency: Currency.AUD, description: "Australian Dollar (AUD)", }, - { currency: Currency.GBP, description: "British Pound (GBP)", }, - { currency: Currency.CNY, description: "Chinese Yuan (CNY)", }, - { currency: Currency.EUR, description: "Euro (EUR)", }, - { currency: Currency.JPY, description: "Japanese Yen (JPY)", }, - { currency: Currency.KRW, description: "Korean Won (KRW)", }, - { currency: Currency.USD, description: "US Dollar (USD)", }, - - { currency: Currency.ETH, description: "Ethereum (ETH)", }, - { currency: Currency.BTC, description: "Bitcoin (BTC)", }, -]; - -export type TokenPrices = Map>; - -export class StatisticsData extends Record({ +export class StatisticsState extends Record({ minimumBond: null as BigNumber | null, secondsPerBlock: null as number | null, @@ -115,7 +79,7 @@ export class StatisticsData extends Record({ darknodeCount: null as BigNumber | null, orderCount: null as BigNumber | null, - darknodeDetails: Map(), + darknodeDetails: Map(), balanceHistories: Map>(), @@ -134,7 +98,7 @@ export class StatisticsData extends Record({ pendingRewards: OrderedMap>(), pendingTotalInEth: OrderedMap(), cycleTimeout: new BigNumber(0), -}) implements Serializable { +}) implements Serializable { public serialize(): string { const js = this.toJS(); return JSON.stringify({ @@ -145,12 +109,12 @@ export class StatisticsData extends Record({ }); } - public deserialize(str: string): StatisticsData { + public deserialize(str: string): StatisticsState { // let next = this; try { const data = JSON.parse(str); // next = next.set("address", data.address); - return new StatisticsData({ + return new StatisticsState({ darknodeList: data.darknodeList, darknodeNames: data.darknodeNames, darknodeRegisteringList: data.darknodeRegisteringList, @@ -165,14 +129,7 @@ export class StatisticsData extends Record({ } } -export enum DarknodeFeeStatus { - BLACKLISTED = "BLACKLISTED", - CLAIMED = "CLAIMED", - NOT_CLAIMED = "NOT_CLAIMED", - NOT_WHITELISTED = "NOT_WHITELISTED", -} - -export class DarknodeDetails extends Record({ +export class DarknodesState extends Record({ ID: "", multiAddress: "", publicKey: "", diff --git a/src/store/configureStore.ts b/src/store/configureStore.ts index fd0d0c61..030e880b 100644 --- a/src/store/configureStore.ts +++ b/src/store/configureStore.ts @@ -4,7 +4,7 @@ import thunk from "redux-thunk"; import { NODE_ENV } from "../lib/environmentVariables"; import { persistConfig } from "./persistConfig"; -import { rootReducer } from "./reducers/rootReducer"; +import { rootReducer } from "./rootReducer"; const middlewares: Middleware[] = [ thunk, diff --git a/src/store/persistConfig.ts b/src/store/persistConfig.ts index 8d3a24f7..6d16b5b5 100644 --- a/src/store/persistConfig.ts +++ b/src/store/persistConfig.ts @@ -2,12 +2,12 @@ import { createTransform, PersistConfig } from "redux-persist"; import storage from "redux-persist/lib/storage"; import { _captureBackgroundException_ } from "../lib/errors"; -import { ApplicationData, StatisticsData, TraderData } from "./types"; +import { ApplicationState, StatisticsState, TraderState } from "./applicationState"; // Local Storage: -const traderTransform = createTransform( - (inboundState: TraderData, key: string): string => { +const traderTransform = createTransform( + (inboundState: TraderState, key: string): string => { try { return inboundState.serialize(); } catch (error) { @@ -16,20 +16,20 @@ const traderTransform = createTransform( throw error; } }, - (outboundState: string, key: string): TraderData => { + (outboundState: string, key: string): TraderState => { try { - return new TraderData().deserialize(outboundState); + return new TraderState().deserialize(outboundState); } catch (error) { console.error(`Error deserializing ${key} (${JSON.stringify(outboundState)}): ${error}`); _captureBackgroundException_(error, { description: "Error deserializing local storage" }); throw error; } }, - { whitelist: ["trader"] as Array, }, + { whitelist: ["trader"] as Array, }, ); -const statisticsTransform = createTransform( - (inboundState: StatisticsData, key: string): string => { +const statisticsTransform = createTransform( + (inboundState: StatisticsState, key: string): string => { try { return inboundState.serialize(); } catch (error) { @@ -38,21 +38,21 @@ const statisticsTransform = createTransform( throw error; } }, - (outboundState: string, key: string): StatisticsData => { + (outboundState: string, key: string): StatisticsState => { try { - return new StatisticsData().deserialize(outboundState); + return new StatisticsState().deserialize(outboundState); } catch (error) { console.error(`Error deserializing ${key} (${JSON.stringify(outboundState)}): ${error}`); _captureBackgroundException_(error, { description: "Error deserializing local storage" }); throw error; } }, - { whitelist: ["statistics"] as Array, }, + { whitelist: ["statistics"] as Array, }, ); export const persistConfig: PersistConfig = { storage, key: "root", - whitelist: ["statistics", "trader"] as Array, + whitelist: ["statistics", "trader"] as Array, transforms: [statisticsTransform, traderTransform], }; diff --git a/src/store/actions/popup/popupActions.ts b/src/store/popup/popupActions.ts similarity index 56% rename from src/store/actions/popup/popupActions.ts rename to src/store/popup/popupActions.ts index 9e48b333..8f7b66a1 100644 --- a/src/store/actions/popup/popupActions.ts +++ b/src/store/popup/popupActions.ts @@ -1,10 +1,10 @@ import { createStandardAction } from "typesafe-actions"; -export const setPopup = createStandardAction("setPopup")<{ +export const setPopup = createStandardAction("SET_POPUP")<{ popup: JSX.Element; overlay?: boolean; dismissible?: boolean; onCancel(): void; }>(); -export const clearPopup = createStandardAction("clearPopup")(); +export const clearPopup = createStandardAction("CLEAR_POPUP")(); diff --git a/src/store/reducers/popup/popupReducer.ts b/src/store/popup/popupReducer.ts similarity index 83% rename from src/store/reducers/popup/popupReducer.ts rename to src/store/popup/popupReducer.ts index ef6d5e4d..c0d7fffc 100644 --- a/src/store/reducers/popup/popupReducer.ts +++ b/src/store/popup/popupReducer.ts @@ -1,12 +1,11 @@ import { ActionType, getType } from "typesafe-actions"; -import * as popupActions from "../../actions/popup/popupActions"; - -import { PopupData } from "../../types"; +import { PopupState } from "../applicationState"; +import * as popupActions from "./popupActions"; type PopupAction = ActionType; -export const popupReducer = (state: PopupData = new PopupData(), action: PopupAction): PopupData => { +export const popupReducer = (state: PopupState = new PopupState(), action: PopupAction): PopupState => { switch (action.type) { case getType(popupActions.setPopup): if (document.documentElement) { diff --git a/src/store/reducers/rootReducer.ts b/src/store/rootReducer.ts similarity index 50% rename from src/store/reducers/rootReducer.ts rename to src/store/rootReducer.ts index 62bd29e2..e87ea53c 100644 --- a/src/store/reducers/rootReducer.ts +++ b/src/store/rootReducer.ts @@ -1,15 +1,19 @@ -import { combineReducers } from "redux"; +import { Action, combineReducers } from "redux"; +import { ThunkDispatch } from "redux-thunk"; +import { ApplicationState } from "./applicationState"; import { popupReducer } from "./popup/popupReducer"; import { statisticsReducer } from "./statistics/statisticsReducer"; import { traderReducer } from "./trader/traderReducer"; import { uiReducer } from "./ui/uiReducer"; -import { ApplicationData } from "../types"; - -export const rootReducer = combineReducers({ +export const rootReducer = combineReducers({ popup: popupReducer, trader: traderReducer, statistics: statisticsReducer, ui: uiReducer, }); + +interface AppAction extends Action { +} +export type AppDispatch = ThunkDispatch; diff --git a/src/store/statistics/networkActions.ts b/src/store/statistics/networkActions.ts new file mode 100644 index 00000000..1857f01b --- /dev/null +++ b/src/store/statistics/networkActions.ts @@ -0,0 +1,40 @@ +import {} from "redux"; + +import { RenNetworkDetails } from "@renproject/contracts"; +import BigNumber from "bignumber.js"; +import { OrderedMap } from "immutable"; +import { createStandardAction } from "typesafe-actions"; +import Web3 from "web3"; + +import { DarknodeRegistryWeb3 } from "../../lib/ethereum/contracts/bindings/darknodeRegistry"; +import { getPrices, Token } from "../../lib/ethereum/tokens"; +import { TokenPrices } from "../../lib/tokenPrices"; +import { AppDispatch } from "../rootReducer"; + +export const storeTokenPrices = createStandardAction("STORE_TOKEN_PRICES")(); + +export const storeMinimumBond = createStandardAction("STORE_MINIMUM_BOND")(); + +export const updateCurrentCycle = createStandardAction("UPDATE_CURRENT_CYCLE")(); +export const updatePreviousCycle = createStandardAction("UPDATE_PREVIOUS_CYCLE")(); + +export const updatePendingRewards = createStandardAction("UPDATE_PENDING_REWARDS")>>(); +export const updatePendingTotalInEth = createStandardAction("UPDATE_PENDING_TOTAL_IN_ETH")>(); +export const updateCycleTimeout = createStandardAction("UPDATE_CYCLE_TIMEOUT")(); + +export const updateNetworkStatistics = (web3: Web3, renNetwork: RenNetworkDetails) => async (dispatch: AppDispatch) => { + const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + const minimumBondBN = await darknodeRegistry.methods.minimumBond().call(); + if (minimumBondBN) { + const minimumBond = new BigNumber(minimumBondBN.toString()); + dispatch(storeMinimumBond(minimumBond)); + } +}; + +export const updateTokenPrices = () => async (dispatch: AppDispatch) => { + const tokenPrices = await getPrices(); + dispatch(storeTokenPrices(tokenPrices)); +}; diff --git a/src/store/actions/statistics/operatorActions.ts b/src/store/statistics/operatorActions.ts similarity index 89% rename from src/store/actions/statistics/operatorActions.ts rename to src/store/statistics/operatorActions.ts index 597f2e9d..b49a5992 100644 --- a/src/store/actions/statistics/operatorActions.ts +++ b/src/store/statistics/operatorActions.ts @@ -1,69 +1,72 @@ import { mainnet, RenNetworkDetails } from "@renproject/contracts"; +import { Currency } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { List, OrderedMap, OrderedSet } from "immutable"; -import { Dispatch } from "redux"; import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; import { PromiEvent } from "web3-core"; import { Block } from "web3-eth"; import { toChecksumAddress } from "web3-utils"; -import { _captureBackgroundException_, _noCapture_ } from "../../../lib/errors"; -import { DarknodePaymentWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodePayment"; +import { DarknodeFeeStatus } from "../../lib/darknodeFeeStatus"; +import { _captureBackgroundException_, _noCapture_ } from "../../lib/errors"; +import { DarknodePaymentWeb3 } from "../../lib/ethereum/contracts/bindings/darknodePayment"; import { DarknodePaymentStoreWeb3, -} from "../../../lib/ethereum/contracts/bindings/darknodePaymentStore"; -import { DarknodeRegistryWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodeRegistry"; -import { getOperatorDarknodes } from "../../../lib/ethereum/operator"; -import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../../../lib/ethereum/tokens"; -import { Currency, DarknodeDetails, DarknodeFeeStatus, TokenPrices } from "../../types"; +} from "../../lib/ethereum/contracts/bindings/darknodePaymentStore"; +import { DarknodeRegistryWeb3 } from "../../lib/ethereum/contracts/bindings/darknodeRegistry"; +import { getOperatorDarknodes } from "../../lib/ethereum/operator"; +import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../../lib/ethereum/tokens"; +import { TokenPrices } from "../../lib/tokenPrices"; +import { DarknodesState } from "../applicationState"; +import { AppDispatch } from "../rootReducer"; import { updateCurrentCycle, updateCycleTimeout, updatePendingRewards, updatePendingTotalInEth, updatePreviousCycle, } from "./networkActions"; -export const addRegisteringDarknode = createStandardAction("addRegisteringDarknode")<{ +export const addRegisteringDarknode = createStandardAction("ADD_REGISTERING_DARKNODE")<{ darknodeID: string; publicKey: string; }>(); -export const removeRegisteringDarknode = createStandardAction("removeRegisteringDarknode")<{ +export const removeRegisteringDarknode = createStandardAction("REMOVE_REGISTERING_DARKNODE")<{ darknodeID: string; }>(); -export const removeDarknode = createStandardAction("removeDarknode")<{ +export const removeDarknode = createStandardAction("REMOVE_DARKNODE")<{ darknodeID: string; operator: string; }>(); -export const storeDarknodeList = createStandardAction("storeDarknodeList")<{ +export const storeDarknodeList = createStandardAction("STORE_DARKNODE_LIST")<{ darknodeList: OrderedSet; address: string; }>(); -export const storeQuoteCurrency = createStandardAction("storeQuoteCurrency")<{ quoteCurrency: Currency }>(); +export const storeQuoteCurrency = createStandardAction("STORE_QUOTE_CURRENCY")<{ quoteCurrency: Currency }>(); -export const storeSecondsPerBlock = createStandardAction("storeSecondsPerBlock")<{ secondsPerBlock: number }>(); +export const storeSecondsPerBlock = createStandardAction("STORE_SECONDS_PER_BLOCK")<{ secondsPerBlock: number }>(); -export const addToWithdrawAddresses = createStandardAction("addToWithdrawAddresses")<{ token: Token, address: string }>(); -export const removeFromWithdrawAddresses = createStandardAction("removeFromWithdrawAddresses")<{ token: Token, address: string }>(); +export const addToWithdrawAddresses = createStandardAction("ADD_TO_WITHDRAW_ADDRESSES")<{ token: Token, address: string }>(); +export const removeFromWithdrawAddresses = createStandardAction("REMOVE_FROM_WITHDRAW_ADDRESSES")<{ token: Token, address: string }>(); -export const setDarknodeDetails = createStandardAction("setDarknodeDetails")<{ - darknodeDetails: DarknodeDetails; +export const setDarknodeDetails = createStandardAction("SET_DARKNODE_DETAILS")<{ + darknodeDetails: DarknodesState; }>(); -export const updateDarknodeHistory = createStandardAction("updateDarknodeHistory")<{ +export const updateDarknodeHistory = createStandardAction("UPDATE_DARKNODE_HISTORY")<{ darknodeID: string; balanceHistory: OrderedMap; }>(); -export const setDarknodeName = createStandardAction("setDarknodeName")<{ darknodeID: string; name: string }>(); +export const setDarknodeName = createStandardAction("SET_DARKNODE_NAME")<{ darknodeID: string; name: string }>(); // tslint:disable-next-line: no-any -export const addTransaction = createStandardAction("addTransaction")<{ txHash: string; tx: PromiEvent }>(); -export const setTxConfirmations = createStandardAction("setTxConfirmations")<{ txHash: string; confirmations: number }>(); +export const addTransaction = createStandardAction("ADD_TRANSACTION")<{ txHash: string; tx: PromiEvent }>(); +export const setTxConfirmations = createStandardAction("SET_TX_CONFIRMATIONS")<{ txHash: string; confirmations: number }>(); -export const waitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => async (dispatch: Dispatch) => new Promise((resolve, reject) => { +export const waitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => async (dispatch: AppDispatch) => new Promise((resolve, reject) => { promiEvent.on("transactionHash", (txHash) => { resolve(txHash); dispatch(addTransaction({ txHash, tx: promiEvent })); @@ -81,7 +84,7 @@ export const waitForTX = (promiEvent: PromiEvent, onConfirmation?: (confir export const calculateSecondsPerBlock = ( web3: Web3, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { const sampleSize = 1000; const fetchedBlockNumber = await web3.eth.getBlockNumber(); @@ -249,7 +252,7 @@ export const updateCycleAndPendingRewards = ( web3: Web3, renNetwork: RenNetworkDetails, tokenPrices: TokenPrices | null, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( renNetwork.addresses.ren.DarknodePayment.abi, renNetwork.addresses.ren.DarknodePayment.address, @@ -414,7 +417,7 @@ export const updateDarknodeStatistics = ( renNetwork: RenNetworkDetails, darknodeID: string, tokenPrices: TokenPrices | null, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { darknodeID = toChecksumAddress(darknodeID.toLowerCase()); // Get eth Balance @@ -499,7 +502,7 @@ export const updateDarknodeStatistics = ( // Store details /////////////////////////////////////////////////////////// - const darknodeDetails = new DarknodeDetails({ + const darknodeDetails = new DarknodesState({ ID: darknodeID, multiAddress: "" as string, publicKey, @@ -526,8 +529,8 @@ export const updateOperatorStatistics = ( address: string, tokenPrices: TokenPrices | null, previousDarknodeList: List | null, -) => async (dispatch: Dispatch) => { - await updateCycleAndPendingRewards(web3, renNetwork, tokenPrices)(dispatch); +) => async (dispatch: AppDispatch) => { + await dispatch(updateCycleAndPendingRewards(web3, renNetwork, tokenPrices)); let darknodeList = previousDarknodeList || List(); @@ -544,7 +547,7 @@ export const updateOperatorStatistics = ( }); await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { - return updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)(dispatch); + return dispatch(updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)); }).toArray()); }; @@ -564,7 +567,7 @@ export const fetchDarknodeBalanceHistory = ( previousHistory: OrderedMap | null, historyPeriod: HistoryPeriods, secondsPerBlock: number, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { let balanceHistory = previousHistory || OrderedMap(); // If the page is kept open, the history data will keep growing, so we limit diff --git a/src/store/actions/statistics/operatorPopupActions.tsx b/src/store/statistics/operatorPopupActions.tsx similarity index 80% rename from src/store/actions/statistics/operatorPopupActions.tsx rename to src/store/statistics/operatorPopupActions.tsx index 50d66819..ac0c4ac8 100644 --- a/src/store/actions/statistics/operatorPopupActions.tsx +++ b/src/store/statistics/operatorPopupActions.tsx @@ -1,17 +1,18 @@ import * as React from "react"; +import {} from "redux"; import { RenNetworkDetails } from "@renproject/contracts"; -import { CurrencyIcon } from "@renproject/react-components"; +import { Currency, CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; -import { Dispatch } from "redux"; import Web3 from "web3"; -import { MultiStepPopup } from "../../../components/popups/MultiStepPopup"; -import { TokenBalance } from "../../../components/TokenBalance"; -import { _captureBackgroundException_ } from "../../../lib/errors"; -import { Token } from "../../../lib/ethereum/tokens"; -import { Currency, TokenPrices } from "../../types"; +import { MultiStepPopup } from "../../components/popups/MultiStepPopup"; +import { TokenBalance } from "../../components/TokenBalance"; +import { _captureBackgroundException_ } from "../../lib/errors"; +import { Token } from "../../lib/ethereum/tokens"; +import { TokenPrices } from "../../lib/tokenPrices"; import { setPopup } from "../popup/popupActions"; +import { AppDispatch } from "../rootReducer"; import { approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, } from "../trader/darknode"; @@ -24,14 +25,14 @@ export const showRegisterPopup = ( darknodeID: string, publicKey: string, minimumBond: BigNumber, - tokenPrices: TokenPrices, onCancel: () => void, onDone: () => void) => async (dispatch: Dispatch) => { + tokenPrices: TokenPrices, onCancel: () => void, onDone: () => void) => async (dispatch: AppDispatch) => { const step1 = async () => { - await approveNode(web3, renNetwork, address, minimumBond)(dispatch); + await dispatch(approveNode(web3, renNetwork, address, minimumBond)); }; const step2 = async () => { - await registerNode( + await dispatch(registerNode( web3, renNetwork, address, @@ -40,11 +41,11 @@ export const showRegisterPopup = ( minimumBond || new BigNumber(100000000000000000000000), onCancel, onDone - )(dispatch); + )); if (tokenPrices) { try { - await updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)(dispatch); + await dispatch(updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)); } catch (error) { _captureBackgroundException_(error, { description: "Error thrown in updateDarknodeStatistics in showRegisterPopup", @@ -85,10 +86,10 @@ export const showDeregisterPopup = ( quoteCurrency: Currency, onCancel: () => void, onDone: () => void -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { const step1 = async () => { - await deregisterNode(web3, renNetwork, address, darknodeID, onCancel, onDone)(dispatch); + await dispatch(deregisterNode(web3, renNetwork, address, darknodeID, onCancel, onDone)); }; const steps = [ @@ -138,10 +139,10 @@ export const showRefundPopup = ( darknodeID: string, onCancel: () => void, onDone: () => void, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { const step1 = async () => { - await refundNode(web3, renNetwork, address, darknodeID, onCancel, onDone)(dispatch); + await dispatch(refundNode(web3, renNetwork, address, darknodeID, onCancel, onDone)); }; const steps = [ @@ -172,10 +173,10 @@ export const showFundPopup = ( ethAmountStr: string, onCancel: () => void, onDone: () => void, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { const step1 = async () => { - await fundNode(web3, address, darknodeID, ethAmountStr, onCancel, onDone)(dispatch); + await dispatch(fundNode(web3, address, darknodeID, ethAmountStr, onCancel, onDone)); }; const steps = [ @@ -208,13 +209,13 @@ export const showClaimPopup = ( title: string, onCancel: () => void, onDone: () => void, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { const useFixedGasLimit = !claimBeforeCycle; const claimStep = { call: async () => { - await claimForNode(web3, renNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone)(dispatch); + await dispatch(claimForNode(web3, renNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone)); }, name: "Claim rewards", }; @@ -222,7 +223,7 @@ export const showClaimPopup = ( const ignoreError = claimBeforeCycle; const changeCycleStep = { call: async () => { - await changeCycle(web3, renNetwork, ignoreError, address, onCancel, onDone)(dispatch); + await dispatch(changeCycle(web3, renNetwork, ignoreError, address, onCancel, onDone)); }, name: `Change cycle${claimBeforeCycle ? " (optional)" : ""}`, }; diff --git a/src/store/reducers/statistics/statisticsReducer.ts b/src/store/statistics/statisticsReducer.ts similarity index 94% rename from src/store/reducers/statistics/statisticsReducer.ts rename to src/store/statistics/statisticsReducer.ts index d9f31dbf..2e26404d 100644 --- a/src/store/reducers/statistics/statisticsReducer.ts +++ b/src/store/statistics/statisticsReducer.ts @@ -1,18 +1,18 @@ import { List } from "immutable"; import { ActionType, getType } from "typesafe-actions"; -import { _captureInteractionException_ } from "../../../lib/errors"; -import * as networkActions from "../../actions/statistics/networkActions"; -import * as operatorActions from "../../actions/statistics/operatorActions"; -import { StatisticsData } from "../../types"; +import { _captureInteractionException_ } from "../../lib/errors"; +import { StatisticsState } from "../applicationState"; +import * as networkActions from "./networkActions"; +import * as operatorActions from "./operatorActions"; type NetworkAction = ActionType; type OperatorActions = ActionType; export const statisticsReducer = ( - state: StatisticsData = new StatisticsData(), + state: StatisticsState = new StatisticsState(), action: NetworkAction | OperatorActions -): StatisticsData => { +): StatisticsState => { switch (action.type) { case getType(networkActions.updateCurrentCycle): return state.set("currentCycle", action.payload); diff --git a/src/store/actions/trader/accountActions.tsx b/src/store/trader/accountActions.tsx similarity index 80% rename from src/store/actions/trader/accountActions.tsx rename to src/store/trader/accountActions.tsx index c62c1c90..30fbf9ce 100644 --- a/src/store/actions/trader/accountActions.tsx +++ b/src/store/trader/accountActions.tsx @@ -1,32 +1,33 @@ import * as Sentry from "@sentry/browser"; import * as React from "react"; +import {} from "redux"; import { RenNetworkDetails } from "@renproject/contracts"; -import { Dispatch } from "redux"; import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; import { provider } from "web3-providers"; import { toChecksumAddress } from "web3-utils"; -import { LoggedOut } from "../../../components/popups/LoggedOut"; -import { NoWeb3Popup } from "../../../components/popups/NoWeb3Popup"; -import { Language } from "../../../languages/language"; -import { _captureBackgroundException_ } from "../../../lib/errors"; -import { getWeb3BrowserName, Web3Browser } from "../../../lib/ethereum/browsers"; -import { getInjectedWeb3Provider } from "../../../lib/ethereum/wallet"; -import { history } from "../../../lib/history"; -import { readOnlyWeb3 } from "../../types"; +import { LoggedOut } from "../../components/popups/LoggedOut"; +import { NoWeb3Popup } from "../../components/popups/NoWeb3Popup"; +import { Language } from "../../languages/language"; +import { _captureBackgroundException_ } from "../../lib/errors"; +import { getWeb3BrowserName, Web3Browser } from "../../lib/ethereum/browsers"; +import { getInjectedWeb3Provider, readOnlyWeb3 } from "../../lib/ethereum/wallet"; +import { history } from "../../lib/history"; +import { ApplicationState } from "../applicationState"; import { clearPopup, setPopup } from "../popup/popupActions"; +import { AppDispatch } from "../rootReducer"; -export const storeWeb3 = createStandardAction("storeWeb3")(); -export const storeAddress = createStandardAction("storeAddress")(); -export const storeRenNetwork = createStandardAction("storeRenNetwork")(); +export const storeWeb3 = createStandardAction("STORE_WEB3")(); +export const storeAddress = createStandardAction("STORE_ADDRESS")(); +export const storeRenNetwork = createStandardAction("STORE_REN_NETWORK")(); -export const storeWeb3BrowserName = createStandardAction("storeWeb3BrowserName")(); +export const storeWeb3BrowserName = createStandardAction("STORE_WEB3_BROWSER_NAME")(); export const updateWeb3BrowserName = ( newProvider: provider, -) => (dispatch: Dispatch) => { +) => (dispatch: AppDispatch) => { /* // Check for mobile const { userAgent: ua } = navigator @@ -42,10 +43,10 @@ export const updateWeb3BrowserName = ( export const login = ( renNetwork: RenNetworkDetails, options: { redirect: boolean; showPopup: boolean; immediatePopup: boolean }, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { let cancelled = false; - const onClick = async () => (login(renNetwork, { redirect: false, showPopup: true, immediatePopup: true })(dispatch)); + const onClick = async () => (dispatch(login(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }))); const onCancel = () => { dispatch(clearPopup()); cancelled = true; @@ -97,7 +98,7 @@ export const login = ( // Even if the provider is on the wrong network, etc., we can still // detect the browser name (MetaMask, Status, etc.) const onAnyProvider = (anyProvider: provider) => { - updateWeb3BrowserName(anyProvider)(dispatch); + dispatch(updateWeb3BrowserName(anyProvider)); }; newProvider = await getInjectedWeb3Provider(onAnyProvider); @@ -174,7 +175,7 @@ export const login = ( export const logout = ( options: { reload: boolean }, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { // Clear session account in store (and in local storage) dispatch(storeAddress(null)); @@ -195,11 +196,8 @@ export const logout = ( // lookForLogout detects if 1) the user has changed or logged out of their Web3 // wallet -export const lookForLogout = ( - renNetwork: RenNetworkDetails, - address: string, - web3: Web3, -) => async (dispatch: Dispatch) => { +export const lookForLogout = () => async (dispatch: AppDispatch, getState: () => ApplicationState) => { + const { renNetwork, address, web3 } = getState().trader; if (!address) { return; @@ -210,15 +208,15 @@ export const lookForLogout = ( if (!accounts.includes(address.toLowerCase())) { const onClick = async () => { - await logout({ reload: true })(dispatch).catch((error) => { + await dispatch(logout({ reload: true })).catch((error) => { _captureBackgroundException_(error, { description: "Error in logout in accountActions", }); }); - await login(renNetwork, { redirect: false, showPopup: true, immediatePopup: false })(dispatch); + await dispatch(login(renNetwork, { redirect: false, showPopup: true, immediatePopup: false })); }; const onCancel = async () => { - await logout({ reload: true })(dispatch).catch((error) => { + await dispatch(logout({ reload: true })).catch((error) => { _captureBackgroundException_(error, { description: "Error in logout in accountActions", }); diff --git a/src/store/actions/trader/darknode.tsx b/src/store/trader/darknode.tsx similarity index 78% rename from src/store/actions/trader/darknode.tsx rename to src/store/trader/darknode.tsx index 14cd760d..77a18f16 100644 --- a/src/store/actions/trader/darknode.tsx +++ b/src/store/trader/darknode.tsx @@ -1,18 +1,19 @@ import * as React from "react"; +// import { decode as decode58 } from "bs58"; import { mainnet, RenNetworkDetails } from "@renproject/contracts"; import BigNumber from "bignumber.js"; -// import { decode as decode58 } from "bs58"; -import { Dispatch } from "redux"; import Web3 from "web3"; -import { WithdrawPopup } from "../../../components/popups/WithdrawPopup"; -import { alreadyPast } from "../../../lib/conversion"; -import { _noCapture_ } from "../../../lib/errors"; -import { DarknodePaymentWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodePayment"; -import { DarknodeRegistryWeb3 } from "../../../lib/ethereum/contracts/bindings/darknodeRegistry"; -import { AllTokenDetails, OldToken, Token } from "../../../lib/ethereum/tokens"; +import { WithdrawPopup } from "../../components/popups/WithdrawPopup"; +import { alreadyPast } from "../../lib/conversion"; +import { _noCapture_ } from "../../lib/errors"; +import { DarknodePaymentWeb3 } from "../../lib/ethereum/contracts/bindings/darknodePayment"; +import { DarknodeRegistryWeb3 } from "../../lib/ethereum/contracts/bindings/darknodeRegistry"; +import { AllTokenDetails, OldToken, Token } from "../../lib/ethereum/tokens"; +import { ApplicationState } from "../applicationState"; import { clearPopup, setPopup } from "../popup/popupActions"; +import { AppDispatch } from "../rootReducer"; import { waitForTX } from "../statistics/operatorActions"; // export const bridgedToken = (web3: Web3, renNetwork: RenNetworkDetails, address: string): Contract => { @@ -49,21 +50,30 @@ import { waitForTX } from "../statistics/operatorActions"; // }; const withdrawOldToken = ( - web3: Web3, - renNetwork: typeof mainnet, - trader: string, darknodeID: string, token: Token | OldToken, -) => async (dispatch: Dispatch) => new Promise(async (resolve, reject) => { +) => async (dispatch: AppDispatch, getState: () => ApplicationState) => new Promise(async (resolve, reject) => { + const { web3, renNetwork, address } = getState().trader; + + if (renNetwork.name !== "mainnet") { + throw new Error(`Withdrawing old tokens not supported on network ${renNetwork.name}`); + } + + if (!address) { + throw new Error(`Unable to retrieve account address.`); + } + + const network = renNetwork as typeof mainnet; + try { const contract = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRewardVault.abi, - renNetwork.addresses.ren.DarknodeRewardVault.address + network.addresses.ren.DarknodeRewardVault.abi, + network.addresses.ren.DarknodeRewardVault.address ); - await waitForTX( - contract.methods.withdraw(darknodeID, renNetwork.addresses.oldTokens[token].address).send({ from: trader }), + await dispatch(waitForTX( + contract.methods.withdraw(darknodeID, network.addresses.oldTokens[token].address).send({ from: address }), resolve, - )(dispatch); + )); } catch (error) { reject(error); return; @@ -71,18 +81,20 @@ const withdrawOldToken = ( }); export const withdrawToken = ( - web3: Web3, - renNetwork: RenNetworkDetails, - trader: string, darknodeID: string, token: Token | OldToken, -) => async (dispatch: Dispatch) => new Promise(async (resolve, reject) => { +) => async (dispatch: AppDispatch, getState: () => ApplicationState) => new Promise(async (resolve, reject) => { + const { renNetwork, web3, address } = getState().trader; const tokenDetails = AllTokenDetails.get(token); if (tokenDetails === undefined) { throw new Error("Unknown token"); } + if (!address) { + throw new Error(`Unable to retrieve account address.`); + } + const withdraw = async (_withdrawAddress?: string) => { const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( @@ -94,10 +106,10 @@ export const withdrawToken = ( throw new Error("Unknown token"); } - await waitForTX( - darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token]).send({ from: trader }), + await dispatch(waitForTX( + darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token]).send({ from: address }), resolve, - )(dispatch); + )); // if (tokenDetails.wrapped) { // if (!withdrawAddress) { @@ -137,12 +149,10 @@ export const withdrawToken = ( }); export const withdrawReward = ( - web3: Web3, - renNetwork: RenNetworkDetails, - trader: string, darknodeID: string, token: Token | OldToken, -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch, getState: () => ApplicationState) => { + const { renNetwork } = getState().trader; const tokenDetails = AllTokenDetails.get(token); if (tokenDetails === undefined) { @@ -150,9 +160,9 @@ export const withdrawReward = ( } if (tokenDetails.old && renNetwork.name === "mainnet") { - await withdrawOldToken(web3, renNetwork as typeof mainnet, trader, darknodeID, token)(dispatch); + await withdrawOldToken(darknodeID, token)(dispatch, getState); } else { - await withdrawToken(web3, renNetwork, trader, darknodeID, token)(dispatch); + await withdrawToken(darknodeID, token)(dispatch, getState); } }; @@ -161,7 +171,7 @@ export const approveNode = ( renNetwork: RenNetworkDetails, trader: string, bond: BigNumber -) => async (dispatch: Dispatch) => { +) => async (dispatch: AppDispatch) => { // tslint:disable-next-line:no-non-null-assertion const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); const ercBalance = new BigNumber(await ercContract.methods.balanceOf(trader).call()); @@ -178,9 +188,9 @@ export const approveNode = ( throw _noCapture_(new Error("You have insufficient REN to register a darknode.")); } - return waitForTX( + return dispatch(waitForTX( ercContract.methods.approve(renNetwork.addresses.ren.DarknodeRegistry.address, bond.toFixed()).send({ from: trader }) - )(dispatch); + )); }; export const registerNode = ( @@ -192,7 +202,7 @@ export const registerNode = ( bond: BigNumber, onCancel: () => void, onDone: () => void -) => async (dispatch: Dispatch): Promise => { +) => async (dispatch: AppDispatch): Promise => { const hardCodedGas = 500000; @@ -215,10 +225,10 @@ export const registerNode = ( ); try { - const res = await waitForTX( + const res = await dispatch(waitForTX( darknodeRegistry.methods.register(darknodeID, publicKey, bond.toFixed()).send({ from: trader, gas }), onDone - )(dispatch); + )); resolved = true; return res; } catch (error) { @@ -234,7 +244,7 @@ export const deregisterNode = ( darknodeID: string, onCancel: () => void, onDone: () => void -) => async (dispatch: Dispatch): Promise => { +) => async (dispatch: AppDispatch): Promise => { // The node has been registered and can be deregistered. let resolved = false; @@ -243,10 +253,10 @@ export const deregisterNode = ( renNetwork.addresses.ren.DarknodeRegistry.address ); try { - const res = await waitForTX( + const res = await dispatch(waitForTX( darknodeRegistry.methods.deregister(darknodeID).send({ from: trader }), onDone - )(dispatch); + )); resolved = true; return res; } catch (error) { @@ -262,7 +272,7 @@ export const refundNode = ( darknodeID: string, onCancel: () => void, onDone: () => void -) => async (dispatch: Dispatch): Promise => { +) => async (dispatch: AppDispatch): Promise => { // The node is awaiting refund. let resolved = false; @@ -272,10 +282,10 @@ export const refundNode = ( ); try { - const res = await waitForTX( + const res = await dispatch(waitForTX( darknodeRegistry.methods.refund(darknodeID).send({ from: trader }), onDone - )(dispatch); + )); resolved = true; return res; } catch (error) { @@ -291,7 +301,7 @@ export const fundNode = ( ethAmountStr: string, onCancel: () => void, onDone: () => void -) => async (dispatch: Dispatch): Promise => { +) => async (dispatch: AppDispatch): Promise => { // Convert eth to wei const ethAmount = new BigNumber(ethAmountStr); const weiAmount = ethAmount.times(new BigNumber(10).exponentiatedBy(18)).decimalPlaces(0); @@ -305,10 +315,10 @@ export const fundNode = ( }); try { - const res = await waitForTX( + const res = await dispatch(waitForTX( call(), onDone - )(dispatch); + )); resolved = true; return res; } catch (error) { @@ -325,7 +335,7 @@ export const claimForNode = ( darknodeID: string, onCancel: () => void, onDone: () => void -) => async (dispatch: Dispatch): Promise => { +) => async (dispatch: AppDispatch): Promise => { // Convert eth to wei const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( @@ -338,10 +348,10 @@ export const claimForNode = ( const call = () => darknodePayment.methods.claim(darknodeID).send({ from: address, gas: useFixedGasLimit ? 200000 : undefined }); try { - const res = await waitForTX( + const res = await dispatch(waitForTX( call(), onDone - )(dispatch); + )); resolved = true; return res; } catch (error) { @@ -357,7 +367,7 @@ export const changeCycle = ( address: string, onCancel: () => void, onDone: () => void -) => async (dispatch: Dispatch): Promise => { +) => async (dispatch: AppDispatch): Promise => { // Convert eth to wei const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( @@ -380,10 +390,10 @@ export const changeCycle = ( const call = () => darknodePayment.methods.changeCycle().send({ from: address }); try { - const res = await waitForTX( + const res = await dispatch(waitForTX( call(), onDone, - )(dispatch); + )); resolved = true; return res; } catch (error) { diff --git a/src/store/reducers/trader/traderReducer.ts b/src/store/trader/traderReducer.ts similarity index 74% rename from src/store/reducers/trader/traderReducer.ts rename to src/store/trader/traderReducer.ts index b5dbfc5d..d780cec9 100644 --- a/src/store/reducers/trader/traderReducer.ts +++ b/src/store/trader/traderReducer.ts @@ -1,11 +1,11 @@ import { ActionType, getType } from "typesafe-actions"; -import * as accountActions from "../../actions/trader/accountActions"; -import { TraderData } from "../../types"; +import { TraderState } from "../applicationState"; +import * as accountActions from "./accountActions"; type AccountAction = ActionType; -export const traderReducer = (state: TraderData = new TraderData(), action: AccountAction): TraderData => { +export const traderReducer = (state: TraderState = new TraderState(), action: AccountAction): TraderState => { switch (action.type) { case getType(accountActions.storeAddress): return state.set("address", action.payload); diff --git a/src/store/ui/uiActions.ts b/src/store/ui/uiActions.ts new file mode 100644 index 00000000..0c3878f2 --- /dev/null +++ b/src/store/ui/uiActions.ts @@ -0,0 +1,4 @@ +import { createStandardAction } from "typesafe-actions"; + +export const showMobileMenu = createStandardAction("SHOW_MOBILE_MENU")(); +export const hideMobileMenu = createStandardAction("HIDE_MOBILE_MENU")(); diff --git a/src/store/reducers/ui/uiReducer.ts b/src/store/ui/uiReducer.ts similarity index 68% rename from src/store/reducers/ui/uiReducer.ts rename to src/store/ui/uiReducer.ts index 5940dce0..c76e1bde 100644 --- a/src/store/reducers/ui/uiReducer.ts +++ b/src/store/ui/uiReducer.ts @@ -1,12 +1,11 @@ import { ActionType, getType } from "typesafe-actions"; -import * as uiActions from "../../actions/ui/uiActions"; - -import { UIData } from "../../types"; +import { UIState } from "../applicationState"; +import * as uiActions from "./uiActions"; type UIAction = ActionType; -export const uiReducer = (state: UIData = new UIData(), action: UIAction): UIData => { +export const uiReducer = (state: UIState = new UIState(), action: UIAction): UIState => { switch (action.type) { case getType(uiActions.showMobileMenu): return state.set("mobileMenuActive", true); From 3699130ddd62dca652247561bf13fc42460c34cd Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 13:19:16 +1000 Subject: [PATCH 019/117] Move contract calls from actions to lib --- package.json | 2 + src/components/AccountDropdown.tsx | 2 +- src/components/App.tsx | 2 +- src/components/BackgroundTasks.tsx | 2 +- src/components/ErrorBoundary.tsx | 2 +- src/components/darknodeList/DarknodeCard.tsx | 5 +- src/components/pages/Darknode.tsx | 7 +- src/components/popups/MultiStepPopup.tsx | 4 +- src/components/popups/SelectWeb3Account.tsx | 2 +- src/components/sidebar/Sidebar.tsx | 2 +- src/components/statuspage/FeesItem.tsx | 5 +- src/components/statuspage/Notifications.tsx | 2 +- src/components/statuspage/Registration.tsx | 5 +- src/components/statuspage/StatusPage.tsx | 3 +- src/components/statuspage/block/FeesBlock.tsx | 3 +- src/components/statuspage/block/GasGraph.tsx | 11 +- .../statuspage/topup/TopUpController.ts | 2 +- src/index.tsx | 10 +- src/lib/encodedData.ts | 3 +- src/lib/ethereum/browsers.ts | 7 + src/lib/ethereum/network.spec.ts | 16 + src/lib/ethereum/network.ts | 428 +++++++++++++++++- src/lib/ethereum/operator.ts | 324 ++++++++++++- src/lib/ethereum/wallet.ts | 4 +- src/lib/{ => react}/connectUnstated.tsx | 0 src/lib/{ => react}/environmentVariables.ts | 0 src/lib/{ => react}/errors.ts | 2 +- src/lib/{ => react}/history.ts | 0 src/lib/{ => react}/onLoad.ts | 0 src/lib/{ => react}/serializable.ts | 0 src/lib/record.ts | 82 ---- src/store/applicationState.ts | 11 +- src/store/configureStore.ts | 13 +- src/store/persistConfig.ts | 2 +- src/store/statistics/operatorActions.ts | 413 +---------------- src/store/statistics/operatorPopupActions.tsx | 29 +- src/store/statistics/statisticsReducer.ts | 2 +- src/store/trader/accountActions.tsx | 67 +-- src/store/trader/darknode.tsx | 328 +------------- src/store/trader/traderReducer.ts | 10 +- yarn.lock | 49 ++ 41 files changed, 931 insertions(+), 930 deletions(-) create mode 100644 src/lib/ethereum/network.spec.ts rename src/lib/{ => react}/connectUnstated.tsx (100%) rename src/lib/{ => react}/environmentVariables.ts (100%) rename src/lib/{ => react}/errors.ts (99%) rename src/lib/{ => react}/history.ts (100%) rename src/lib/{ => react}/onLoad.ts (100%) rename src/lib/{ => react}/serializable.ts (100%) delete mode 100644 src/lib/record.ts diff --git a/package.json b/package.json index 20fc08be..6a1f5719 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,9 @@ "web3-utils": "^2.0.0-alpha" }, "devDependencies": { + "@types/chai": "^4.1.7", "any-promise": "^1.3.0", + "chai": "^4.2.0", "npm-check-updates": "^3.1.20", "ts-unused-exports": "^2.0.11", "tslint": "^5.18.0", diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index 3cdad405..d2552cc1 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -140,7 +140,7 @@ class AccountDropdownClass extends React.Component { } private readonly handleLogout = async (): Promise => { - await this.props.actions.logout({ reload: false }); + this.props.actions.logout(); } private readonly copyToClipboard = (e: React.MouseEvent): void => { diff --git a/src/components/App.tsx b/src/components/App.tsx index 3cc8bfe7..2f013c4c 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -4,7 +4,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; -import { DEFAULT_REN_NETWORK } from "../lib/environmentVariables"; +import { DEFAULT_REN_NETWORK } from "../lib/react/environmentVariables"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; import { BackgroundTasks } from "./BackgroundTasks"; diff --git a/src/components/BackgroundTasks.tsx b/src/components/BackgroundTasks.tsx index 3b097104..174819c4 100644 --- a/src/components/BackgroundTasks.tsx +++ b/src/components/BackgroundTasks.tsx @@ -5,7 +5,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../lib/errors"; +import { _captureBackgroundException_ } from "../lib/react/errors"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; import { updateNetworkStatistics, updateTokenPrices } from "../store/statistics/networkActions"; diff --git a/src/components/ErrorBoundary.tsx b/src/components/ErrorBoundary.tsx index 977577f7..bfc410d5 100644 --- a/src/components/ErrorBoundary.tsx +++ b/src/components/ErrorBoundary.tsx @@ -1,7 +1,7 @@ import * as Sentry from "@sentry/browser"; import * as React from "react"; -import { _captureComponentException_ } from "../lib/errors"; +import { _captureComponentException_ } from "../lib/react/errors"; const defaultState = { // Entries must be immutable error: null as null | Error, diff --git a/src/components/darknodeList/DarknodeCard.tsx b/src/components/darknodeList/DarknodeCard.tsx index 12a7ab8a..975c5db0 100644 --- a/src/components/darknodeList/DarknodeCard.tsx +++ b/src/components/darknodeList/DarknodeCard.tsx @@ -3,11 +3,10 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; +import { RegistrationStatus } from "../../lib/ethereum/network"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; -import { - RegistrationStatus, removeDarknode, removeRegisteringDarknode, -} from "../../store/statistics/operatorActions"; +import { removeDarknode, removeRegisteringDarknode } from "../../store/statistics/operatorActions"; import { darknodeIDHexToBase58 } from "../pages/Darknode"; import { CardView } from "./CardView"; diff --git a/src/components/pages/Darknode.tsx b/src/components/pages/Darknode.tsx index 427b7db8..ba5a86bb 100644 --- a/src/components/pages/Darknode.tsx +++ b/src/components/pages/Darknode.tsx @@ -7,11 +7,10 @@ import { bindActionCreators } from "redux"; import { toChecksumAddress } from "web3-utils"; import { EncodedData, Encodings } from "../../lib/encodedData"; +import { RegistrationStatus } from "../../lib/ethereum/network"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; -import { - addRegisteringDarknode, RegistrationStatus, setDarknodeName, -} from "../../store/statistics/operatorActions"; +import { addRegisteringDarknode, setDarknodeName } from "../../store/statistics/operatorActions"; import { _catch_ } from "../ErrorBoundary"; import { StatusPage } from "../statuspage/StatusPage"; import { NotFound } from "./NotFound"; @@ -22,7 +21,7 @@ export enum DarknodeAction { Deregister = "deregister", } -const darknodeIDBase58ToHex = (darknodeID: string): string => +export const darknodeIDBase58ToHex = (darknodeID: string): string => toChecksumAddress( (`0x${new EncodedData(darknodeID, Encodings.BASE58).toHex("").slice(4)}`).toLowerCase() ); diff --git a/src/components/popups/MultiStepPopup.tsx b/src/components/popups/MultiStepPopup.tsx index 7df230fd..a687a7a4 100644 --- a/src/components/popups/MultiStepPopup.tsx +++ b/src/components/popups/MultiStepPopup.tsx @@ -5,8 +5,10 @@ import BigNumber from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { _captureBackgroundException_, _captureInteractionException_ } from "../../lib/errors"; import { ErrorCanceledByUser } from "../../lib/ethereum/wallet"; +import { + _captureBackgroundException_, _captureInteractionException_, +} from "../../lib/react/errors"; import { ApplicationState } from "../../store/applicationState"; import { clearPopup } from "../../store/popup/popupActions"; import { AppDispatch } from "../../store/rootReducer"; diff --git a/src/components/popups/SelectWeb3Account.tsx b/src/components/popups/SelectWeb3Account.tsx index 4b4c2330..bb4a4b93 100644 --- a/src/components/popups/SelectWeb3Account.tsx +++ b/src/components/popups/SelectWeb3Account.tsx @@ -4,7 +4,7 @@ import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../lib/errors"; +import { _captureBackgroundException_ } from "../../lib/react/errors"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; diff --git a/src/components/sidebar/Sidebar.tsx b/src/components/sidebar/Sidebar.tsx index 52a3c2a6..0ff38b72 100644 --- a/src/components/sidebar/Sidebar.tsx +++ b/src/components/sidebar/Sidebar.tsx @@ -6,9 +6,9 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link } from "react-router-dom"; import { bindActionCreators } from "redux"; +import { RegistrationStatus } from "../../lib/ethereum/network"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; -import { RegistrationStatus } from "../../store/statistics/operatorActions"; import { hideMobileMenu } from "../../store/ui/uiActions"; import { SidebarIcon } from "./SidebarIcon"; diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index 182633e8..f10225e7 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -10,7 +10,7 @@ import { bindActionCreators } from "redux"; import { OldToken, Token } from "../../lib/ethereum/tokens"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; -import { updateDarknodeStatistics } from "../../store/statistics/operatorActions"; +import { updateDarknodeStatistics, waitForTX } from "../../store/statistics/operatorActions"; import { withdrawReward } from "../../store/trader/darknode"; const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { @@ -23,7 +23,7 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: if (address) { try { // tslint:disable-next-line: await-promise - await actions.withdrawReward(darknodeID, token); + await actions.withdrawReward(darknodeID, token, actions.waitForTX); } catch (error) { setLoading(false); return; @@ -61,6 +61,7 @@ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ withdrawReward, updateDarknodeStatistics, + waitForTX, }, dispatch), }); diff --git a/src/components/statuspage/Notifications.tsx b/src/components/statuspage/Notifications.tsx index fdf1ced4..22450818 100644 --- a/src/components/statuspage/Notifications.tsx +++ b/src/components/statuspage/Notifications.tsx @@ -6,8 +6,8 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import BigNumber from "bignumber.js"; +import { RegistrationStatus } from "../../lib/ethereum/network"; import { DarknodesState } from "../../store/applicationState"; -import { RegistrationStatus } from "../../store/statistics/operatorActions"; const lowValue = new BigNumber(Math.pow(10, 18)).multipliedBy(0.1); diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index 7aaa83a8..01d94be3 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -4,11 +4,12 @@ import { Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { _captureInteractionException_ } from "../../lib/errors"; +import { RegistrationStatus } from "../../lib/ethereum/network"; +import { _captureInteractionException_ } from "../../lib/react/errors"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; import { - RegistrationStatus, updateDarknodeStatistics, updateOperatorStatistics, + updateDarknodeStatistics, updateOperatorStatistics, } from "../../store/statistics/operatorActions"; import { showDeregisterPopup, showRefundPopup, showRegisterPopup, diff --git a/src/components/statuspage/StatusPage.tsx b/src/components/statuspage/StatusPage.tsx index 90f2afe0..33c4bf20 100644 --- a/src/components/statuspage/StatusPage.tsx +++ b/src/components/statuspage/StatusPage.tsx @@ -4,9 +4,10 @@ import { Blocky, InfoLabel } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; +import { RegistrationStatus } from "../../lib/ethereum/network"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; -import { RegistrationStatus, setDarknodeName } from "../../store/statistics/operatorActions"; +import { setDarknodeName } from "../../store/statistics/operatorActions"; import { DarknodeID } from "../DarknodeID"; import { DarknodeAction } from "../pages/Darknode"; import { FeesBlock } from "./block/FeesBlock"; diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index 018d7194..2e29461f 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -11,11 +11,12 @@ import { bindActionCreators } from "redux"; import { alreadyPast, naturalTime } from "../../../lib/conversion"; import { DarknodeFeeStatus } from "../../../lib/darknodeFeeStatus"; +import { RegistrationStatus } from "../../../lib/ethereum/network"; import { OldToken, Token } from "../../../lib/ethereum/tokens"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; import { - RegistrationStatus, updateCycleAndPendingRewards, updateDarknodeStatistics, + updateCycleAndPendingRewards, updateDarknodeStatistics, } from "../../../store/statistics/operatorActions"; import { showClaimPopup } from "../../../store/statistics/operatorPopupActions"; import { TokenBalance } from "../../TokenBalance"; diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/statuspage/block/GasGraph.tsx index 678e724b..b44b30a4 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/statuspage/block/GasGraph.tsx @@ -9,11 +9,12 @@ import { Scatter } from "react-chartjs-2"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../../lib/errors"; +import { HistoryIterations, HistoryPeriods } from "../../../lib/ethereum/network"; +import { _captureBackgroundException_ } from "../../../lib/react/errors"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; import { - calculateSecondsPerBlock, fetchDarknodeBalanceHistory, HistoryIterations, HistoryPeriods, + updateDarknodeBalanceHistory, updateSecondsPerBlock, } from "../../../store/statistics/operatorActions"; import { Block, BlockBody, BlockTitle } from "./Block"; @@ -82,7 +83,7 @@ class GasGraphClass extends React.Component { this._isMounted = true; const { store: { secondsPerBlock, web3 } } = this.props; if (secondsPerBlock === null) { - this.props.actions.calculateSecondsPerBlock(web3) + this.props.actions.updateSecondsPerBlock(web3) .catch((error) => { _captureBackgroundException_(error, { description: "Error in componentDidMount in GasGraph", @@ -296,8 +297,8 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - fetchDarknodeBalanceHistory, - calculateSecondsPerBlock, + fetchDarknodeBalanceHistory: updateDarknodeBalanceHistory, + updateSecondsPerBlock, }, dispatch), }); diff --git a/src/components/statuspage/topup/TopUpController.ts b/src/components/statuspage/topup/TopUpController.ts index 6b20000b..54ed5609 100644 --- a/src/components/statuspage/topup/TopUpController.ts +++ b/src/components/statuspage/topup/TopUpController.ts @@ -3,7 +3,7 @@ import { Component, createElement } from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../../lib/errors"; +import { _captureBackgroundException_ } from "../../../lib/react/errors"; import { ApplicationState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; import { updateDarknodeStatistics } from "../../../store/statistics/operatorActions"; diff --git a/src/index.tsx b/src/index.tsx index df988373..6897d1c7 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -9,10 +9,10 @@ import { PersistGate } from "redux-persist/integration/react"; import { App } from "./components/App"; import { _catch_ } from "./components/ErrorBoundary"; -import { NODE_ENV } from "./lib/environmentVariables"; -import { history } from "./lib/history"; -import { onLoad } from "./lib/onLoad"; -import { configureStore } from "./store/configureStore"; +import { NODE_ENV } from "./lib/react/environmentVariables"; +import { history } from "./lib/react/history"; +import { onLoad } from "./lib/react/onLoad"; +import { persistor, store } from "./store/configureStore"; // Redirect to https if we aren't serving locally if (NODE_ENV !== "development") { @@ -24,8 +24,6 @@ if (NODE_ENV !== "development") { } } -const { store, persistor } = configureStore(); - onLoad("Command Center"); ReactDOM.render( diff --git a/src/lib/encodedData.ts b/src/lib/encodedData.ts index 7662b04e..4b37fe5c 100644 --- a/src/lib/encodedData.ts +++ b/src/lib/encodedData.ts @@ -1,7 +1,6 @@ +import { Record } from "@renproject/react-components"; import base58 from "bs58"; -import { Record } from "./record"; - export enum Encodings { AUTO = "auto", UNKNOWN = "unknown", diff --git a/src/lib/ethereum/browsers.ts b/src/lib/ethereum/browsers.ts index e413fdd8..4458dc00 100644 --- a/src/lib/ethereum/browsers.ts +++ b/src/lib/ethereum/browsers.ts @@ -23,6 +23,13 @@ export enum Web3Browser { } export const getWeb3BrowserName = (newProvider: provider): Web3Browser => { + /* + // Check for mobile + const { userAgent: ua } = navigator + const isIOS = ua.includes('iPhone') // “iPhone OS” + const isAndroid = ua.includes('Android') + */ + // tslint:disable:no-any if ((newProvider as any).isToshi) { // Toshi has become Coinbase wallet diff --git a/src/lib/ethereum/network.spec.ts b/src/lib/ethereum/network.spec.ts new file mode 100644 index 00000000..bf7dfa0b --- /dev/null +++ b/src/lib/ethereum/network.spec.ts @@ -0,0 +1,16 @@ +import { testnet } from "@renproject/contracts"; +import { should } from "chai"; + +import { darknodeIDBase58ToHex } from "../../components/pages/Darknode"; +import { getDarknodeStatus, RegistrationStatus } from "./network"; +import { readOnlyWeb3 } from "./wallet"; + +should(); + +test("getDarknodeStatus", async () => { + const web3 = readOnlyWeb3; + const network = testnet; + const darknodeID = darknodeIDBase58ToHex("8MJpA1rXYMPTeJoYjsFBHJcuYBe7zQ"); + (await getDarknodeStatus(web3, network, darknodeID)) + .should.equal(RegistrationStatus.Registered); +}); diff --git a/src/lib/ethereum/network.ts b/src/lib/ethereum/network.ts index 860c16b3..cc6d17c2 100644 --- a/src/lib/ethereum/network.ts +++ b/src/lib/ethereum/network.ts @@ -1,6 +1,19 @@ -export const TODO = "TODO"; +import { mainnet, RenNetworkDetails } from "@renproject/contracts"; +import { Currency } from "@renproject/react-components"; +import BigNumber from "bignumber.js"; +import { List, OrderedMap } from "immutable"; +import Web3 from "web3"; +import { Block } from "web3-eth"; +import { toChecksumAddress } from "web3-utils"; -// Not currently used +import { DarknodesState } from "../../store/applicationState"; +import { DarknodeFeeStatus } from "../darknodeFeeStatus"; +import { DarknodePaymentWeb3 } from "../ethereum/contracts/bindings/darknodePayment"; +import { DarknodePaymentStoreWeb3 } from "../ethereum/contracts/bindings/darknodePaymentStore"; +import { DarknodeRegistryWeb3 } from "../ethereum/contracts/bindings/darknodeRegistry"; +import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../ethereum/tokens"; +import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; +import { TokenPrices } from "../tokenPrices"; // export const getDarknodeCount = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { // const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( @@ -13,3 +26,414 @@ export const TODO = "TODO"; // } // return new BigNumber(darknodeCount.toString()); // }; + +export enum RegistrationStatus { + Unknown = "", + Unregistered = "unregistered", + RegistrationPending = "registration pending", + Registered = "registered", + DeregistrationPending = "deregistration pending", + Deregistered = "awaiting refund period", + Refundable = "refundable", +} + +export const getDarknodeStatus = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { + const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + + const [ + isPendingRegistration, + isPendingDeregistration, + isDeregisterable, + isRefunded, + isRefundable, + ] = await Promise.all([ + darknodeRegistry.methods.isPendingRegistration(darknodeID).call(), + darknodeRegistry.methods.isPendingDeregistration(darknodeID).call(), + darknodeRegistry.methods.isDeregisterable(darknodeID).call(), + darknodeRegistry.methods.isRefunded(darknodeID).call(), + darknodeRegistry.methods.isRefundable(darknodeID).call(), + ]); + + if (isRefunded) { + return RegistrationStatus.Unregistered; + } else if (isPendingRegistration) { + return RegistrationStatus.RegistrationPending; + } else if (isDeregisterable) { + return RegistrationStatus.Registered; + } else if (isPendingDeregistration) { + return RegistrationStatus.DeregistrationPending; + } else if (isRefundable) { + return RegistrationStatus.Refundable; + } else { + return RegistrationStatus.Deregistered; + } +}; + +export const getOldBalances = async ( + web3: Web3, + renNetwork: typeof mainnet, + darknodeID: string, +): Promise> => { + + const contract = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRewardVault.abi, + renNetwork.addresses.ren.DarknodeRewardVault.address, + ); + + let feesEarned = OrderedMap(); + + const balances = OldTokenDetails.map(async (_tokenDetails, token) => { + + const balance = new BigNumber(await contract.methods.darknodeBalances(darknodeID, renNetwork.addresses.oldTokens[token].address).call()); + + return { + balance, + token, + }; + }).valueSeq(); + // TODO: Don't use Promise.all + const res = await Promise.all(balances); + + for (const { balance, token } of res) { + feesEarned = feesEarned.set(token, balance); + } + + return feesEarned; +}; + +// FIXME: safePromiseAllList still throws uncaught error +// The same as Promise.all except that if an entry throws, it sets it to the +// provided default value instead of throwing the entire promise. +const safePromiseAllList = async (orderedMap: List>, defaultValue: b): Promise> => { + let newOrderedMap = List(); + for (const valueP of orderedMap.toArray()) { + try { + newOrderedMap = newOrderedMap.push(await valueP); + } catch (error) { + console.error(error); + newOrderedMap = newOrderedMap.push(defaultValue); + } + } + return newOrderedMap; +}; + +// The same as Promise.all except that if an entry throws, it sets it to the +// provided default value instead of throwing the entire promise. +// This variation maps over an OrderedMap instead of an array. +export const safePromiseAllMap = async (orderedMap: OrderedMap>, defaultValue: b): Promise> => { + let newOrderedMap = OrderedMap(); + for (const [key, valueP] of orderedMap.toArray()) { + try { + newOrderedMap = newOrderedMap.set(key, await valueP); + } catch (error) { + console.error(error); + newOrderedMap = newOrderedMap.set(key, defaultValue); + } + } + return newOrderedMap; +}; + +const getBalances = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + darknodeID: string, +): Promise> => { + + const contract: DarknodePaymentWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address, + ); + + let feesEarned = OrderedMap(); + + // const address = (await web3.eth.getAccounts())[0]; + + const balances = await safePromiseAllList( + NewTokenDetails.map(async (_tokenDetails, token) => { + let balance1; + try { + const balance1Call = await contract.methods.darknodeBalances(darknodeID, renNetwork.addresses.tokens[token]).call(); + balance1 = new BigNumber((balance1Call || "0").toString()); + } catch (error) { + balance1 = new BigNumber(0); + } + // const balance2 = tokenDetails.wrapped ? await new (web3.eth.Contract)( + // contracts.WarpGateToken.abi, + // tokenDetails.address, + // ).methods.balanceOf(address).call() : new BigNumber(0); + + return { + balance: balance1, // .plus(balance2), + token: token as Token | null, + }; + }).valueSeq().toList(), + { + balance: new BigNumber(0), + token: null, + } + ); + + for (const { balance, token } of balances.toArray()) { + if (token) { + feesEarned = feesEarned.set(token, balance); + } + } + + return feesEarned; +}; + +export const sumUpFeeMap = ( + feesEarned: OrderedMap, + tokenPrices: TokenPrices, +): BigNumber => { + + let totalEth = new BigNumber(0); + + NewTokenDetails.map((tokenDetails, token) => { + const price = tokenPrices.get(token, undefined); + const decimals = tokenDetails ? new BigNumber(tokenDetails.decimals.toString()).toNumber() : 0; + const inEth = feesEarned.get(token, new BigNumber(0)) + .div(Math.pow(10, decimals)) + .multipliedBy(price ? price.get(Currency.ETH, 0) : 0); + totalEth = totalEth.plus(inEth); + return null; + }); + + // Convert to wei + return totalEth.multipliedBy(new BigNumber(10).pow(18)); +}; + +const sumUpFees = ( + feesEarned: OrderedMap, + oldFeesEarned: OrderedMap, + tokenPrices: TokenPrices, +): BigNumber => { + return sumUpFeeMap(feesEarned, tokenPrices).plus(sumUpFeeMap(oldFeesEarned, tokenPrices)); +}; + +const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { + const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + const publicKey = await darknodeRegistry.methods.getDarknodePublicKey(darknodeID).call(); + if (publicKey === null) { + throw _noCapture_(new Error("Unable to retrieve darknode public key")); + } + return publicKey; +}; + +const getDarknodeOperator = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { + const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + const owner = await darknodeRegistry.methods.getDarknodeOwner(darknodeID).call(); + if (owner === null) { + throw _noCapture_(new Error("Unable to retrieve darknode owner")); + } + return owner; +}; + +export const fetchDarknodeStatistics = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + darknodeID: string, + tokenPrices: TokenPrices | null, +) => { + darknodeID = toChecksumAddress(darknodeID.toLowerCase()); + + // Get eth Balance + const ethBalanceBN = await web3.eth.getBalance(darknodeID); + + let ethBalance = new BigNumber(0); + if (ethBalanceBN) { + ethBalance = new BigNumber(ethBalanceBN.toString()); + } + + // Get earned fees + const feesEarned = await getBalances(web3, renNetwork, darknodeID); + let oldFeesEarned = OrderedMap(); + if (renNetwork.name === "mainnet") { + oldFeesEarned = await getOldBalances(web3, renNetwork as typeof mainnet, darknodeID); + } + let feesEarnedTotalEth = new BigNumber(0); + if (tokenPrices) { + feesEarnedTotalEth = sumUpFees(feesEarned, oldFeesEarned, tokenPrices); + } + + // Get darknode operator and public key + const operator = await getDarknodeOperator(web3, renNetwork, darknodeID); + const publicKey = await getDarknodePublicKey(web3, renNetwork, darknodeID); + + // Get registration status + let registrationStatus = RegistrationStatus.Unknown; + try { + registrationStatus = await getDarknodeStatus(web3, renNetwork, darknodeID); + } catch (error) { + _captureBackgroundException_(error, { + description: "Unknown darknode registration status", + }); + } + + // Cycle status //////////////////////////////////////////////////////////// + + const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address, + ); + + const darknodePaymentStore: DarknodePaymentStoreWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePaymentStore.abi, + renNetwork.addresses.ren.DarknodePaymentStore.address, + ); + + const currentCycleBN = await darknodePayment.methods.currentCycle().call(); + const previousCycleBN = await darknodePayment.methods.previousCycle().call(); + const blacklisted = await darknodePaymentStore.methods.isBlacklisted(darknodeID).call(); + let currentStatus; + let previousStatus; + if (blacklisted) { + currentStatus = DarknodeFeeStatus.BLACKLISTED; + previousStatus = DarknodeFeeStatus.BLACKLISTED; + } else { + const whitelistedTimeCall = await darknodePaymentStore.methods.darknodeWhitelist(darknodeID).call(); + const whitelistedTime = whitelistedTimeCall === null ? new BigNumber(0) : new BigNumber(whitelistedTimeCall.toString()); + if (whitelistedTime.isZero()) { + currentStatus = DarknodeFeeStatus.NOT_WHITELISTED; + previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; + } else { + currentStatus = DarknodeFeeStatus.NOT_CLAIMED; + const cycleStartTimeBN = await darknodePayment.methods.cycleStartTime().call(); + if (!cycleStartTimeBN || whitelistedTime.gte(cycleStartTimeBN.toString())) { + previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; + } else { + if (previousCycleBN === null) { + previousStatus = DarknodeFeeStatus.CLAIMED; + } else { + const claimed = await darknodePayment.methods.rewardClaimed(darknodeID, previousCycleBN.toString()).call(); + if (claimed) { + previousStatus = DarknodeFeeStatus.CLAIMED; + } else { + previousStatus = DarknodeFeeStatus.NOT_CLAIMED; + } + } + } + } + } + + let cycleStatus = OrderedMap(); + if (currentCycleBN !== null) { + cycleStatus = cycleStatus.set(currentCycleBN.toString(), currentStatus); + } + if (previousCycleBN !== null) { + cycleStatus = cycleStatus.set(previousCycleBN.toString(), previousStatus); + } + + // Store details /////////////////////////////////////////////////////////// + + return new DarknodesState({ + ID: darknodeID, + multiAddress: "" as string, + publicKey, + ethBalance, + feesEarned, + oldFeesEarned, + feesEarnedTotalEth, + + cycleStatus, + averageGasUsage: 0, + lastTopUp: null, + expectedExhaustion: null, + peers: 0, + registrationStatus, + operator, + }); +}; + +export const calculateSecondsPerBlock = async ( + web3: Web3, +): Promise => { + const sampleSize = 1000; + + const fetchedBlockNumber = await web3.eth.getBlockNumber(); + let currentBlockNumber = fetchedBlockNumber; + let currentBlock: Block | null = null; + // If current block isn't know yet, try previous block, up to 10 times + while (currentBlock === null && currentBlockNumber > fetchedBlockNumber - 10) { + currentBlock = await web3.eth.getBlock(currentBlockNumber); + currentBlockNumber -= 1; + } + const previousBlock: Block | null = await web3.eth.getBlock(currentBlockNumber - sampleSize) as Block | null; + + if (currentBlock !== null && previousBlock !== null) { + const currentTimestamp = parseInt(currentBlock.timestamp.toString(), 10); + const previousTimestamp = parseInt(previousBlock.timestamp.toString(), 10); + return Math.floor((currentTimestamp - previousTimestamp) / sampleSize); + } + return null; +}; + +export const HistoryIterations = 5; + +export enum HistoryPeriods { + Day = 60 * 60 * 24, + Week = Day * 7, + Month = Week * 4, + HalfYear = Week * 26, + Year = Week * 52, +} + +export const fetchDarknodeBalanceHistory = async ( + web3: Web3, + darknodeID: string, + previousHistory: OrderedMap | null, + historyPeriod: HistoryPeriods, + secondsPerBlock: number, +) => { + let balanceHistory = previousHistory || OrderedMap(); + + // If the page is kept open, the history data will keep growing, so we limit + // it to 200 entries. + if (balanceHistory.size > 200) { + balanceHistory = OrderedMap(); + } + + const currentBlock = await web3.eth.getBlockNumber(); + + const jump = Math.floor((historyPeriod / secondsPerBlock) / HistoryIterations); + + for (let i = 0; i < HistoryIterations; i++) { + // Move back by `jump` blocks + let block = currentBlock - i * jump; + + // ... + block = block - block % jump; + + if (!balanceHistory.has(block)) { + const blockBalance = await web3.eth.getBalance(darknodeID, block) as string | null; + + if (blockBalance !== null) { + const balance = new BigNumber(blockBalance.toString()); + balanceHistory = balanceHistory.set(block, balance); + } + } + } + + // Also add most recent block + if (!balanceHistory.has(currentBlock)) { + const currentBalance = await web3.eth.getBalance(darknodeID, currentBlock) as string | null; + + if (currentBalance !== null) { + const balance = new BigNumber(currentBalance.toString()); + balanceHistory = balanceHistory.set(currentBlock, balance); + } + } + + balanceHistory = balanceHistory.sortBy((_: BigNumber, value: number) => value); + + return balanceHistory; +}; diff --git a/src/lib/ethereum/operator.ts b/src/lib/ethereum/operator.ts index ee4c0ee8..69db1ea0 100644 --- a/src/lib/ethereum/operator.ts +++ b/src/lib/ethereum/operator.ts @@ -1,10 +1,15 @@ -import { RenNetworkDetails } from "@renproject/contracts"; +import { mainnet, RenNetworkDetails } from "@renproject/contracts"; +import BigNumber from "bignumber.js"; import { OrderedSet } from "immutable"; import Web3 from "web3"; import { sha3, toChecksumAddress } from "web3-utils"; -import { _noCapture_ } from "../errors"; +import { WaitForTX } from "../../store/statistics/operatorActions"; +import { alreadyPast } from "../conversion"; +import { _noCapture_ } from "../react/errors"; +import { DarknodePaymentWeb3 } from "./contracts/bindings/darknodePayment"; import { DarknodeRegistryWeb3 } from "./contracts/bindings/darknodeRegistry"; +import { OldToken, Token } from "./tokens"; const NULL = "0x0000000000000000000000000000000000000000"; @@ -117,3 +122,318 @@ export const getOperatorDarknodes = async ( return operatorDarknodes; }; + +export const withdrawOldToken = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + address: string | null, + darknodeID: string, + token: Token | OldToken, + waitForTX: WaitForTX, +) => new Promise(async (resolve, reject) => { + + if (renNetwork.name !== "mainnet") { + throw new Error(`Withdrawing old tokens not supported on network ${renNetwork.name}`); + } + + if (!address) { + throw new Error(`Unable to retrieve account address.`); + } + + const network = renNetwork as typeof mainnet; + + try { + const contract = new (web3.eth.Contract)( + network.addresses.ren.DarknodeRewardVault.abi, + network.addresses.ren.DarknodeRewardVault.address + ); + await waitForTX( + contract.methods.withdraw(darknodeID, network.addresses.oldTokens[token].address).send({ from: address }), + resolve, + ); + } catch (error) { + reject(error); + return; + } +}); + +export const approveNode = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + trader: string, + bond: BigNumber, + waitForTX: WaitForTX, +) => { + // tslint:disable-next-line:no-non-null-assertion + const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); + const ercBalance = new BigNumber(await ercContract.methods.balanceOf(trader).call()); + const ercAllowance = new BigNumber( + await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call(), + ); + + if (ercAllowance.gte(bond)) { + // Already approved + return; + } + + if (ercBalance.lt(bond)) { + throw _noCapture_(new Error("You have insufficient REN to register a darknode.")); + } + + return waitForTX( + ercContract.methods.approve(renNetwork.addresses.ren.DarknodeRegistry.address, bond.toFixed()).send({ from: trader }) + ); +}; + +export const registerNode = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + trader: string, + darknodeID: string, + publicKey: string, + bond: BigNumber, + onCancel: () => void, + onDone: () => void, + waitForTX: WaitForTX, +): Promise => { + + const hardCodedGas = 500000; + + // tslint:disable-next-line:no-non-null-assertion + const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); + + const ercAllowance = new BigNumber( + await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call() + ); + + let gas: number | undefined = hardCodedGas; + if (ercAllowance.gte(bond)) { + gas = undefined; + } + + let resolved = false; + const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + + try { + const res = await waitForTX( + darknodeRegistry.methods.register(darknodeID, publicKey, bond.toFixed()).send({ from: trader, gas }), + onDone + ); + resolved = true; + return res; + } catch (error) { + if (resolved) { onCancel(); } + throw error; + } +}; + +export const deregisterNode = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + trader: string, + darknodeID: string, + onCancel: () => void, + onDone: () => void, + waitForTX: WaitForTX, +): Promise => { + // The node has been registered and can be deregistered. + + let resolved = false; + const darknodeRegistry = new ((web3).eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + try { + const res = await waitForTX( + darknodeRegistry.methods.deregister(darknodeID).send({ from: trader }), + onDone + ); + resolved = true; + return res; + } catch (error) { + if (resolved) { onCancel(); } + throw error; + } +}; + +export const refundNode = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + trader: string, + darknodeID: string, + onCancel: () => void, + onDone: () => void, + waitForTX: WaitForTX, +): Promise => { + // The node is awaiting refund. + + let resolved = false; + const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + + try { + const res = await waitForTX( + darknodeRegistry.methods.refund(darknodeID).send({ from: trader }), + onDone + ); + resolved = true; + return res; + } catch (error) { + if (resolved) { onCancel(); } + throw error; + } +}; + +export const fundNode = async ( + web3: Web3, + address: string, + darknodeID: string, + ethAmountStr: string, + onCancel: () => void, + onDone: () => void, + waitForTX: WaitForTX, +): Promise => { + // Convert eth to wei + const ethAmount = new BigNumber(ethAmountStr); + const weiAmount = ethAmount.times(new BigNumber(10).exponentiatedBy(18)).decimalPlaces(0); + + let resolved = false; + + const call = () => web3.eth.sendTransaction({ + to: darknodeID, + value: weiAmount.toFixed(), + from: address, + }); + + try { + const res = await waitForTX( + call(), + onDone + ); + resolved = true; + return res; + } catch (error) { + if (resolved) { onCancel(); } + throw error; + } +}; + +export const claimForNode = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + useFixedGasLimit: boolean, + address: string, + darknodeID: string, + onCancel: () => void, + onDone: () => void, + waitForTX: WaitForTX, +): Promise => { + // Convert eth to wei + + const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address + ); + + let resolved = false; + + const call = () => darknodePayment.methods.claim(darknodeID).send({ from: address, gas: useFixedGasLimit ? 200000 : undefined }); + + try { + const res = await waitForTX( + call(), + onDone + ); + resolved = true; + return res; + } catch (error) { + if (resolved) { onCancel(); } + throw error; + } +}; + +export const changeCycle = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + ignoreError: boolean, + address: string, + onCancel: () => void, + onDone: () => void, + waitForTX: WaitForTX, +): Promise => { + // Convert eth to wei + + const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address + ); + + let resolved = false; + + // Try to call `changeCycle` as a read function to see if it reverts + const cycleTimeoutCall = await darknodePayment.methods.cycleTimeout().call({ from: address }); + if (!cycleTimeoutCall) { + throw _noCapture_(new Error("Unable to change timeout - please try again")); + } + const canCall = new BigNumber(cycleTimeoutCall.toString()); + if (canCall.isEqualTo(0) || !alreadyPast(canCall.toNumber())) { + return ""; + } + + const call = () => darknodePayment.methods.changeCycle().send({ from: address }); + + try { + const res = await waitForTX( + call(), + onDone, + ); + resolved = true; + return res; + } catch (error) { + if (ignoreError) { + resolved = true; + return ""; + } + if (resolved) { onCancel(); } + throw error; + } +}; + +// export const bridgedToken = (web3: Web3, renNetwork: RenNetworkDetails, address: string): Contract => { +// return new web3.eth.Contract(renNetwork.WarpGateToken.abi, address); +// }; + +// export const btcAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; +// export const zecAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; + +// const burn = ( +// web3: Web3, +// renNetwork: RenNetworkDetails, +// trader: string, +// currency: Token, +// to: string, +// waitForTX: WaitForTX, +// ) => { +// const contract = currency === Token.BTC ? bridgedToken(web3, renNetwork, addressOf[Token.BTC]) : +// currency === Token.ZEC ? bridgedToken(web3, renNetwork, addressOf[Token.ZEC]) : +// undefined; + +// if (contract === undefined) { +// throw new Error("Something went wrong, please reload and try again"); +// } + +// const toHex = currency === Token.BTC ? btcAddressToHex(to) : +// currency === Token.ZEC ? zecAddressToHex(to) : +// to; + +// const amount = new BigNumber((await contract.methods.balanceOf(trader).call({ from: trader })).toString()); + +// await waitForTX( +// contract.methods.burn(toHex, amount.toString() /* new BigNumber(amount).multipliedBy(10 ** 8).toFixed() */).send({ from: trader }) +// ); +// }; diff --git a/src/lib/ethereum/wallet.ts b/src/lib/ethereum/wallet.ts index 1d94b60f..ba0d2fb4 100644 --- a/src/lib/ethereum/wallet.ts +++ b/src/lib/ethereum/wallet.ts @@ -2,8 +2,8 @@ import Web3 from "web3"; import { provider } from "web3-providers"; import { Language } from "../../languages/language"; -import { PUBLIC_NODE } from "../environmentVariables"; -import { _noCapture_ } from "../errors"; +import { PUBLIC_NODE } from "../react/environmentVariables"; +import { _noCapture_ } from "../react/errors"; export const ErrorCanceledByUser = "User denied transaction signature."; diff --git a/src/lib/connectUnstated.tsx b/src/lib/react/connectUnstated.tsx similarity index 100% rename from src/lib/connectUnstated.tsx rename to src/lib/react/connectUnstated.tsx diff --git a/src/lib/environmentVariables.ts b/src/lib/react/environmentVariables.ts similarity index 100% rename from src/lib/environmentVariables.ts rename to src/lib/react/environmentVariables.ts diff --git a/src/lib/errors.ts b/src/lib/react/errors.ts similarity index 99% rename from src/lib/errors.ts rename to src/lib/react/errors.ts index b7cc66be..0a840607 100644 --- a/src/lib/errors.ts +++ b/src/lib/react/errors.ts @@ -4,7 +4,7 @@ import * as Sentry from "@sentry/browser"; import { RenNetwork } from "@renproject/contracts"; -import { naturalTime } from "./conversion"; +import { naturalTime } from "../conversion"; import { DEFAULT_REN_NETWORK, NODE_ENV } from "./environmentVariables"; interface Details { diff --git a/src/lib/history.ts b/src/lib/react/history.ts similarity index 100% rename from src/lib/history.ts rename to src/lib/react/history.ts diff --git a/src/lib/onLoad.ts b/src/lib/react/onLoad.ts similarity index 100% rename from src/lib/onLoad.ts rename to src/lib/react/onLoad.ts diff --git a/src/lib/serializable.ts b/src/lib/react/serializable.ts similarity index 100% rename from src/lib/serializable.ts rename to src/lib/react/serializable.ts diff --git a/src/lib/record.ts b/src/lib/record.ts deleted file mode 100644 index 70f4f204..00000000 --- a/src/lib/record.ts +++ /dev/null @@ -1,82 +0,0 @@ -// tslint:disable: no-any no-unnecessary-override no-reserved-keywords function-name - -import * as Immutable from "immutable"; - -/** - * Create a new class that can be instantiated. All instances of the class - * will be immutable, and will be guaranteed to have all properties of the - * interface T. Default values for these properties can be specified. Using - * the getter and setter methods are type safe. - * - * @param data An object defining the default value for instances of the - * class that will be returned. - * - * @return A class that can be used to instantiate immutable objects. - */ -export const Record = (data: Pick): RecordInterface => { - // The returned class inherits from the Immutable.Record class, using the - // data argument to specify the default property values. - return class extends Immutable.Record(data as any) { - public constructor(inner?: Partial) { - super(Immutable.fromJS(inner || {})); - } - /** - * A type safe getter. - * - * @param key The name of the property to get. It must be a property that - * exists in T. - * - * @return The value associated with the property. - */ - public get(key: K): V { - return super.get(key); - } - /** - * A type safe setter. - * - * @param key The name of the property to set. It must be a property that - * exists in T. - * - * @return A new instance that has all of the property values of the - * original instance, except for the property value that was set. - */ - public set(key: K, value: V): this { - return super.set(key, value); - } - /** - * A type safe merge. - * - * @param inner An object of properties, and associated values, that will - * be set. - * - * @return A new instance that has all of the property values of the - * original instance, except for the property values that were - * merged. - */ - public merge(inner: Partial | { - [key in K]: V; - }): this { - return super.merge(inner as any); - } - public toJS(): any { - return super.toJS(); - } - } as any as RecordInterface; -}; - -// An interface to which the return class will be cast. -type RecordInterface = new (inner?: Partial) => Props & Methods; - -// An interface of the properties that the class will have. -type Props = { - readonly [P in keyof T]: T[P]; -}; -// An interface of the methods that the class will have. -interface Methods { - get(key: K): V; - set(key: K, value: V): this; - merge(inner: Partial | { - [key in K]: V; - }): this; - toJS(): any; -} diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 5aca75c2..ed6f13c9 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -1,21 +1,20 @@ // tslint:disable:no-object-literal-type-assertion import { RenNetwork, RenNetworkDetails, RenNetworks } from "@renproject/contracts"; -import { Currency } from "@renproject/react-components"; +import { Currency, Record } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { List, Map, OrderedMap } from "immutable"; import { PromiEvent } from "web3-core"; import { DarknodeFeeStatus } from "../lib/darknodeFeeStatus"; -import { DEFAULT_REN_NETWORK } from "../lib/environmentVariables"; -import { _captureBackgroundException_ } from "../lib/errors"; import { Web3Browser } from "../lib/ethereum/browsers"; +import { RegistrationStatus } from "../lib/ethereum/network"; import { OldToken, Token } from "../lib/ethereum/tokens"; import { readOnlyWeb3 } from "../lib/ethereum/wallet"; -import { Record } from "../lib/record"; -import { Serializable } from "../lib/serializable"; +import { DEFAULT_REN_NETWORK } from "../lib/react/environmentVariables"; +import { _captureBackgroundException_ } from "../lib/react/errors"; +import { Serializable } from "../lib/react/serializable"; import { TokenPrices } from "../lib/tokenPrices"; -import { RegistrationStatus } from "./statistics/operatorActions"; export interface ApplicationState { trader: TraderState; diff --git a/src/store/configureStore.ts b/src/store/configureStore.ts index 030e880b..4dd0ef43 100644 --- a/src/store/configureStore.ts +++ b/src/store/configureStore.ts @@ -2,7 +2,7 @@ import { Action, applyMiddleware, createStore, Middleware, Reducer } from "redux import { PersistConfig, PersistPartial, persistReducer, persistStore } from "redux-persist"; import thunk from "redux-thunk"; -import { NODE_ENV } from "../lib/environmentVariables"; +import { NODE_ENV } from "../lib/react/environmentVariables"; import { persistConfig } from "./persistConfig"; import { rootReducer } from "./rootReducer"; @@ -26,10 +26,7 @@ const typedPersistReducer = (config: PersistConfig, reducer const persistedReducer = typedPersistReducer(persistConfig, rootReducer); -export const configureStore = () => { - const store = createStore(persistedReducer, - applyMiddleware(...middlewares), - ); - const persistor = persistStore(store); - return { store, persistor }; -}; +export const store = createStore(persistedReducer, + applyMiddleware(...middlewares), +); +export const persistor = persistStore(store); diff --git a/src/store/persistConfig.ts b/src/store/persistConfig.ts index 6d16b5b5..87528c76 100644 --- a/src/store/persistConfig.ts +++ b/src/store/persistConfig.ts @@ -1,7 +1,7 @@ import { createTransform, PersistConfig } from "redux-persist"; import storage from "redux-persist/lib/storage"; -import { _captureBackgroundException_ } from "../lib/errors"; +import { _captureBackgroundException_ } from "../lib/react/errors"; import { ApplicationState, StatisticsState, TraderState } from "./applicationState"; // Local Storage: diff --git a/src/store/statistics/operatorActions.ts b/src/store/statistics/operatorActions.ts index b49a5992..198c6b31 100644 --- a/src/store/statistics/operatorActions.ts +++ b/src/store/statistics/operatorActions.ts @@ -1,22 +1,18 @@ -import { mainnet, RenNetworkDetails } from "@renproject/contracts"; +import { RenNetworkDetails } from "@renproject/contracts"; import { Currency } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { List, OrderedMap, OrderedSet } from "immutable"; import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; import { PromiEvent } from "web3-core"; -import { Block } from "web3-eth"; -import { toChecksumAddress } from "web3-utils"; -import { DarknodeFeeStatus } from "../../lib/darknodeFeeStatus"; -import { _captureBackgroundException_, _noCapture_ } from "../../lib/errors"; import { DarknodePaymentWeb3 } from "../../lib/ethereum/contracts/bindings/darknodePayment"; import { - DarknodePaymentStoreWeb3, -} from "../../lib/ethereum/contracts/bindings/darknodePaymentStore"; -import { DarknodeRegistryWeb3 } from "../../lib/ethereum/contracts/bindings/darknodeRegistry"; + calculateSecondsPerBlock, fetchDarknodeBalanceHistory, fetchDarknodeStatistics, HistoryPeriods, + safePromiseAllMap, sumUpFeeMap, +} from "../../lib/ethereum/network"; import { getOperatorDarknodes } from "../../lib/ethereum/operator"; -import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../../lib/ethereum/tokens"; +import { NewTokenDetails, Token } from "../../lib/ethereum/tokens"; import { TokenPrices } from "../../lib/tokenPrices"; import { DarknodesState } from "../applicationState"; import { AppDispatch } from "../rootReducer"; @@ -66,6 +62,7 @@ export const setDarknodeName = createStandardAction("SET_DARKNODE_NAME")<{ darkn export const addTransaction = createStandardAction("ADD_TRANSACTION")<{ txHash: string; tx: PromiEvent }>(); export const setTxConfirmations = createStandardAction("SET_TX_CONFIRMATIONS")<{ txHash: string; confirmations: number }>(); +export type WaitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => Promise; export const waitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => async (dispatch: AppDispatch) => new Promise((resolve, reject) => { promiEvent.on("transactionHash", (txHash) => { resolve(txHash); @@ -81,173 +78,17 @@ export const waitForTX = (promiEvent: PromiEvent, onConfirmation?: (confir }); }).catch(reject); }); +export const connectWaitForTX = (dispatch: AppDispatch) => (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => dispatch(waitForTX(promiEvent, onConfirmation)); -export const calculateSecondsPerBlock = ( +export const updateSecondsPerBlock = ( web3: Web3, ) => async (dispatch: AppDispatch) => { - const sampleSize = 1000; - - const fetchedBlockNumber = await web3.eth.getBlockNumber(); - let currentBlockNumber = fetchedBlockNumber; - let currentBlock: Block | null = null; - // If current block isn't know yet, try previous block, up to 10 times - while (currentBlock === null && currentBlockNumber > fetchedBlockNumber - 10) { - currentBlock = await web3.eth.getBlock(currentBlockNumber); - currentBlockNumber -= 1; - } - const previousBlock: Block | null = await web3.eth.getBlock(currentBlockNumber - sampleSize) as Block | null; - - if (currentBlock !== null && previousBlock !== null) { - const currentTimestamp = parseInt(currentBlock.timestamp.toString(), 10); - const previousTimestamp = parseInt(previousBlock.timestamp.toString(), 10); - const secondsPerBlock = Math.floor((currentTimestamp - previousTimestamp) / sampleSize); - + const secondsPerBlock = await calculateSecondsPerBlock(web3); + if (secondsPerBlock !== null) { dispatch(storeSecondsPerBlock({ secondsPerBlock })); } }; -const getOldBalances = async ( - web3: Web3, - renNetwork: typeof mainnet, - darknodeID: string, -): Promise> => { - - const contract = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRewardVault.abi, - renNetwork.addresses.ren.DarknodeRewardVault.address, - ); - - let feesEarned = OrderedMap(); - - const balances = OldTokenDetails.map(async (_tokenDetails, token) => { - - const balance = new BigNumber(await contract.methods.darknodeBalances(darknodeID, renNetwork.addresses.oldTokens[token].address).call()); - - return { - balance, - token, - }; - }).valueSeq(); - // TODO: Don't use Promise.all - const res = await Promise.all(balances); - - for (const { balance, token } of res) { - feesEarned = feesEarned.set(token, balance); - } - - return feesEarned; -}; - -// FIXME: safePromiseAllList still throws uncaught error -// The same as Promise.all except that if an entry throws, it sets it to the -// provided default value instead of throwing the entire promise. -const safePromiseAllList = async (orderedMap: List>, defaultValue: b): Promise> => { - let newOrderedMap = List(); - for (const valueP of orderedMap.toArray()) { - try { - newOrderedMap = newOrderedMap.push(await valueP); - } catch (error) { - console.error(error); - newOrderedMap = newOrderedMap.push(defaultValue); - } - } - return newOrderedMap; -}; - -// The same as Promise.all except that if an entry throws, it sets it to the -// provided default value instead of throwing the entire promise. -// This variation maps over an OrderedMap instead of an array. -const safePromiseAllMap = async (orderedMap: OrderedMap>, defaultValue: b): Promise> => { - let newOrderedMap = OrderedMap(); - for (const [key, valueP] of orderedMap.toArray()) { - try { - newOrderedMap = newOrderedMap.set(key, await valueP); - } catch (error) { - console.error(error); - newOrderedMap = newOrderedMap.set(key, defaultValue); - } - } - return newOrderedMap; -}; - -const getBalances = async ( - web3: Web3, - renNetwork: RenNetworkDetails, - darknodeID: string, -): Promise> => { - - const contract: DarknodePaymentWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodePayment.abi, - renNetwork.addresses.ren.DarknodePayment.address, - ); - - let feesEarned = OrderedMap(); - - // const address = (await web3.eth.getAccounts())[0]; - - const balances = await safePromiseAllList( - NewTokenDetails.map(async (_tokenDetails, token) => { - let balance1; - try { - const balance1Call = await contract.methods.darknodeBalances(darknodeID, renNetwork.addresses.tokens[token]).call(); - balance1 = new BigNumber((balance1Call || "0").toString()); - } catch (error) { - balance1 = new BigNumber(0); - } - // const balance2 = tokenDetails.wrapped ? await new (web3.eth.Contract)( - // contracts.WarpGateToken.abi, - // tokenDetails.address, - // ).methods.balanceOf(address).call() : new BigNumber(0); - - return { - balance: balance1, // .plus(balance2), - token: token as Token | null, - }; - }).valueSeq().toList(), - { - balance: new BigNumber(0), - token: null, - } - ); - - for (const { balance, token } of balances.toArray()) { - if (token) { - feesEarned = feesEarned.set(token, balance); - } - } - - return feesEarned; -}; - -const sumUpFeeMap = ( - feesEarned: OrderedMap, - tokenPrices: TokenPrices, -): BigNumber => { - - let totalEth = new BigNumber(0); - - NewTokenDetails.map((tokenDetails, token) => { - const price = tokenPrices.get(token, undefined); - const decimals = tokenDetails ? new BigNumber(tokenDetails.decimals.toString()).toNumber() : 0; - const inEth = feesEarned.get(token, new BigNumber(0)) - .div(Math.pow(10, decimals)) - .multipliedBy(price ? price.get(Currency.ETH, 0) : 0); - totalEth = totalEth.plus(inEth); - return null; - }); - - // Convert to wei - return totalEth.multipliedBy(new BigNumber(10).pow(18)); -}; - -const sumUpFees = ( - feesEarned: OrderedMap, - oldFeesEarned: OrderedMap, - tokenPrices: TokenPrices, -): BigNumber => { - return sumUpFeeMap(feesEarned, tokenPrices).plus(sumUpFeeMap(oldFeesEarned, tokenPrices)); -}; - export const updateCycleAndPendingRewards = ( web3: Web3, renNetwork: RenNetworkDetails, @@ -335,191 +176,13 @@ export const updateCycleAndPendingRewards = ( } }; -const getDarknodeOperator = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - const owner = await darknodeRegistry.methods.getDarknodeOwner(darknodeID).call(); - if (owner === null) { - throw _noCapture_(new Error("Unable to retrieve darknode owner")); - } - return owner; -}; - -const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - const publicKey = await darknodeRegistry.methods.getDarknodePublicKey(darknodeID).call(); - if (publicKey === null) { - throw _noCapture_(new Error("Unable to retrieve darknode public key")); - } - return publicKey; -}; - -export enum RegistrationStatus { - Unknown = "", - Unregistered = "unregistered", - RegistrationPending = "registration pending", - Registered = "registered", - DeregistrationPending = "deregistration pending", - Deregistered = "awaiting refund period", - Refundable = "refundable", -} - -const getDarknodeStatus = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - - try { - const [ - isPendingRegistration, - isPendingDeregistration, - isDeregisterable, - isRefunded, - isRefundable, - ] = await Promise.all([ - darknodeRegistry.methods.isPendingRegistration(darknodeID).call(), - darknodeRegistry.methods.isPendingDeregistration(darknodeID).call(), - darknodeRegistry.methods.isDeregisterable(darknodeID).call(), - darknodeRegistry.methods.isRefunded(darknodeID).call(), - darknodeRegistry.methods.isRefundable(darknodeID).call(), - ]); - - if (isRefunded) { - return RegistrationStatus.Unregistered; - } else if (isPendingRegistration) { - return RegistrationStatus.RegistrationPending; - } else if (isDeregisterable) { - return RegistrationStatus.Registered; - } else if (isPendingDeregistration) { - return RegistrationStatus.DeregistrationPending; - } else if (isRefundable) { - return RegistrationStatus.Refundable; - } else { - return RegistrationStatus.Deregistered; - } - } catch (error) { - _captureBackgroundException_(error, { - description: "Unknown darknode registration status", - }); - return RegistrationStatus.Unknown; - } - -}; - export const updateDarknodeStatistics = ( web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string, tokenPrices: TokenPrices | null, ) => async (dispatch: AppDispatch) => { - darknodeID = toChecksumAddress(darknodeID.toLowerCase()); - - // Get eth Balance - const ethBalanceBN = await web3.eth.getBalance(darknodeID); - - let ethBalance = new BigNumber(0); - if (ethBalanceBN) { - ethBalance = new BigNumber(ethBalanceBN.toString()); - } - - // Get earned fees - const feesEarned = await getBalances(web3, renNetwork, darknodeID); - let oldFeesEarned = OrderedMap(); - if (renNetwork.name === "mainnet") { - oldFeesEarned = await getOldBalances(web3, renNetwork as typeof mainnet, darknodeID); - } - let feesEarnedTotalEth = new BigNumber(0); - if (tokenPrices) { - feesEarnedTotalEth = sumUpFees(feesEarned, oldFeesEarned, tokenPrices); - } - - // Get darknode operator and public key - const operator = await getDarknodeOperator(web3, renNetwork, darknodeID); - const publicKey = await getDarknodePublicKey(web3, renNetwork, darknodeID); - - // Get registration status - const registrationStatus = await getDarknodeStatus(web3, renNetwork, darknodeID); - - // Cycle status //////////////////////////////////////////////////////////// - - const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodePayment.abi, - renNetwork.addresses.ren.DarknodePayment.address, - ); - - const darknodePaymentStore: DarknodePaymentStoreWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodePaymentStore.abi, - renNetwork.addresses.ren.DarknodePaymentStore.address, - ); - - const currentCycleBN = await darknodePayment.methods.currentCycle().call(); - const previousCycleBN = await darknodePayment.methods.previousCycle().call(); - const blacklisted = await darknodePaymentStore.methods.isBlacklisted(darknodeID).call(); - let currentStatus; - let previousStatus; - if (blacklisted) { - currentStatus = DarknodeFeeStatus.BLACKLISTED; - previousStatus = DarknodeFeeStatus.BLACKLISTED; - } else { - const whitelistedTimeCall = await darknodePaymentStore.methods.darknodeWhitelist(darknodeID).call(); - const whitelistedTime = whitelistedTimeCall === null ? new BigNumber(0) : new BigNumber(whitelistedTimeCall.toString()); - if (whitelistedTime.isZero()) { - currentStatus = DarknodeFeeStatus.NOT_WHITELISTED; - previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; - } else { - currentStatus = DarknodeFeeStatus.NOT_CLAIMED; - const cycleStartTimeBN = await darknodePayment.methods.cycleStartTime().call(); - if (!cycleStartTimeBN || whitelistedTime.gte(cycleStartTimeBN.toString())) { - previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; - } else { - if (previousCycleBN === null) { - previousStatus = DarknodeFeeStatus.CLAIMED; - } else { - const claimed = await darknodePayment.methods.rewardClaimed(darknodeID, previousCycleBN.toString()).call(); - if (claimed) { - previousStatus = DarknodeFeeStatus.CLAIMED; - } else { - previousStatus = DarknodeFeeStatus.NOT_CLAIMED; - } - } - } - } - } - - let cycleStatus = OrderedMap(); - if (currentCycleBN !== null) { - cycleStatus = cycleStatus.set(currentCycleBN.toString(), currentStatus); - } - if (previousCycleBN !== null) { - cycleStatus = cycleStatus.set(previousCycleBN.toString(), previousStatus); - } - - // Store details /////////////////////////////////////////////////////////// - - const darknodeDetails = new DarknodesState({ - ID: darknodeID, - multiAddress: "" as string, - publicKey, - ethBalance, - feesEarned, - oldFeesEarned, - feesEarnedTotalEth, - - cycleStatus, - averageGasUsage: 0, - lastTopUp: null, - expectedExhaustion: null, - peers: 0, - registrationStatus, - operator, - }); - + const darknodeDetails = await fetchDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); dispatch(setDarknodeDetails({ darknodeDetails })); }; @@ -551,63 +214,13 @@ export const updateOperatorStatistics = ( }).toArray()); }; -export const HistoryIterations = 5; - -export enum HistoryPeriods { - Day = 60 * 60 * 24, - Week = Day * 7, - Month = Week * 4, - HalfYear = Week * 26, - Year = Week * 52, -} - -export const fetchDarknodeBalanceHistory = ( +export const updateDarknodeBalanceHistory = ( web3: Web3, darknodeID: string, previousHistory: OrderedMap | null, historyPeriod: HistoryPeriods, secondsPerBlock: number, ) => async (dispatch: AppDispatch) => { - let balanceHistory = previousHistory || OrderedMap(); - - // If the page is kept open, the history data will keep growing, so we limit - // it to 200 entries. - if (balanceHistory.size > 200) { - balanceHistory = OrderedMap(); - } - - const currentBlock = await web3.eth.getBlockNumber(); - - const jump = Math.floor((historyPeriod / secondsPerBlock) / HistoryIterations); - - for (let i = 0; i < HistoryIterations; i++) { - // Move back by `jump` blocks - let block = currentBlock - i * jump; - - // ... - block = block - block % jump; - - if (!balanceHistory.has(block)) { - const blockBalance = await web3.eth.getBalance(darknodeID, block) as string | null; - - if (blockBalance !== null) { - const balance = new BigNumber(blockBalance.toString()); - balanceHistory = balanceHistory.set(block, balance); - } - } - } - - // Also add most recent block - if (!balanceHistory.has(currentBlock)) { - const currentBalance = await web3.eth.getBalance(darknodeID, currentBlock) as string | null; - - if (currentBalance !== null) { - const balance = new BigNumber(currentBalance.toString()); - balanceHistory = balanceHistory.set(currentBlock, balance); - } - } - - balanceHistory = balanceHistory.sortBy((_: BigNumber, value: number) => value); - + const balanceHistory = await fetchDarknodeBalanceHistory(web3, darknodeID, previousHistory, historyPeriod, secondsPerBlock); dispatch(updateDarknodeHistory({ darknodeID, balanceHistory })); }; diff --git a/src/store/statistics/operatorPopupActions.tsx b/src/store/statistics/operatorPopupActions.tsx index ac0c4ac8..b943a6f3 100644 --- a/src/store/statistics/operatorPopupActions.tsx +++ b/src/store/statistics/operatorPopupActions.tsx @@ -8,15 +8,15 @@ import Web3 from "web3"; import { MultiStepPopup } from "../../components/popups/MultiStepPopup"; import { TokenBalance } from "../../components/TokenBalance"; -import { _captureBackgroundException_ } from "../../lib/errors"; +import { + approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, +} from "../../lib/ethereum/operator"; import { Token } from "../../lib/ethereum/tokens"; +import { _captureBackgroundException_ } from "../../lib/react/errors"; import { TokenPrices } from "../../lib/tokenPrices"; import { setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; -import { - approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, -} from "../trader/darknode"; -import { updateDarknodeStatistics } from "./operatorActions"; +import { connectWaitForTX, updateDarknodeStatistics } from "./operatorActions"; export const showRegisterPopup = ( web3: Web3, @@ -28,11 +28,11 @@ export const showRegisterPopup = ( tokenPrices: TokenPrices, onCancel: () => void, onDone: () => void) => async (dispatch: AppDispatch) => { const step1 = async () => { - await dispatch(approveNode(web3, renNetwork, address, minimumBond)); + await approveNode(web3, renNetwork, address, minimumBond, connectWaitForTX(dispatch)); }; const step2 = async () => { - await dispatch(registerNode( + await registerNode( web3, renNetwork, address, @@ -40,8 +40,9 @@ export const showRegisterPopup = ( publicKey, minimumBond || new BigNumber(100000000000000000000000), onCancel, - onDone - )); + onDone, + connectWaitForTX(dispatch), + ); if (tokenPrices) { try { @@ -89,7 +90,7 @@ export const showDeregisterPopup = ( ) => async (dispatch: AppDispatch) => { const step1 = async () => { - await dispatch(deregisterNode(web3, renNetwork, address, darknodeID, onCancel, onDone)); + await deregisterNode(web3, renNetwork, address, darknodeID, onCancel, onDone, connectWaitForTX(dispatch)); }; const steps = [ @@ -142,7 +143,7 @@ export const showRefundPopup = ( ) => async (dispatch: AppDispatch) => { const step1 = async () => { - await dispatch(refundNode(web3, renNetwork, address, darknodeID, onCancel, onDone)); + await refundNode(web3, renNetwork, address, darknodeID, onCancel, onDone, connectWaitForTX(dispatch)); }; const steps = [ @@ -176,7 +177,7 @@ export const showFundPopup = ( ) => async (dispatch: AppDispatch) => { const step1 = async () => { - await dispatch(fundNode(web3, address, darknodeID, ethAmountStr, onCancel, onDone)); + await fundNode(web3, address, darknodeID, ethAmountStr, onCancel, onDone, connectWaitForTX(dispatch)); }; const steps = [ @@ -215,7 +216,7 @@ export const showClaimPopup = ( const claimStep = { call: async () => { - await dispatch(claimForNode(web3, renNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone)); + await claimForNode(web3, renNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone, connectWaitForTX(dispatch)); }, name: "Claim rewards", }; @@ -223,7 +224,7 @@ export const showClaimPopup = ( const ignoreError = claimBeforeCycle; const changeCycleStep = { call: async () => { - await dispatch(changeCycle(web3, renNetwork, ignoreError, address, onCancel, onDone)); + await changeCycle(web3, renNetwork, ignoreError, address, onCancel, onDone, connectWaitForTX(dispatch)); }, name: `Change cycle${claimBeforeCycle ? " (optional)" : ""}`, }; diff --git a/src/store/statistics/statisticsReducer.ts b/src/store/statistics/statisticsReducer.ts index 2e26404d..dc975b77 100644 --- a/src/store/statistics/statisticsReducer.ts +++ b/src/store/statistics/statisticsReducer.ts @@ -1,7 +1,7 @@ import { List } from "immutable"; import { ActionType, getType } from "typesafe-actions"; -import { _captureInteractionException_ } from "../../lib/errors"; +import { _captureInteractionException_ } from "../../lib/react/errors"; import { StatisticsState } from "../applicationState"; import * as networkActions from "./networkActions"; import * as operatorActions from "./operatorActions"; diff --git a/src/store/trader/accountActions.tsx b/src/store/trader/accountActions.tsx index 30fbf9ce..9c36b700 100644 --- a/src/store/trader/accountActions.tsx +++ b/src/store/trader/accountActions.tsx @@ -1,6 +1,5 @@ import * as Sentry from "@sentry/browser"; import * as React from "react"; -import {} from "redux"; import { RenNetworkDetails } from "@renproject/contracts"; import { createStandardAction } from "typesafe-actions"; @@ -11,34 +10,19 @@ import { toChecksumAddress } from "web3-utils"; import { LoggedOut } from "../../components/popups/LoggedOut"; import { NoWeb3Popup } from "../../components/popups/NoWeb3Popup"; import { Language } from "../../languages/language"; -import { _captureBackgroundException_ } from "../../lib/errors"; -import { getWeb3BrowserName, Web3Browser } from "../../lib/ethereum/browsers"; -import { getInjectedWeb3Provider, readOnlyWeb3 } from "../../lib/ethereum/wallet"; -import { history } from "../../lib/history"; +import { getInjectedWeb3Provider } from "../../lib/ethereum/wallet"; +import { _captureBackgroundException_ } from "../../lib/react/errors"; +import { history } from "../../lib/react/history"; import { ApplicationState } from "../applicationState"; import { clearPopup, setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; +export const logout = createStandardAction("LOGOUT")(); export const storeWeb3 = createStandardAction("STORE_WEB3")(); -export const storeAddress = createStandardAction("STORE_ADDRESS")(); +export const storeAddress = createStandardAction("STORE_ADDRESS")(); export const storeRenNetwork = createStandardAction("STORE_REN_NETWORK")(); -export const storeWeb3BrowserName = createStandardAction("STORE_WEB3_BROWSER_NAME")(); - -export const updateWeb3BrowserName = ( - newProvider: provider, -) => (dispatch: AppDispatch) => { - /* - // Check for mobile - const { userAgent: ua } = navigator - const isIOS = ua.includes('iPhone') // “iPhone OS” - const isAndroid = ua.includes('Android') - */ - - const web3BrowserName = getWeb3BrowserName(newProvider); - - dispatch(storeWeb3BrowserName(web3BrowserName)); -}; +export const storeWeb3BrowserName = createStandardAction("STORE_WEB3_BROWSER_NAME")(); export const login = ( renNetwork: RenNetworkDetails, @@ -98,7 +82,7 @@ export const login = ( // Even if the provider is on the wrong network, etc., we can still // detect the browser name (MetaMask, Status, etc.) const onAnyProvider = (anyProvider: provider) => { - dispatch(updateWeb3BrowserName(anyProvider)); + dispatch(storeWeb3BrowserName(anyProvider)); }; newProvider = await getInjectedWeb3Provider(onAnyProvider); @@ -163,9 +147,7 @@ export const login = ( const isAndroid = ua.includes('Android') */ - const web3BrowserName = getWeb3BrowserName(newProvider); - - dispatch(storeWeb3BrowserName(web3BrowserName)); + dispatch(storeWeb3BrowserName(newProvider)); if (options.redirect) { // Navigate to the Exchange page @@ -173,27 +155,6 @@ export const login = ( } }; -export const logout = ( - options: { reload: boolean }, -) => async (dispatch: AppDispatch) => { - - // Clear session account in store (and in local storage) - dispatch(storeAddress(null)); - dispatch(storeWeb3(readOnlyWeb3)); - - Sentry.configureScope((scope) => { - scope.setExtra("loggedIn", false); - }); - - if (options.reload) { - // const currentLocation = location.pathname; - // // history.push("/loading"); - // // Reload to clear all stores and cancel timeouts - // // (e.g. deposit/withdrawal confirmations) - // location.replace(currentLocation); - } -}; - // lookForLogout detects if 1) the user has changed or logged out of their Web3 // wallet export const lookForLogout = () => async (dispatch: AppDispatch, getState: () => ApplicationState) => { @@ -208,19 +169,11 @@ export const lookForLogout = () => async (dispatch: AppDispatch, getState: () => if (!accounts.includes(address.toLowerCase())) { const onClick = async () => { - await dispatch(logout({ reload: true })).catch((error) => { - _captureBackgroundException_(error, { - description: "Error in logout in accountActions", - }); - }); + dispatch(logout()); await dispatch(login(renNetwork, { redirect: false, showPopup: true, immediatePopup: false })); }; const onCancel = async () => { - await dispatch(logout({ reload: true })).catch((error) => { - _captureBackgroundException_(error, { - description: "Error in logout in accountActions", - }); - }); + dispatch(logout()); dispatch(clearPopup()); }; diff --git a/src/store/trader/darknode.tsx b/src/store/trader/darknode.tsx index 77a18f16..29315aa4 100644 --- a/src/store/trader/darknode.tsx +++ b/src/store/trader/darknode.tsx @@ -1,88 +1,19 @@ import * as React from "react"; -// import { decode as decode58 } from "bs58"; -import { mainnet, RenNetworkDetails } from "@renproject/contracts"; -import BigNumber from "bignumber.js"; -import Web3 from "web3"; - import { WithdrawPopup } from "../../components/popups/WithdrawPopup"; -import { alreadyPast } from "../../lib/conversion"; -import { _noCapture_ } from "../../lib/errors"; import { DarknodePaymentWeb3 } from "../../lib/ethereum/contracts/bindings/darknodePayment"; -import { DarknodeRegistryWeb3 } from "../../lib/ethereum/contracts/bindings/darknodeRegistry"; +import { withdrawOldToken } from "../../lib/ethereum/operator"; import { AllTokenDetails, OldToken, Token } from "../../lib/ethereum/tokens"; +import { _noCapture_ } from "../../lib/react/errors"; import { ApplicationState } from "../applicationState"; import { clearPopup, setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; -import { waitForTX } from "../statistics/operatorActions"; - -// export const bridgedToken = (web3: Web3, renNetwork: RenNetworkDetails, address: string): Contract => { -// return new web3.eth.Contract(renNetwork.WarpGateToken.abi, address); -// }; - -// export const btcAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; -// export const zecAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; - -// const burn = ( -// web3: Web3, -// renNetwork: RenNetworkDetails, -// trader: string, -// currency: Token, -// to: string, -// ) => async (dispatch: Dispatch) => { -// const contract = currency === Token.BTC ? bridgedToken(web3, renNetwork, addressOf[Token.BTC]) : -// currency === Token.ZEC ? bridgedToken(web3, renNetwork, addressOf[Token.ZEC]) : -// undefined; - -// if (contract === undefined) { -// throw new Error("Something went wrong, please reload and try again"); -// } - -// const toHex = currency === Token.BTC ? btcAddressToHex(to) : -// currency === Token.ZEC ? zecAddressToHex(to) : -// to; - -// const amount = new BigNumber((await contract.methods.balanceOf(trader).call({ from: trader })).toString()); - -// await waitForTX( -// contract.methods.burn(toHex, amount.toString() /* new BigNumber(amount).multipliedBy(10 ** 8).toFixed() */).send({ from: trader }) -// )(dispatch); -// }; - -const withdrawOldToken = ( - darknodeID: string, - token: Token | OldToken, -) => async (dispatch: AppDispatch, getState: () => ApplicationState) => new Promise(async (resolve, reject) => { - const { web3, renNetwork, address } = getState().trader; - - if (renNetwork.name !== "mainnet") { - throw new Error(`Withdrawing old tokens not supported on network ${renNetwork.name}`); - } - - if (!address) { - throw new Error(`Unable to retrieve account address.`); - } - - const network = renNetwork as typeof mainnet; - - try { - const contract = new (web3.eth.Contract)( - network.addresses.ren.DarknodeRewardVault.abi, - network.addresses.ren.DarknodeRewardVault.address - ); - await dispatch(waitForTX( - contract.methods.withdraw(darknodeID, network.addresses.oldTokens[token].address).send({ from: address }), - resolve, - )); - } catch (error) { - reject(error); - return; - } -}); +import { WaitForTX } from "../statistics/operatorActions"; export const withdrawToken = ( darknodeID: string, token: Token | OldToken, + waitForTX: WaitForTX, ) => async (dispatch: AppDispatch, getState: () => ApplicationState) => new Promise(async (resolve, reject) => { const { renNetwork, web3, address } = getState().trader; @@ -106,10 +37,10 @@ export const withdrawToken = ( throw new Error("Unknown token"); } - await dispatch(waitForTX( + await waitForTX( darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token]).send({ from: address }), resolve, - )); + ); // if (tokenDetails.wrapped) { // if (!withdrawAddress) { @@ -151,8 +82,9 @@ export const withdrawToken = ( export const withdrawReward = ( darknodeID: string, token: Token | OldToken, + waitForTX: WaitForTX, ) => async (dispatch: AppDispatch, getState: () => ApplicationState) => { - const { renNetwork } = getState().trader; + const { web3, address, renNetwork } = getState().trader; const tokenDetails = AllTokenDetails.get(token); if (tokenDetails === undefined) { @@ -160,248 +92,8 @@ export const withdrawReward = ( } if (tokenDetails.old && renNetwork.name === "mainnet") { - await withdrawOldToken(darknodeID, token)(dispatch, getState); + await withdrawOldToken(web3, renNetwork, address, darknodeID, token, waitForTX); } else { - await withdrawToken(darknodeID, token)(dispatch, getState); - } -}; - -export const approveNode = ( - web3: Web3, - renNetwork: RenNetworkDetails, - trader: string, - bond: BigNumber -) => async (dispatch: AppDispatch) => { - // tslint:disable-next-line:no-non-null-assertion - const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); - const ercBalance = new BigNumber(await ercContract.methods.balanceOf(trader).call()); - const ercAllowance = new BigNumber( - await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call(), - ); - - if (ercAllowance.gte(bond)) { - // Already approved - return; - } - - if (ercBalance.lt(bond)) { - throw _noCapture_(new Error("You have insufficient REN to register a darknode.")); - } - - return dispatch(waitForTX( - ercContract.methods.approve(renNetwork.addresses.ren.DarknodeRegistry.address, bond.toFixed()).send({ from: trader }) - )); -}; - -export const registerNode = ( - web3: Web3, - renNetwork: RenNetworkDetails, - trader: string, - darknodeID: string, - publicKey: string, - bond: BigNumber, - onCancel: () => void, - onDone: () => void -) => async (dispatch: AppDispatch): Promise => { - - const hardCodedGas = 500000; - - // tslint:disable-next-line:no-non-null-assertion - const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); - - const ercAllowance = new BigNumber( - await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call() - ); - - let gas: number | undefined = hardCodedGas; - if (ercAllowance.gte(bond)) { - gas = undefined; - } - - let resolved = false; - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - - try { - const res = await dispatch(waitForTX( - darknodeRegistry.methods.register(darknodeID, publicKey, bond.toFixed()).send({ from: trader, gas }), - onDone - )); - resolved = true; - return res; - } catch (error) { - if (resolved) { onCancel(); } - throw error; - } -}; - -export const deregisterNode = ( - web3: Web3, - renNetwork: RenNetworkDetails, - trader: string, - darknodeID: string, - onCancel: () => void, - onDone: () => void -) => async (dispatch: AppDispatch): Promise => { - // The node has been registered and can be deregistered. - - let resolved = false; - const darknodeRegistry = new ((web3).eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - try { - const res = await dispatch(waitForTX( - darknodeRegistry.methods.deregister(darknodeID).send({ from: trader }), - onDone - )); - resolved = true; - return res; - } catch (error) { - if (resolved) { onCancel(); } - throw error; - } -}; - -export const refundNode = ( - web3: Web3, - renNetwork: RenNetworkDetails, - trader: string, - darknodeID: string, - onCancel: () => void, - onDone: () => void -) => async (dispatch: AppDispatch): Promise => { - // The node is awaiting refund. - - let resolved = false; - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - - try { - const res = await dispatch(waitForTX( - darknodeRegistry.methods.refund(darknodeID).send({ from: trader }), - onDone - )); - resolved = true; - return res; - } catch (error) { - if (resolved) { onCancel(); } - throw error; - } -}; - -export const fundNode = ( - web3: Web3, - address: string, - darknodeID: string, - ethAmountStr: string, - onCancel: () => void, - onDone: () => void -) => async (dispatch: AppDispatch): Promise => { - // Convert eth to wei - const ethAmount = new BigNumber(ethAmountStr); - const weiAmount = ethAmount.times(new BigNumber(10).exponentiatedBy(18)).decimalPlaces(0); - - let resolved = false; - - const call = () => web3.eth.sendTransaction({ - to: darknodeID, - value: weiAmount.toFixed(), - from: address, - }); - - try { - const res = await dispatch(waitForTX( - call(), - onDone - )); - resolved = true; - return res; - } catch (error) { - if (resolved) { onCancel(); } - throw error; - } -}; - -export const claimForNode = ( - web3: Web3, - renNetwork: RenNetworkDetails, - useFixedGasLimit: boolean, - address: string, - darknodeID: string, - onCancel: () => void, - onDone: () => void -) => async (dispatch: AppDispatch): Promise => { - // Convert eth to wei - - const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodePayment.abi, - renNetwork.addresses.ren.DarknodePayment.address - ); - - let resolved = false; - - const call = () => darknodePayment.methods.claim(darknodeID).send({ from: address, gas: useFixedGasLimit ? 200000 : undefined }); - - try { - const res = await dispatch(waitForTX( - call(), - onDone - )); - resolved = true; - return res; - } catch (error) { - if (resolved) { onCancel(); } - throw error; - } -}; - -export const changeCycle = ( - web3: Web3, - renNetwork: RenNetworkDetails, - ignoreError: boolean, - address: string, - onCancel: () => void, - onDone: () => void -) => async (dispatch: AppDispatch): Promise => { - // Convert eth to wei - - const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodePayment.abi, - renNetwork.addresses.ren.DarknodePayment.address - ); - - let resolved = false; - - // Try to call `changeCycle` as a read function to see if it reverts - const cycleTimeoutCall = await darknodePayment.methods.cycleTimeout().call({ from: address }); - if (!cycleTimeoutCall) { - throw _noCapture_(new Error("Unable to change timeout - please try again")); - } - const canCall = new BigNumber(cycleTimeoutCall.toString()); - if (canCall.isEqualTo(0) || !alreadyPast(canCall.toNumber())) { - return ""; - } - - const call = () => darknodePayment.methods.changeCycle().send({ from: address }); - - try { - const res = await dispatch(waitForTX( - call(), - onDone, - )); - resolved = true; - return res; - } catch (error) { - if (ignoreError) { - resolved = true; - return ""; - } - if (resolved) { onCancel(); } - throw error; + await dispatch(withdrawToken(darknodeID, token, waitForTX)); } }; diff --git a/src/store/trader/traderReducer.ts b/src/store/trader/traderReducer.ts index d780cec9..231ae1f7 100644 --- a/src/store/trader/traderReducer.ts +++ b/src/store/trader/traderReducer.ts @@ -1,5 +1,7 @@ import { ActionType, getType } from "typesafe-actions"; +import { getWeb3BrowserName } from "../../lib/ethereum/browsers"; +import { readOnlyWeb3 } from "../../lib/ethereum/wallet"; import { TraderState } from "../applicationState"; import * as accountActions from "./accountActions"; @@ -7,6 +9,11 @@ type AccountAction = ActionType; export const traderReducer = (state: TraderState = new TraderState(), action: AccountAction): TraderState => { switch (action.type) { + case getType(accountActions.logout): + return state + .set("web3", readOnlyWeb3) + .set("address", null); + case getType(accountActions.storeAddress): return state.set("address", action.payload); @@ -14,7 +21,8 @@ export const traderReducer = (state: TraderState = new TraderState(), action: Ac return state.set("web3", action.payload); case getType(accountActions.storeWeb3BrowserName): - return state.set("web3BrowserName", action.payload); + const web3BrowserName = getWeb3BrowserName(action.payload); + return state.set("web3BrowserName", web3BrowserName); case getType(accountActions.storeRenNetwork): return state.set("renNetwork", action.payload); diff --git a/yarn.lock b/yarn.lock index ce84f00b..cf6b4ee4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1529,6 +1529,11 @@ dependencies: "@types/base-x" "*" +"@types/chai@^4.1.7": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a" + integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA== + "@types/d3-geo@*": version "1.11.1" resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-1.11.1.tgz#e96ec91f16221d87507fec66b2cc889f52d2493e" @@ -2283,6 +2288,11 @@ assert@^1.1.1: object-assign "^4.1.1" util "0.10.3" +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -3650,6 +3660,18 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +chai@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" + integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.0" + type-detect "^4.0.5" + chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -3698,6 +3720,11 @@ chartjs-color@^2.1.0: chartjs-color-string "^0.6.0" color-convert "^0.5.3" +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + checkpoint-store@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" @@ -4622,6 +4649,13 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" + deep-equal@^1.0.1, deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -6293,6 +6327,11 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + get-own-enumerable-property-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" @@ -10091,6 +10130,11 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" +pathval@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= + pbkdf2@^3.0.17, pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" @@ -13324,6 +13368,11 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" From 5975bfee3a75a77fbd9a3fe74fe366f3501fd3a2 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 15:02:27 +1000 Subject: [PATCH 020/117] Renamed traderState to accountState --- src/components/AccountDropdown.tsx | 10 +- src/components/App.tsx | 6 +- src/components/BackgroundTasks.tsx | 79 +++------------ src/components/Header.tsx | 6 +- src/components/TokenBalance.tsx | 2 +- src/components/darknodeList/DarknodeCard.tsx | 2 +- src/components/pages/Darknode.tsx | 2 +- src/components/pages/Home.tsx | 6 +- src/components/popups/LoggedOut.tsx | 2 +- src/components/popups/NoWeb3Popup.tsx | 2 +- src/components/sidebar/Sidebar.tsx | 2 +- src/components/statuspage/FeesItem.tsx | 8 +- src/components/statuspage/Registration.tsx | 25 +++-- src/components/statuspage/block/FeesBlock.tsx | 8 +- src/components/statuspage/block/GasGraph.tsx | 2 +- .../statuspage/topup/TopUpController.ts | 14 +-- src/lib/ethereum/network.ts | 97 +++++++++++++++++- src/lib/ethereum/operator.ts | 70 ++++++++++--- .../{trader => account}/accountActions.tsx | 2 +- .../accountReducer.ts} | 4 +- src/store/account/darknode.tsx | 94 ++++++++++++++++++ .../operatorPopupActions.tsx | 8 +- src/store/applicationState.ts | 16 ++- src/store/persistConfig.ts | 16 +-- src/store/rootReducer.ts | 4 +- src/store/statistics/networkActions.ts | 17 ---- src/store/statistics/operatorActions.ts | 84 +++------------- src/store/statistics/statisticsReducer.ts | 3 - src/store/trader/darknode.tsx | 99 ------------------- 29 files changed, 344 insertions(+), 346 deletions(-) rename src/store/{trader => account}/accountActions.tsx (99%) rename src/store/{trader/traderReducer.ts => account/accountReducer.ts} (86%) create mode 100644 src/store/account/darknode.tsx rename src/store/{statistics => account}/operatorPopupActions.tsx (96%) delete mode 100644 src/store/trader/darknode.tsx diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index d2552cc1..339f9423 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -4,9 +4,9 @@ import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators } from "redux"; +import { login, logout } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; -import { login, logout } from "../store/trader/accountActions"; const defaultState = { // Entries must be immutable shown: false, @@ -185,13 +185,13 @@ class AccountDropdownClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, - web3BrowserName: state.trader.web3BrowserName, + address: state.account.address, + web3BrowserName: state.account.web3BrowserName, quoteCurrency: state.statistics.quoteCurrency, - web3: state.trader.web3, + web3: state.account.web3, transactions: state.statistics.transactions, confirmations: state.statistics.confirmations, - renNetwork: state.trader.renNetwork, + renNetwork: state.account.renNetwork, }, }); diff --git a/src/components/App.tsx b/src/components/App.tsx index 2f013c4c..32915c87 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -81,9 +81,9 @@ class AppClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, - web3: state.trader.web3, - renNetwork: state.trader.renNetwork, + address: state.account.address, + web3: state.account.web3, + renNetwork: state.account.renNetwork, }, }); diff --git a/src/components/BackgroundTasks.tsx b/src/components/BackgroundTasks.tsx index 174819c4..85d7e483 100644 --- a/src/components/BackgroundTasks.tsx +++ b/src/components/BackgroundTasks.tsx @@ -6,13 +6,13 @@ import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; import { _captureBackgroundException_ } from "../lib/react/errors"; +import { login, lookForLogout } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; -import { updateNetworkStatistics, updateTokenPrices } from "../store/statistics/networkActions"; +import { updateTokenPrices } from "../store/statistics/networkActions"; import { updateDarknodeStatistics, updateOperatorStatistics, } from "../store/statistics/operatorActions"; -import { login, lookForLogout } from "../store/trader/accountActions"; import { getDarknodeParam } from "./pages/Darknode"; /** @@ -21,8 +21,7 @@ import { getDarknodeParam } from "./pages/Darknode"; */ class BackgroundTasksClass extends React.Component { private callUpdatePricesTimeout: NodeJS.Timer | undefined; - private callLookForLogoutTimeout: NodeJS.Timer | undefined; - private callUpdateNetworkStatisticsTimeout: NodeJS.Timer | undefined; + private callLookForLogoutInterval: NodeJS.Timer | undefined; private callUpdateOperatorStatisticsTimeout: NodeJS.Timer | undefined; private callUpdateSelectedDarknodeTimeout: NodeJS.Timer | undefined; @@ -78,14 +77,12 @@ class BackgroundTasksClass extends React.Component { }); }); } - } public componentWillUnmount(): void { // Clear timeouts if (this.callUpdatePricesTimeout) { clearTimeout(this.callUpdatePricesTimeout); } - if (this.callLookForLogoutTimeout) { clearTimeout(this.callLookForLogoutTimeout); } - if (this.callUpdateNetworkStatisticsTimeout) { clearTimeout(this.callUpdateNetworkStatisticsTimeout); } + if (this.callLookForLogoutInterval) { clearTimeout(this.callLookForLogoutInterval); } if (this.callUpdateOperatorStatisticsTimeout) { clearTimeout(this.callUpdateOperatorStatisticsTimeout); } if (this.callUpdateSelectedDarknodeTimeout) { clearTimeout(this.callUpdateSelectedDarknodeTimeout); } } @@ -93,12 +90,10 @@ class BackgroundTasksClass extends React.Component { public render = (): JSX.Element => <>; // Update token prices every 60 seconds - private readonly callUpdatePrices = async (props?: Props): Promise => { - props = props || this.props; - + private readonly callUpdatePrices = async (): Promise => { try { // tslint:disable-next-line: await-promise - await props.actions.updateTokenPrices(); + await this.props.actions.updateTokenPrices(); } catch (error) { _captureBackgroundException_(error, { description: "Error thrown in callUpdatePrices background task", @@ -109,48 +104,14 @@ class BackgroundTasksClass extends React.Component { } // See if the user has logged out every 5 seconds - private readonly callLookForLogout = async (props?: Props): Promise => { - props = props || this.props; - - const { address } = props.store; - if (address) { - try { - // tslint:disable-next-line: await-promise - await props.actions.lookForLogout(); - } catch (error) { + private readonly callLookForLogout = async (): Promise => { + if (this.props.store.address) { + await (this.props.actions.lookForLogout() as unknown as Promise).catch((error) => { _captureBackgroundException_(error, { description: "Error thrown in callLookForLogout background task", }); - } - } - if (this.callLookForLogoutTimeout) { clearTimeout(this.callLookForLogoutTimeout); } - this.callLookForLogoutTimeout = setTimeout(this.callLookForLogout, 5 * 1000) as unknown as NodeJS.Timer; - } - - // Update network statistics every 3600 seconds - private readonly callUpdateNetworkStatistics = async (props?: Props): Promise => { - props = props || this.props; - - const { web3, renNetwork } = props.store; - let timeout = 1; // Retry in a second, unless the call succeeds - try { - // tslint:disable-next-line: await-promise - await props.actions.updateNetworkStatistics(web3, renNetwork); - timeout = 3600; - } catch (error) { - if (error && error.message && error.message.match("Cannot read property 'toString' of")) { - // Ignore - } else { - _captureBackgroundException_(error, { - description: "Error thrown in callUpdateNetworkStatistics background task", - }); - } + }); } - if (this.callUpdateNetworkStatisticsTimeout) { clearTimeout(this.callUpdateNetworkStatisticsTimeout); } - this.callUpdateNetworkStatisticsTimeout = setTimeout( - this.callUpdateNetworkStatistics, - timeout * 1000, - ) as unknown as NodeJS.Timer; } // Update operator statistics every 120 seconds @@ -223,11 +184,6 @@ class BackgroundTasksClass extends React.Component { description: "Error in callUpdatePrices in BackgroundTasks", }); }); - this.callUpdateNetworkStatistics().catch(error => { - _captureBackgroundException_(error, { - description: "Error in callUpdateNetworkStatistics in BackgroundTasks", - }); - }); this.callUpdateSelectedDarknode().catch(error => { _captureBackgroundException_(error, { description: "Error in callUpdateSelectedDarknode in BackgroundTasks", @@ -237,11 +193,7 @@ class BackgroundTasksClass extends React.Component { // tslint:disable-next-line:member-ordering public setupLoopsWithAccount(): void { - this.callLookForLogout().catch(error => { - _captureBackgroundException_(error, { - description: "Error in callLookForLogout in BackgroundTasks", - }); - }); + this.callLookForLogoutInterval = setInterval(this.callLookForLogout, 5000); this.callUpdateOperatorStatistics().catch(error => { _captureBackgroundException_(error, { description: "Error in callUpdateOperatorStatistics in BackgroundTasks", @@ -253,12 +205,12 @@ class BackgroundTasksClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, - web3: state.trader.web3, + address: state.account.address, + web3: state.account.web3, tokenPrices: state.statistics.tokenPrices, - darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address, null) : null, + darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address, null) : null, darknodeRegisteringList: state.statistics.darknodeRegisteringList, - renNetwork: state.trader.renNetwork, + renNetwork: state.account.renNetwork, }, }); @@ -267,7 +219,6 @@ const mapDispatchToProps = (dispatch: AppDispatch) => ({ login, lookForLogout, updateTokenPrices, - updateNetworkStatistics, updateOperatorStatistics, updateDarknodeStatistics, }, dispatch), diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 5eb68009..721629ca 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -8,10 +8,10 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link, RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; +import { storeRenNetwork } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; import { storeQuoteCurrency } from "../store/statistics/operatorActions"; -import { storeRenNetwork } from "../store/trader/accountActions"; import { showMobileMenu } from "../store/ui/uiActions"; import { ReactComponent as English } from "../styles/images/rp-flag-uk.svg"; import { AccountDropdown } from "./AccountDropdown"; @@ -129,9 +129,9 @@ class HeaderClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, + address: state.account.address, quoteCurrency: state.statistics.quoteCurrency, - renNetwork: state.trader.renNetwork, + renNetwork: state.account.renNetwork, }, }); diff --git a/src/components/TokenBalance.tsx b/src/components/TokenBalance.tsx index 55676231..3b5ef35f 100644 --- a/src/components/TokenBalance.tsx +++ b/src/components/TokenBalance.tsx @@ -80,7 +80,7 @@ class TokenBalanceClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { tokenPrices: state.statistics.tokenPrices, - web3: state.trader.web3, + web3: state.account.web3, }, }); diff --git a/src/components/darknodeList/DarknodeCard.tsx b/src/components/darknodeList/DarknodeCard.tsx index 975c5db0..bfa06e92 100644 --- a/src/components/darknodeList/DarknodeCard.tsx +++ b/src/components/darknodeList/DarknodeCard.tsx @@ -12,7 +12,7 @@ import { CardView } from "./CardView"; const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, + address: state.account.address, quoteCurrency: state.statistics.quoteCurrency, }, }); diff --git a/src/components/pages/Darknode.tsx b/src/components/pages/Darknode.tsx index ba5a86bb..d8556f46 100644 --- a/src/components/pages/Darknode.tsx +++ b/src/components/pages/Darknode.tsx @@ -146,7 +146,7 @@ class DarknodeClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, + address: state.account.address, darknodeDetails: state.statistics.darknodeDetails, darknodeNames: state.statistics.darknodeNames, }, diff --git a/src/components/pages/Home.tsx b/src/components/pages/Home.tsx index fa5f8cfb..80d30829 100644 --- a/src/components/pages/Home.tsx +++ b/src/components/pages/Home.tsx @@ -54,12 +54,12 @@ class HomeClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, + address: state.account.address, darknodeDetails: state.statistics.darknodeDetails, darknodeNames: state.statistics.darknodeNames, - darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address, null) : null, + darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address, null) : null, darknodeRegisteringList: state.statistics.darknodeRegisteringList, - web3: state.trader.web3, + web3: state.account.web3, }, }); diff --git a/src/components/popups/LoggedOut.tsx b/src/components/popups/LoggedOut.tsx index 523278b3..b444f34d 100644 --- a/src/components/popups/LoggedOut.tsx +++ b/src/components/popups/LoggedOut.tsx @@ -42,7 +42,7 @@ const LoggedOutClass: React.StatelessComponent = (props) => { const mapStateToProps = (state: ApplicationState) => ({ store: { - web3BrowserName: state.trader.web3BrowserName, + web3BrowserName: state.account.web3BrowserName, }, }); diff --git a/src/components/popups/NoWeb3Popup.tsx b/src/components/popups/NoWeb3Popup.tsx index 79d82884..c0fbe9ac 100644 --- a/src/components/popups/NoWeb3Popup.tsx +++ b/src/components/popups/NoWeb3Popup.tsx @@ -26,7 +26,7 @@ const NoWeb3PopupClass: React.StatelessComponent = (props) => { const mapStateToProps = (state: ApplicationState) => ({ store: { - web3BrowserName: state.trader.web3BrowserName, + web3BrowserName: state.account.web3BrowserName, }, }); diff --git a/src/components/sidebar/Sidebar.tsx b/src/components/sidebar/Sidebar.tsx index 0ff38b72..8188a531 100644 --- a/src/components/sidebar/Sidebar.tsx +++ b/src/components/sidebar/Sidebar.tsx @@ -14,7 +14,7 @@ import { SidebarIcon } from "./SidebarIcon"; const mapStateToProps = (state: ApplicationState) => ({ store: { - darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address) : null, + darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address) : null, darknodeDetails: state.statistics.darknodeDetails, darknodeNames: state.statistics.darknodeNames, quoteCurrency: state.statistics.quoteCurrency, diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index f10225e7..19ecbf1a 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -8,10 +8,10 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { OldToken, Token } from "../../lib/ethereum/tokens"; +import { withdrawReward } from "../../store/account/darknode"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; import { updateDarknodeStatistics, waitForTX } from "../../store/statistics/operatorActions"; -import { withdrawReward } from "../../store/trader/darknode"; const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { const [loading, setLoading] = React.useState(false); @@ -49,11 +49,11 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: const mapStateToProps = (state: ApplicationState) => ({ store: { - web3: state.trader.web3, + web3: state.account.web3, tokenPrices: state.statistics.tokenPrices, - address: state.trader.address, + address: state.account.address, withdrawAddresses: state.statistics.withdrawAddresses, - renNetwork: state.trader.renNetwork, + renNetwork: state.account.renNetwork, }, }); diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index 01d94be3..030f68b9 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -6,14 +6,14 @@ import { bindActionCreators } from "redux"; import { RegistrationStatus } from "../../lib/ethereum/network"; import { _captureInteractionException_ } from "../../lib/react/errors"; +import { + showDeregisterPopup, showRefundPopup, showRegisterPopup, +} from "../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; import { updateDarknodeStatistics, updateOperatorStatistics, } from "../../store/statistics/operatorActions"; -import { - showDeregisterPopup, showRefundPopup, showRegisterPopup, -} from "../../store/statistics/operatorPopupActions"; export const statusText = { [RegistrationStatus.Unknown]: "Loading...", @@ -53,11 +53,11 @@ class RegistrationClass extends React.Component { public render = (): JSX.Element => { const { isOperator, registrationStatus, publicKey } = this.props; - const { address, minimumBond, tokenPrices } = this.props.store; + const { address, tokenPrices } = this.props.store; const { active } = this.state; const disabled = active || !address; - const registrationDisabled = disabled || !publicKey || !minimumBond || !tokenPrices; + const registrationDisabled = disabled || !publicKey || !tokenPrices; const noStatus = (registrationStatus === RegistrationStatus.Unregistered) || @@ -148,16 +148,16 @@ class RegistrationClass extends React.Component { private readonly handleRegister = async (): Promise => { const { darknodeID, publicKey } = this.props; - const { web3, address, minimumBond, tokenPrices, renNetwork } = this.props.store; + const { web3, address, tokenPrices, renNetwork } = this.props.store; - if (!publicKey || !address || !minimumBond || !tokenPrices) { + if (!publicKey || !address || !tokenPrices) { return; // FIXME } this.setState({ active: true }); try { await this.props.actions.showRegisterPopup( - web3, renNetwork, address, darknodeID, publicKey, minimumBond, tokenPrices, this.onCancel, this.onDoneRegister + web3, renNetwork, address, darknodeID, publicKey, tokenPrices, this.onCancel, this.onDoneRegister ); } catch (error) { _captureInteractionException_(error, { @@ -203,13 +203,12 @@ class RegistrationClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, - web3: state.trader.web3, - minimumBond: state.statistics.minimumBond, + address: state.account.address, + web3: state.account.web3, tokenPrices: state.statistics.tokenPrices, - darknodeList: state.trader.address ? state.statistics.darknodeList.get(state.trader.address, null) : null, + darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address, null) : null, quoteCurrency: state.statistics.quoteCurrency, - renNetwork: state.trader.renNetwork, + renNetwork: state.account.renNetwork, }, }); diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index 2e29461f..d4439e5e 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -13,12 +13,12 @@ import { alreadyPast, naturalTime } from "../../../lib/conversion"; import { DarknodeFeeStatus } from "../../../lib/darknodeFeeStatus"; import { RegistrationStatus } from "../../../lib/ethereum/network"; import { OldToken, Token } from "../../../lib/ethereum/tokens"; +import { showClaimPopup } from "../../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; import { updateCycleAndPendingRewards, updateDarknodeStatistics, } from "../../../store/statistics/operatorActions"; -import { showClaimPopup } from "../../../store/statistics/operatorPopupActions"; import { TokenBalance } from "../../TokenBalance"; import { FeesItem } from "../FeesItem"; import { OldFees } from "../OldFees"; @@ -328,15 +328,15 @@ class FeesBlockClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, - web3: state.trader.web3, + address: state.account.address, + web3: state.account.web3, quoteCurrency: state.statistics.quoteCurrency, currentCycle: state.statistics.currentCycle, previousCycle: state.statistics.previousCycle, pendingRewards: state.statistics.pendingRewards, pendingTotalInEth: state.statistics.pendingTotalInEth, tokenPrices: state.statistics.tokenPrices, - renNetwork: state.trader.renNetwork, + renNetwork: state.account.renNetwork, cycleTimeout: state.statistics.cycleTimeout, }, }); diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/statuspage/block/GasGraph.tsx index b44b30a4..0cd54b42 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/statuspage/block/GasGraph.tsx @@ -289,7 +289,7 @@ class GasGraphClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - web3: state.trader.web3, + web3: state.account.web3, balanceHistories: state.statistics.balanceHistories, secondsPerBlock: state.statistics.secondsPerBlock, }, diff --git a/src/components/statuspage/topup/TopUpController.ts b/src/components/statuspage/topup/TopUpController.ts index 54ed5609..2fb267e6 100644 --- a/src/components/statuspage/topup/TopUpController.ts +++ b/src/components/statuspage/topup/TopUpController.ts @@ -4,10 +4,10 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { _captureBackgroundException_ } from "../../../lib/react/errors"; +import { showFundPopup } from "../../../store/account/operatorPopupActions"; import { ApplicationState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; import { updateDarknodeStatistics } from "../../../store/statistics/operatorActions"; -import { showFundPopup } from "../../../store/statistics/operatorPopupActions"; import { TopUp } from "./TopUp"; export const CONFIRMATION_MESSAGE = "Transaction confirmed."; @@ -17,7 +17,7 @@ const defaultState = { // Entries must be immutable resultMessage: "", pending: false, disabled: false, - traderBalance: new BigNumber(0), + accountBalance: new BigNumber(0), }; class TopUpControllerClass extends Component { @@ -55,7 +55,7 @@ class TopUpControllerClass extends Component { private readonly handleChange = (value: string): void => { this.setState({ value }); - const { traderBalance, resultMessage, disabled } = this.state; + const { accountBalance: traderBalance, resultMessage, disabled } = this.state; // If input is invalid, show an error. if (isNaN(parseFloat(value)) || parseFloat(value) <= 0) { this.setState({ disabled: true }); @@ -79,7 +79,7 @@ class TopUpControllerClass extends Component { traderBalance = new BigNumber((await web3.eth.getBalance(address)).toString()) .div(new BigNumber(10).exponentiatedBy(18)); } - this.setState({ traderBalance }); + this.setState({ accountBalance: traderBalance }); return traderBalance; } @@ -139,10 +139,10 @@ class TopUpControllerClass extends Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - address: state.trader.address, - web3: state.trader.web3, + address: state.account.address, + web3: state.account.web3, tokenPrices: state.statistics.tokenPrices, - renNetwork: state.trader.renNetwork, + renNetwork: state.account.renNetwork, }, }); diff --git a/src/lib/ethereum/network.ts b/src/lib/ethereum/network.ts index cc6d17c2..8a29039d 100644 --- a/src/lib/ethereum/network.ts +++ b/src/lib/ethereum/network.ts @@ -15,6 +15,15 @@ import { NewTokenDetails, OldToken, OldTokenDetails, Token } from "../ethereum/t import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; import { TokenPrices } from "../tokenPrices"; +export const getMinimumBond = async (web3: Web3, renNetwork: RenNetworkDetails) => { + const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodeRegistry.abi, + renNetwork.addresses.ren.DarknodeRegistry.address + ); + const minimumBond = (await darknodeRegistry.methods.minimumBond().call()) || "100000000000000000000000"; + return new BigNumber((minimumBond).toString()); +}; + // export const getDarknodeCount = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { // const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( // renNetwork.addresses.ren.DarknodeRegistry.abi, @@ -123,7 +132,7 @@ const safePromiseAllList = async (orderedMap: List>, defaultValue: // The same as Promise.all except that if an entry throws, it sets it to the // provided default value instead of throwing the entire promise. // This variation maps over an OrderedMap instead of an array. -export const safePromiseAllMap = async (orderedMap: OrderedMap>, defaultValue: b): Promise> => { +const safePromiseAllMap = async (orderedMap: OrderedMap>, defaultValue: b): Promise> => { let newOrderedMap = OrderedMap(); for (const [key, valueP] of orderedMap.toArray()) { try { @@ -393,7 +402,7 @@ export const fetchDarknodeBalanceHistory = async ( previousHistory: OrderedMap | null, historyPeriod: HistoryPeriods, secondsPerBlock: number, -) => { +): Promise> => { let balanceHistory = previousHistory || OrderedMap(); // If the page is kept open, the history data will keep growing, so we limit @@ -437,3 +446,87 @@ export const fetchDarknodeBalanceHistory = async ( return balanceHistory; }; + +export const fetchCycleAndPendingRewards = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + tokenPrices: TokenPrices | null, +) => { + const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address, + ); + + let pendingRewards = OrderedMap>(); + + const currentCycle = await darknodePayment.methods.currentCycle().call(); + const previousCycle = await darknodePayment.methods.previousCycle().call(); + + const previous = await safePromiseAllMap( + NewTokenDetails.map(async (_tokenDetails, token) => { + try { + const previousCycleRewardShareBN = await darknodePayment.methods.previousCycleRewardShare((token)).call(); + if (previousCycleRewardShareBN === null) { + return new BigNumber(0); + } + return new BigNumber(previousCycleRewardShareBN.toString()); + } catch (error) { + return new BigNumber(0); + } + }).toOrderedMap(), + new BigNumber(0), + ); + if (previousCycle !== null) { + pendingRewards = pendingRewards.set(previousCycle.toString(), previous); + } + + const currentShareCountBN = await darknodePayment.methods.shareCount().call(); + const current = await safePromiseAllMap( + NewTokenDetails.map(async (_tokenDetails, token) => { + if (currentShareCountBN === null) { + return new BigNumber(0); + } + const currentShareCount = new BigNumber(currentShareCountBN.toString()); + try { + if (currentShareCount.isZero()) { + return new BigNumber(0); + } + const currentCycleRewardPool = await darknodePayment.methods.currentCycleRewardPool(renNetwork.addresses.tokens[token]).call(); + if (currentCycleRewardPool === null) { + return new BigNumber(0); + } + return new BigNumber((currentCycleRewardPool).toString()).div(currentShareCount); + } catch (error) { + return new BigNumber(0); + } + } + ).toOrderedMap(), + new BigNumber(0), + ); + if (currentCycle !== null) { + pendingRewards = pendingRewards.set(currentCycle.toString(), current); + } + + const cycleTimeoutBN = (await darknodePayment.methods.cycleTimeout().call()); + + let pendingTotalInEth = null; + if (tokenPrices) { + const previousTotal = sumUpFeeMap(previous, tokenPrices); + const currentTotal = sumUpFeeMap(current, tokenPrices); + pendingTotalInEth = OrderedMap(); + if (previousCycle !== null) { + pendingTotalInEth = pendingTotalInEth.set(previousCycle.toString(), previousTotal); + } + if (currentCycle !== null) { + pendingTotalInEth = pendingTotalInEth.set(currentCycle.toString(), currentTotal); + } + } + + return { + pendingRewards, + currentCycle, + previousCycle, + cycleTimeoutBN, + pendingTotalInEth, + }; +}; diff --git a/src/lib/ethereum/operator.ts b/src/lib/ethereum/operator.ts index 69db1ea0..f47b64bc 100644 --- a/src/lib/ethereum/operator.ts +++ b/src/lib/ethereum/operator.ts @@ -9,7 +9,7 @@ import { alreadyPast } from "../conversion"; import { _noCapture_ } from "../react/errors"; import { DarknodePaymentWeb3 } from "./contracts/bindings/darknodePayment"; import { DarknodeRegistryWeb3 } from "./contracts/bindings/darknodeRegistry"; -import { OldToken, Token } from "./tokens"; +import { AllTokenDetails, OldToken, Token } from "./tokens"; const NULL = "0x0000000000000000000000000000000000000000"; @@ -160,15 +160,15 @@ export const withdrawOldToken = async ( export const approveNode = async ( web3: Web3, renNetwork: RenNetworkDetails, - trader: string, + address: string, bond: BigNumber, waitForTX: WaitForTX, ) => { // tslint:disable-next-line:no-non-null-assertion const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); - const ercBalance = new BigNumber(await ercContract.methods.balanceOf(trader).call()); + const ercBalance = new BigNumber(await ercContract.methods.balanceOf(address).call()); const ercAllowance = new BigNumber( - await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call(), + await ercContract.methods.allowance(address, renNetwork.addresses.ren.DarknodeRegistry.address).call(), ); if (ercAllowance.gte(bond)) { @@ -181,14 +181,14 @@ export const approveNode = async ( } return waitForTX( - ercContract.methods.approve(renNetwork.addresses.ren.DarknodeRegistry.address, bond.toFixed()).send({ from: trader }) + ercContract.methods.approve(renNetwork.addresses.ren.DarknodeRegistry.address, bond.toFixed()).send({ from: address }) ); }; export const registerNode = async ( web3: Web3, renNetwork: RenNetworkDetails, - trader: string, + address: string, darknodeID: string, publicKey: string, bond: BigNumber, @@ -203,7 +203,7 @@ export const registerNode = async ( const ercContract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens.REN.address); const ercAllowance = new BigNumber( - await ercContract.methods.allowance(trader, renNetwork.addresses.ren.DarknodeRegistry.address).call() + await ercContract.methods.allowance(address, renNetwork.addresses.ren.DarknodeRegistry.address).call() ); let gas: number | undefined = hardCodedGas; @@ -219,7 +219,7 @@ export const registerNode = async ( try { const res = await waitForTX( - darknodeRegistry.methods.register(darknodeID, publicKey, bond.toFixed()).send({ from: trader, gas }), + darknodeRegistry.methods.register(darknodeID, publicKey, bond.toFixed()).send({ from: address, gas }), onDone ); resolved = true; @@ -233,7 +233,7 @@ export const registerNode = async ( export const deregisterNode = async ( web3: Web3, renNetwork: RenNetworkDetails, - trader: string, + address: string, darknodeID: string, onCancel: () => void, onDone: () => void, @@ -248,7 +248,7 @@ export const deregisterNode = async ( ); try { const res = await waitForTX( - darknodeRegistry.methods.deregister(darknodeID).send({ from: trader }), + darknodeRegistry.methods.deregister(darknodeID).send({ from: address }), onDone ); resolved = true; @@ -262,7 +262,7 @@ export const deregisterNode = async ( export const refundNode = async ( web3: Web3, renNetwork: RenNetworkDetails, - trader: string, + address: string, darknodeID: string, onCancel: () => void, onDone: () => void, @@ -278,7 +278,7 @@ export const refundNode = async ( try { const res = await waitForTX( - darknodeRegistry.methods.refund(darknodeID).send({ from: trader }), + darknodeRegistry.methods.refund(darknodeID).send({ from: address }), onDone ); resolved = true; @@ -414,7 +414,7 @@ export const changeCycle = async ( // const burn = ( // web3: Web3, // renNetwork: RenNetworkDetails, -// trader: string, +// address: string, // currency: Token, // to: string, // waitForTX: WaitForTX, @@ -431,9 +431,49 @@ export const changeCycle = async ( // currency === Token.ZEC ? zecAddressToHex(to) : // to; -// const amount = new BigNumber((await contract.methods.balanceOf(trader).call({ from: trader })).toString()); +// const amount = new BigNumber((await contract.methods.balanceOf(address).call({ from: address })).toString()); // await waitForTX( -// contract.methods.burn(toHex, amount.toString() /* new BigNumber(amount).multipliedBy(10 ** 8).toFixed() */).send({ from: trader }) +// contract.methods.burn(toHex, amount.toString() /* new BigNumber(amount).multipliedBy(10 ** 8).toFixed() */).send({ from: address }) // ); // }; + +export const withdrawToken = ( + web3: Web3, + renNetwork: RenNetworkDetails, + address: string | null, + darknodeID: string, + token: Token | OldToken, + waitForTX: WaitForTX, +) => async (_widthrawAddress?: string) => { + + const tokenDetails = AllTokenDetails.get(token); + if (tokenDetails === undefined) { + throw new Error("Unknown token"); + } + + if (!address) { + throw new Error(`Unable to retrieve account address.`); + } + + const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( + renNetwork.addresses.ren.DarknodePayment.abi, + renNetwork.addresses.ren.DarknodePayment.address + ); + + if (!tokenDetails) { + throw new Error("Unknown token"); + } + + await new Promise((resolve) => waitForTX( + darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token]).send({ from: address }), + resolve, + )); + + // if (tokenDetails.wrapped) { + // if (!withdrawAddress) { + // throw new Error("Invalid withdraw address"); + // } + // await burn(web3, renNetwork, address, token as Token, withdrawAddress)(dispatch); + // } +}; diff --git a/src/store/trader/accountActions.tsx b/src/store/account/accountActions.tsx similarity index 99% rename from src/store/trader/accountActions.tsx rename to src/store/account/accountActions.tsx index 9c36b700..11f19ad7 100644 --- a/src/store/trader/accountActions.tsx +++ b/src/store/account/accountActions.tsx @@ -158,7 +158,7 @@ export const login = ( // lookForLogout detects if 1) the user has changed or logged out of their Web3 // wallet export const lookForLogout = () => async (dispatch: AppDispatch, getState: () => ApplicationState) => { - const { renNetwork, address, web3 } = getState().trader; + const { renNetwork, address, web3 } = getState().account; if (!address) { return; diff --git a/src/store/trader/traderReducer.ts b/src/store/account/accountReducer.ts similarity index 86% rename from src/store/trader/traderReducer.ts rename to src/store/account/accountReducer.ts index 231ae1f7..02544926 100644 --- a/src/store/trader/traderReducer.ts +++ b/src/store/account/accountReducer.ts @@ -2,12 +2,12 @@ import { ActionType, getType } from "typesafe-actions"; import { getWeb3BrowserName } from "../../lib/ethereum/browsers"; import { readOnlyWeb3 } from "../../lib/ethereum/wallet"; -import { TraderState } from "../applicationState"; +import { AccountState } from "../applicationState"; import * as accountActions from "./accountActions"; type AccountAction = ActionType; -export const traderReducer = (state: TraderState = new TraderState(), action: AccountAction): TraderState => { +export const accountReducer = (state: AccountState = new AccountState(), action: AccountAction): AccountState => { switch (action.type) { case getType(accountActions.logout): return state diff --git a/src/store/account/darknode.tsx b/src/store/account/darknode.tsx new file mode 100644 index 00000000..29105f3b --- /dev/null +++ b/src/store/account/darknode.tsx @@ -0,0 +1,94 @@ +import * as React from "react"; + +import { RenNetworkDetails } from "@renproject/contracts"; +import Web3 from "web3"; + +import { WithdrawPopup } from "../../components/popups/WithdrawPopup"; +import { withdrawOldToken, withdrawToken } from "../../lib/ethereum/operator"; +import { AllTokenDetails, OldToken, Token } from "../../lib/ethereum/tokens"; +import { _noCapture_ } from "../../lib/react/errors"; +import { ApplicationState } from "../applicationState"; +import { clearPopup, setPopup } from "../popup/popupActions"; +import { AppDispatch } from "../rootReducer"; +import { WaitForTX } from "../statistics/operatorActions"; + +export const showWithdrawToken = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + address: string | null, + darknodeID: string, + token: Token | OldToken, + waitForTX: WaitForTX, + callClearPopup: () => void, + callSetPopup: ( + popup: JSX.Element, + onCancel: () => void, + ) => void, +) => new Promise(async (resolve, reject) => { + const tokenDetails = AllTokenDetails.get(token); + if (tokenDetails === undefined) { + throw new Error("Unknown token"); + } + + if (!address) { + throw new Error(`Unable to retrieve account address.`); + } + + const withdraw = withdrawToken( + web3, + renNetwork, + address, + darknodeID, + token, + waitForTX, + ); + const onCancel = () => { + callClearPopup(); + reject(); + }; + const onDone = () => { + callClearPopup(); + resolve(); + }; + if (tokenDetails.wrapped) { + callSetPopup( + , + onCancel, + ); + } else { + try { + await withdraw(); + } catch (error) { + onCancel(); + } + } +}); + +export const withdrawReward = ( + darknodeID: string, + token: Token | OldToken, + waitForTX: WaitForTX, +) => async (dispatch: AppDispatch, getState: () => ApplicationState) => { + const { web3, address, renNetwork } = getState().account; + + const tokenDetails = AllTokenDetails.get(token); + if (tokenDetails === undefined) { + throw new Error("Unknown token"); + } + + if (tokenDetails.old && renNetwork.name === "mainnet") { + await withdrawOldToken(web3, renNetwork, address, darknodeID, token, waitForTX); + } else { + const callClearPopup = () => { dispatch(clearPopup()); }; + const callSetPopup = ( + popup: JSX.Element, + onCancel: () => void, + ) => dispatch(setPopup({ popup, overlay: true, onCancel })); + await showWithdrawToken(web3, renNetwork, address, darknodeID, token, waitForTX, callClearPopup, callSetPopup); + } +}; diff --git a/src/store/statistics/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx similarity index 96% rename from src/store/statistics/operatorPopupActions.tsx rename to src/store/account/operatorPopupActions.tsx index b943a6f3..34368dbe 100644 --- a/src/store/statistics/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -8,6 +8,7 @@ import Web3 from "web3"; import { MultiStepPopup } from "../../components/popups/MultiStepPopup"; import { TokenBalance } from "../../components/TokenBalance"; +import { getMinimumBond } from "../../lib/ethereum/network"; import { approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, } from "../../lib/ethereum/operator"; @@ -16,7 +17,7 @@ import { _captureBackgroundException_ } from "../../lib/react/errors"; import { TokenPrices } from "../../lib/tokenPrices"; import { setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; -import { connectWaitForTX, updateDarknodeStatistics } from "./operatorActions"; +import { connectWaitForTX, updateDarknodeStatistics } from "../statistics/operatorActions"; export const showRegisterPopup = ( web3: Web3, @@ -24,9 +25,10 @@ export const showRegisterPopup = ( address: string, darknodeID: string, publicKey: string, - minimumBond: BigNumber, tokenPrices: TokenPrices, onCancel: () => void, onDone: () => void) => async (dispatch: AppDispatch) => { + const minimumBond = await getMinimumBond(web3, renNetwork); + const step1 = async () => { await approveNode(web3, renNetwork, address, minimumBond, connectWaitForTX(dispatch)); }; @@ -38,7 +40,7 @@ export const showRegisterPopup = ( address, darknodeID, publicKey, - minimumBond || new BigNumber(100000000000000000000000), + minimumBond, onCancel, onDone, connectWaitForTX(dispatch), diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index ed6f13c9..95b6289d 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -17,20 +17,20 @@ import { Serializable } from "../lib/react/serializable"; import { TokenPrices } from "../lib/tokenPrices"; export interface ApplicationState { - trader: TraderState; + account: AccountState; popup: PopupState; statistics: StatisticsState; ui: UIState; } -export class TraderState extends Record({ +export class AccountState extends Record({ // Login data address: null as string | null, web3BrowserName: Web3Browser.MetaMask, web3: readOnlyWeb3, renNetwork: RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails, -}) implements Serializable { +}) implements Serializable { public serialize(): string { // const js = this.toJS(); return JSON.stringify({ @@ -38,16 +38,16 @@ export class TraderState extends Record({ }); } - public deserialize(str: string): TraderState { + public deserialize(str: string): AccountState { // let next = this; try { const data = JSON.parse(str); // tslint:disable-next-line: no-any - let traderData = new TraderState(); + let accountData = new AccountState(); if (data.renNetwork) { - traderData = traderData.set("renNetwork", RenNetworks[data.renNetwork]); + accountData = accountData.set("renNetwork", RenNetworks[data.renNetwork]); } - return traderData; + return accountData; } catch (error) { _captureBackgroundException_(error, { description: "Cannot deserialize local storage", @@ -69,7 +69,6 @@ export class UIState extends Record({ }) { } export class StatisticsState extends Record({ - minimumBond: null as BigNumber | null, secondsPerBlock: null as number | null, tokenPrices: null as TokenPrices | null, @@ -112,7 +111,6 @@ export class StatisticsState extends Record({ // let next = this; try { const data = JSON.parse(str); - // next = next.set("address", data.address); return new StatisticsState({ darknodeList: data.darknodeList, darknodeNames: data.darknodeNames, diff --git a/src/store/persistConfig.ts b/src/store/persistConfig.ts index 87528c76..62d90b4c 100644 --- a/src/store/persistConfig.ts +++ b/src/store/persistConfig.ts @@ -2,12 +2,12 @@ import { createTransform, PersistConfig } from "redux-persist"; import storage from "redux-persist/lib/storage"; import { _captureBackgroundException_ } from "../lib/react/errors"; -import { ApplicationState, StatisticsState, TraderState } from "./applicationState"; +import { AccountState, ApplicationState, StatisticsState } from "./applicationState"; // Local Storage: -const traderTransform = createTransform( - (inboundState: TraderState, key: string): string => { +const accountTransform = createTransform( + (inboundState: AccountState, key: string): string => { try { return inboundState.serialize(); } catch (error) { @@ -16,16 +16,16 @@ const traderTransform = createTransform( throw error; } }, - (outboundState: string, key: string): TraderState => { + (outboundState: string, key: string): AccountState => { try { - return new TraderState().deserialize(outboundState); + return new AccountState().deserialize(outboundState); } catch (error) { console.error(`Error deserializing ${key} (${JSON.stringify(outboundState)}): ${error}`); _captureBackgroundException_(error, { description: "Error deserializing local storage" }); throw error; } }, - { whitelist: ["trader"] as Array, }, + { whitelist: ["account"] as Array, }, ); const statisticsTransform = createTransform( @@ -53,6 +53,6 @@ const statisticsTransform = createTransform( export const persistConfig: PersistConfig = { storage, key: "root", - whitelist: ["statistics", "trader"] as Array, - transforms: [statisticsTransform, traderTransform], + whitelist: ["account", "statistics"] as Array, + transforms: [accountTransform, statisticsTransform], }; diff --git a/src/store/rootReducer.ts b/src/store/rootReducer.ts index e87ea53c..488f0262 100644 --- a/src/store/rootReducer.ts +++ b/src/store/rootReducer.ts @@ -1,15 +1,15 @@ import { Action, combineReducers } from "redux"; import { ThunkDispatch } from "redux-thunk"; +import { accountReducer } from "./account/accountReducer"; import { ApplicationState } from "./applicationState"; import { popupReducer } from "./popup/popupReducer"; import { statisticsReducer } from "./statistics/statisticsReducer"; -import { traderReducer } from "./trader/traderReducer"; import { uiReducer } from "./ui/uiReducer"; export const rootReducer = combineReducers({ popup: popupReducer, - trader: traderReducer, + account: accountReducer, statistics: statisticsReducer, ui: uiReducer, }); diff --git a/src/store/statistics/networkActions.ts b/src/store/statistics/networkActions.ts index 1857f01b..e50e8853 100644 --- a/src/store/statistics/networkActions.ts +++ b/src/store/statistics/networkActions.ts @@ -1,20 +1,15 @@ import {} from "redux"; -import { RenNetworkDetails } from "@renproject/contracts"; import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { createStandardAction } from "typesafe-actions"; -import Web3 from "web3"; -import { DarknodeRegistryWeb3 } from "../../lib/ethereum/contracts/bindings/darknodeRegistry"; import { getPrices, Token } from "../../lib/ethereum/tokens"; import { TokenPrices } from "../../lib/tokenPrices"; import { AppDispatch } from "../rootReducer"; export const storeTokenPrices = createStandardAction("STORE_TOKEN_PRICES")(); -export const storeMinimumBond = createStandardAction("STORE_MINIMUM_BOND")(); - export const updateCurrentCycle = createStandardAction("UPDATE_CURRENT_CYCLE")(); export const updatePreviousCycle = createStandardAction("UPDATE_PREVIOUS_CYCLE")(); @@ -22,18 +17,6 @@ export const updatePendingRewards = createStandardAction("UPDATE_PENDING_REWARDS export const updatePendingTotalInEth = createStandardAction("UPDATE_PENDING_TOTAL_IN_ETH")>(); export const updateCycleTimeout = createStandardAction("UPDATE_CYCLE_TIMEOUT")(); -export const updateNetworkStatistics = (web3: Web3, renNetwork: RenNetworkDetails) => async (dispatch: AppDispatch) => { - const darknodeRegistry: DarknodeRegistryWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodeRegistry.abi, - renNetwork.addresses.ren.DarknodeRegistry.address - ); - const minimumBondBN = await darknodeRegistry.methods.minimumBond().call(); - if (minimumBondBN) { - const minimumBond = new BigNumber(minimumBondBN.toString()); - dispatch(storeMinimumBond(minimumBond)); - } -}; - export const updateTokenPrices = () => async (dispatch: AppDispatch) => { const tokenPrices = await getPrices(); dispatch(storeTokenPrices(tokenPrices)); diff --git a/src/store/statistics/operatorActions.ts b/src/store/statistics/operatorActions.ts index 198c6b31..17b4bbdb 100644 --- a/src/store/statistics/operatorActions.ts +++ b/src/store/statistics/operatorActions.ts @@ -6,13 +6,12 @@ import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; import { PromiEvent } from "web3-core"; -import { DarknodePaymentWeb3 } from "../../lib/ethereum/contracts/bindings/darknodePayment"; import { - calculateSecondsPerBlock, fetchDarknodeBalanceHistory, fetchDarknodeStatistics, HistoryPeriods, - safePromiseAllMap, sumUpFeeMap, + calculateSecondsPerBlock, fetchCycleAndPendingRewards, fetchDarknodeBalanceHistory, + fetchDarknodeStatistics, HistoryPeriods, } from "../../lib/ethereum/network"; import { getOperatorDarknodes } from "../../lib/ethereum/operator"; -import { NewTokenDetails, Token } from "../../lib/ethereum/tokens"; +import { Token } from "../../lib/ethereum/tokens"; import { TokenPrices } from "../../lib/tokenPrices"; import { DarknodesState } from "../applicationState"; import { AppDispatch } from "../rootReducer"; @@ -94,76 +93,17 @@ export const updateCycleAndPendingRewards = ( renNetwork: RenNetworkDetails, tokenPrices: TokenPrices | null, ) => async (dispatch: AppDispatch) => { - const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodePayment.abi, - renNetwork.addresses.ren.DarknodePayment.address, - ); - - let pendingRewards = OrderedMap>(); - - const currentCycle = await darknodePayment.methods.currentCycle().call(); - const previousCycle = await darknodePayment.methods.previousCycle().call(); - - const previous = await safePromiseAllMap( - NewTokenDetails.map(async (_tokenDetails, token) => { - try { - const previousCycleRewardShareBN = await darknodePayment.methods.previousCycleRewardShare((token)).call(); - if (previousCycleRewardShareBN === null) { - return new BigNumber(0); - } - return new BigNumber(previousCycleRewardShareBN.toString()); - } catch (error) { - return new BigNumber(0); - } - }).toOrderedMap(), - new BigNumber(0), - ); - if (previousCycle !== null) { - pendingRewards = pendingRewards.set(previousCycle.toString(), previous); - } - - const currentShareCountBN = await darknodePayment.methods.shareCount().call(); - const current = await safePromiseAllMap( - NewTokenDetails.map(async (_tokenDetails, token) => { - if (currentShareCountBN === null) { - return new BigNumber(0); - } - const currentShareCount = new BigNumber(currentShareCountBN.toString()); - try { - if (currentShareCount.isZero()) { - return new BigNumber(0); - } - const currentCycleRewardPool = await darknodePayment.methods.currentCycleRewardPool(renNetwork.addresses.tokens[token]).call(); - if (currentCycleRewardPool === null) { - return new BigNumber(0); - } - return new BigNumber((currentCycleRewardPool).toString()).div(currentShareCount); - } catch (error) { - return new BigNumber(0); - } - } - ).toOrderedMap(), - new BigNumber(0), - ); - if (currentCycle !== null) { - pendingRewards = pendingRewards.set(currentCycle.toString(), current); - } - - const cycleTimeoutBN = (await darknodePayment.methods.cycleTimeout().call()); - - if (tokenPrices) { - const previousTotal = sumUpFeeMap(previous, tokenPrices); - const currentTotal = sumUpFeeMap(current, tokenPrices); - let pendingTotalInEth = OrderedMap(); - if (previousCycle !== null) { - pendingTotalInEth = pendingTotalInEth.set(previousCycle.toString(), previousTotal); - } - if (currentCycle !== null) { - pendingTotalInEth = pendingTotalInEth.set(currentCycle.toString(), currentTotal); - } + const { + pendingRewards, + currentCycle, + previousCycle, + cycleTimeoutBN, + pendingTotalInEth, + } = await fetchCycleAndPendingRewards(web3, renNetwork, tokenPrices); + + if (pendingTotalInEth !== null) { dispatch(updatePendingTotalInEth(pendingTotalInEth)); } - if (currentCycle !== null) { dispatch(updateCurrentCycle(currentCycle.toString())); } diff --git a/src/store/statistics/statisticsReducer.ts b/src/store/statistics/statisticsReducer.ts index dc975b77..6ec931be 100644 --- a/src/store/statistics/statisticsReducer.ts +++ b/src/store/statistics/statisticsReducer.ts @@ -29,9 +29,6 @@ export const statisticsReducer = ( case getType(networkActions.updateCycleTimeout): return state.set("cycleTimeout", action.payload); - case getType(networkActions.storeMinimumBond): - return state.set("minimumBond", action.payload); - case getType(networkActions.storeTokenPrices): return state.set("tokenPrices", action.payload); diff --git a/src/store/trader/darknode.tsx b/src/store/trader/darknode.tsx deleted file mode 100644 index 29315aa4..00000000 --- a/src/store/trader/darknode.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import * as React from "react"; - -import { WithdrawPopup } from "../../components/popups/WithdrawPopup"; -import { DarknodePaymentWeb3 } from "../../lib/ethereum/contracts/bindings/darknodePayment"; -import { withdrawOldToken } from "../../lib/ethereum/operator"; -import { AllTokenDetails, OldToken, Token } from "../../lib/ethereum/tokens"; -import { _noCapture_ } from "../../lib/react/errors"; -import { ApplicationState } from "../applicationState"; -import { clearPopup, setPopup } from "../popup/popupActions"; -import { AppDispatch } from "../rootReducer"; -import { WaitForTX } from "../statistics/operatorActions"; - -export const withdrawToken = ( - darknodeID: string, - token: Token | OldToken, - waitForTX: WaitForTX, -) => async (dispatch: AppDispatch, getState: () => ApplicationState) => new Promise(async (resolve, reject) => { - const { renNetwork, web3, address } = getState().trader; - - const tokenDetails = AllTokenDetails.get(token); - if (tokenDetails === undefined) { - throw new Error("Unknown token"); - } - - if (!address) { - throw new Error(`Unable to retrieve account address.`); - } - - const withdraw = async (_withdrawAddress?: string) => { - - const darknodePayment: DarknodePaymentWeb3 = new (web3.eth.Contract)( - renNetwork.addresses.ren.DarknodePayment.abi, - renNetwork.addresses.ren.DarknodePayment.address - ); - - if (!tokenDetails) { - throw new Error("Unknown token"); - } - - await waitForTX( - darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token]).send({ from: address }), - resolve, - ); - - // if (tokenDetails.wrapped) { - // if (!withdrawAddress) { - // throw new Error("Invalid withdraw address"); - // } - // await burn(web3, renNetwork, trader, token as Token, withdrawAddress)(dispatch); - // } - }; - const onCancel = () => { - dispatch(clearPopup()); - reject(); - }; - const onDone = () => { - dispatch(clearPopup()); - resolve(); - }; - if (tokenDetails.wrapped) { - dispatch(setPopup( - { - popup: , - onCancel, - overlay: true, - }, - )); - } else { - try { - await withdraw(); - } catch (error) { - onCancel(); - } - } -}); - -export const withdrawReward = ( - darknodeID: string, - token: Token | OldToken, - waitForTX: WaitForTX, -) => async (dispatch: AppDispatch, getState: () => ApplicationState) => { - const { web3, address, renNetwork } = getState().trader; - - const tokenDetails = AllTokenDetails.get(token); - if (tokenDetails === undefined) { - throw new Error("Unknown token"); - } - - if (tokenDetails.old && renNetwork.name === "mainnet") { - await withdrawOldToken(web3, renNetwork, address, darknodeID, token, waitForTX); - } else { - await dispatch(withdrawToken(darknodeID, token, waitForTX)); - } -}; From c045793deb195ae89a245a03439372949f741303 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 15:24:39 +1000 Subject: [PATCH 021/117] Renamed statisticsReducer to networkReducer --- src/components/AccountDropdown.tsx | 10 ++-- src/components/BackgroundTasks.tsx | 46 +++++++++---------- src/components/Header.tsx | 4 +- src/components/TokenBalance.tsx | 2 +- src/components/darknodeList/DarknodeCard.tsx | 4 +- src/components/pages/Darknode.tsx | 6 +-- src/components/pages/Home.tsx | 8 ++-- src/components/popups/WithdrawPopup.tsx | 6 +-- src/components/sidebar/Sidebar.tsx | 8 ++-- src/components/statuspage/FeesItem.tsx | 12 ++--- src/components/statuspage/OldFees.tsx | 2 +- src/components/statuspage/Registration.tsx | 20 ++++---- src/components/statuspage/StatusPage.tsx | 4 +- src/components/statuspage/block/FeesBlock.tsx | 24 +++++----- src/components/statuspage/block/GasGraph.tsx | 8 ++-- .../statuspage/topup/TopUpController.ts | 8 ++-- src/lib/ethereum/network.ts | 2 +- src/lib/ethereum/operator.ts | 2 +- src/store/account/accountActions.tsx | 13 ++---- src/store/account/accountReducer.ts | 9 ++-- .../{darknode.tsx => darknodeActions.tsx} | 3 +- src/store/account/operatorPopupActions.tsx | 6 +-- src/store/applicationState.ts | 10 ++-- .../{statistics => network}/networkActions.ts | 0 .../networkReducer.ts} | 8 ++-- .../operatorActions.ts | 12 ++--- src/store/persistConfig.ts | 38 ++++++++------- src/store/rootReducer.ts | 4 +- 28 files changed, 139 insertions(+), 140 deletions(-) rename src/store/account/{darknode.tsx => darknodeActions.tsx} (96%) rename src/store/{statistics => network}/networkActions.ts (100%) rename src/store/{statistics/statisticsReducer.ts => network/networkReducer.ts} (97%) rename src/store/{statistics => network}/operatorActions.ts (94%) diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index 339f9423..42b0eae1 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -4,7 +4,7 @@ import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators } from "redux"; -import { login, logout } from "../store/account/accountActions"; +import { logout, promptLogin } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; @@ -187,17 +187,17 @@ const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, web3BrowserName: state.account.web3BrowserName, - quoteCurrency: state.statistics.quoteCurrency, + quoteCurrency: state.network.quoteCurrency, web3: state.account.web3, - transactions: state.statistics.transactions, - confirmations: state.statistics.confirmations, + transactions: state.network.transactions, + confirmations: state.network.confirmations, renNetwork: state.account.renNetwork, }, }); const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - login, + login: promptLogin, logout, }, dispatch), }); diff --git a/src/components/BackgroundTasks.tsx b/src/components/BackgroundTasks.tsx index 85d7e483..77652548 100644 --- a/src/components/BackgroundTasks.tsx +++ b/src/components/BackgroundTasks.tsx @@ -6,13 +6,11 @@ import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; import { _captureBackgroundException_ } from "../lib/react/errors"; -import { login, lookForLogout } from "../store/account/accountActions"; +import { lookForLogout, promptLogin } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; +import { updateTokenPrices } from "../store/network/networkActions"; +import { updateDarknodeDetails, updateOperatorDarknodes } from "../store/network/operatorActions"; import { AppDispatch } from "../store/rootReducer"; -import { updateTokenPrices } from "../store/statistics/networkActions"; -import { - updateDarknodeStatistics, updateOperatorStatistics, -} from "../store/statistics/operatorActions"; import { getDarknodeParam } from "./pages/Darknode"; /** @@ -22,7 +20,7 @@ import { getDarknodeParam } from "./pages/Darknode"; class BackgroundTasksClass extends React.Component { private callUpdatePricesTimeout: NodeJS.Timer | undefined; private callLookForLogoutInterval: NodeJS.Timer | undefined; - private callUpdateOperatorStatisticsTimeout: NodeJS.Timer | undefined; + private callUpdateOperatorDarknodesTimeout: NodeJS.Timer | undefined; private callUpdateSelectedDarknodeTimeout: NodeJS.Timer | undefined; public componentDidMount = async (): Promise => { @@ -57,9 +55,9 @@ class BackgroundTasksClass extends React.Component { public componentWillReceiveProps = (nextProps: Props): void => { if (this.props.store.address !== nextProps.store.address) { - this.callUpdateOperatorStatistics(nextProps).catch(error => { + this.callUpdateOperatorDarknodes(nextProps).catch(error => { _captureBackgroundException_(error, { - description: "Error in callUpdateOperatorStatistics in BackgroundTasks", + description: "Error in callUpdateOperatorDarknodes in BackgroundTasks", }); }); } @@ -83,7 +81,7 @@ class BackgroundTasksClass extends React.Component { // Clear timeouts if (this.callUpdatePricesTimeout) { clearTimeout(this.callUpdatePricesTimeout); } if (this.callLookForLogoutInterval) { clearTimeout(this.callLookForLogoutInterval); } - if (this.callUpdateOperatorStatisticsTimeout) { clearTimeout(this.callUpdateOperatorStatisticsTimeout); } + if (this.callUpdateOperatorDarknodesTimeout) { clearTimeout(this.callUpdateOperatorDarknodesTimeout); } if (this.callUpdateSelectedDarknodeTimeout) { clearTimeout(this.callUpdateSelectedDarknodeTimeout); } } @@ -115,7 +113,7 @@ class BackgroundTasksClass extends React.Component { } // Update operator statistics every 120 seconds - private readonly callUpdateOperatorStatistics = async (props?: Props): Promise => { + private readonly callUpdateOperatorDarknodes = async (props?: Props): Promise => { props = props || this.props; const { web3, address, tokenPrices, darknodeList, darknodeRegisteringList, renNetwork } = props.store; @@ -127,18 +125,18 @@ class BackgroundTasksClass extends React.Component { list = list.concat(darknodeList); } // tslint:disable-next-line: await-promise - await props.actions.updateOperatorStatistics(web3, renNetwork, address, tokenPrices, list); + await props.actions.updateOperatorDarknodes(web3, renNetwork, address, tokenPrices, list); timeout = 120; } catch (error) { _captureBackgroundException_(error, { - description: "Error thrown in callUpdateOperatorStatistics background task", + description: "Error thrown in callUpdateOperatorDarknodes background task", }); timeout = 10; } } - if (this.callUpdateOperatorStatisticsTimeout) { clearTimeout(this.callUpdateOperatorStatisticsTimeout); } - this.callUpdateOperatorStatisticsTimeout = setTimeout( - this.callUpdateOperatorStatistics, + if (this.callUpdateOperatorDarknodesTimeout) { clearTimeout(this.callUpdateOperatorDarknodesTimeout); } + this.callUpdateOperatorDarknodesTimeout = setTimeout( + this.callUpdateOperatorDarknodes, timeout * 1000, ) as unknown as NodeJS.Timer; } @@ -156,7 +154,7 @@ class BackgroundTasksClass extends React.Component { if (tokenPrices && darknodeID) { try { // tslint:disable-next-line: await-promise - await props.actions.updateDarknodeStatistics( + await props.actions.updateDarknodeDetails( web3, renNetwork, darknodeID, @@ -194,9 +192,9 @@ class BackgroundTasksClass extends React.Component { // tslint:disable-next-line:member-ordering public setupLoopsWithAccount(): void { this.callLookForLogoutInterval = setInterval(this.callLookForLogout, 5000); - this.callUpdateOperatorStatistics().catch(error => { + this.callUpdateOperatorDarknodes().catch(error => { _captureBackgroundException_(error, { - description: "Error in callUpdateOperatorStatistics in BackgroundTasks", + description: "Error in callUpdateOperatorDarknodes in BackgroundTasks", }); }); } @@ -207,20 +205,20 @@ const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, web3: state.account.web3, - tokenPrices: state.statistics.tokenPrices, - darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address, null) : null, - darknodeRegisteringList: state.statistics.darknodeRegisteringList, + tokenPrices: state.network.tokenPrices, + darknodeList: state.account.address ? state.network.darknodeList.get(state.account.address, null) : null, + darknodeRegisteringList: state.network.darknodeRegisteringList, renNetwork: state.account.renNetwork, }, }); const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - login, + login: promptLogin, lookForLogout, updateTokenPrices, - updateOperatorStatistics, - updateDarknodeStatistics, + updateOperatorDarknodes, + updateDarknodeDetails, }, dispatch), }); diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 721629ca..82f19660 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -10,8 +10,8 @@ import { bindActionCreators } from "redux"; import { storeRenNetwork } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; +import { storeQuoteCurrency } from "../store/network/operatorActions"; import { AppDispatch } from "../store/rootReducer"; -import { storeQuoteCurrency } from "../store/statistics/operatorActions"; import { showMobileMenu } from "../store/ui/uiActions"; import { ReactComponent as English } from "../styles/images/rp-flag-uk.svg"; import { AccountDropdown } from "./AccountDropdown"; @@ -130,7 +130,7 @@ class HeaderClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, - quoteCurrency: state.statistics.quoteCurrency, + quoteCurrency: state.network.quoteCurrency, renNetwork: state.account.renNetwork, }, }); diff --git a/src/components/TokenBalance.tsx b/src/components/TokenBalance.tsx index 3b5ef35f..58a7d20e 100644 --- a/src/components/TokenBalance.tsx +++ b/src/components/TokenBalance.tsx @@ -79,7 +79,7 @@ class TokenBalanceClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - tokenPrices: state.statistics.tokenPrices, + tokenPrices: state.network.tokenPrices, web3: state.account.web3, }, }); diff --git a/src/components/darknodeList/DarknodeCard.tsx b/src/components/darknodeList/DarknodeCard.tsx index bfa06e92..930a2607 100644 --- a/src/components/darknodeList/DarknodeCard.tsx +++ b/src/components/darknodeList/DarknodeCard.tsx @@ -5,15 +5,15 @@ import { bindActionCreators } from "redux"; import { RegistrationStatus } from "../../lib/ethereum/network"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; +import { removeDarknode, removeRegisteringDarknode } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; -import { removeDarknode, removeRegisteringDarknode } from "../../store/statistics/operatorActions"; import { darknodeIDHexToBase58 } from "../pages/Darknode"; import { CardView } from "./CardView"; const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, - quoteCurrency: state.statistics.quoteCurrency, + quoteCurrency: state.network.quoteCurrency, }, }); diff --git a/src/components/pages/Darknode.tsx b/src/components/pages/Darknode.tsx index d8556f46..7f487fc6 100644 --- a/src/components/pages/Darknode.tsx +++ b/src/components/pages/Darknode.tsx @@ -9,8 +9,8 @@ import { toChecksumAddress } from "web3-utils"; import { EncodedData, Encodings } from "../../lib/encodedData"; import { RegistrationStatus } from "../../lib/ethereum/network"; import { ApplicationState } from "../../store/applicationState"; +import { addRegisteringDarknode, setDarknodeName } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; -import { addRegisteringDarknode, setDarknodeName } from "../../store/statistics/operatorActions"; import { _catch_ } from "../ErrorBoundary"; import { StatusPage } from "../statuspage/StatusPage"; import { NotFound } from "./NotFound"; @@ -147,8 +147,8 @@ class DarknodeClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, - darknodeDetails: state.statistics.darknodeDetails, - darknodeNames: state.statistics.darknodeNames, + darknodeDetails: state.network.darknodeDetails, + darknodeNames: state.network.darknodeNames, }, }); diff --git a/src/components/pages/Home.tsx b/src/components/pages/Home.tsx index 80d30829..e7733d19 100644 --- a/src/components/pages/Home.tsx +++ b/src/components/pages/Home.tsx @@ -55,10 +55,10 @@ class HomeClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, - darknodeDetails: state.statistics.darknodeDetails, - darknodeNames: state.statistics.darknodeNames, - darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address, null) : null, - darknodeRegisteringList: state.statistics.darknodeRegisteringList, + darknodeDetails: state.network.darknodeDetails, + darknodeNames: state.network.darknodeNames, + darknodeList: state.account.address ? state.network.darknodeList.get(state.account.address, null) : null, + darknodeRegisteringList: state.network.darknodeRegisteringList, web3: state.account.web3, }, }); diff --git a/src/components/popups/WithdrawPopup.tsx b/src/components/popups/WithdrawPopup.tsx index 9f2d5fad..74bf2769 100644 --- a/src/components/popups/WithdrawPopup.tsx +++ b/src/components/popups/WithdrawPopup.tsx @@ -10,10 +10,10 @@ import { validate } from "wallet-address-validator"; import { Token } from "../../lib/ethereum/tokens"; import { ApplicationState } from "../../store/applicationState"; -import { AppDispatch } from "../../store/rootReducer"; import { addToWithdrawAddresses, removeFromWithdrawAddresses, -} from "../../store/statistics/operatorActions"; +} from "../../store/network/operatorActions"; +import { AppDispatch } from "../../store/rootReducer"; enum Stage { Pending, @@ -166,7 +166,7 @@ class WithdrawPopupClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - withdrawAddresses: state.statistics.withdrawAddresses, + withdrawAddresses: state.network.withdrawAddresses, }, }); diff --git a/src/components/sidebar/Sidebar.tsx b/src/components/sidebar/Sidebar.tsx index 8188a531..df12a1a8 100644 --- a/src/components/sidebar/Sidebar.tsx +++ b/src/components/sidebar/Sidebar.tsx @@ -14,10 +14,10 @@ import { SidebarIcon } from "./SidebarIcon"; const mapStateToProps = (state: ApplicationState) => ({ store: { - darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address) : null, - darknodeDetails: state.statistics.darknodeDetails, - darknodeNames: state.statistics.darknodeNames, - quoteCurrency: state.statistics.quoteCurrency, + darknodeList: state.account.address ? state.network.darknodeList.get(state.account.address) : null, + darknodeDetails: state.network.darknodeDetails, + darknodeNames: state.network.darknodeNames, + quoteCurrency: state.network.quoteCurrency, mobileMenuActive: state.ui.mobileMenuActive, }, }); diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index 19ecbf1a..57a04736 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -8,10 +8,10 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { OldToken, Token } from "../../lib/ethereum/tokens"; -import { withdrawReward } from "../../store/account/darknode"; +import { withdrawReward } from "../../store/account/darknodeActions"; import { ApplicationState } from "../../store/applicationState"; +import { updateDarknodeDetails, waitForTX } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; -import { updateDarknodeStatistics, waitForTX } from "../../store/statistics/operatorActions"; const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { const [loading, setLoading] = React.useState(false); @@ -29,7 +29,7 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: return; } // tslint:disable-next-line: await-promise - await actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); + await actions.updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices); } setLoading(false); @@ -50,9 +50,9 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: const mapStateToProps = (state: ApplicationState) => ({ store: { web3: state.account.web3, - tokenPrices: state.statistics.tokenPrices, + tokenPrices: state.network.tokenPrices, address: state.account.address, - withdrawAddresses: state.statistics.withdrawAddresses, + withdrawAddresses: state.network.withdrawAddresses, renNetwork: state.account.renNetwork, }, }); @@ -60,7 +60,7 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ withdrawReward, - updateDarknodeStatistics, + updateDarknodeDetails, waitForTX, }, dispatch), }); diff --git a/src/components/statuspage/OldFees.tsx b/src/components/statuspage/OldFees.tsx index a9d99236..aa9ecb95 100644 --- a/src/components/statuspage/OldFees.tsx +++ b/src/components/statuspage/OldFees.tsx @@ -11,7 +11,7 @@ import { FeesItem } from "./FeesItem"; const mapStateToProps = (state: ApplicationState) => ({ store: { - quoteCurrency: state.statistics.quoteCurrency, + quoteCurrency: state.network.quoteCurrency, }, }); diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index 030f68b9..378e0e90 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -10,10 +10,10 @@ import { showDeregisterPopup, showRefundPopup, showRegisterPopup, } from "../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; -import { AppDispatch } from "../../store/rootReducer"; import { - updateDarknodeStatistics, updateOperatorStatistics, -} from "../../store/statistics/operatorActions"; + updateDarknodeDetails, updateOperatorDarknodes, +} from "../../store/network/operatorActions"; +import { AppDispatch } from "../../store/rootReducer"; export const statusText = { [RegistrationStatus.Unknown]: "Loading...", @@ -117,7 +117,7 @@ class RegistrationClass extends React.Component { const { web3, tokenPrices, renNetwork } = this.props.store; try { - await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); + await this.props.actions.updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -136,7 +136,7 @@ class RegistrationClass extends React.Component { } try { - await this.props.actions.updateOperatorStatistics(web3, renNetwork, address, tokenPrices, darknodeList); + await this.props.actions.updateOperatorDarknodes(web3, renNetwork, address, tokenPrices, darknodeList); } catch (error) { // Ignore error } @@ -205,9 +205,9 @@ const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, web3: state.account.web3, - tokenPrices: state.statistics.tokenPrices, - darknodeList: state.account.address ? state.statistics.darknodeList.get(state.account.address, null) : null, - quoteCurrency: state.statistics.quoteCurrency, + tokenPrices: state.network.tokenPrices, + darknodeList: state.account.address ? state.network.darknodeList.get(state.account.address, null) : null, + quoteCurrency: state.network.quoteCurrency, renNetwork: state.account.renNetwork, }, }); @@ -217,8 +217,8 @@ const mapDispatchToProps = (dispatch: AppDispatch) => ({ showRegisterPopup, showDeregisterPopup, showRefundPopup, - updateDarknodeStatistics, - updateOperatorStatistics, + updateDarknodeDetails, + updateOperatorDarknodes, }, dispatch), }); diff --git a/src/components/statuspage/StatusPage.tsx b/src/components/statuspage/StatusPage.tsx index 33c4bf20..d3689151 100644 --- a/src/components/statuspage/StatusPage.tsx +++ b/src/components/statuspage/StatusPage.tsx @@ -6,8 +6,8 @@ import { bindActionCreators } from "redux"; import { RegistrationStatus } from "../../lib/ethereum/network"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; +import { setDarknodeName } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; -import { setDarknodeName } from "../../store/statistics/operatorActions"; import { DarknodeID } from "../DarknodeID"; import { DarknodeAction } from "../pages/Darknode"; import { FeesBlock } from "./block/FeesBlock"; @@ -168,7 +168,7 @@ class StatusPageClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { - tokenPrices: state.statistics.tokenPrices, + tokenPrices: state.network.tokenPrices, }, }); diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index d4439e5e..40cf0559 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -15,10 +15,10 @@ import { RegistrationStatus } from "../../../lib/ethereum/network"; import { OldToken, Token } from "../../../lib/ethereum/tokens"; import { showClaimPopup } from "../../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; -import { AppDispatch } from "../../../store/rootReducer"; import { - updateCycleAndPendingRewards, updateDarknodeStatistics, -} from "../../../store/statistics/operatorActions"; + updateCycleAndPendingRewards, updateDarknodeDetails, +} from "../../../store/network/operatorActions"; +import { AppDispatch } from "../../../store/rootReducer"; import { TokenBalance } from "../../TokenBalance"; import { FeesItem } from "../FeesItem"; import { OldFees } from "../OldFees"; @@ -309,7 +309,7 @@ class FeesBlockClass extends React.Component { const onDone = async () => { try { await this.props.actions.updateCycleAndPendingRewards(web3, renNetwork, tokenPrices); - await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); + await this.props.actions.updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -330,21 +330,21 @@ const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, web3: state.account.web3, - quoteCurrency: state.statistics.quoteCurrency, - currentCycle: state.statistics.currentCycle, - previousCycle: state.statistics.previousCycle, - pendingRewards: state.statistics.pendingRewards, - pendingTotalInEth: state.statistics.pendingTotalInEth, - tokenPrices: state.statistics.tokenPrices, + quoteCurrency: state.network.quoteCurrency, + currentCycle: state.network.currentCycle, + previousCycle: state.network.previousCycle, + pendingRewards: state.network.pendingRewards, + pendingTotalInEth: state.network.pendingTotalInEth, + tokenPrices: state.network.tokenPrices, renNetwork: state.account.renNetwork, - cycleTimeout: state.statistics.cycleTimeout, + cycleTimeout: state.network.cycleTimeout, }, }); const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ showClaimPopup, - updateDarknodeStatistics, + updateDarknodeDetails, updateCycleAndPendingRewards, }, dispatch), }); diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/statuspage/block/GasGraph.tsx index 0cd54b42..637748df 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/statuspage/block/GasGraph.tsx @@ -12,10 +12,10 @@ import { bindActionCreators } from "redux"; import { HistoryIterations, HistoryPeriods } from "../../../lib/ethereum/network"; import { _captureBackgroundException_ } from "../../../lib/react/errors"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; -import { AppDispatch } from "../../../store/rootReducer"; import { updateDarknodeBalanceHistory, updateSecondsPerBlock, -} from "../../../store/statistics/operatorActions"; +} from "../../../store/network/operatorActions"; +import { AppDispatch } from "../../../store/rootReducer"; import { Block, BlockBody, BlockTitle } from "./Block"; const shift = new BigNumber(10).exponentiatedBy(18); @@ -290,8 +290,8 @@ class GasGraphClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { web3: state.account.web3, - balanceHistories: state.statistics.balanceHistories, - secondsPerBlock: state.statistics.secondsPerBlock, + balanceHistories: state.network.balanceHistories, + secondsPerBlock: state.network.secondsPerBlock, }, }); diff --git a/src/components/statuspage/topup/TopUpController.ts b/src/components/statuspage/topup/TopUpController.ts index 2fb267e6..cc2b5ef0 100644 --- a/src/components/statuspage/topup/TopUpController.ts +++ b/src/components/statuspage/topup/TopUpController.ts @@ -6,8 +6,8 @@ import { bindActionCreators } from "redux"; import { _captureBackgroundException_ } from "../../../lib/react/errors"; import { showFundPopup } from "../../../store/account/operatorPopupActions"; import { ApplicationState } from "../../../store/applicationState"; +import { updateDarknodeDetails } from "../../../store/network/operatorActions"; import { AppDispatch } from "../../../store/rootReducer"; -import { updateDarknodeStatistics } from "../../../store/statistics/operatorActions"; import { TopUp } from "./TopUp"; export const CONFIRMATION_MESSAGE = "Transaction confirmed."; @@ -117,7 +117,7 @@ class TopUpControllerClass extends Component { const onDone = async () => { try { - await this.props.actions.updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); + await this.props.actions.updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices); } catch (error) { // Ignore error } @@ -141,7 +141,7 @@ const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, web3: state.account.web3, - tokenPrices: state.statistics.tokenPrices, + tokenPrices: state.network.tokenPrices, renNetwork: state.account.renNetwork, }, }); @@ -149,7 +149,7 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ showFundPopup, - updateDarknodeStatistics, + updateDarknodeDetails, }, dispatch), }); diff --git a/src/lib/ethereum/network.ts b/src/lib/ethereum/network.ts index 8a29039d..43f15ac4 100644 --- a/src/lib/ethereum/network.ts +++ b/src/lib/ethereum/network.ts @@ -247,7 +247,7 @@ const getDarknodeOperator = async (web3: Web3, renNetwork: RenNetworkDetails, da return owner; }; -export const fetchDarknodeStatistics = async ( +export const fetchDarknodeDetails = async ( web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string, diff --git a/src/lib/ethereum/operator.ts b/src/lib/ethereum/operator.ts index f47b64bc..f1d0af9b 100644 --- a/src/lib/ethereum/operator.ts +++ b/src/lib/ethereum/operator.ts @@ -4,7 +4,7 @@ import { OrderedSet } from "immutable"; import Web3 from "web3"; import { sha3, toChecksumAddress } from "web3-utils"; -import { WaitForTX } from "../../store/statistics/operatorActions"; +import { WaitForTX } from "../../store/network/operatorActions"; import { alreadyPast } from "../conversion"; import { _noCapture_ } from "../react/errors"; import { DarknodePaymentWeb3 } from "./contracts/bindings/darknodePayment"; diff --git a/src/store/account/accountActions.tsx b/src/store/account/accountActions.tsx index 11f19ad7..f258d616 100644 --- a/src/store/account/accountActions.tsx +++ b/src/store/account/accountActions.tsx @@ -11,26 +11,24 @@ import { LoggedOut } from "../../components/popups/LoggedOut"; import { NoWeb3Popup } from "../../components/popups/NoWeb3Popup"; import { Language } from "../../languages/language"; import { getInjectedWeb3Provider } from "../../lib/ethereum/wallet"; -import { _captureBackgroundException_ } from "../../lib/react/errors"; import { history } from "../../lib/react/history"; import { ApplicationState } from "../applicationState"; import { clearPopup, setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; export const logout = createStandardAction("LOGOUT")(); -export const storeWeb3 = createStandardAction("STORE_WEB3")(); -export const storeAddress = createStandardAction("STORE_ADDRESS")(); +export const login = createStandardAction("LOGIN")<{ web3: Web3, address: string }>(); export const storeRenNetwork = createStandardAction("STORE_REN_NETWORK")(); export const storeWeb3BrowserName = createStandardAction("STORE_WEB3_BROWSER_NAME")(); -export const login = ( +export const promptLogin = ( renNetwork: RenNetworkDetails, options: { redirect: boolean; showPopup: boolean; immediatePopup: boolean }, ) => async (dispatch: AppDispatch) => { let cancelled = false; - const onClick = async () => (dispatch(login(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }))); + const onClick = async () => (dispatch(promptLogin(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }))); const onCancel = () => { dispatch(clearPopup()); cancelled = true; @@ -137,8 +135,7 @@ export const login = ( }); // Store address in the store (and in local storage) - dispatch(storeAddress(address)); - dispatch(storeWeb3(newWeb3)); + dispatch(login({ web3: newWeb3, address })); /* // Check for mobile @@ -170,7 +167,7 @@ export const lookForLogout = () => async (dispatch: AppDispatch, getState: () => if (!accounts.includes(address.toLowerCase())) { const onClick = async () => { dispatch(logout()); - await dispatch(login(renNetwork, { redirect: false, showPopup: true, immediatePopup: false })); + await dispatch(promptLogin(renNetwork, { redirect: false, showPopup: true, immediatePopup: false })); }; const onCancel = async () => { dispatch(logout()); diff --git a/src/store/account/accountReducer.ts b/src/store/account/accountReducer.ts index 02544926..722a4fda 100644 --- a/src/store/account/accountReducer.ts +++ b/src/store/account/accountReducer.ts @@ -14,11 +14,10 @@ export const accountReducer = (state: AccountState = new AccountState(), action: .set("web3", readOnlyWeb3) .set("address", null); - case getType(accountActions.storeAddress): - return state.set("address", action.payload); - - case getType(accountActions.storeWeb3): - return state.set("web3", action.payload); + case getType(accountActions.login): + return state + .set("address", action.payload.address) + .set("web3", action.payload.web3); case getType(accountActions.storeWeb3BrowserName): const web3BrowserName = getWeb3BrowserName(action.payload); diff --git a/src/store/account/darknode.tsx b/src/store/account/darknodeActions.tsx similarity index 96% rename from src/store/account/darknode.tsx rename to src/store/account/darknodeActions.tsx index 29105f3b..6e4ea3cd 100644 --- a/src/store/account/darknode.tsx +++ b/src/store/account/darknodeActions.tsx @@ -6,11 +6,10 @@ import Web3 from "web3"; import { WithdrawPopup } from "../../components/popups/WithdrawPopup"; import { withdrawOldToken, withdrawToken } from "../../lib/ethereum/operator"; import { AllTokenDetails, OldToken, Token } from "../../lib/ethereum/tokens"; -import { _noCapture_ } from "../../lib/react/errors"; import { ApplicationState } from "../applicationState"; +import { WaitForTX } from "../network/operatorActions"; import { clearPopup, setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; -import { WaitForTX } from "../statistics/operatorActions"; export const showWithdrawToken = async ( web3: Web3, diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index 34368dbe..3d6333ae 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -15,9 +15,9 @@ import { import { Token } from "../../lib/ethereum/tokens"; import { _captureBackgroundException_ } from "../../lib/react/errors"; import { TokenPrices } from "../../lib/tokenPrices"; +import { connectWaitForTX, updateDarknodeDetails } from "../network/operatorActions"; import { setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; -import { connectWaitForTX, updateDarknodeStatistics } from "../statistics/operatorActions"; export const showRegisterPopup = ( web3: Web3, @@ -48,10 +48,10 @@ export const showRegisterPopup = ( if (tokenPrices) { try { - await dispatch(updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)); + await dispatch(updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices)); } catch (error) { _captureBackgroundException_(error, { - description: "Error thrown in updateDarknodeStatistics in showRegisterPopup", + description: "Error thrown in updateDarknodeDetails in showRegisterPopup", }); } } diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 95b6289d..541136fb 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -19,7 +19,7 @@ import { TokenPrices } from "../lib/tokenPrices"; export interface ApplicationState { account: AccountState; popup: PopupState; - statistics: StatisticsState; + network: NetworkState; ui: UIState; } @@ -68,7 +68,7 @@ export class UIState extends Record({ mobileMenuActive: false, }) { } -export class StatisticsState extends Record({ +export class NetworkState extends Record({ secondsPerBlock: null as number | null, tokenPrices: null as TokenPrices | null, @@ -96,7 +96,7 @@ export class StatisticsState extends Record({ pendingRewards: OrderedMap>(), pendingTotalInEth: OrderedMap(), cycleTimeout: new BigNumber(0), -}) implements Serializable { +}) implements Serializable { public serialize(): string { const js = this.toJS(); return JSON.stringify({ @@ -107,11 +107,11 @@ export class StatisticsState extends Record({ }); } - public deserialize(str: string): StatisticsState { + public deserialize(str: string): NetworkState { // let next = this; try { const data = JSON.parse(str); - return new StatisticsState({ + return new NetworkState({ darknodeList: data.darknodeList, darknodeNames: data.darknodeNames, darknodeRegisteringList: data.darknodeRegisteringList, diff --git a/src/store/statistics/networkActions.ts b/src/store/network/networkActions.ts similarity index 100% rename from src/store/statistics/networkActions.ts rename to src/store/network/networkActions.ts diff --git a/src/store/statistics/statisticsReducer.ts b/src/store/network/networkReducer.ts similarity index 97% rename from src/store/statistics/statisticsReducer.ts rename to src/store/network/networkReducer.ts index 6ec931be..eb0a0f66 100644 --- a/src/store/statistics/statisticsReducer.ts +++ b/src/store/network/networkReducer.ts @@ -2,17 +2,17 @@ import { List } from "immutable"; import { ActionType, getType } from "typesafe-actions"; import { _captureInteractionException_ } from "../../lib/react/errors"; -import { StatisticsState } from "../applicationState"; +import { NetworkState } from "../applicationState"; import * as networkActions from "./networkActions"; import * as operatorActions from "./operatorActions"; type NetworkAction = ActionType; type OperatorActions = ActionType; -export const statisticsReducer = ( - state: StatisticsState = new StatisticsState(), +export const networkReducer = ( + state: NetworkState = new NetworkState(), action: NetworkAction | OperatorActions -): StatisticsState => { +): NetworkState => { switch (action.type) { case getType(networkActions.updateCurrentCycle): return state.set("currentCycle", action.payload); diff --git a/src/store/statistics/operatorActions.ts b/src/store/network/operatorActions.ts similarity index 94% rename from src/store/statistics/operatorActions.ts rename to src/store/network/operatorActions.ts index 17b4bbdb..0fef5105 100644 --- a/src/store/statistics/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -8,7 +8,7 @@ import { PromiEvent } from "web3-core"; import { calculateSecondsPerBlock, fetchCycleAndPendingRewards, fetchDarknodeBalanceHistory, - fetchDarknodeStatistics, HistoryPeriods, + fetchDarknodeDetails, HistoryPeriods, } from "../../lib/ethereum/network"; import { getOperatorDarknodes } from "../../lib/ethereum/operator"; import { Token } from "../../lib/ethereum/tokens"; @@ -116,17 +116,17 @@ export const updateCycleAndPendingRewards = ( } }; -export const updateDarknodeStatistics = ( +export const updateDarknodeDetails = ( web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string, tokenPrices: TokenPrices | null, ) => async (dispatch: AppDispatch) => { - const darknodeDetails = await fetchDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices); + const darknodeDetails = await fetchDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices); dispatch(setDarknodeDetails({ darknodeDetails })); }; -export const updateOperatorStatistics = ( +export const updateOperatorDarknodes = ( web3: Web3, renNetwork: RenNetworkDetails, address: string, @@ -141,7 +141,7 @@ export const updateOperatorStatistics = ( dispatch(storeDarknodeList({ darknodeList: currentDarknodes, address })); // The lists are merged in the reducer as well, but we combine them again - // before passing into `updateDarknodeStatistics` + // before passing into `updateDarknodeDetails` currentDarknodes.map((darknodeID: string) => { if (!darknodeList.contains(darknodeID)) { darknodeList = darknodeList.push(darknodeID); @@ -150,7 +150,7 @@ export const updateOperatorStatistics = ( }); await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { - return dispatch(updateDarknodeStatistics(web3, renNetwork, darknodeID, tokenPrices)); + return dispatch(updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices)); }).toArray()); }; diff --git a/src/store/persistConfig.ts b/src/store/persistConfig.ts index 62d90b4c..680739eb 100644 --- a/src/store/persistConfig.ts +++ b/src/store/persistConfig.ts @@ -1,8 +1,10 @@ +// tslint:disable: no-console + import { createTransform, PersistConfig } from "redux-persist"; import storage from "redux-persist/lib/storage"; import { _captureBackgroundException_ } from "../lib/react/errors"; -import { AccountState, ApplicationState, StatisticsState } from "./applicationState"; +import { AccountState, ApplicationState, NetworkState } from "./applicationState"; // Local Storage: @@ -11,8 +13,9 @@ const accountTransform = createTransform( try { return inboundState.serialize(); } catch (error) { - console.error(`Error serializing ${key} (${JSON.stringify(inboundState)}): ${error}`); - _captureBackgroundException_(error, { description: "Error serializing local storage" }); + console.error(`Error serializing ${key} in AccountState (${JSON.stringify(inboundState)}): ${error}`); + // Don't send storage because it may contain sensitive data. + _captureBackgroundException_(error, { description: "Error serializing account storage" }); throw error; } }, @@ -20,39 +23,42 @@ const accountTransform = createTransform( try { return new AccountState().deserialize(outboundState); } catch (error) { - console.error(`Error deserializing ${key} (${JSON.stringify(outboundState)}): ${error}`); - _captureBackgroundException_(error, { description: "Error deserializing local storage" }); + console.error(`Error deserializing ${key} in AccountState (${JSON.stringify(outboundState)}): ${error}`); + // Don't send storage because it may contain sensitive data. + _captureBackgroundException_(error, { description: "Error deserializing account storage" }); throw error; } }, { whitelist: ["account"] as Array, }, ); -const statisticsTransform = createTransform( - (inboundState: StatisticsState, key: string): string => { +const networkTransform = createTransform( + (inboundState: NetworkState, key: string): string => { try { return inboundState.serialize(); } catch (error) { - console.error(`Error serializing ${key} (${JSON.stringify(inboundState)}): ${error}`); - _captureBackgroundException_(error, { description: "Error serializing local storage" }); + console.error(`Error serializing ${key} in NetworkState (${JSON.stringify(inboundState)}): ${error}`); + // Don't send storage because it may contain sensitive data. + _captureBackgroundException_(error, { description: "Error serializing network storage" }); throw error; } }, - (outboundState: string, key: string): StatisticsState => { + (outboundState: string, key: string): NetworkState => { try { - return new StatisticsState().deserialize(outboundState); + return new NetworkState().deserialize(outboundState); } catch (error) { - console.error(`Error deserializing ${key} (${JSON.stringify(outboundState)}): ${error}`); - _captureBackgroundException_(error, { description: "Error deserializing local storage" }); + console.error(`Error deserializing ${key} in NetworkState (${JSON.stringify(outboundState)}): ${error}`); + // Don't send storage because it may contain sensitive data. + _captureBackgroundException_(error, { description: "Error deserializing network storage" }); throw error; } }, - { whitelist: ["statistics"] as Array, }, + { whitelist: ["network"] as Array, }, ); export const persistConfig: PersistConfig = { storage, key: "root", - whitelist: ["account", "statistics"] as Array, - transforms: [accountTransform, statisticsTransform], + whitelist: ["account", "network"] as Array, + transforms: [accountTransform, networkTransform], }; diff --git a/src/store/rootReducer.ts b/src/store/rootReducer.ts index 488f0262..65b67abf 100644 --- a/src/store/rootReducer.ts +++ b/src/store/rootReducer.ts @@ -3,14 +3,14 @@ import { ThunkDispatch } from "redux-thunk"; import { accountReducer } from "./account/accountReducer"; import { ApplicationState } from "./applicationState"; +import { networkReducer } from "./network/networkReducer"; import { popupReducer } from "./popup/popupReducer"; -import { statisticsReducer } from "./statistics/statisticsReducer"; import { uiReducer } from "./ui/uiReducer"; export const rootReducer = combineReducers({ popup: popupReducer, account: accountReducer, - statistics: statisticsReducer, + network: networkReducer, ui: uiReducer, }); From dee39501c5d13541d4550cb926c22c04245465e6 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:24:27 +1000 Subject: [PATCH 022/117] Added darknode-sol to run tests locally --- .circleci/config.yml | 26 ++++ package.json | 3 +- src/components/AccountDropdown.tsx | 2 +- src/components/TokenBalance.tsx | 120 ++++++------------ src/lib/ethereum/network.spec.ts | 12 +- .../{tokens.test.ts => tokensspec.ts} | 2 +- yarn.lock | 10 +- 7 files changed, 83 insertions(+), 92 deletions(-) rename src/lib/ethereum/{tokens.test.ts => tokensspec.ts} (97%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 54435166..4478cef9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,12 +28,38 @@ commands: - node_modules key: v1-dependencies-{{ checksum "yarn.lock" }} + setup_local_network: + description: "Set up local network" + steps: + - cd-darknode-sol: + cd ./node_modules/darknode-sol + - restore_cache: + name: Restore node_modules + keys: + - v1-dependencies-{{ checksum "yarn.lock" }} + - run: + name: Install Dependencies + command: yarn install + - save_cache: + name: Save node_modules + paths: + - node_modules + key: v1-dependencies-{{ checksum "yarn.lock" }} + - run-ganache: + (yarn ganache-cli -d > /dev/null &) && sleep 5 + - run-migration: + yarn truffle migrate + jobs: build: executor: default steps: - checkout - install_deps + - setup_local_network + - run: + name: Test + command: yarn run test - run: name: Build command: yarn run build diff --git a/package.json b/package.json index 6a1f5719..2fcdf86a 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@fortawesome/free-regular-svg-icons": "^5.9.0", "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "0.3.8", + "@renproject/contracts": "0.3.9", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "^1.0.25", "@sentry/browser": "^5.5.0", @@ -57,6 +57,7 @@ "@types/chai": "^4.1.7", "any-promise": "^1.3.0", "chai": "^4.2.0", + "darknode-sol": "https://github.com/renproject/darknode-sol#localnet", "npm-check-updates": "^3.1.20", "ts-unused-exports": "^2.0.11", "tslint": "^5.18.0", diff --git a/src/components/AccountDropdown.tsx b/src/components/AccountDropdown.tsx index 42b0eae1..c8a691bd 100644 --- a/src/components/AccountDropdown.tsx +++ b/src/components/AccountDropdown.tsx @@ -106,7 +106,7 @@ class AccountDropdownClass extends React.Component { {transactions.size > 0 ? <> - {transactions.map((tx, txHash) => { + {transactions.map((_tx, txHash) => { const confs = confirmations.get(txHash, 0); return
  • {confs === 0 ? : <>} diff --git a/src/components/TokenBalance.tsx b/src/components/TokenBalance.tsx index 58a7d20e..2909fbe3 100644 --- a/src/components/TokenBalance.tsx +++ b/src/components/TokenBalance.tsx @@ -2,98 +2,60 @@ import * as React from "react"; import { Currency } from "@renproject/react-components"; import { BigNumber } from "bignumber.js"; -import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { bindActionCreators } from "redux"; +import { connect } from "react-redux"; // Custom typings import { AllTokenDetails, OldToken, Token } from "../lib/ethereum/tokens"; import { ApplicationState } from "../store/applicationState"; -import { AppDispatch } from "../store/rootReducer"; - -const defaultState = { // Entries must be immutable - decimals: 0, -}; - -class TokenBalanceClass extends React.Component { - constructor(props: Props) { - super(props); - this.state = defaultState; - } - - public componentDidMount = async (): Promise => { - const { token } = this.props; - - const tokenDetails = AllTokenDetails.get(token as Token, undefined); - const decimals = tokenDetails ? new BigNumber(tokenDetails.decimals.toString()).toNumber() : 0; - this.setState({ decimals }); - } - - public componentWillReceiveProps = async (nextProps: Props): Promise => { - const { token: nextToken } = nextProps; - const { token } = this.props; - - if (nextToken !== token) { - const tokenDetails = AllTokenDetails.get(nextToken as Token, undefined); - const decimals = tokenDetails ? new BigNumber(tokenDetails.decimals.toString()).toNumber() : 0; - this.setState({ decimals }); - } - } - - public render = (): JSX.Element => { - const { token, convertTo, store, digits } = this.props; - const { decimals } = this.state; - const { tokenPrices } = store; - - const amount = new BigNumber(this.props.amount) - .div(new BigNumber(Math.pow(10, decimals))); - - if (!convertTo) { - return <>{digits !== undefined ? amount.toFixed(digits) : amount.toFixed()}; - } - - if (!tokenPrices) { - return <>...; - } - - const tokenPriceMap = tokenPrices.get(token, undefined); - if (!tokenPriceMap) { - return <>...; - } - - const price = tokenPriceMap.get(convertTo, undefined); - if (!price) { - return ERR; - } - - let defaultDigits; - switch (convertTo) { - case Currency.BTC: - case Currency.ETH: - defaultDigits = 3; break; - default: - defaultDigits = 2; - } - defaultDigits = digits === undefined ? defaultDigits : digits; - return <>{amount.multipliedBy(price).toFixed(defaultDigits)}; - } -} const mapStateToProps = (state: ApplicationState) => ({ store: { tokenPrices: state.network.tokenPrices, - web3: state.account.web3, }, }); -const mapDispatchToProps = (dispatch: AppDispatch) => ({ - actions: bindActionCreators({ - }, dispatch), -}); - -interface Props extends ReturnType, ConnectedReturnType { +interface Props extends ReturnType { token: Token | OldToken; amount: string | BigNumber; convertTo?: Currency; digits?: number; // Always shows this many digits (e.g. for 3 d.p.: 0.100, 0.111) } -export const TokenBalance = connect(mapStateToProps, mapDispatchToProps)(TokenBalanceClass); +export const TokenBalance = connect(mapStateToProps)((props: Props) => { + const { token, convertTo, store, digits } = props; + const { tokenPrices } = store; + + const tokenDetails = AllTokenDetails.get(token as Token, undefined); + const decimals = tokenDetails ? new BigNumber(tokenDetails.decimals.toString()).toNumber() : 0; + + const amount = new BigNumber(props.amount) + .div(new BigNumber(Math.pow(10, decimals))); + + if (!convertTo) { + return <>{digits !== undefined ? amount.toFixed(digits) : amount.toFixed()}; + } + + if (!tokenPrices) { + return <>...; + } + + const tokenPriceMap = tokenPrices.get(token, undefined); + if (!tokenPriceMap) { + return <>...; + } + + const price = tokenPriceMap.get(convertTo, undefined); + if (!price) { + return ERR; + } + + let defaultDigits; + switch (convertTo) { + case Currency.BTC: + case Currency.ETH: + defaultDigits = 3; break; + default: + defaultDigits = 2; + } + defaultDigits = digits === undefined ? defaultDigits : digits; + return <>{amount.multipliedBy(price).toFixed(defaultDigits)}; +}); diff --git a/src/lib/ethereum/network.spec.ts b/src/lib/ethereum/network.spec.ts index bf7dfa0b..376978e8 100644 --- a/src/lib/ethereum/network.spec.ts +++ b/src/lib/ethereum/network.spec.ts @@ -1,16 +1,18 @@ -import { testnet } from "@renproject/contracts"; +import { ganache } from "@renproject/contracts"; import { should } from "chai"; +import { join } from "path"; +import Web3 from "web3"; import { darknodeIDBase58ToHex } from "../../components/pages/Darknode"; import { getDarknodeStatus, RegistrationStatus } from "./network"; -import { readOnlyWeb3 } from "./wallet"; should(); test("getDarknodeStatus", async () => { - const web3 = readOnlyWeb3; - const network = testnet; + const web3 = new Web3("http://localhost:8545"); + const networkID = await web3.eth.net.getId(); + const network = ganache(join(process.cwd(), "./node_modules/darknode-sol/build/development/"), networkID); const darknodeID = darknodeIDBase58ToHex("8MJpA1rXYMPTeJoYjsFBHJcuYBe7zQ"); (await getDarknodeStatus(web3, network, darknodeID)) - .should.equal(RegistrationStatus.Registered); + .should.equal(RegistrationStatus.Unregistered); }); diff --git a/src/lib/ethereum/tokens.test.ts b/src/lib/ethereum/tokensspec.ts similarity index 97% rename from src/lib/ethereum/tokens.test.ts rename to src/lib/ethereum/tokensspec.ts index 5e528f24..ac7dafbe 100644 --- a/src/lib/ethereum/tokens.test.ts +++ b/src/lib/ethereum/tokensspec.ts @@ -1,4 +1,4 @@ -import { } from "./tokens"; +import {} from "./tokens"; // const testnetAddresses = [ // "mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn", diff --git a/yarn.lock b/yarn.lock index cf6b4ee4..617080fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1279,10 +1279,10 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.8": - version "0.3.8" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.8.tgz#657a6e3057be00bf11edb7f18ad8e5991caf79a9" - integrity sha512-Ynz1iBWz1XGW9a44PwfAdKkmt4s5WnukdY3SPAO6705zmbNg5dBQSTJJcB3Me4a9JQHyWkfExu25iI/UVEdCMw== +"@renproject/contracts@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.9.tgz#4b5ec09ee57946dab9a4a9fa9e8b163fc609c01a" + integrity sha512-PBHj5/HTWyYB0/SDtjZDP2Z0/WEIUXkOJRqRDcmOdncv6zdb2yQXy0VbItk2JoQaMiekLcqqbtrP48JEDDQ6zw== dependencies: darknode-sol "https://github.com/renproject/darknode-sol#localnet" @@ -4572,7 +4572,7 @@ damerau-levenshtein@^1.0.4: "darknode-sol@https://github.com/renproject/darknode-sol#localnet": version "0.0.3" - resolved "https://github.com/renproject/darknode-sol#7f62c02aec7a4e480e147732dd8371dec06aa289" + resolved "https://github.com/renproject/darknode-sol#488a8b4367a2ce33fb0eae14c7bf90967d85e851" dependencies: openzeppelin-solidity "2.3.0" From 186a3116d66506178c78686f3615f6e08887615f Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:28:02 +1000 Subject: [PATCH 023/117] Updated circleci config --- .circleci/config.yml | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4478cef9..d1094b22 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,7 +18,7 @@ commands: - restore_cache: name: Restore node_modules keys: - - v1-dependencies-{{ checksum "yarn.lock" }} + - v1-cc-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies command: yarn install @@ -26,17 +26,18 @@ commands: name: Save node_modules paths: - node_modules - key: v1-dependencies-{{ checksum "yarn.lock" }} + key: v1-cc-dependencies-{{ checksum "yarn.lock" }} setup_local_network: description: "Set up local network" steps: - - cd-darknode-sol: - cd ./node_modules/darknode-sol + - run: + name: CD into darknode-sol + command: cd ./node_modules/darknode-sol - restore_cache: name: Restore node_modules keys: - - v1-dependencies-{{ checksum "yarn.lock" }} + - v1-sol-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies command: yarn install @@ -44,11 +45,13 @@ commands: name: Save node_modules paths: - node_modules - key: v1-dependencies-{{ checksum "yarn.lock" }} - - run-ganache: - (yarn ganache-cli -d > /dev/null &) && sleep 5 - - run-migration: - yarn truffle migrate + key: v1-sol-dependencies-{{ checksum "yarn.lock" }} + - run: + name: Start ganache + command: (yarn ganache-cli -d > /dev/null &) && sleep 5 + - run: + name: Migrate contracts + command: yarn truffle migrate jobs: build: From 4c52f43bf7dbce3da0bc1a258fe9aca102943c57 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:31:49 +1000 Subject: [PATCH 024/117] Updated circleci image --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d1094b22..7377f461 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ version: 2.1 executors: default: docker: - - image: circleci/node:10.16 + - image: circleci/node:latest working_directory: ~/command-center commands: From 98f39dd982dfbbdc876506ed2c4a81eb2d3d5761 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:36:12 +1000 Subject: [PATCH 025/117] Add yarn using npm in circleci --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7377f461..df7be1ec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,7 +21,10 @@ commands: - v1-cc-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: yarn install + command: + npm install --global yarn + yarn version + yarn install - save_cache: name: Save node_modules paths: From 75098cf733a56a9a95ef327aca3395b0b1a432d7 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:37:28 +1000 Subject: [PATCH 026/117] Add yarn using npm in circleci --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index df7be1ec..6d7965d0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,7 +22,7 @@ commands: - run: name: Install Dependencies command: - npm install --global yarn + sudo npm install --global yarn yarn version yarn install - save_cache: From 4295b118a4a4ba142ad238b5005103c383a1c93a Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:39:53 +1000 Subject: [PATCH 027/117] Add yarn using npm in circleci --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6d7965d0..22dc1c8b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,9 +22,9 @@ commands: - run: name: Install Dependencies command: - sudo npm install --global yarn - yarn version - yarn install + - sudo npm install --global yarn + - yarn version + - yarn install - save_cache: name: Save node_modules paths: From 1725c9256d4c991ee2ab9362b08b81ee5a36b4f2 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:44:05 +1000 Subject: [PATCH 028/117] Fixed .circleci config --- .circleci/config.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 22dc1c8b..e53c4c0c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,10 +21,7 @@ commands: - v1-cc-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: - - sudo npm install --global yarn - - yarn version - - yarn install + command: sudo npm install --global yarn && yarn version && yarn install - save_cache: name: Save node_modules paths: From 5841852b9e1fbfaa165778fe9764f864b34355e5 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:49:07 +1000 Subject: [PATCH 029/117] Updated .circleci config --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e53c4c0c..93b2a91f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,7 +21,7 @@ commands: - v1-cc-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: sudo npm install --global yarn && yarn version && yarn install + command: sudo rm -rf /home/circleci/.cache/ && sudo yarn global add yarn && yarn version && yarn install - save_cache: name: Save node_modules paths: From e7ce25eabe9c76316b121a4eb49914076da990e8 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:52:09 +1000 Subject: [PATCH 030/117] Use npm in circleci --- .circleci/config.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 93b2a91f..cc8bc52d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,15 +18,15 @@ commands: - restore_cache: name: Restore node_modules keys: - - v1-cc-dependencies-{{ checksum "yarn.lock" }} + - v1-cc-dependencies-{{ checksum "package-lock.json" }} - run: name: Install Dependencies - command: sudo rm -rf /home/circleci/.cache/ && sudo yarn global add yarn && yarn version && yarn install + command: npm install - save_cache: name: Save node_modules paths: - node_modules - key: v1-cc-dependencies-{{ checksum "yarn.lock" }} + key: v1-cc-dependencies-{{ checksum "package-lock.json" }} setup_local_network: description: "Set up local network" @@ -37,21 +37,21 @@ commands: - restore_cache: name: Restore node_modules keys: - - v1-sol-dependencies-{{ checksum "yarn.lock" }} + - v1-sol-dependencies-{{ checksum "package-lock.json" }} - run: name: Install Dependencies - command: yarn install + command: npm install - save_cache: name: Save node_modules paths: - node_modules - key: v1-sol-dependencies-{{ checksum "yarn.lock" }} + key: v1-sol-dependencies-{{ checksum "package-lock.json" }} - run: name: Start ganache - command: (yarn ganache-cli -d > /dev/null &) && sleep 5 + command: (npm run ganache-cli -d > /dev/null &) && sleep 5 - run: name: Migrate contracts - command: yarn truffle migrate + command: npm run truffle migrate jobs: build: @@ -62,16 +62,16 @@ jobs: - setup_local_network - run: name: Test - command: yarn run test + command: npm run test - run: name: Build - command: yarn run build + command: npm run build - run: name: Lint - command: yarn run lint + command: npm run lint - run: name: Lint with warnings - command: yarn run lint:extra || true # FIXME + command: npm run lint:extra || true # FIXME workflows: build: From 4a8baee6d9b5a981943f94720af311d12994642e Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:55:17 +1000 Subject: [PATCH 031/117] circleci: run yarn with --network-concurrency 1 --- .circleci/config.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cc8bc52d..fbb84916 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,15 +18,15 @@ commands: - restore_cache: name: Restore node_modules keys: - - v1-cc-dependencies-{{ checksum "package-lock.json" }} + - v1-cc-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: npm install + command: sudo rm -rf /home/circleci/.cache/ && sudo npm install --global yarn && yarn version && yarn cache clean && yarn install --network-concurrency 1 - save_cache: name: Save node_modules paths: - node_modules - key: v1-cc-dependencies-{{ checksum "package-lock.json" }} + key: v1-cc-dependencies-{{ checksum "yarn.lock" }} setup_local_network: description: "Set up local network" @@ -37,21 +37,21 @@ commands: - restore_cache: name: Restore node_modules keys: - - v1-sol-dependencies-{{ checksum "package-lock.json" }} + - v1-sol-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: npm install + command: yarn install - save_cache: name: Save node_modules paths: - node_modules - key: v1-sol-dependencies-{{ checksum "package-lock.json" }} + key: v1-sol-dependencies-{{ checksum "yarn.lock" }} - run: name: Start ganache - command: (npm run ganache-cli -d > /dev/null &) && sleep 5 + command: (yarn ganache-cli -d > /dev/null &) && sleep 5 - run: name: Migrate contracts - command: npm run truffle migrate + command: yarn truffle migrate jobs: build: @@ -62,16 +62,16 @@ jobs: - setup_local_network - run: name: Test - command: npm run test + command: yarn run test - run: name: Build - command: npm run build + command: yarn run build - run: name: Lint - command: npm run lint + command: yarn run lint - run: name: Lint with warnings - command: npm run lint:extra || true # FIXME + command: yarn run lint:extra || true # FIXME workflows: build: From 184175fa987d1bfec6e28f32c5a4386d82f06940 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 16:57:18 +1000 Subject: [PATCH 032/117] circleci: use node:10.16 --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index fbb84916..ac47e491 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,7 +7,7 @@ version: 2.1 executors: default: docker: - - image: circleci/node:latest + - image: circleci/node:10.16 working_directory: ~/command-center commands: @@ -21,7 +21,7 @@ commands: - v1-cc-dependencies-{{ checksum "yarn.lock" }} - run: name: Install Dependencies - command: sudo rm -rf /home/circleci/.cache/ && sudo npm install --global yarn && yarn version && yarn cache clean && yarn install --network-concurrency 1 + command: sudo npm install --global yarn && yarn version && yarn cache clean && yarn install --network-concurrency 1 - save_cache: name: Save node_modules paths: From bc72e9d0d57d6d3f471bf444744ef4d2ff4e7bfe Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 17:02:45 +1000 Subject: [PATCH 033/117] circleci: Fixed installing darknode-sol deps --- .circleci/config.yml | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ac47e491..8831aec7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -18,40 +18,28 @@ commands: - restore_cache: name: Restore node_modules keys: - - v1-cc-dependencies-{{ checksum "yarn.lock" }} + - v1-dependencies-{{ checksum "yarn.lock" }} - run: - name: Install Dependencies + name: Install dependencies command: sudo npm install --global yarn && yarn version && yarn cache clean && yarn install --network-concurrency 1 + - run: + name: Install darknode-sol dependencies + command: cd ./node_modules/darknode-sol && yarn install --network-concurrency 1 - save_cache: name: Save node_modules paths: - node_modules - key: v1-cc-dependencies-{{ checksum "yarn.lock" }} + key: v1-dependencies-{{ checksum "yarn.lock" }} setup_local_network: description: "Set up local network" steps: - - run: - name: CD into darknode-sol - command: cd ./node_modules/darknode-sol - - restore_cache: - name: Restore node_modules - keys: - - v1-sol-dependencies-{{ checksum "yarn.lock" }} - - run: - name: Install Dependencies - command: yarn install - - save_cache: - name: Save node_modules - paths: - - node_modules - key: v1-sol-dependencies-{{ checksum "yarn.lock" }} - run: name: Start ganache - command: (yarn ganache-cli -d > /dev/null &) && sleep 5 + command: cd ./node_modules/darknode-sol && (yarn ganache-cli -d > /dev/null &) && sleep 5 - run: name: Migrate contracts - command: yarn truffle migrate + command: cd ./node_modules/darknode-sol && yarn truffle migrate jobs: build: From 96ce7608cfac667c123f40596525f1ae41b41f18 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 20:17:19 +1000 Subject: [PATCH 034/117] circleci: combine test steps so ganache keeps running --- .circleci/config.yml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8831aec7..5e3ef82d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -31,15 +31,12 @@ commands: - node_modules key: v1-dependencies-{{ checksum "yarn.lock" }} - setup_local_network: - description: "Set up local network" + test_on_local_network: + description: "Test on local network" steps: - - run: - name: Start ganache - command: cd ./node_modules/darknode-sol && (yarn ganache-cli -d > /dev/null &) && sleep 5 - run: name: Migrate contracts - command: cd ./node_modules/darknode-sol && yarn truffle migrate + command: cd ./node_modules/darknode-sol && (yarn ganache-cli -d > /dev/null &) && sleep 5 && yarn truffle migrate && cd ../../ && yarn run test jobs: build: @@ -47,10 +44,7 @@ jobs: steps: - checkout - install_deps - - setup_local_network - - run: - name: Test - command: yarn run test + - test_on_local_network - run: name: Build command: yarn run build From cd6bc356206af9a245d3fc94339f2ea1ef5d483c Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 20:34:11 +1000 Subject: [PATCH 035/117] circleci: added scrypt dependency --- package.json | 1 + yarn.lock | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2fcdf86a..f8830efa 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#localnet", "npm-check-updates": "^3.1.20", + "scrypt": "^6.0.3", "ts-unused-exports": "^2.0.11", "tslint": "^5.18.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/yarn.lock b/yarn.lock index 617080fe..99a65d1d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9161,7 +9161,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.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1: +nan@^2.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -12116,6 +12116,13 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== +scrypt@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" + integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= + dependencies: + nan "^2.0.8" + scryptsy@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" From d70fc9cc50d6c57b162f7c3b1ae01cc4424b2801 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 20:42:09 +1000 Subject: [PATCH 036/117] circleci: skip building --- .circleci/config.yml | 6 +++--- package.json | 1 - yarn.lock | 9 +-------- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5e3ef82d..6e49d683 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -45,9 +45,9 @@ jobs: - checkout - install_deps - test_on_local_network - - run: - name: Build - command: yarn run build + # - run: + # name: Build + # command: yarn run build - run: name: Lint command: yarn run lint diff --git a/package.json b/package.json index f8830efa..2fcdf86a 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#localnet", "npm-check-updates": "^3.1.20", - "scrypt": "^6.0.3", "ts-unused-exports": "^2.0.11", "tslint": "^5.18.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/yarn.lock b/yarn.lock index 99a65d1d..617080fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9161,7 +9161,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.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1: +nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -12116,13 +12116,6 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== -scrypt@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" - integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= - dependencies: - nan "^2.0.8" - scryptsy@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" From 2433bed38478aebcf6034ce342a7313dff0122bb Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 30 Jul 2019 22:23:25 +1000 Subject: [PATCH 037/117] tests: improve global setup, test registering nodes --- package.json | 9 +- src/components/statuspage/FeesItem.tsx | 3 +- .../truffle-hdwallet-provider.d.ts | 1 + src/lib/ethereum/network.spec.ts | 14 +- src/lib/ethereum/operator.spec.ts | 27 + src/lib/ethereum/operator.ts | 6 +- src/lib/ethereum/waitForTX.ts | 28 + src/store/account/darknodeActions.tsx | 2 +- src/store/account/operatorPopupActions.tsx | 3 +- src/store/network/operatorActions.ts | 18 - test/globalSetup.ts | 44 + test/globalTeardown.ts | 10 + yarn.lock | 772 +++++++++++++++++- 13 files changed, 877 insertions(+), 60 deletions(-) create mode 100644 src/lib/declarations/truffle-hdwallet-provider.d.ts create mode 100644 src/lib/ethereum/operator.spec.ts create mode 100644 src/lib/ethereum/waitForTX.ts create mode 100644 test/globalSetup.ts create mode 100644 test/globalTeardown.ts diff --git a/package.json b/package.json index 2fcdf86a..a5581225 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#localnet", "npm-check-updates": "^3.1.20", + "truffle-hdwallet-provider": "^1.0.15", "ts-unused-exports": "^2.0.11", "tslint": "^5.18.0", "tslint-microsoft-contrib": "^6.2.0", @@ -82,5 +83,9 @@ "not dead", "not ie <= 11", "not op_mini all" - ] -} + ], + "jest": { + "globalSetup": "./test/globalSetup.ts", + "globalTeardown": "./test/globalTeardown.ts" + } +} \ No newline at end of file diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/statuspage/FeesItem.tsx index 57a04736..f66b6c8e 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/statuspage/FeesItem.tsx @@ -8,9 +8,10 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { OldToken, Token } from "../../lib/ethereum/tokens"; +import { waitForTX } from "../../lib/ethereum/waitForTX"; import { withdrawReward } from "../../store/account/darknodeActions"; import { ApplicationState } from "../../store/applicationState"; -import { updateDarknodeDetails, waitForTX } from "../../store/network/operatorActions"; +import { updateDarknodeDetails } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { diff --git a/src/lib/declarations/truffle-hdwallet-provider.d.ts b/src/lib/declarations/truffle-hdwallet-provider.d.ts new file mode 100644 index 00000000..f7f45f63 --- /dev/null +++ b/src/lib/declarations/truffle-hdwallet-provider.d.ts @@ -0,0 +1 @@ +declare module "truffle-hdwallet-provider"; \ No newline at end of file diff --git a/src/lib/ethereum/network.spec.ts b/src/lib/ethereum/network.spec.ts index 376978e8..80420a4f 100644 --- a/src/lib/ethereum/network.spec.ts +++ b/src/lib/ethereum/network.spec.ts @@ -1,18 +1,16 @@ -import { ganache } from "@renproject/contracts"; -import { should } from "chai"; -import { join } from "path"; +import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; +import { createWeb3, Provider } from "../../../test/globalSetup"; import { darknodeIDBase58ToHex } from "../../components/pages/Darknode"; import { getDarknodeStatus, RegistrationStatus } from "./network"; -should(); +let web3: Web3, network: RenNetworkDetails, provider: Provider; +beforeAll(async () => { ({ web3, network, provider } = await createWeb3()); }); +afterAll(() => { provider.engine.stop(); }); test("getDarknodeStatus", async () => { - const web3 = new Web3("http://localhost:8545"); - const networkID = await web3.eth.net.getId(); - const network = ganache(join(process.cwd(), "./node_modules/darknode-sol/build/development/"), networkID); - const darknodeID = darknodeIDBase58ToHex("8MJpA1rXYMPTeJoYjsFBHJcuYBe7zQ"); + const darknodeID = darknodeIDBase58ToHex("8MJpA1rXYMPTeJoYjsFBHJcuYBe7zP"); (await getDarknodeStatus(web3, network, darknodeID)) .should.equal(RegistrationStatus.Unregistered); }); diff --git a/src/lib/ethereum/operator.spec.ts b/src/lib/ethereum/operator.spec.ts new file mode 100644 index 00000000..9fe3903d --- /dev/null +++ b/src/lib/ethereum/operator.spec.ts @@ -0,0 +1,27 @@ +import { RenNetworkDetails } from "@renproject/contracts"; +import Web3 from "web3"; + +import { createWeb3, Provider } from "../../../test/globalSetup"; +import { darknodeIDBase58ToHex } from "../../components/pages/Darknode"; +import { getDarknodeStatus, getMinimumBond, RegistrationStatus } from "./network"; +import { approveNode, registerNode } from "./operator"; +import { simpleWaitForTX } from "./waitForTX"; + +let web3: Web3, network: RenNetworkDetails, provider: Provider, address: string; +beforeAll(async () => { ({ web3, network, provider, address } = await createWeb3()); }); +afterAll(() => { provider.engine.stop(); }); + +test("registering a node", async () => { + const bond = await getMinimumBond(web3, network); + const darknodeID = darknodeIDBase58ToHex("8MJpA1rXYMPTeJoYjsFBHJcuYBe7zQ"); + + (await getDarknodeStatus(web3, network, darknodeID)) + .should.equal(RegistrationStatus.Unregistered); + + await approveNode(web3, network, address, bond, simpleWaitForTX); + + await new Promise((resolve) => registerNode(web3, network, address, darknodeID, "0x00", bond, () => null, resolve, simpleWaitForTX)); + + (await getDarknodeStatus(web3, network, darknodeID)) + .should.equal(RegistrationStatus.RegistrationPending); +}); diff --git a/src/lib/ethereum/operator.ts b/src/lib/ethereum/operator.ts index f1d0af9b..3f0bfb96 100644 --- a/src/lib/ethereum/operator.ts +++ b/src/lib/ethereum/operator.ts @@ -4,12 +4,12 @@ import { OrderedSet } from "immutable"; import Web3 from "web3"; import { sha3, toChecksumAddress } from "web3-utils"; -import { WaitForTX } from "../../store/network/operatorActions"; import { alreadyPast } from "../conversion"; import { _noCapture_ } from "../react/errors"; import { DarknodePaymentWeb3 } from "./contracts/bindings/darknodePayment"; import { DarknodeRegistryWeb3 } from "./contracts/bindings/darknodeRegistry"; import { AllTokenDetails, OldToken, Token } from "./tokens"; +import { WaitForTX } from "./waitForTX"; const NULL = "0x0000000000000000000000000000000000000000"; @@ -218,8 +218,10 @@ export const registerNode = async ( ); try { + const params = renNetwork.name === mainnet.name ? [darknodeID, publicKey, bond.toFixed()] : [darknodeID, publicKey]; const res = await waitForTX( - darknodeRegistry.methods.register(darknodeID, publicKey, bond.toFixed()).send({ from: address, gas }), + // @ts-ignore + darknodeRegistry.methods.register(...params).send({ from: address, gas }), onDone ); resolved = true; diff --git a/src/lib/ethereum/waitForTX.ts b/src/lib/ethereum/waitForTX.ts new file mode 100644 index 00000000..d98a365a --- /dev/null +++ b/src/lib/ethereum/waitForTX.ts @@ -0,0 +1,28 @@ +import { PromiEvent } from "web3-core"; + +import { addTransaction, setTxConfirmations } from "../../store/network/operatorActions"; +import { AppDispatch } from "../../store/rootReducer"; + +export type WaitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => Promise; +export const waitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => async (dispatch: AppDispatch) => new Promise((resolve, reject) => { + promiEvent.on("transactionHash", (txHash) => { + resolve(txHash); + dispatch(addTransaction({ txHash, tx: promiEvent })); + promiEvent.on("confirmation", (confirmations) => { + dispatch(setTxConfirmations({ txHash, confirmations })); + if (onConfirmation) { onConfirmation(confirmations); } + }); + promiEvent.on("error", () => { + dispatch(setTxConfirmations({ txHash, confirmations: -1 })); + }); + }).catch(reject); +}); +export const connectWaitForTX = (dispatch: AppDispatch) => (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => dispatch(waitForTX(promiEvent, onConfirmation)); +export const simpleWaitForTX: WaitForTX = async (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => new Promise((resolve, reject) => { + promiEvent.on("transactionHash", (txHash) => { + resolve(txHash); + promiEvent.on("confirmation", (confirmations) => { + if (onConfirmation) { onConfirmation(confirmations); } + }); + }).catch(reject); +}); diff --git a/src/store/account/darknodeActions.tsx b/src/store/account/darknodeActions.tsx index 6e4ea3cd..b406ba1a 100644 --- a/src/store/account/darknodeActions.tsx +++ b/src/store/account/darknodeActions.tsx @@ -6,8 +6,8 @@ import Web3 from "web3"; import { WithdrawPopup } from "../../components/popups/WithdrawPopup"; import { withdrawOldToken, withdrawToken } from "../../lib/ethereum/operator"; import { AllTokenDetails, OldToken, Token } from "../../lib/ethereum/tokens"; +import { WaitForTX } from "../../lib/ethereum/waitForTX"; import { ApplicationState } from "../applicationState"; -import { WaitForTX } from "../network/operatorActions"; import { clearPopup, setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index 3d6333ae..e2864338 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -13,9 +13,10 @@ import { approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, } from "../../lib/ethereum/operator"; import { Token } from "../../lib/ethereum/tokens"; +import { connectWaitForTX } from "../../lib/ethereum/waitForTX"; import { _captureBackgroundException_ } from "../../lib/react/errors"; import { TokenPrices } from "../../lib/tokenPrices"; -import { connectWaitForTX, updateDarknodeDetails } from "../network/operatorActions"; +import { updateDarknodeDetails } from "../network/operatorActions"; import { setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index 0fef5105..ed5b4466 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -61,24 +61,6 @@ export const setDarknodeName = createStandardAction("SET_DARKNODE_NAME")<{ darkn export const addTransaction = createStandardAction("ADD_TRANSACTION")<{ txHash: string; tx: PromiEvent }>(); export const setTxConfirmations = createStandardAction("SET_TX_CONFIRMATIONS")<{ txHash: string; confirmations: number }>(); -export type WaitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => Promise; -export const waitForTX = (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => async (dispatch: AppDispatch) => new Promise((resolve, reject) => { - promiEvent.on("transactionHash", (txHash) => { - resolve(txHash); - dispatch(addTransaction({ txHash, tx: promiEvent })); - // tslint:disable-next-line: no-any - (window as any).tx = promiEvent; - promiEvent.on("confirmation", (confirmations) => { - dispatch(setTxConfirmations({ txHash, confirmations })); - if (onConfirmation) { onConfirmation(confirmations); } - }); - promiEvent.on("error", () => { - dispatch(setTxConfirmations({ txHash, confirmations: -1 })); - }); - }).catch(reject); -}); -export const connectWaitForTX = (dispatch: AppDispatch) => (promiEvent: PromiEvent, onConfirmation?: (confirmations?: number) => void) => dispatch(waitForTX(promiEvent, onConfirmation)); - export const updateSecondsPerBlock = ( web3: Web3, ) => async (dispatch: AppDispatch) => { diff --git a/test/globalSetup.ts b/test/globalSetup.ts new file mode 100644 index 00000000..4804c5b0 --- /dev/null +++ b/test/globalSetup.ts @@ -0,0 +1,44 @@ +import { ganache, RenNetworkDetails } from "@renproject/contracts"; +import { should } from "chai"; +import { join } from "path"; +import HDWalletProvider from "truffle-hdwallet-provider"; +import Web3 from "web3"; + +should(); + +const snapshotEVM = async (web3: Web3) => { + return await web3.currentProvider.send("evm_snapshot", []); +}; + +export const resetEVM = async (web3: Web3, snapshotID: string) => { + await web3.currentProvider.send("evm_revert", [snapshotID]); +}; + +export type Provider = { engine: { stop: () => void; } }; + +export const createWeb3 = async () => { + // Mnemonic generated by `ganache-cli -d` + const mnemonic = "myth like bonus scare over problem client lizard pioneer submit female collect"; + const provider = new HDWalletProvider(mnemonic, "http://localhost:8545"); + const web3: Web3 = new Web3(provider); + const networkID: number = await web3.eth.net.getId(); + const network: RenNetworkDetails = ganache(join(process.cwd(), "./node_modules/darknode-sol/build/development/"), networkID); + const address: string = (await web3.eth.getAccounts())[0]; + + return { web3, networkID, network, address, provider }; +}; + +// This is run by Jest once before running any tests. Globals can be accessed by +// the global teardown but not by the tests. (`globalSetup` is configured in +// `package.json`). +const globalSetup = async () => { + const { web3, provider } = await createWeb3(); + // tslint:disable-next-line: no-any + (global as any).web3 = web3; + // tslint:disable-next-line: no-any + (global as any).snapshotID = await snapshotEVM(web3); + // tslint:disable-next-line: no-any + (global as any).provider = provider; +}; + +export default globalSetup; diff --git a/test/globalTeardown.ts b/test/globalTeardown.ts new file mode 100644 index 00000000..5cf1e984 --- /dev/null +++ b/test/globalTeardown.ts @@ -0,0 +1,10 @@ +import { Provider, resetEVM } from "./globalSetup"; + +// This is run by Jest once after running all tests. Globals are set in the +// global setup. (`globalTeardown` is configured in `package.json`). +const globalTeardown = async () => { + await resetEVM((global as any).web3, (global as any).snapshotID); + ((global as any).provider as Provider).engine.stop(); +}; + +export default globalTeardown; diff --git a/yarn.lock b/yarn.lock index 617080fe..f6aac4dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2073,7 +2073,7 @@ ansi-wrap@0.1.0, ansi-wrap@^0.1.0: resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= -any-promise@^1.3.0: +any-promise@1.3.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= @@ -3207,7 +3207,7 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -bindings@^1.2.1, bindings@^1.5.0: +bindings@^1.2.1, bindings@^1.3.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -3221,6 +3221,14 @@ bip66@^1.1.5: dependencies: safe-buffer "^5.0.1" +bl@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -3228,7 +3236,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: +bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: version "3.5.5" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== @@ -3243,7 +3251,7 @@ bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4. resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -body-parser@1.19.0: +body-parser@1.19.0, body-parser@^1.16.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== @@ -3370,6 +3378,14 @@ browserify-rsa@^4.0.0: bn.js "^4.1.0" randombytes "^2.0.1" +browserify-sha3@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.4.tgz#086c47b8c82316c9d47022c26185954576dd8e26" + integrity sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY= + dependencies: + js-sha3 "^0.6.1" + safe-buffer "^5.1.1" + browserify-sign@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" @@ -3435,11 +3451,34 @@ btoa@^1.2.1: resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^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 sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + buffer-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -3469,6 +3508,14 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.0.5, buffer@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" + integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -4003,6 +4050,13 @@ commander@~2.19.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== +commander@~2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ= + dependencies: + graceful-readlink ">= 1.0.0" + common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -4185,6 +4239,14 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +cors@^2.8.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" @@ -4285,7 +4347,7 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -crypto-browserify@^3.11.0: +crypto-browserify@3.12.0, crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== @@ -4642,13 +4704,66 @@ 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: +decompress-response@^3.2.0, 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" +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k= + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" + integrity sha1-eu3YVCflqS2s/lVnSnxQXpbQH50= + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + deep-eql@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" @@ -5500,6 +5615,15 @@ eth-json-rpc-middleware@^4.0.0, eth-json-rpc-middleware@^4.1.1: pify "^3.0.0" safe-event-emitter "^1.0.1" +eth-lib@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" + integrity sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco= + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + eth-lib@0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" @@ -5509,6 +5633,19 @@ eth-lib@0.2.8: elliptic "^6.4.0" xhr-request-promise "^0.1.2" +eth-lib@^0.1.26: + version "0.1.27" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" + integrity sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + keccakjs "^0.2.1" + nano-json-stream-parser "^0.1.2" + servify "^0.1.12" + ws "^3.0.0" + xhr-request-promise "^0.1.2" + eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" @@ -5645,6 +5782,22 @@ ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: rustbn.js "~0.2.0" safe-buffer "^5.1.1" +ethers@4.0.0-beta.3: + version "4.0.0-beta.3" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.0-beta.3.tgz#15bef14e57e94ecbeb7f9b39dd0a4bd435bc9066" + integrity sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog== + dependencies: + "@types/node" "^10.3.2" + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.3.3" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.3" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + ethers@^4.0.27: version "4.0.33" resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.33.tgz#f7b88d2419d731a39aefc37843a3f293e396f918" @@ -5661,7 +5814,7 @@ ethers@^4.0.27: uuid "2.0.1" xmlhttprequest "1.8.0" -ethjs-unit@^0.1.6: +ethjs-unit@0.1.6, ethjs-unit@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= @@ -5682,7 +5835,7 @@ eventemitter3@3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== -eventemitter3@^3.0.0, eventemitter3@^3.1.0: +eventemitter3@3.1.2, eventemitter3@^3.0.0, eventemitter3@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== @@ -5775,7 +5928,7 @@ expect@^24.8.0: jest-message-util "^24.8.0" jest-regex-util "^24.3.0" -express@^4.16.2: +express@^4.14.0, express@^4.16.2: version "4.17.1" resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== @@ -5934,6 +6087,13 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + fetch-ponyfill@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" @@ -5968,6 +6128,21 @@ file-loader@3.0.1: loader-utils "^1.0.2" schema-utils "^1.0.0" +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha1-LdvqfHP/42No365J3DOMBYwritY= + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -6215,6 +6390,11 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +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@7.0.1, fs-extra@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -6347,6 +6527,14 @@ get-stdin@^7.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -6532,7 +6720,7 @@ glogg@^1.0.0: dependencies: sparkles "^1.0.0" -got@^9.6.0: +got@9.6.0, got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== @@ -6549,11 +6737,36 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: +got@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + dependencies: + decompress-response "^3.2.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-plain-obj "^1.1.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + p-cancelable "^0.3.0" + p-timeout "^1.1.1" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + url-parse-lax "^1.0.0" + url-to-options "^1.0.1" + +graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.2.0" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -6659,11 +6872,23 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -6915,6 +7140,11 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= + "http-parser-js@>=0.4.0 <0.4.11": version "0.4.10" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" @@ -7440,6 +7670,11 @@ is-installed-globally@^0.1.0: global-dirs "^0.1.0" is-path-inside "^1.0.0" +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= + is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" @@ -7467,6 +7702,11 @@ is-obj@^1.0.0, is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= +is-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -7486,6 +7726,11 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + is-plain-object@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" @@ -7529,12 +7774,17 @@ is-resolvable@^1.0.0: resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= + is-root@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019" integrity sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg== -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -7672,6 +7922,14 @@ istanbul-reports@^2.1.1: dependencies: handlebars "^4.1.2" +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + jest-changed-files@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" @@ -8076,6 +8334,11 @@ js-sha3@0.5.7, js-sha3@^0.5.7: resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= +js-sha3@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" + integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -8336,6 +8599,14 @@ keccak@^1.0.2: nan "^2.2.1" safe-buffer "^5.1.0" +keccakjs@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" + integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== + dependencies: + browserify-sha3 "^0.0.4" + sha3 "^1.2.2" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -8963,7 +9234,7 @@ mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.24" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== @@ -9099,13 +9370,25 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + dependencies: + mkdirp "*" + +mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" +mock-fs@^4.1.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.10.1.tgz#50a07a20114a6cdb119f35762f61f46266a1e323" + integrity sha512-w22rOL5ZYu6HbUehB5deurghGM0hS/xBVyHMGKOuQctkk93J9z9VEOhDsiWrXOprVNQpP9uzGKdl8v9mFspKuw== + moment@^2.10.2, moment@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" @@ -9161,11 +9444,21 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.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== + +nan@^2.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -9566,7 +9859,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@4.1.1, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@4.1.1, object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -9678,6 +9971,13 @@ object.values@^1.1.0: function-bind "^1.1.1" has "^1.0.3" +oboe@2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" + integrity sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY= + dependencies: + http-https "^1.0.0" + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -9809,6 +10109,11 @@ osenv@0, osenv@^0.1.4, osenv@^0.1.5: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" @@ -9881,6 +10186,13 @@ p-reduce@^1.0.0: resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= +p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= + dependencies: + p-finally "^1.0.0" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -10146,12 +10458,17 @@ pbkdf2@^3.0.17, pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -pify@^2.0.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= @@ -10900,6 +11217,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" @@ -11160,6 +11482,11 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" +randomhex@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" + integrity sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU= + range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -11483,7 +11810,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -11787,7 +12114,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.85.0, request@^2.87.0, request@^2.88.0: +request@^2.79.0, request@^2.85.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -12111,16 +12438,44 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +scrypt-js@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" + integrity sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q= + scrypt-js@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== +scrypt.js@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" + integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== + dependencies: + scryptsy "^1.2.1" + optionalDependencies: + scrypt "^6.0.2" + +scrypt@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" + integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= + dependencies: + nan "^2.0.8" + scryptsy@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== +scryptsy@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" + integrity sha1-oyJfpLJST4AnAHYeKFW987LZIWM= + dependencies: + pbkdf2 "^3.0.3" + scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" @@ -12143,6 +12498,13 @@ secp256k1@^3.0.1: nan "^2.14.0" safe-buffer "^5.1.2" +seek-bzip@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + integrity sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w= + dependencies: + commander "~2.8.1" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -12261,6 +12623,17 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -12286,7 +12659,7 @@ setimmediate@1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= -setimmediate@^1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -12309,6 +12682,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +sha3@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.3.tgz#ed5958fa8331df1b1b8529ca9fdf225a340c5418" + integrity sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA== + dependencies: + nan "2.13.2" + shallow-clone@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" @@ -12840,6 +13220,13 @@ strip-comments@^1.0.2: babel-extract-comments "^1.0.0" babel-plugin-transform-object-rest-spread "^6.26.0" +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== + dependencies: + is-natural-number "^4.0.1" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -12942,6 +13329,24 @@ svgo@^1.0.0, svgo@^1.2.2: unquote "~1.1.1" util.promisify "~1.0.0" +swarm-js@0.1.39: + version "0.1.39" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.39.tgz#79becb07f291d4b2a178c50fee7aa6e10342c0e8" + integrity sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + decompress "^4.0.0" + eth-lib "^0.1.26" + fs-extra "^4.0.2" + got "^7.1.0" + mime-types "^2.1.16" + mkdirp-promise "^5.0.1" + mock-fs "^4.1.0" + setimmediate "^1.0.5" + tar "^4.0.2" + xhr-request-promise "^0.1.2" + symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -12986,6 +13391,19 @@ tape@^4.6.3, tape@^4.8.0: string.prototype.trim "~1.1.2" through "~2.3.8" +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + tar@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" @@ -12995,7 +13413,7 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" -tar@^4, tar@^4.4.8: +tar@^4, tar@^4.0.2, tar@^4.4.8: version "4.4.10" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== @@ -13099,7 +13517,7 @@ through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -"through@>=2.2.7 <3", through@^2.3.6, through@~2.3.4, through@~2.3.8: +"through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -13114,7 +13532,7 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -timed-out@^4.0.1: +timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= @@ -13166,6 +13584,11 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" @@ -13272,6 +13695,16 @@ trim-right@^1.0.1: dependencies: glob "^7.1.2" +truffle-hdwallet-provider@^1.0.15: + version "1.0.15" + resolved "https://registry.yarnpkg.com/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.15.tgz#ba11ef86b23baf1b58940ad000ad5c335f2c2b6f" + integrity sha512-MAZQ5pcu4jW6JcAcO+qEig2e5iETyjIOingOnCIge15aGQdz8UZ2hjc8FPCnzKiQTPKu88YD5qM29fPQceBY5g== + dependencies: + any-promise "^1.3.0" + bindings "^1.3.1" + web3 "^1.2.0" + websocket "^1.0.28" + ts-pnp@1.1.2, ts-pnp@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" @@ -13391,7 +13824,7 @@ type@^1.0.1: resolved "https://registry.yarnpkg.com/type/-/type-1.0.1.tgz#084c9a17fcc9151a2cdb1459905c2e45e4bb7d61" integrity sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw== -typedarray-to-buffer@^3.1.5: +typedarray-to-buffer@^3.1.2, typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== @@ -13434,12 +13867,25 @@ uglify-js@^3.1.4: commander "~2.20.0" source-map "~0.6.1" +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + +unbzip2-stream@^1.0.9: + version "1.3.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a" + integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= -underscore@^1.9.1: +underscore@1.9.1, underscore@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== @@ -13613,6 +14059,13 @@ url-loader@1.1.2: mime "^2.0.3" schema-utils "^1.0.0" +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -13641,6 +14094,11 @@ url-set-query@^1.0.0: resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -13659,6 +14117,11 @@ utf8@2.1.1: resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.1.tgz#2e01db02f7d8d0944f77104f1609eb0c304cf768" integrity sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g= +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -13738,7 +14201,7 @@ value-or-function@^3.0.0: resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= -vary@~1.1.2: +vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= @@ -13857,6 +14320,24 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" +web3-bzz@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.0.tgz#eab70a2cf6c437223f40fc069499fe70ff53feb0" + integrity sha512-QEIdvguSEpqBK9b815nzx4yvpfKv/SAvaFeCMjQ0vjIVqFhAwBHDxd+f+X3nWGVRGVeOTP7864tau26CPBtQ8Q== + dependencies: + got "9.6.0" + swarm-js "0.1.39" + underscore "1.9.1" + +web3-core-helpers@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.0.tgz#023947323cebd021e43a67145a5087627ce87fb3" + integrity sha512-KLCCP2FS1cMz23Y9l3ZaEDzaUky+GpsNavl4Hn1xX8lNaKcfgGEF+DgtAY/TfPQYAxLjLrSbIFUDzo9H/W1WAQ== + dependencies: + underscore "1.9.1" + web3-eth-iban "1.2.0" + web3-utils "1.2.0" + web3-core-helpers@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-2.0.0-alpha.tgz#76d720e50a6d5fbf91761a350060cc155fa9e3d3" @@ -13868,6 +14349,17 @@ web3-core-helpers@2.0.0-alpha: web3-eth-iban "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-core-method@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.0.tgz#9f6a6939d15f53bc74d086f280fbd62461546cd3" + integrity sha512-Iff5rCL+sgHe6zZVZijp818aRixKQf3ZAyQsT6ewER1r9yqXsH89DJtX33Xw8xiaYSwUFcpNs2j+Kluhv/eVAw== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.0" + web3-core-promievent "1.2.0" + web3-core-subscriptions "1.2.0" + web3-utils "1.2.0" + web3-core-method@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-2.0.0-alpha.tgz#453063885ab3cdd2bf63e5e586cdb3ee7d9cdfcb" @@ -13882,6 +14374,34 @@ web3-core-method@2.0.0-alpha: web3-core-subscriptions "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-core-promievent@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.0.tgz#d6454837a307da5b453fe3077743fe25801a07a1" + integrity sha512-9THNYsZka91AX4LZGZvka5hio9+QlOY22hNgCiagmCmYytyKk3cXftL6CWefnNF7XgW8sy/ew5lzWLVsQW61Lw== + dependencies: + any-promise "1.3.0" + eventemitter3 "3.1.2" + +web3-core-requestmanager@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.0.tgz#a7f9995495340037e7ac72792c1885c35c1e7616" + integrity sha512-hPe1jyESodXAiE7qJglu7ySo4GINCn5CgG+9G1ATLQbriZsir83QMSeKQekv/hckKFIf4SvZJRPEBhtAle+Dhw== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.0" + web3-providers-http "1.2.0" + web3-providers-ipc "1.2.0" + web3-providers-ws "1.2.0" + +web3-core-subscriptions@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.0.tgz#d359b9b5fb6f6a700f1b383be11de7925cb7549f" + integrity sha512-DHipGH8It5E4HxxvymhkudcYhBVgGx6MwGWobIVKFgp6JRxtuvAbqwrMbuD/+78J6yXOa4y9zVXBk12dm2NXGg== + dependencies: + eventemitter3 "3.1.2" + underscore "1.9.1" + web3-core-helpers "1.2.0" + web3-core-subscriptions@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-2.0.0-alpha.tgz#f8cb496af6e56b76bc0718213b7d777eeeacc741" @@ -13891,6 +14411,16 @@ web3-core-subscriptions@2.0.0-alpha: eventemitter3 "^3.1.0" lodash "^4.17.11" +web3-core@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.0.tgz#6f3c59f84b2af9ab0ee7617d3c5208a814d3953c" + integrity sha512-Vy+fargzx94COdihE79zIM5lb/XAl/LJlgGdmz2a6QhgGZrSL8K6DKKNS+OuORAcLJN2PWNMc4IdfknkOw1PhQ== + dependencies: + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-core-requestmanager "1.2.0" + web3-utils "1.2.0" + web3-core@2.0.0-alpha, web3-core@^2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-2.0.0-alpha.tgz#79722bd65e5d9e28b47e2f43638c8994ed3f2b8e" @@ -13904,6 +14434,15 @@ web3-core@2.0.0-alpha, web3-core@^2.0.0-alpha: web3-providers "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-eth-abi@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.0.tgz#26b22261756ffbb3363bc37c1a6f5143bebb6469" + integrity sha512-FDuPq/tFeMg/D/f7cNSmvVYkMYb1z379gUUzSL8ZFtZrdHPkezq+lq/TmWmbCOMLYNXlhGJBzjGdLXRS4Upprg== + dependencies: + ethers "4.0.0-beta.3" + underscore "1.9.1" + web3-utils "1.2.0" + web3-eth-abi@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-2.0.0-alpha.tgz#a63ba52345e413c6477429792969303b88f9cfff" @@ -13914,6 +14453,22 @@ web3-eth-abi@2.0.0-alpha: lodash "^4.17.11" web3-utils "2.0.0-alpha" +web3-eth-accounts@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.0.tgz#bb26d5446017700a13b75fc69a2b1226fe44f6bb" + integrity sha512-d/fUAL3F6HqstvEiBnZ1RwZ77/DytgF9d6A3mWVvPOUk2Pqi77PM0adRvsKvIWUaQ/k6OoCk/oXtbzaO7CyGpg== + dependencies: + any-promise "1.3.0" + crypto-browserify "3.12.0" + eth-lib "0.2.7" + scrypt.js "^0.3.0" + underscore "1.9.1" + uuid "3.3.2" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-utils "1.2.0" + web3-eth-accounts@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-2.0.0-alpha.tgz#b82a3be50a3438fe3c0867a0ade6332a90aef7a3" @@ -13934,6 +14489,20 @@ web3-eth-accounts@2.0.0-alpha: web3-providers "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-eth-contract@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.0.tgz#8d1c235c6624b5df428969ea2e9c26337095f6f0" + integrity sha512-hfjozNbfsoMeR3QklfkwU0Mqcw6YRD4y1Cb1ghGWNhFy2+/sbvKcQNPPJDKFTde22PRzGQBWyh/nb422Sux4bQ== + dependencies: + underscore "1.9.1" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-core-promievent "1.2.0" + web3-core-subscriptions "1.2.0" + web3-eth-abi "1.2.0" + web3-utils "1.2.0" + web3-eth-contract@2.0.0-alpha, web3-eth-contract@^2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-2.0.0-alpha.tgz#d2fe9d34bf12db675ac1bcd891ed1be7a7b58fbb" @@ -13951,6 +14520,20 @@ web3-eth-contract@2.0.0-alpha, web3-eth-contract@^2.0.0-alpha: web3-providers "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-eth-ens@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.0.tgz#af66308542f4acfa09ccd3ce370e3ad2de20ec30" + integrity sha512-kE6uHMLwH9dv+MZSKT7BcKXcQ6CcLP5m5mM44s2zg2e9Rl20F3J6R3Ik6sLc/w2ywdCwTe/Z22yEstHXQwu5ig== + dependencies: + eth-ens-namehash "2.0.8" + underscore "1.9.1" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-promievent "1.2.0" + web3-eth-abi "1.2.0" + web3-eth-contract "1.2.0" + web3-utils "1.2.0" + web3-eth-ens@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-2.0.0-alpha.tgz#6d7d93a732e350ee06286064a91c1a94c91274b9" @@ -13969,6 +14552,14 @@ web3-eth-ens@2.0.0-alpha: web3-providers "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-eth-iban@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.0.tgz#1bece9cebf817dca82fa03230203351f4f263866" + integrity sha512-6DzTx/cvIgEvxadhJjLGpsuDUARA4RKskNOuwWYUsUODcPb50rsfMmRkHhGtLss/sNXVE5gNjbT9rX3TDqy2tg== + dependencies: + bn.js "4.11.8" + web3-utils "1.2.0" + web3-eth-iban@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-2.0.0-alpha.tgz#87c164d964b50c000554b1c58e46dac8e2b04787" @@ -13978,6 +14569,17 @@ web3-eth-iban@2.0.0-alpha: bn.js "4.11.8" web3-utils "2.0.0-alpha" +web3-eth-personal@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.0.tgz#7194f519c870d720eee1349d867408004f0f78af" + integrity sha512-8QdcaT6dbdiMC8zEqvDuij8XeI34r2GGdQYGvYBP2UgCm15EZBHgewxO30A+O+j2oIW1/Hu60zP5upnhCuA1Dw== + dependencies: + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-net "1.2.0" + web3-utils "1.2.0" + web3-eth-personal@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-2.0.0-alpha.tgz#f14d816fb1953f49aa906e9959b5404ae631e84a" @@ -13992,6 +14594,25 @@ web3-eth-personal@2.0.0-alpha: web3-providers "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-eth@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.0.tgz#ac8d3409356538d2fe1cb6151036b724eace76f6" + integrity sha512-GP1+hHS/IVW1tAOIDS44PxCpvSl9PBU/KAB40WgP27UMvSy43LjHxGlP6hQQOdIfmBLBTvGvn2n+Z5kW2gzAzg== + dependencies: + underscore "1.9.1" + web3-core "1.2.0" + web3-core-helpers "1.2.0" + web3-core-method "1.2.0" + web3-core-subscriptions "1.2.0" + web3-eth-abi "1.2.0" + web3-eth-accounts "1.2.0" + web3-eth-contract "1.2.0" + web3-eth-ens "1.2.0" + web3-eth-iban "1.2.0" + web3-eth-personal "1.2.0" + web3-net "1.2.0" + web3-utils "1.2.0" + web3-eth@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-2.0.0-alpha.tgz#415b8f4e5a4e6cf34fb96672c0cf1c7f6f8bbbec" @@ -14014,6 +14635,15 @@ web3-eth@2.0.0-alpha: web3-providers "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-net@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.0.tgz#9e99c4326a28712451dc4d45f3acf26c1d4b3219" + integrity sha512-7iD8C6vvx8APXPMmlpPLGWjn4bsXHzd3BTdFzKjkoYjiiVFJdVAbY3j1BwN/6tVQu8Ay7sDpV2EdTNub7GKbyw== + dependencies: + web3-core "1.2.0" + web3-core-method "1.2.0" + web3-utils "1.2.0" + web3-net@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-2.0.0-alpha.tgz#158e87e3c84cb065d464c6d2f3e3d19956328d25" @@ -14055,6 +14685,32 @@ web3-provider-engine@^15.0.0: xhr "^2.2.0" xtend "^4.0.1" +web3-providers-http@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.0.tgz#c6ebf9b6a23564439fa3c4a431cd6b405cc1ec0f" + integrity sha512-UrUn6JSz7NVCZ+0nZZtC4cmbl5JIi57w1flL1jN8jgkfdWDdErNvTkSwCt/QYdTQscMaUtWXDDOSAsVO6YC64g== + dependencies: + web3-core-helpers "1.2.0" + xhr2-cookies "1.1.0" + +web3-providers-ipc@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.0.tgz#98b8b8c9e77935dabfcf6d16e66c783f2429eac8" + integrity sha512-T2OSbiqu7+dahbGG5YFEQM5+FXdLVvaTCKmHXaQpw8IuL5hw7HELtyFOtHVudgDRyw0tJKxIfAiX/v2F1IL1fQ== + dependencies: + oboe "2.1.4" + underscore "1.9.1" + web3-core-helpers "1.2.0" + +web3-providers-ws@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.0.tgz#c45929f0d1e1743301372e6e604aab63e83f66e3" + integrity sha512-rnwGcCe6cev5A6eG5UBCQqPmkJVZMCrK+HN1AvUCco0OHD/0asGc9LuLbtkQIyznA6Lzetq/OOcaTOM4KeT11g== + dependencies: + underscore "1.9.1" + web3-core-helpers "1.2.0" + websocket "github:frozeman/WebSocket-Node#browserifyCompatible" + web3-providers@2.0.0-alpha, web3-providers@^2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-2.0.0-alpha.tgz#6bce7f6e6d08fa874bd78214c6c54251cd7a81da" @@ -14072,6 +14728,16 @@ web3-providers@2.0.0-alpha, web3-providers@^2.0.0-alpha: websocket "^1.0.28" xhr2-cookies "1.1.0" +web3-shh@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.0.tgz#c07c306d761f70782c64e2b5b119db54e16f301f" + integrity sha512-VFjS8kvsQBodudFmIoVJWvDNZosONJZZnhvktngD3POu5dwbJmSCl6lzbLJ2C5XjR15dF+JvSstAkWbM+2sdPg== + dependencies: + web3-core "1.2.0" + web3-core-method "1.2.0" + web3-core-subscriptions "1.2.0" + web3-net "1.2.0" + web3-shh@2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-2.0.0-alpha.tgz#033d665962a308e68c25ead08b6501d6b5171773" @@ -14086,6 +14752,19 @@ web3-shh@2.0.0-alpha: web3-providers "2.0.0-alpha" web3-utils "2.0.0-alpha" +web3-utils@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.0.tgz#1f11b05d173b757d3f5ba32cb90b375a487d3bf0" + integrity sha512-tI1low8ICoaWU2c53cikH0rsksKuIskI2nycH5E5sEXxxl9/BOD3CeDDBFbxgNPQ+bpDevbR7gXNEDB7Ud4G9g== + dependencies: + bn.js "4.11.8" + eth-lib "0.2.7" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randomhex "0.1.5" + underscore "1.9.1" + utf8 "3.0.0" + web3-utils@2.0.0-alpha, web3-utils@^2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-2.0.0-alpha.tgz#2e8b91f4887380672a270f8045826d72b58c12a4" @@ -14102,6 +14781,19 @@ web3-utils@2.0.0-alpha, web3-utils@^2.0.0-alpha: randombytes "^2.1.0" utf8 "2.1.1" +web3@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.0.tgz#ef9c43a99eac348a85c09179690290d45a96a5f2" + integrity sha512-iFrVAexsopX97x0ofBU/7HrCxzovf624qBkjBUeHZDf/G3Sb4tMQtjkCRc5lgVvzureq5SCqDiFDcqnw7eJ0bA== + dependencies: + web3-bzz "1.2.0" + web3-core "1.2.0" + web3-eth "1.2.0" + web3-eth-personal "1.2.0" + web3-net "1.2.0" + web3-shh "1.2.0" + web3-utils "1.2.0" + web3@^2.0.0-alpha: version "2.0.0-alpha" resolved "https://registry.yarnpkg.com/web3/-/web3-2.0.0-alpha.tgz#564f3dfc316a1bc9f45558f077746ef2b5a4d7f5" @@ -14248,6 +14940,15 @@ websocket@^1.0.28: typedarray-to-buffer "^3.1.5" yaeti "^0.0.6" +"websocket@github:frozeman/WebSocket-Node#browserifyCompatible": + version "1.0.26" + resolved "https://codeload.github.com/frozeman/WebSocket-Node/tar.gz/6c72925e3f8aaaea8dc8450f97627e85263999f2" + dependencies: + debug "^2.2.0" + nan "^2.3.3" + typedarray-to-buffer "^3.1.2" + yaeti "^0.0.6" + whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -14516,6 +15217,15 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + ws@^5.1.1, ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" @@ -14562,7 +15272,7 @@ xhr2-cookies@1.1.0: dependencies: cookiejar "^2.1.1" -xhr@^2.0.4, xhr@^2.2.0: +xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: version "2.5.0" resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== @@ -14705,3 +15415,11 @@ yargs@^7.0.0, yargs@^7.1.0: which-module "^1.0.0" y18n "^3.2.1" yargs-parser "^5.0.0" + +yauzl@^2.4.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" From c08f3d9a8d9a86bf8b4bf12238c45dd65a77bb5e Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 31 Jul 2019 10:45:12 +1000 Subject: [PATCH 038/117] src/lib: documented contractReads functions --- src/components/darknodeList/DarknodeCard.tsx | 2 +- src/components/pages/Darknode.tsx | 2 +- src/components/sidebar/Sidebar.tsx | 2 +- src/components/statuspage/Notifications.tsx | 2 +- src/components/statuspage/Registration.tsx | 2 +- src/components/statuspage/StatusPage.tsx | 2 +- src/components/statuspage/block/FeesBlock.tsx | 2 +- src/components/statuspage/block/GasGraph.tsx | 22 +- .../{ethereum => declarations}/ethereum.d.ts | 0 src/lib/ethereum/contract.ts | 21 + ...{network.spec.ts => contractReads.spec.ts} | 2 +- .../ethereum/{network.ts => contractReads.ts} | 366 ++++++++++++------ ...perator.spec.ts => contractWrites.spec.ts} | 4 +- .../{operator.ts => contractWrites.ts} | 149 +------ src/lib/promiseAll.ts | 34 ++ src/store/account/darknodeActions.tsx | 2 +- src/store/account/operatorPopupActions.tsx | 4 +- src/store/applicationState.ts | 2 +- src/store/network/operatorActions.ts | 13 +- 19 files changed, 350 insertions(+), 283 deletions(-) rename src/lib/{ethereum => declarations}/ethereum.d.ts (100%) create mode 100644 src/lib/ethereum/contract.ts rename src/lib/ethereum/{network.spec.ts => contractReads.spec.ts} (89%) rename src/lib/ethereum/{network.ts => contractReads.ts} (61%) rename src/lib/ethereum/{operator.spec.ts => contractWrites.spec.ts} (93%) rename src/lib/ethereum/{operator.ts => contractWrites.ts} (61%) create mode 100644 src/lib/promiseAll.ts diff --git a/src/components/darknodeList/DarknodeCard.tsx b/src/components/darknodeList/DarknodeCard.tsx index 930a2607..95b3d5e0 100644 --- a/src/components/darknodeList/DarknodeCard.tsx +++ b/src/components/darknodeList/DarknodeCard.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { RegistrationStatus } from "../../lib/ethereum/network"; +import { RegistrationStatus } from "../../lib/ethereum/contractReads"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; import { removeDarknode, removeRegisteringDarknode } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; diff --git a/src/components/pages/Darknode.tsx b/src/components/pages/Darknode.tsx index 7f487fc6..2d0551ad 100644 --- a/src/components/pages/Darknode.tsx +++ b/src/components/pages/Darknode.tsx @@ -7,7 +7,7 @@ import { bindActionCreators } from "redux"; import { toChecksumAddress } from "web3-utils"; import { EncodedData, Encodings } from "../../lib/encodedData"; -import { RegistrationStatus } from "../../lib/ethereum/network"; +import { RegistrationStatus } from "../../lib/ethereum/contractReads"; import { ApplicationState } from "../../store/applicationState"; import { addRegisteringDarknode, setDarknodeName } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; diff --git a/src/components/sidebar/Sidebar.tsx b/src/components/sidebar/Sidebar.tsx index df12a1a8..d7ef491a 100644 --- a/src/components/sidebar/Sidebar.tsx +++ b/src/components/sidebar/Sidebar.tsx @@ -6,7 +6,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link } from "react-router-dom"; import { bindActionCreators } from "redux"; -import { RegistrationStatus } from "../../lib/ethereum/network"; +import { RegistrationStatus } from "../../lib/ethereum/contractReads"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; import { hideMobileMenu } from "../../store/ui/uiActions"; diff --git a/src/components/statuspage/Notifications.tsx b/src/components/statuspage/Notifications.tsx index 22450818..5d74a1f8 100644 --- a/src/components/statuspage/Notifications.tsx +++ b/src/components/statuspage/Notifications.tsx @@ -6,7 +6,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import BigNumber from "bignumber.js"; -import { RegistrationStatus } from "../../lib/ethereum/network"; +import { RegistrationStatus } from "../../lib/ethereum/contractReads"; import { DarknodesState } from "../../store/applicationState"; const lowValue = new BigNumber(Math.pow(10, 18)).multipliedBy(0.1); diff --git a/src/components/statuspage/Registration.tsx b/src/components/statuspage/Registration.tsx index 378e0e90..c30cd095 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/statuspage/Registration.tsx @@ -4,7 +4,7 @@ import { Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { RegistrationStatus } from "../../lib/ethereum/network"; +import { RegistrationStatus } from "../../lib/ethereum/contractReads"; import { _captureInteractionException_ } from "../../lib/react/errors"; import { showDeregisterPopup, showRefundPopup, showRegisterPopup, diff --git a/src/components/statuspage/StatusPage.tsx b/src/components/statuspage/StatusPage.tsx index d3689151..e1bc5b75 100644 --- a/src/components/statuspage/StatusPage.tsx +++ b/src/components/statuspage/StatusPage.tsx @@ -4,7 +4,7 @@ import { Blocky, InfoLabel } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { RegistrationStatus } from "../../lib/ethereum/network"; +import { RegistrationStatus } from "../../lib/ethereum/contractReads"; import { ApplicationState, DarknodesState } from "../../store/applicationState"; import { setDarknodeName } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/statuspage/block/FeesBlock.tsx index 40cf0559..b0109740 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/statuspage/block/FeesBlock.tsx @@ -11,7 +11,7 @@ import { bindActionCreators } from "redux"; import { alreadyPast, naturalTime } from "../../../lib/conversion"; import { DarknodeFeeStatus } from "../../../lib/darknodeFeeStatus"; -import { RegistrationStatus } from "../../../lib/ethereum/network"; +import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; import { OldToken, Token } from "../../../lib/ethereum/tokens"; import { showClaimPopup } from "../../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/statuspage/block/GasGraph.tsx index 637748df..0745be88 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/statuspage/block/GasGraph.tsx @@ -9,7 +9,7 @@ import { Scatter } from "react-chartjs-2"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { HistoryIterations, HistoryPeriods } from "../../../lib/ethereum/network"; +import { HistoryIterations, HistoryPeriod } from "../../../lib/ethereum/contractReads"; import { _captureBackgroundException_ } from "../../../lib/react/errors"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; import { @@ -50,17 +50,17 @@ const options = { } }; -const periods: Array<[HistoryPeriods, string]> = [ - [HistoryPeriods.Day, "1D"], - [HistoryPeriods.Week, "1W"], - [HistoryPeriods.Month, "1M"], - [HistoryPeriods.HalfYear, "6M"], - [HistoryPeriods.Year, "1Y"], +const periods: Array<[HistoryPeriod, string]> = [ + [HistoryPeriod.Day, "1D"], + [HistoryPeriod.Week, "1W"], + [HistoryPeriod.Month, "1M"], + [HistoryPeriod.HalfYear, "6M"], + [HistoryPeriod.Year, "1Y"], ]; const defaultState = { // Entries must be immutable - historyPeriod: HistoryPeriods.Week, - nextHistoryPeriod: HistoryPeriods.Week, + historyPeriod: HistoryPeriod.Week, + nextHistoryPeriod: HistoryPeriod.Week, loadingHistory: false, }; @@ -118,7 +118,7 @@ class GasGraphClass extends React.Component { public updateHistory = async ( props: Props | undefined, - historyPeriod?: HistoryPeriods | undefined + historyPeriod?: HistoryPeriod | undefined ): Promise => { this.updateHistoryStarted = true; @@ -248,7 +248,7 @@ class GasGraphClass extends React.Component { {chartData ? :
    }
    - {periods.map(([period, periodString]: [HistoryPeriods, string]) => { + {periods.map(([period, periodString]: [HistoryPeriod, string]) => { return
    ; diff --git a/src/components/Connect.tsx b/src/components/Connect.tsx new file mode 100644 index 00000000..efbd0afe --- /dev/null +++ b/src/components/Connect.tsx @@ -0,0 +1,27 @@ +import * as React from "react"; + +import { connect } from "react-redux"; // Custom typings + +import { ApplicationState } from "../store/applicationState"; +import { MapContainer } from "./darknodeMap/mapContainer"; + +class ConnectClass extends React.Component { + public render = (): JSX.Element => { + const { store: { renNetwork } } = this.props; + + return + {this.props.children} + ; + } +} + +const mapStateToProps = (state: ApplicationState) => ({ + store: { + renNetwork: state.account.renNetwork, + }, +}); + +interface Props extends ReturnType { +} + +export const Connect = connect(mapStateToProps)(ConnectClass); diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 82f19660..c8cd07cf 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -85,23 +85,19 @@ class HeaderClass extends React.Component { return (
    -
    -
    - {address ?
    - -
    : <>} -
    - -
    - -
    - {languageDropdownNode} - {currencyDropdownNode} - {networkDropdownNode} - -
    + {address ?
    + +
    : <>} + +
    + +
    + {languageDropdownNode} + {currencyDropdownNode} + {networkDropdownNode} +
    ); diff --git a/src/components/darknodeMap/darknodeMap.tsx b/src/components/darknodeMap/darknodeMap.tsx index 3234b2ac..c7d1fbb8 100644 --- a/src/components/darknodeMap/darknodeMap.tsx +++ b/src/components/darknodeMap/darknodeMap.tsx @@ -7,18 +7,25 @@ import { import { MapContainer } from "./mapContainer"; import MapJSON from "./world-50m.json"; -const DarknodeMap = () => { - const counter = MapContainer.useContainer(); +export const DarknodeMap = () => { + const container = MapContainer.useContainer(); - // useEffect replaces `componentDidMount` and `componentDidUpdate`. - // To limit it to running once, we use the initialized hook. - const [initialized, setInitialized] = React.useState(false); React.useEffect(() => { - if (!initialized) { - setInitialized(true); - counter.fetchDarknodes().catch(console.error); + const fetchIPs = () => { + container.fetchDarknodes().catch(console.error); + }; + + // Every two minutes + const interval = setInterval(fetchIPs, 120 * 1000); + if (container.darknodes.length === 0) { + fetchIPs(); } - }, [initialized, counter]); + + return () => { + clearInterval(interval); + }; + // tslint:disable-next-line:react-hooks/exhaustive-dep + }, []); return (
    @@ -69,7 +76,7 @@ const DarknodeMap = () => { ))} - {counter.darknodes.map((darknode, i) => + {container.darknodes.map((darknode, i) => {
    ); }; - -export const DarknodeMapProvider = () => - -; diff --git a/src/components/darknodeMap/mapContainer.ts b/src/components/darknodeMap/mapContainer.ts index dbf5ea9d..80d4019d 100644 --- a/src/components/darknodeMap/mapContainer.ts +++ b/src/components/darknodeMap/mapContainer.ts @@ -1,5 +1,9 @@ +// tslint:disable: no-unused-variable + +import { RenNetworkDetails, testnet } from "@renproject/contracts"; import { sleep } from "@renproject/react-components"; import Axios from "axios"; +import { Map } from "immutable"; import { useState } from "react"; import { MarkerType } from "react-simple-maps"; import { createContainer } from "unstated-next"; @@ -10,27 +14,6 @@ interface City extends MarkerType { const sampleDarknodes: City[] = []; -interface GeoAPIResponse { - asn: string; - city: string; - continent_code: string; - country: string; - country_calling_code: string; - country_name: string; - currency: string; - in_eu: boolean; - ip: string; - languages: string; - latitude: number; - longitude: number; - org: string; - postal: string; - region: string; - region_code: string; - timezone: string; - utc_offset: string; -} - interface QueryResponse { jsonrpc: "2.0"; id: number; @@ -39,8 +22,6 @@ interface QueryResponse { }; } -const lightnode = "https://lightnode-testnet.herokuapp.com"; - // tslint:disable-next-line: no-any const parallelLimit = (promiseFactories: Array<() => Promise>, limit: number): any => { const result: T[] = []; @@ -67,26 +48,93 @@ const parallelLimit = (promiseFactories: Array<() => Promise>, limit: numb return Promise.all(arrChains).then(() => result); }; -const useMapContainer = () => { - // tslint:disable-next-line: prefer-const - let [darknodes, setDarknodes] = useState(sampleDarknodes); +const getLightnode = (network: RenNetworkDetails): string => { + switch (network.name) { + case "mainnet": return ""; + case "testnet": return "https://lightnode-testnet.herokuapp.com"; + case "devnet": return "https://lightnode-devnet.herokuapp.com"; + case "localnet": return ""; + } + return ""; +}; - const addDarknodeID = async (multiAddress: string) => { - const [, , ip, , , , darknodeID] = multiAddress.split("/"); - let apiResponse; - while (!apiResponse) { +const fetchLocationFromAPI = async (ip: string): Promise => { + let limit = 2; + while (limit) { + try { + const apiResponse = (await Axios.get<{ + latitude: number; + longitude: number; + }>(`https://ipapi.co/${ip}/json`)).data; + return { longitude: apiResponse.longitude, latitude: apiResponse.latitude }; + } catch (error) { try { - apiResponse = (await Axios.get(`https://ipapi.co/${ip}/json`)).data; + const apiResponse = (await Axios.get<{ + lat: number; + lon: number; + // tslint:disable-next-line: no-http-string + }>(`http://ip-api.com/json/${ip}`)).data; + return { longitude: apiResponse.lon, latitude: apiResponse.lat }; + + // Seems to share a rate-limiter with https://ipapi.co. + // const apiResponse = (await Axios.get<{ + // loc: string, + // }>(`https://ipinfo.io/${ip}/json`)).data; + // const [latitude, longitude] = apiResponse.loc.split(",").map((x) => parseInt(x)); + // return { longitude, latitude }; } catch (error) { // Try again - await sleep(1 * 1000); } } - darknodes = [...darknodes, { darknodeID, coordinates: [apiResponse.longitude, apiResponse.latitude] }]; - setDarknodes(darknodes); + limit--; + await sleep(1 * 1000); + } + throw new Error(`Unable to fetch location for ${ip}`); +}; + +interface Location { longitude: number; latitude: number; } + +const useMapContainer = (initialState = testnet as RenNetworkDetails) => { + // tslint:disable-next-line: prefer-const + let [darknodes, setDarknodes] = useState(sampleDarknodes); + // tslint:disable-next-line: whitespace + const [network,] = useState(initialState); + // tslint:disable-next-line: prefer-const + let [ipMap, setIpMap] = useState(Map()); + + const getLocation = async (ip: string): Promise => { + // Check if we've already fetched for this IP + const previousLocation = ipMap.get(ip); + if (previousLocation) { + return previousLocation; + } + + // Store in map for next time + const location = await fetchLocationFromAPI(ip); + ipMap = ipMap.set(ip, location); + setIpMap(ipMap); + + // Return location + return location; + }; + + const addDarknodeID = async (multiAddress: string) => { + const [, , ip, , , , darknodeID] = multiAddress.split("/"); + try { + const { longitude, latitude } = await getLocation(ip); + darknodes = [...darknodes, { darknodeID, coordinates: [longitude, latitude] }]; + setDarknodes(darknodes); + } catch (error) { + // Ignore errors + } }; const fetchDarknodes = async () => { + const lightnode = getLightnode(network); + if (!lightnode) { + console.error(`No lightnode to fetch darknode locations.`); + return; + } const request = { jsonrpc: "2.0", method: "ren_queryPeers", params: {}, id: 67 }; const response = (await Axios.post(lightnode, request)).data; const darknodeIDs = response.result.peers; diff --git a/src/components/sidebar/Sidebar.tsx b/src/components/sidebar/Sidebar.tsx index d7ef491a..cc5c404a 100644 --- a/src/components/sidebar/Sidebar.tsx +++ b/src/components/sidebar/Sidebar.tsx @@ -43,6 +43,14 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)( ); } -); +)); diff --git a/src/components/sidebar/SidebarIcon.tsx b/src/components/common/sidebar/SidebarIcon.tsx similarity index 96% rename from src/components/sidebar/SidebarIcon.tsx rename to src/components/common/sidebar/SidebarIcon.tsx index cdde344a..4cc019df 100644 --- a/src/components/sidebar/SidebarIcon.tsx +++ b/src/components/common/sidebar/SidebarIcon.tsx @@ -7,9 +7,9 @@ import { Blocky, Currency, CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { Link } from "react-router-dom"; -import { Token } from "../../lib/ethereum/tokens"; +import { Token } from "../../../lib/ethereum/tokens"; import { DarknodeID } from "../DarknodeID"; -import { darknodeIDHexToBase58 } from "../pages/Darknode"; +import { darknodeIDHexToBase58 } from "../../darknodePage/Darknode"; import { TokenBalance } from "../TokenBalance"; interface Props { diff --git a/src/components/darknodeList/DarknodeList.tsx b/src/components/darknodeList/DarknodeList.tsx deleted file mode 100644 index 9fec3c29..00000000 --- a/src/components/darknodeList/DarknodeList.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import * as React from "react"; - -import { Loading } from "@renproject/react-components"; -import { List, Map } from "immutable"; - -import { DarknodesState } from "../../store/applicationState"; -import { _catch_ } from "../ErrorBoundary"; -import { DarknodeCard } from "./DarknodeCard"; -import { EmptyDarknodeCard } from "./EmptyDarknodeCard"; -import { EmptyDarknodeList } from "./EmptyDarknodeList"; - -interface Props { - darknodeList: List | null; - darknodeDetails: Map; - darknodeNames: Map; - darknodeRegisteringList: Map; -} - -export const DarknodeList: React.StatelessComponent = ({ - darknodeList, - darknodeDetails, - darknodeNames, - darknodeRegisteringList, -}) => -
    - {darknodeList === null ?
    : <> - {darknodeList && darknodeList.map((darknodeID: string) => { - const details = darknodeDetails.get(darknodeID) || null; - const name = darknodeNames.get(darknodeID); - - return _catch_(, { key: darknodeID }); - }).toArray()} - {darknodeList.size === 0 ? : <> - {darknodeList.size < 2 ? : null} - {darknodeList.size < 3 ? : null} - {darknodeList.size < 4 ? : null} - } - } -
    ; diff --git a/src/components/pages/Darknode.tsx b/src/components/darknodePage/Darknode.tsx similarity index 97% rename from src/components/pages/Darknode.tsx rename to src/components/darknodePage/Darknode.tsx index ff67c7ba..0ae256ba 100644 --- a/src/components/pages/Darknode.tsx +++ b/src/components/darknodePage/Darknode.tsx @@ -11,9 +11,9 @@ import { EncodedData, Encodings } from "../../lib/general/encodedData"; import { ApplicationState } from "../../store/applicationState"; import { addRegisteringDarknode, setDarknodeName } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; -import { _catch_ } from "../ErrorBoundary"; -import { StatusPage } from "../statuspage/StatusPage"; -import { NotFound } from "./NotFound"; +import { NotFound } from "../404"; +import { _catch_ } from "../common/ErrorBoundary"; +import { StatusPage } from "./statuspage/StatusPage"; export enum DarknodeAction { View = "view", diff --git a/src/components/statuspage/FeesItem.tsx b/src/components/darknodePage/statuspage/FeesItem.tsx similarity index 85% rename from src/components/statuspage/FeesItem.tsx rename to src/components/darknodePage/statuspage/FeesItem.tsx index f66b6c8e..ceed574f 100644 --- a/src/components/statuspage/FeesItem.tsx +++ b/src/components/darknodePage/statuspage/FeesItem.tsx @@ -7,12 +7,12 @@ import BigNumber from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { OldToken, Token } from "../../lib/ethereum/tokens"; -import { waitForTX } from "../../lib/ethereum/waitForTX"; -import { withdrawReward } from "../../store/account/darknodeActions"; -import { ApplicationState } from "../../store/applicationState"; -import { updateDarknodeDetails } from "../../store/network/operatorActions"; -import { AppDispatch } from "../../store/rootReducer"; +import { OldToken, Token } from "../../../lib/ethereum/tokens"; +import { waitForTX } from "../../../lib/ethereum/waitForTX"; +import { withdrawReward } from "../../../store/account/darknodeActions"; +import { ApplicationState } from "../../../store/applicationState"; +import { updateDarknodeDetails } from "../../../store/network/operatorActions"; +import { AppDispatch } from "../../../store/rootReducer"; const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { const [loading, setLoading] = React.useState(false); diff --git a/src/components/statuspage/Notifications.tsx b/src/components/darknodePage/statuspage/Notifications.tsx similarity index 95% rename from src/components/statuspage/Notifications.tsx rename to src/components/darknodePage/statuspage/Notifications.tsx index 5d74a1f8..a75797c9 100644 --- a/src/components/statuspage/Notifications.tsx +++ b/src/components/darknodePage/statuspage/Notifications.tsx @@ -6,8 +6,8 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import BigNumber from "bignumber.js"; -import { RegistrationStatus } from "../../lib/ethereum/contractReads"; -import { DarknodesState } from "../../store/applicationState"; +import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; +import { DarknodesState } from "../../../store/applicationState"; const lowValue = new BigNumber(Math.pow(10, 18)).multipliedBy(0.1); diff --git a/src/components/statuspage/OldFees.tsx b/src/components/darknodePage/statuspage/OldFees.tsx similarity index 93% rename from src/components/statuspage/OldFees.tsx rename to src/components/darknodePage/statuspage/OldFees.tsx index aa9ecb95..f1ba6db4 100644 --- a/src/components/statuspage/OldFees.tsx +++ b/src/components/darknodePage/statuspage/OldFees.tsx @@ -4,9 +4,9 @@ import { CurrencyIcon, TokenIcon } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { ApplicationState, DarknodesState } from "../../store/applicationState"; -import { AppDispatch } from "../../store/rootReducer"; -import { TokenBalance } from "../TokenBalance"; +import { ApplicationState, DarknodesState } from "../../../store/applicationState"; +import { AppDispatch } from "../../../store/rootReducer"; +import { TokenBalance } from "../../common/TokenBalance"; import { FeesItem } from "./FeesItem"; const mapStateToProps = (state: ApplicationState) => ({ diff --git a/src/components/statuspage/Registration.tsx b/src/components/darknodePage/statuspage/Registration.tsx similarity index 95% rename from src/components/statuspage/Registration.tsx rename to src/components/darknodePage/statuspage/Registration.tsx index c30cd095..74aebef9 100644 --- a/src/components/statuspage/Registration.tsx +++ b/src/components/darknodePage/statuspage/Registration.tsx @@ -3,17 +3,18 @@ import * as React from "react"; import { Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; +import { List } from "immutable"; -import { RegistrationStatus } from "../../lib/ethereum/contractReads"; -import { _captureInteractionException_ } from "../../lib/react/errors"; +import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; +import { _captureInteractionException_ } from "../../../lib/react/errors"; import { showDeregisterPopup, showRefundPopup, showRegisterPopup, -} from "../../store/account/operatorPopupActions"; -import { ApplicationState, DarknodesState } from "../../store/applicationState"; +} from "../../../store/account/operatorPopupActions"; +import { ApplicationState, DarknodesState } from "../../../store/applicationState"; import { updateDarknodeDetails, updateOperatorDarknodes, -} from "../../store/network/operatorActions"; -import { AppDispatch } from "../../store/rootReducer"; +} from "../../../store/network/operatorActions"; +import { AppDispatch } from "../../../store/rootReducer"; export const statusText = { [RegistrationStatus.Unknown]: "Loading...", diff --git a/src/components/statuspage/StatusPage.tsx b/src/components/darknodePage/statuspage/StatusPage.tsx similarity index 93% rename from src/components/statuspage/StatusPage.tsx rename to src/components/darknodePage/statuspage/StatusPage.tsx index e1bc5b75..73599b6f 100644 --- a/src/components/statuspage/StatusPage.tsx +++ b/src/components/darknodePage/statuspage/StatusPage.tsx @@ -4,12 +4,12 @@ import { Blocky, InfoLabel } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { RegistrationStatus } from "../../lib/ethereum/contractReads"; -import { ApplicationState, DarknodesState } from "../../store/applicationState"; -import { setDarknodeName } from "../../store/network/operatorActions"; -import { AppDispatch } from "../../store/rootReducer"; -import { DarknodeID } from "../DarknodeID"; -import { DarknodeAction } from "../pages/Darknode"; +import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; +import { ApplicationState, DarknodesState } from "../../../store/applicationState"; +import { setDarknodeName } from "../../../store/network/operatorActions"; +import { AppDispatch } from "../../../store/rootReducer"; +import { DarknodeID } from "../../common/DarknodeID"; +import { DarknodeAction } from "../Darknode"; import { FeesBlock } from "./block/FeesBlock"; import { GasBlock } from "./block/GasBlock"; import { GasGraph } from "./block/GasGraph"; @@ -52,14 +52,14 @@ class StatusPageClass extends React.Component { const focusedClass = action !== DarknodeAction.View ? "statuspage--focused" : ""; const renamingCLass = renaming ? "statuspage--renaming" : ""; - const noDarknodeClass = noDarknode ? "statuspage--no-darknode" : ""; + const noDarknodeClass = noDarknode || !darknodeDetails ? "statuspage--no-darknode" : ""; const notifications = ; return (
    - +
    {renaming ? diff --git a/src/components/statuspage/block/Block.tsx b/src/components/darknodePage/statuspage/block/Block.tsx similarity index 100% rename from src/components/statuspage/block/Block.tsx rename to src/components/darknodePage/statuspage/block/Block.tsx diff --git a/src/components/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx similarity index 97% rename from src/components/statuspage/block/FeesBlock.tsx rename to src/components/darknodePage/statuspage/block/FeesBlock.tsx index 7dcfa333..43959a32 100644 --- a/src/components/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -9,16 +9,16 @@ import { OrderedMap } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { DarknodeFeeStatus, RegistrationStatus } from "../../../lib/ethereum/contractReads"; -import { OldToken, Token } from "../../../lib/ethereum/tokens"; -import { alreadyPast, naturalTime } from "../../../lib/general/conversion"; -import { showClaimPopup } from "../../../store/account/operatorPopupActions"; -import { ApplicationState, DarknodesState } from "../../../store/applicationState"; +import { DarknodeFeeStatus, RegistrationStatus } from "../../../../lib/ethereum/contractReads"; +import { OldToken, Token } from "../../../../lib/ethereum/tokens"; +import { alreadyPast, naturalTime } from "../../../../lib/general/conversion"; +import { showClaimPopup } from "../../../../store/account/operatorPopupActions"; +import { ApplicationState, DarknodesState } from "../../../../store/applicationState"; import { updateCycleAndPendingRewards, updateDarknodeDetails, -} from "../../../store/network/operatorActions"; -import { AppDispatch } from "../../../store/rootReducer"; -import { TokenBalance } from "../../TokenBalance"; +} from "../../../../store/network/operatorActions"; +import { AppDispatch } from "../../../../store/rootReducer"; +import { TokenBalance } from "../../../common/TokenBalance"; import { FeesItem } from "../FeesItem"; import { OldFees } from "../OldFees"; import { Block, BlockBody, BlockTitle } from "./Block"; diff --git a/src/components/statuspage/block/GasBlock.tsx b/src/components/darknodePage/statuspage/block/GasBlock.tsx similarity index 97% rename from src/components/statuspage/block/GasBlock.tsx rename to src/components/darknodePage/statuspage/block/GasBlock.tsx index 850eea74..d093d0f7 100644 --- a/src/components/statuspage/block/GasBlock.tsx +++ b/src/components/darknodePage/statuspage/block/GasBlock.tsx @@ -5,7 +5,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Currency, CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; -import { DarknodesState } from "../../../store/applicationState"; +import { DarknodesState } from "../../../../store/applicationState"; import { TopUpController } from "../topup/TopUpController"; import { Block, BlockBody, BlockTitle } from "./Block"; diff --git a/src/components/statuspage/block/GasGraph.tsx b/src/components/darknodePage/statuspage/block/GasGraph.tsx similarity index 96% rename from src/components/statuspage/block/GasGraph.tsx rename to src/components/darknodePage/statuspage/block/GasGraph.tsx index 0745be88..8883470f 100644 --- a/src/components/statuspage/block/GasGraph.tsx +++ b/src/components/darknodePage/statuspage/block/GasGraph.tsx @@ -9,13 +9,13 @@ import { Scatter } from "react-chartjs-2"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { HistoryIterations, HistoryPeriod } from "../../../lib/ethereum/contractReads"; -import { _captureBackgroundException_ } from "../../../lib/react/errors"; -import { ApplicationState, DarknodesState } from "../../../store/applicationState"; +import { HistoryIterations, HistoryPeriod } from "../../../../lib/ethereum/contractReads"; +import { _captureBackgroundException_ } from "../../../../lib/react/errors"; +import { ApplicationState, DarknodesState } from "../../../../store/applicationState"; import { updateDarknodeBalanceHistory, updateSecondsPerBlock, -} from "../../../store/network/operatorActions"; -import { AppDispatch } from "../../../store/rootReducer"; +} from "../../../../store/network/operatorActions"; +import { AppDispatch } from "../../../../store/rootReducer"; import { Block, BlockBody, BlockTitle } from "./Block"; const shift = new BigNumber(10).exponentiatedBy(18); diff --git a/src/components/statuspage/block/NetworkBlock.tsx b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx similarity index 92% rename from src/components/statuspage/block/NetworkBlock.tsx rename to src/components/darknodePage/statuspage/block/NetworkBlock.tsx index b0d250db..308a1c58 100644 --- a/src/components/statuspage/block/NetworkBlock.tsx +++ b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx @@ -3,8 +3,8 @@ import * as React from "react"; import { faServer } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { DarknodesState } from "../../../store/applicationState"; -import { darknodeIDHexToBase58 } from "../../pages/Darknode"; +import { DarknodesState } from "../../../../store/applicationState"; +import { darknodeIDHexToBase58 } from "../../Darknode"; import { Block, BlockBody, BlockTitle } from "./Block"; export const NetworkBlock = (props: Props): JSX.Element => { diff --git a/src/components/statuspage/topup/TopUp.tsx b/src/components/darknodePage/statuspage/topup/TopUp.tsx similarity index 100% rename from src/components/statuspage/topup/TopUp.tsx rename to src/components/darknodePage/statuspage/topup/TopUp.tsx diff --git a/src/components/statuspage/topup/TopUpController.ts b/src/components/darknodePage/statuspage/topup/TopUpController.ts similarity index 93% rename from src/components/statuspage/topup/TopUpController.ts rename to src/components/darknodePage/statuspage/topup/TopUpController.ts index cc2b5ef0..f9bd336d 100644 --- a/src/components/statuspage/topup/TopUpController.ts +++ b/src/components/darknodePage/statuspage/topup/TopUpController.ts @@ -3,11 +3,11 @@ import { Component, createElement } from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../../lib/react/errors"; -import { showFundPopup } from "../../../store/account/operatorPopupActions"; -import { ApplicationState } from "../../../store/applicationState"; -import { updateDarknodeDetails } from "../../../store/network/operatorActions"; -import { AppDispatch } from "../../../store/rootReducer"; +import { _captureBackgroundException_ } from "../../../../lib/react/errors"; +import { showFundPopup } from "../../../../store/account/operatorPopupActions"; +import { ApplicationState } from "../../../../store/applicationState"; +import { updateDarknodeDetails } from "../../../../store/network/operatorActions"; +import { AppDispatch } from "../../../../store/rootReducer"; import { TopUp } from "./TopUp"; export const CONFIRMATION_MESSAGE = "Transaction confirmed."; diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx new file mode 100644 index 00000000..7b54dfdc --- /dev/null +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -0,0 +1,141 @@ +import React, { useState } from "react"; +import { CSSTransitionGroup } from "react-transition-group"; +import { withRouter } from "react-router"; +import { Loading } from "@renproject/react-components"; +import { Link } from "react-router-dom"; + +import { Token } from "../../lib/ethereum/tokens"; +import { naturalTime } from "../../lib/general/conversion"; +import { TokenBalance } from "../common/TokenBalance"; +import { Block, HyperdriveContainer } from "./hyperdriveContainer"; + +let interval: NodeJS.Timeout; + +export const Hyperdrive = withRouter(({ match: { params } }) => { + const container = HyperdriveContainer.useContainer(); + + const blockNumber = params.blockNumber ? parseInt(params.blockNumber, 10) : null; + + // tslint:disable-next-line: prefer-const + let [initialized, setInitialized] = useState(false); + React.useEffect(() => { + console.log(`initialized: ${initialized}`); + if (initialized) { + return; + } + const syncBlocks = () => { + console.log(`Syncing!`); + container.updateBlocks().catch(console.error); + }; + + if (blockNumber) { + container.getBlock(blockNumber).catch(console.error); + } + + // Every 30 seconds + if (interval) { clearInterval(interval); } + interval = setInterval(syncBlocks, 10 * 1000); + if (container.blocks.size === 0) { + syncBlocks(); + } + + initialized = true; + setInitialized(initialized); + + // return () => { + // console.log(`No more syncing!`); + // clearInterval(interval); + // }; + // tslint:disable-next-line:react-hooks/exhaustive-dep + }, [initialized, blockNumber]); + + const blockTr = (block: Block) => { + return + {block.height} + + {naturalTime(block.timestamp, { + message: "Just now", + suffix: "ago", + countDown: false, + showingSeconds: true, + })} + + + {block.txs.length} TXs + + + sum + utxo.amount, 0))} + digits={4} + /> BTC + + + sum + utxo.amount, 0))} + digits={4} + /> ZEC + + ; + }; + + return ( +
    + {blockNumber ? <> +
    +

    Block {blockNumber}

    + + + + + + + + + + {container.currentBlock ? blockTr(container.currentBlock) : } + +
    Block NumberTimestampNumber of TransactionsBTC lockedZEC locked
    + + + + + + + + + {container.currentBlock ? container.currentBlock.txs.map((tx) => { + return + + + + + ; + }) : <>} + +
    HashToArgsOut
    {tx.hash}{tx.to}{tx.args.length}{tx.out ? tx.out.length : 0}
    +
    +
    + : <> + } +
    +

    Latest Blocks

    + + + + + + + + + + {container.blocks.map(blockTr)} + +
    Block NumberTimestampNumber of TransactionsBTC lockedZEC locked
    +
    + ); +}); \ No newline at end of file diff --git a/src/components/hyperdrivePage/_hyperdrive.scss b/src/components/hyperdrivePage/_hyperdrive.scss new file mode 100644 index 00000000..463fdfc4 --- /dev/null +++ b/src/components/hyperdrivePage/_hyperdrive.scss @@ -0,0 +1,75 @@ +.map { + // display: flex; + + hr { + color: white; + margin-bottom: 10px; + border-width: 0.5px; + } + + .map--world--outer { + display: flex; + } + + .map--world { + width: 100%; + max-width: 980px; + margin: 0 auto; + } + + circle { + fill: #87C0FF; + filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); + } + + h2 { + font-family: Ubuntu; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 16px; + + /* identical to box height */ + letter-spacing: 1.75px; + text-transform: uppercase; + + color: #FFFFFF; + + } + + tr { + animation: highlight 1s; + } + + @keyframes highlight { + 0% { + background: rgba(255, 255, 255, 0.05);; + } + 100% { + background: none; + } + } + + a { + color: white; + text-decoration: none; + } + + .fade-enter { + opacity: 0.01; +} + +.fade-enter.fade-enter-active { + opacity: 1; + transition: opacity 0.6s ease-in-out; +} + +.fade-leave { + opacity: 1; +} + +.fade-leave.fade-leave-active { + opacity: 0.01; + transition: opacity 0.3s ease-in-out; +} +} \ No newline at end of file diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts new file mode 100644 index 00000000..04ea6975 --- /dev/null +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -0,0 +1,157 @@ +// tslint:disable: no-unused-variable + +import { List } from "immutable"; +import { useState } from "react"; +import { createContainer } from "unstated-next"; +import { RenNetworkDetails, testnet } from "@renproject/contracts"; +import Axios from "axios"; + +import { getLightnode } from "../overviewPage/darknodeMap/mapContainer"; + +type Addr = string; +type B = string; +type B32 = string; +type U32 = number; +type U64 = number; +// tslint:disable-next-line: no-any +type Value = any; + +enum Type { + Addr = "addr", + Str = "str", + B20 = "b20", + B32 = "b32", + B = "b", + I8 = "i8", + I16 = "i16", + I32 = "i32", + I64 = "i64", + U8 = "u8", + U16 = "u16", + U32 = "u32", + U64 = "u64", +} + +interface Arg { + name: string; + type: Type; + value: Value; +} + +type Args = Arg[]; + +interface Tx { + hash: B32; + to: Addr; + args: Args; + out: Args; +} + +type Txs = Tx[]; + +interface ExtBtcCompatUTXO { + txHash: B32; + vOut: U32; + scriptPubKey: B; + amount: U64; + ghash: B32; +} + +type ExtBtcCompatUTXOs = ExtBtcCompatUTXO[]; + +export interface Block { + header: B32; + parentHeader: B32; + height: U64; + timestamp: U64; + txHeader: B32; + txs: Txs; + utxosForBtc: ExtBtcCompatUTXOs; + utxosForZec: ExtBtcCompatUTXOs; +} + +type Blocks = Block[]; + +interface RPCResponse { + jsonrpc: "2.0"; + id: number; + result: T; +} + +interface ResponseQueryBlock { + block: Block; +} + +interface ResponseQueryBlocks { + blocks: Blocks; +} + +const N = 5; + +const getBlocks = async (network: RenNetworkDetails, previousBlocks: List): Promise> => { + const lightnode = getLightnode(network); + if (!lightnode) { + throw new Error(`No lightnode to fetch darknode locations.`); + } + const firstBlock = previousBlocks.first(); + let previousHeight = null; + if (firstBlock) { + previousHeight = firstBlock.height; + } + if (previousHeight === null) { + console.log(`Requesting 5 blocks`); + const request = { jsonrpc: "2.0", method: "ren_queryBlocks", params: { n: N }, id: 67 }; + const response = (await Axios.post>(lightnode, request)).data.result; + return List(response.blocks); + } else { + let currentHeight = null as number | null; + let syncedHeight = null as number | null; + let newBlocks = List(); + console.log(`Syncing with previousHeight: ${previousHeight}`); + while ( + currentHeight === null || syncedHeight === null || + (syncedHeight > previousHeight + 1 && syncedHeight + N - 1 > currentHeight && syncedHeight > 0) + ) { + console.log(`Requesting block ${syncedHeight && syncedHeight - 1}`); + const request = { jsonrpc: "2.0", method: "ren_queryBlock", params: { blockHeight: syncedHeight && syncedHeight - 1 }, id: 67 }; + const response = (await Axios.post>(lightnode, request)).data.result; + const latestBlock = response.block; + if (latestBlock.height === previousHeight) { + break; + } + currentHeight = currentHeight || latestBlock.height; + syncedHeight = latestBlock.height; + newBlocks = newBlocks.push(latestBlock); + } + return newBlocks.concat(previousBlocks).slice(0, N).toList(); + } +}; + +const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => { + // tslint:disable-next-line: whitespace + const [network,] = useState(initialState); + // tslint:disable-next-line: prefer-const + let [blocks, setBlocks] = useState(List()); + // tslint:disable-next-line: prefer-const + let [currentBlock, setCurrentBlock] = useState(null); + + const updateBlocks = async () => { + blocks = await getBlocks(network, blocks); + setBlocks(blocks); + }; + + const getBlock = async (blockNumber: number) => { + const lightnode = getLightnode(network); + if (!lightnode) { + return; + } + const request = { jsonrpc: "2.0", method: "ren_queryBlock", params: { n: 5, blockHeight: blockNumber }, id: 67 }; + const response = (await Axios.post>(lightnode, request)).data.result; + currentBlock = response.block; + setCurrentBlock(currentBlock); + }; + + return { blocks, updateBlocks, getBlock, currentBlock }; +}; + +export const HyperdriveContainer = createContainer(useHyperdriveContainer); diff --git a/src/components/darknodeMap/world-50m.json b/src/components/hyperdrivePage/world-50m.json similarity index 100% rename from src/components/darknodeMap/world-50m.json rename to src/components/hyperdrivePage/world-50m.json diff --git a/src/components/darknodeMap/darknodeMap.tsx b/src/components/overviewPage/darknodeMap/DarknodeMap.tsx similarity index 100% rename from src/components/darknodeMap/darknodeMap.tsx rename to src/components/overviewPage/darknodeMap/DarknodeMap.tsx diff --git a/src/components/darknodeMap/_darknodeMap.scss b/src/components/overviewPage/darknodeMap/_darknodeMap.scss similarity index 100% rename from src/components/darknodeMap/_darknodeMap.scss rename to src/components/overviewPage/darknodeMap/_darknodeMap.scss diff --git a/src/components/darknodeMap/mapContainer.ts b/src/components/overviewPage/darknodeMap/mapContainer.ts similarity index 71% rename from src/components/darknodeMap/mapContainer.ts rename to src/components/overviewPage/darknodeMap/mapContainer.ts index 80d4019d..01d7c139 100644 --- a/src/components/darknodeMap/mapContainer.ts +++ b/src/components/overviewPage/darknodeMap/mapContainer.ts @@ -1,5 +1,6 @@ // tslint:disable: no-unused-variable +import localforage from "localforage"; import { RenNetworkDetails, testnet } from "@renproject/contracts"; import { sleep } from "@renproject/react-components"; import Axios from "axios"; @@ -48,7 +49,7 @@ const parallelLimit = (promiseFactories: Array<() => Promise>, limit: numb return Promise.all(arrChains).then(() => result); }; -const getLightnode = (network: RenNetworkDetails): string => { +export const getLightnode = (network: RenNetworkDetails): string => { switch (network.name) { case "mainnet": return ""; case "testnet": return "https://lightnode-testnet.herokuapp.com"; @@ -92,34 +93,64 @@ const fetchLocationFromAPI = async (ip: string): Promise => { throw new Error(`Unable to fetch location for ${ip}`); }; +const parseMultiAddress = (multiAddress: string): { ip: string, darknodeID: string } => { + const [, , ip, , , , darknodeID] = multiAddress.split("/"); + return { ip, darknodeID }; +}; + +const getAllDarknodes = async (network: RenNetworkDetails) => { + const lightnode = getLightnode(network); + if (!lightnode) { + throw new Error(`No lightnode to fetch darknode locations.`); + } + const request = { jsonrpc: "2.0", method: "ren_queryPeers", params: {}, id: 67 }; + const response = (await Axios.post(lightnode, request)).data; + return response.result.peers; + // return darknodeIDs.map(parseMultiAddress); +}; + interface Location { longitude: number; latitude: number; } +const configureCache = (): LocalForage => { + return localforage.createInstance({ + name: "command-center", + version: 1.0, + storeName: "geoip", + description: "Cache API requests to resolve IP address's coordinates", + }); +}; + +const writeCache = async (ip: string, location: Location) => { + await configureCache().setItem(ip, location); +}; + +const readCache = async (ip: string) => { + return await configureCache().getItem(ip); +}; + const useMapContainer = (initialState = testnet as RenNetworkDetails) => { // tslint:disable-next-line: prefer-const let [darknodes, setDarknodes] = useState(sampleDarknodes); // tslint:disable-next-line: whitespace const [network,] = useState(initialState); - // tslint:disable-next-line: prefer-const - let [ipMap, setIpMap] = useState(Map()); - const getLocation = async (ip: string): Promise => { // Check if we've already fetched for this IP - const previousLocation = ipMap.get(ip); + const previousLocation = await readCache(ip); if (previousLocation) { return previousLocation; } - // Store in map for next time const location = await fetchLocationFromAPI(ip); - ipMap = ipMap.set(ip, location); - setIpMap(ipMap); + + // Store in map for next time + await writeCache(ip, location); // Return location return location; }; const addDarknodeID = async (multiAddress: string) => { - const [, , ip, , , , darknodeID] = multiAddress.split("/"); + const { ip, darknodeID } = parseMultiAddress(multiAddress); try { const { longitude, latitude } = await getLocation(ip); darknodes = [...darknodes, { darknodeID, coordinates: [longitude, latitude] }]; @@ -130,16 +161,13 @@ const useMapContainer = (initialState = testnet as RenNetworkDetails) => { }; const fetchDarknodes = async () => { - const lightnode = getLightnode(network); - if (!lightnode) { - console.error(`No lightnode to fetch darknode locations.`); - return; + try { + const darknodeIDs = await getAllDarknodes(network); + const updateDarknodes = darknodeIDs.map((darknodeID: string) => (() => addDarknodeID(darknodeID))); + await parallelLimit(updateDarknodes, 4); + } catch (error) { + console.error(error); } - const request = { jsonrpc: "2.0", method: "ren_queryPeers", params: {}, id: 67 }; - const response = (await Axios.post(lightnode, request)).data; - const darknodeIDs = response.result.peers; - const updateDarknodes = darknodeIDs.map((darknodeID: string) => (() => addDarknodeID(darknodeID))); - await parallelLimit(updateDarknodes, 4); }; return { fetchDarknodes, darknodes }; }; diff --git a/src/components/overviewPage/darknodeMap/world-50m.json b/src/components/overviewPage/darknodeMap/world-50m.json new file mode 100644 index 00000000..ca92d9d4 --- /dev/null +++ b/src/components/overviewPage/darknodeMap/world-50m.json @@ -0,0 +1 @@ +{"arcs":[[[7080,7327],[-5,4],[-10,-10],[5,-6]],[[7070,7315],[-16,-12],[-9,5],[-28,-4],[-12,-6],[-1,-5],[-17,-18],[-11,-16],[6,-10],[6,-18],[-2,-15],[3,-8],[-18,-35],[4,-12],[-2,-18],[-7,-5],[-13,0],[-13,4],[3,-16],[6,-6],[-1,-9],[4,-9],[-12,-14],[-8,0],[-6,-18],[2,-7],[-6,-11],[2,-30],[-8,-17],[-6,-1],[-2,8],[-15,4],[-3,-8],[-14,-12],[6,-9],[-11,-7],[-13,6],[-7,-15],[-8,-7],[-3,-19],[2,-9],[-4,-35],[-32,-17],[-16,2],[-11,-11],[-14,6],[-30,-5],[-46,26]],[[6689,6902],[27,56],[1,10],[-4,21],[-24,7],[-1,9],[1,35],[-7,43],[0,9],[7,14],[1,9],[-10,5],[0,31],[11,8],[-5,13],[7,6],[5,26],[-1,11],[4,19]],[[6701,7234],[8,-10],[13,-1],[6,-7],[1,-9],[5,8],[5,-4],[13,13],[0,24],[9,0],[4,6],[20,11],[9,15],[0,16],[5,14],[-1,9],[9,8],[12,0],[4,16],[4,3],[15,-14],[5,2]],[[6847,7334],[14,2],[7,-12],[6,6],[8,-6]],[[6882,7324],[7,-15],[7,10],[15,9],[2,5],[10,-14],[5,7],[-2,13],[4,8],[21,2],[-3,18],[5,4],[12,26],[9,-2],[7,-9],[-1,-21],[6,3],[2,-8],[-3,-14],[-1,-35],[3,-12],[7,-4],[15,19],[9,1],[3,11],[14,14],[13,-2],[-1,-12],[14,8],[12,2],[7,-9]],[[5665,4557],[3,-32],[-3,-9],[0,-36],[2,-12],[-5,-22],[4,-12],[-56,0],[0,-182],[3,-21],[6,-7],[15,-33],[6,-7],[3,-10],[6,-7]],[[5649,4167],[-53,-21],[-11,4],[-8,-4],[-13,9],[-8,-3],[-17,2],[-5,4],[-10,0],[-7,9],[-5,14],[-52,0],[-66,0],[-7,-1],[-12,17],[-4,9],[-6,1],[-18,-16],[-15,4],[-6,-6]],[[5326,4189],[0,28],[2,-1],[-2,58],[7,9],[1,23],[6,24],[2,20],[0,23],[5,12],[0,26],[4,4],[8,20],[0,10],[6,12],[5,0],[8,20],[5,28],[-1,20],[2,29],[-2,15],[-7,15],[-8,46],[-7,29],[6,16],[6,7],[-1,21],[-3,9],[-10,48],[-2,4],[0,21],[-8,16],[-8,30],[16,4],[10,11]],[[5366,4846],[4,-2],[18,2],[12,-3],[21,2],[32,1],[7,-4],[4,-15],[0,-22],[3,-16],[3,-3],[0,-19],[10,-23],[0,-8],[9,-20],[7,4],[6,-4],[2,6],[33,0],[1,20],[4,12],[-2,8],[2,18],[21,0],[9,5],[-3,-22],[36,0],[1,-22],[-2,-20],[5,-23],[-4,-53],[1,-14],[6,-17],[3,-2],[4,-23],[0,-22],[-4,-9],[3,-18],[6,7],[13,-4],[14,9],[12,-3],[2,8]],[[5363,4916],[-7,-5],[-8,-18],[-1,-40],[-8,-2]],[[5339,4851],[-2,5],[2,14],[-6,24]],[[5333,4894],[10,23],[7,3],[4,10],[9,-14]],[[5582,7537],[-1,0]],[[5581,7537],[1,0]],[[5537,7617],[1,0]],[[5538,7617],[-1,0]],[[5557,7633],[4,-13],[7,-4],[3,-22]],[[5571,7594],[-4,-21],[6,-24]],[[5573,7549],[2,-10]],[[5575,7539],[6,-2]],[[5581,7537],[1,-1]],[[5582,7536],[0,0]],[[5582,7536],[0,-5]],[[5582,7531],[1,-5]],[[5583,7526],[0,0]],[[5583,7526],[-2,-13],[-5,-2],[-2,-17],[-11,-8],[3,-12],[-6,-8],[-5,3]],[[5555,7469],[-3,19],[-11,9],[-1,22],[-4,4],[4,16],[-1,29],[5,23],[-7,2]],[[5537,7593],[1,14]],[[5538,7607],[0,13]],[[5538,7620],[9,19],[3,-11],[7,5]],[[5553,8659],[10,-5],[-7,-11],[-10,6],[7,10]],[[5047,7630],[-7,-5],[-1,11]],[[5039,7636],[8,1],[0,-7]],[[6563,6637],[0,0]],[[6563,6659],[2,-2],[1,-36]],[[6566,6621],[-8,-14],[-3,13],[-6,-4],[-1,-38],[7,-9],[-11,-3],[-4,-6],[2,-9],[-10,-44],[0,-17]],[[6532,6490],[-2,-5],[-70,18],[-3,5],[-25,63],[0,9]],[[6432,6580],[6,-1],[0,-13],[12,-3],[10,11],[24,-2],[11,-4],[15,12],[6,14],[1,15],[11,12],[13,31],[11,13],[5,19]],[[6557,6684],[3,-2],[-1,-22],[4,-1]],[[6562,6642],[0,0]],[[3093,2021],[0,6]],[[3093,2027],[0,-6]],[[3093,2028],[0,123]],[[3093,2151],[10,-17],[-8,-15],[11,-6],[5,-17],[12,-13],[7,-13],[17,-13],[11,-14],[12,-7],[20,0],[-5,-16],[-18,1],[-11,-8],[-12,6],[-51,9]],[[3259,3902],[11,-14],[7,-29],[9,-17],[15,-17],[3,-11],[17,-13],[11,-1],[15,-18],[4,-9],[15,-17],[9,-5],[5,-8],[13,-5],[8,-20],[-6,-14],[-3,-19],[-8,-10],[-1,-25],[-3,-14],[-5,-4],[-5,-15],[4,-5],[13,1],[19,-8],[5,-5],[7,4],[5,-5],[6,3],[4,-8],[3,12],[5,5],[10,-9],[5,8],[-1,8],[6,12],[6,0],[11,18],[5,40],[0,22]],[[3483,3710],[5,-4],[6,7],[9,-9],[1,-17],[5,-14],[-2,-9],[0,-25],[-2,-17],[-13,-19],[-15,-5],[-6,-19],[-8,-4],[-6,-13],[-7,-5],[3,-10],[-6,-4],[-20,-39],[-2,-11],[-12,-25],[-5,-2],[-1,-10],[-8,-11]],[[3399,3445],[0,-7],[-7,-12],[2,-23],[-3,-20],[-5,-13],[3,-4],[-2,-14],[-4,-5],[3,-25],[-3,-8]],[[3383,3314],[2,-25],[-2,-12],[-6,0],[-4,-34],[5,-29],[-4,-14],[5,-12],[23,-21],[11,-25],[-7,-19],[0,-13],[7,-17],[12,-6],[1,-29],[-11,-30],[-13,-26],[-2,-16],[-27,-24],[-37,-16],[-27,-8],[-27,0],[-15,11],[3,-32],[5,-9],[-2,-21],[-4,3],[-1,-21],[-4,-5],[6,-17],[-2,-18],[-20,-16],[-21,0],[-26,20],[-8,2],[-4,-10],[5,-32],[-2,-24],[6,-16],[11,-4],[-4,-10],[13,0],[2,10],[-6,0],[14,11],[5,-13],[1,-17],[-3,-12],[-12,-5],[-3,16],[-13,5],[-9,-15],[19,-13],[-20,-17],[-8,-19],[3,-43],[-4,-11],[-9,-7],[0,-20],[-14,3],[-8,-5],[-1,-8],[-14,-5],[-9,-18],[0,-9],[-6,-9],[-2,-14],[7,-25],[7,-6],[8,-16],[6,-4],[17,0],[6,-6],[2,-20],[-5,-33],[-6,-2],[-12,-18],[-16,-14],[-3,-10],[-9,-10],[-6,-22],[2,-16],[-5,-18],[-5,-6],[-23,-14],[-5,-12],[-2,-21],[2,-24],[9,-34],[11,-24],[-3,-1]],[[3098,2168],[-15,10],[-26,10],[-55,1],[-4,12],[-11,13],[6,19],[-5,7],[5,13],[-2,14],[-13,1],[-11,-8],[-3,26],[-7,9],[2,22],[-3,11],[3,15],[9,1],[3,17],[12,10],[1,22],[7,7],[-1,15],[-5,7],[6,30],[8,13],[2,22],[8,9],[-3,32],[4,11],[-4,4],[0,15],[8,5],[5,13],[-8,17],[-14,5],[7,5],[17,3],[2,17],[-18,3],[-1,18],[5,7],[-4,14],[3,7],[-6,16],[5,9],[-11,7],[0,45],[3,8],[8,1],[-5,26],[2,43],[-3,11],[4,27],[5,21],[-2,18],[8,13],[0,25],[15,13],[-3,15],[-1,21],[-5,20],[3,35],[-2,24],[3,12],[10,4],[-1,8],[10,14],[-2,40],[-4,4],[6,6],[0,12],[9,39],[6,2],[-2,34],[3,18],[-9,9],[3,18],[-4,6],[0,16],[-5,12],[-2,14],[3,9],[-5,2],[-3,15],[1,24],[6,8],[0,13],[5,19],[7,8],[2,10],[-4,4],[2,16],[-4,31],[7,10],[1,26],[4,17],[13,33],[9,38],[6,-3],[8,7],[0,10],[-8,21],[0,10],[5,9],[-2,26],[-3,17],[2,15],[5,4],[-6,14],[2,14],[7,13],[25,20],[9,54],[-5,17]],[[3133,3869],[5,9],[0,8],[7,6],[2,12],[9,5],[4,19],[3,-2],[10,-17],[21,0],[12,-5],[6,-38],[3,20],[8,29],[32,1],[4,-14]],[[6265,7522],[0,0]],[[6249,7560],[2,-10],[15,-14],[-6,-16],[6,-11],[11,-10],[-3,-13],[-7,2],[15,-25],[9,-1],[-3,-13],[5,-7],[-5,-5],[3,-15]],[[6291,7422],[-10,-2]],[[6281,7420],[-4,23],[-7,7],[1,10],[-13,-1],[-8,14],[-7,-4]],[[6243,7469],[-8,16],[-12,1],[-11,7],[-3,20],[5,12],[-3,17],[-5,8]],[[6206,7550],[9,0],[11,7],[10,-3],[13,6]],[[6249,7546],[0,0]],[[6255,7542],[0,0]],[[488,408],[24,-7],[-48,-4],[-13,16],[37,-5]],[[542,484],[-90,7],[20,11],[65,-10],[5,-8]],[[3331,592],[8,-3],[-1,-57],[-23,-11],[-52,4],[-17,17],[-32,-10],[-67,20],[3,10],[19,-10],[115,3],[8,27],[39,10]],[[4135,588],[34,-2],[-10,-10],[-44,8],[-5,11],[25,-7]],[[3120,602],[25,-4],[35,-20],[-20,-7],[-40,31]],[[3137,618],[-11,-15],[-30,6],[41,9]],[[4054,618],[1,-6],[-76,3],[30,13],[45,-10]],[[547,618],[21,-9],[14,-23],[-47,-2],[-90,25],[-10,7],[5,17],[24,15],[25,0],[58,-30]],[[3143,666],[-58,-38],[-39,-36],[-31,3],[-10,10],[11,23],[23,11],[92,33],[12,-6]],[[9654,680],[-35,-8],[-8,14],[21,-7],[22,11],[0,-10]],[[3740,650],[1,-7],[44,2],[21,-39],[-7,-30],[-18,-1],[9,-11],[-158,-26],[-16,-9],[-121,-4],[1,17],[22,27],[26,-4],[60,37],[-13,14],[14,40],[31,33],[52,14],[37,-3],[38,-11],[19,-13],[-4,-20],[-38,-6]],[[9641,732],[63,-13],[-27,-10],[-42,-2],[-19,12],[25,13]],[[839,754],[14,-14],[-32,3],[-11,7],[29,4]],[[938,754],[-21,-7],[-2,12],[23,-5]],[[951,834],[16,-10],[-24,3],[8,7]],[[9561,885],[-8,-14],[-7,9],[15,5]],[[1342,903],[19,-12],[-6,-6],[-27,12],[14,6]],[[1458,897],[-1,-13],[-17,20],[18,-7]],[[1760,918],[-17,-8],[-3,7],[26,11],[-6,-10]],[[1680,914],[-12,3],[10,17],[17,-2],[-1,-10],[-14,-8]],[[1635,935],[17,0],[7,-14],[-23,-10],[0,-10],[-32,-4],[-22,7],[3,11],[15,12],[-27,3],[7,10],[55,-5]],[[4425,917],[9,-22],[-14,0],[-4,16],[-29,3],[20,7],[12,19],[11,1],[-5,-24]],[[9717,944],[-11,3],[8,14],[3,-17]],[[1498,961],[13,-7],[9,-16],[-11,-7],[29,6],[17,-9],[7,-11],[-6,-12],[-22,3],[-48,22],[0,8],[-19,7],[-3,16],[34,0]],[[2955,972],[-2,-10],[-13,0],[15,10]],[[2514,979],[-20,-5],[-4,5],[22,8],[2,-8]],[[2918,987],[18,-3],[-8,-40],[-36,14],[-7,10],[11,7],[18,0],[-19,10],[23,2]],[[2474,988],[-3,-19],[-14,-1],[6,17],[-10,16],[23,1],[-2,-14]],[[2365,999],[-10,3],[18,7],[-8,-10]],[[2270,1031],[14,-3],[-2,14],[10,0],[2,-17],[10,19],[19,1],[5,-10],[-23,-11],[8,-3],[27,11],[-6,-10],[13,-10],[-15,-1],[1,-9],[-72,2],[2,5],[-24,-1],[6,7],[-29,6],[-58,7],[6,10],[57,7],[8,-11],[7,7],[23,-12],[-13,13],[17,9],[15,-6],[-8,-14]],[[4919,1112],[8,-10],[14,1],[-17,-19],[-8,18],[-16,10],[19,0]],[[2947,1119],[8,-13],[-22,-10],[-48,-11],[-9,4],[2,12],[33,5],[9,12],[8,-13],[3,14],[16,0]],[[3313,1111],[-7,10],[11,1],[-4,-11]],[[4835,1126],[-5,-10],[-10,9],[15,1]],[[5082,1116],[-11,6],[19,4],[-8,-10]],[[4913,1121],[-10,0],[6,12],[12,3],[2,-14],[-10,-1]],[[7004,1113],[-10,3],[-5,16],[16,-11],[-1,-8]],[[5124,1122],[-12,11],[12,5],[0,-16]],[[5745,1129],[-22,0],[-2,11],[19,6],[5,-17]],[[5040,1146],[-7,-18],[-5,21],[12,-3]],[[2924,1165],[8,-12],[-12,-13],[-23,5],[-1,13],[8,7],[20,0]],[[5449,1148],[-17,8],[11,12],[19,-1],[-11,-8],[-2,-11]],[[3001,1170],[-23,2],[-6,7],[17,4],[12,-13]],[[3283,1179],[-6,-12],[-16,30],[11,2],[11,-20]],[[3055,1197],[19,-24],[1,-17],[16,-26],[11,-25],[3,-60],[-6,-23],[-20,-7],[-2,-10],[-40,-7],[-49,0],[-21,13],[10,8],[16,-3],[45,-2],[14,8],[-7,6],[-28,-9],[-18,10],[35,8],[1,5],[-31,0],[-14,17],[-11,-17],[-31,2],[10,-8],[-14,-9],[-38,14],[-1,15],[15,8],[16,-8],[-4,12],[9,4],[16,-13],[-4,14],[29,-2],[9,7],[-23,7],[10,6],[30,-6],[19,11],[20,0],[13,-11],[-2,16],[-35,7],[5,17],[24,8],[15,-4],[-18,14],[-20,-4],[-27,14],[7,34],[-10,5],[0,20],[45,10],[9,-7],[2,-18]],[[7385,1327],[-15,4],[8,9],[7,-13]],[[3111,1321],[9,-5],[-16,-13],[-8,-22],[-11,0],[-7,9],[22,44],[15,12],[5,-5],[-10,-11],[1,-9]],[[7686,1378],[4,-8],[-14,-2],[10,10]],[[3174,1408],[-3,-16],[-10,-2],[6,17],[7,1]],[[7805,1401],[-19,0],[-1,7],[12,10],[15,-7],[-7,-10]],[[7870,1413],[-16,19],[9,-2],[7,-17]],[[3410,1465],[-6,6],[14,7],[-8,-13]],[[3242,1481],[-2,-9],[14,-8],[-14,-12],[-26,3],[20,26],[8,0]],[[3270,1492],[2,-17],[-12,-8],[10,25]],[[3394,1508],[-2,-9],[20,-7],[-8,-17],[-7,6],[-7,-7],[-14,20],[5,8],[13,6]],[[3446,1521],[-9,7],[15,-2],[-6,-5]],[[0,324],[46,3],[68,-14],[19,8],[194,-14],[21,-11],[128,-2],[122,-11],[81,-3],[-58,13],[54,1],[-124,12],[-104,7],[24,11],[-55,17],[37,2],[-52,17],[-71,-3],[-37,23],[-127,27],[73,-2],[18,-14],[73,-4],[20,4],[70,-3],[6,-14],[50,10],[19,-11],[127,8],[18,9],[-44,5],[81,5],[16,14],[70,14],[-10,10],[-54,26],[31,11],[-19,10],[-74,13],[17,11],[109,6],[135,7],[0,5],[-77,24],[-11,11],[13,10],[43,-4],[46,10],[-17,11],[-75,12],[-55,17],[-3,5],[-68,8],[-43,21],[14,11],[48,6],[-2,14],[-71,-7],[-47,23],[14,18],[-3,26],[9,1],[24,-17],[21,17],[21,-5],[18,4],[38,-10],[-9,-10],[36,-3],[2,10],[72,-30],[30,16],[30,6],[-36,7],[7,14],[32,-17],[21,7],[13,-13],[27,0],[-16,13],[21,1],[-31,15],[29,-5],[-22,20],[-27,16],[-38,-3],[-33,3],[2,9],[28,4],[9,7],[69,-21],[6,8],[-27,13],[9,11],[56,6],[1,10],[41,4],[2,6],[19,-3],[9,-14],[18,0],[-10,14],[29,6],[16,14],[61,4],[30,-4],[-16,9],[4,14],[30,0],[11,11],[22,-4],[18,-16],[30,9],[58,-4],[20,-5],[64,13],[93,0],[8,-7],[45,3],[41,0],[59,10],[-3,10],[24,6],[6,-12],[33,-3],[51,6],[-7,21],[11,10],[21,0],[-9,-7],[19,2],[-8,-12],[4,-14],[15,3],[-18,-16],[-6,-21],[9,6],[46,8],[15,0],[-10,11],[0,20],[15,6],[35,-17],[-5,-19],[-34,-18],[4,-7],[45,4],[84,-10],[53,13],[28,-3],[14,4],[49,-4],[-3,-8],[20,-8],[70,13],[-27,6],[2,10],[-34,3],[17,7],[3,14],[-46,3],[5,11],[-7,15],[-33,5],[-4,20],[42,-4],[3,-6],[47,2],[-5,21],[-41,3],[-46,0],[-11,7],[-4,20],[11,7],[26,-4],[-17,-12],[21,-4],[33,4],[84,-1],[9,-7],[44,-11],[17,7],[24,-7],[21,8],[46,0],[33,-7],[16,10],[25,1],[6,10],[-10,17],[33,-4],[1,-10],[-15,-14],[9,-9],[30,6],[8,-11],[38,11],[5,-13],[28,-10],[20,2],[43,-19],[29,9],[-2,28],[24,-11],[-8,25],[28,-2],[24,-17],[-2,-16],[55,8],[5,-7],[-15,-14],[48,6],[7,5],[34,-5],[26,15],[57,12],[21,-2],[42,10],[35,16],[22,43],[-1,7],[-20,21],[-4,13],[6,23],[-15,38],[-15,16],[4,21],[-13,16],[15,0],[-1,7],[25,-14],[5,14],[11,6],[0,11],[-18,7],[14,5],[-5,17],[6,14],[-9,16],[12,3],[6,21],[-10,5],[-19,-1],[15,30],[6,0],[-2,-17],[15,-6],[1,26],[-4,14],[8,4],[14,-7],[5,34],[14,-2],[-5,11],[19,-4],[3,23],[16,1],[-5,27],[11,6],[16,-7],[-4,11],[20,14],[11,-3],[9,12],[10,1],[-1,10],[14,4],[-1,13],[30,14],[13,-2],[3,10],[12,2],[1,8],[21,4],[7,8],[13,6],[11,-3],[7,-20],[-10,-3],[-2,12],[-15,-12],[-10,0],[-15,-17],[-9,-22],[-9,-6],[-7,7],[-6,-6],[-19,-5],[-17,-29],[-20,3],[6,-10],[-18,-10],[9,-14],[-14,-14],[13,-19],[16,3],[0,10],[21,-2],[-16,-14],[-16,0],[-2,-16],[-5,16],[-19,-3],[1,-28],[-16,27],[-15,3],[-10,-29],[11,-10],[-9,-4],[-14,11],[-12,-15],[6,-16],[-15,-6],[-8,5],[-3,-33],[10,-6],[-12,-11],[21,6],[6,-6],[-20,-7],[14,-6],[-10,-7],[36,-17],[-2,17],[23,7],[-14,-17],[15,-6],[-5,-8],[14,-25],[14,-7],[-2,-21],[15,-13],[-1,-11],[-10,4],[5,-18],[22,1],[-16,-24],[20,4],[9,-21],[-5,-12],[-12,-1],[-14,-13],[14,-1],[11,10],[9,-8],[-7,-12],[-38,-3],[36,-14],[13,10],[0,-26],[-19,-2],[6,-18],[17,8],[-7,-24],[25,4],[-11,-19],[-9,8],[-3,-13],[-15,12],[-21,5],[13,-17],[21,-10],[-7,-23],[-21,5],[21,-13],[-23,-13],[31,7],[-9,-17],[-36,6],[17,-17],[-10,-13],[-13,-3],[-2,17],[-17,2],[6,-15],[-14,3],[-10,-10],[18,2],[7,-9],[-35,-4],[-2,-7],[33,-3],[-85,-34],[-52,-9],[4,-3],[-60,-13],[4,-11],[-17,-7],[-31,-1],[-20,4],[-46,0],[-31,8],[-64,0],[34,-42],[23,-15],[10,6],[66,-8],[-25,-26],[-38,-9],[-61,13],[-95,13],[-30,-6],[118,-34],[-9,-17],[-71,-7],[-61,21],[-37,30],[12,-23],[-13,-4],[17,-20],[42,-17],[17,-23],[18,-7],[2,20],[108,-4],[17,-13],[-20,-24],[-22,-3],[-62,0],[55,-10],[39,6],[24,-26],[-8,-7],[24,-16],[19,7],[38,-10],[7,13],[39,9],[21,-6],[9,-14],[46,-9],[89,-24],[77,-3],[-92,-8],[62,-5],[-2,-4],[-62,-1],[-6,-25],[26,-5],[52,8],[75,3],[-64,-17],[33,-33],[-6,-17],[66,-4],[49,30],[72,31],[52,14],[16,-1],[53,11],[65,5],[59,-2],[6,-17],[-17,-11],[31,-7],[67,24],[-2,10],[36,18],[9,16],[79,27],[42,-13],[34,10],[18,17],[53,0],[40,12],[42,-3],[-21,10],[37,0],[5,7],[153,6],[48,10],[-61,7],[-165,11],[31,17],[-27,0],[9,15],[-73,-12],[-96,23],[-5,14],[12,23],[11,3],[8,18],[24,0],[-7,12],[28,18],[34,10],[17,0],[5,10],[28,7],[15,13],[36,16],[52,10],[29,14],[48,10],[53,7],[31,-4],[22,14],[17,-6],[43,6],[-18,11],[29,26],[-3,10],[14,17],[24,3],[23,-7],[39,33],[-10,4],[-27,-10],[-22,3],[17,4],[-20,7],[1,13],[28,23],[18,3],[12,-9],[16,11],[-15,16],[29,-7],[14,11],[42,13],[3,19],[10,20],[-18,0],[-18,7],[-1,18],[16,2],[1,-9],[21,-10],[7,17],[16,9],[-12,10],[13,4],[3,-10],[22,-7],[10,-28],[15,7],[15,-5],[-4,9],[6,23],[-11,13],[13,5],[25,-7],[16,14],[13,-8],[-20,-29],[71,-3],[7,-9],[4,12],[18,3],[5,-6],[28,-5],[7,11],[12,-7],[-4,-14],[12,-9],[21,25],[13,8],[41,14],[105,20],[19,0],[28,7],[-5,17],[12,2],[-1,-17],[11,-3],[25,9],[-8,8],[9,9],[22,-23],[31,-14],[21,-5],[14,25],[18,7],[-16,10],[16,1],[8,-13],[22,-4],[22,3],[27,-4],[3,9],[17,3],[-3,-18],[45,-4],[11,1],[-6,11],[17,9],[11,-10],[-10,-23],[10,-10],[23,-1],[26,4],[3,13],[16,24],[24,-18],[-21,-6],[14,-7],[26,-5],[13,26],[15,-4],[0,-15],[27,-15],[31,-3],[35,17],[23,3],[38,21],[40,5],[38,11],[7,7],[2,33],[-12,13],[-1,13],[20,12],[28,0],[4,-8],[-21,-13],[24,-1],[20,-13],[-2,-23],[45,4],[8,-15],[7,9],[26,-1],[-5,-7],[19,-19],[2,12],[13,7],[-1,10],[15,4],[-2,32],[4,14],[26,6],[21,15],[28,4],[8,17],[32,8],[24,0],[-6,5],[34,13],[14,-6],[-2,23],[18,5],[14,-8],[-13,-7],[10,-3],[6,-12],[9,8],[16,-6],[-5,-17],[13,20],[-3,14],[16,5],[2,11],[-19,-3],[-6,13],[27,6],[-2,-9],[15,2],[0,-13],[11,8],[11,-7],[10,7],[-14,3],[10,16],[-16,1],[-1,12],[9,14],[23,4],[11,12],[30,4],[25,7],[40,-6],[19,-10],[15,-20],[11,3],[13,-8],[1,-9],[-36,3],[15,-8],[-11,-23],[1,-12],[7,13],[33,10],[23,-11],[12,1],[5,-20],[12,-4],[4,11],[24,0],[18,-7],[45,-7],[24,9],[30,-9],[45,-7],[48,-4],[9,-3],[35,8],[-1,-15],[14,-30],[-13,-3],[-7,-17],[13,0],[-16,-9],[12,-8],[0,-9],[-27,-3],[17,-14],[-13,-6],[9,-5],[-17,-12],[-13,18],[-18,-29],[13,-14],[34,8],[1,-21],[-15,-30],[-17,-8],[-5,-19],[-10,-7],[-6,-33],[-12,-36],[-15,-8],[25,-10],[22,10],[-3,26],[14,11],[34,3],[8,20],[20,6],[-6,7],[17,12],[14,3],[-11,7],[16,40],[17,7],[14,12],[-6,15],[22,23],[15,5],[8,-12],[28,6],[5,-7],[13,8],[-3,16],[35,18],[22,5],[7,21],[16,4],[-7,13],[9,12],[19,10],[73,24],[30,4],[13,-3],[-6,13],[29,18],[36,-4],[9,7],[18,0],[34,17],[8,-5],[14,4],[23,-4],[23,1],[19,14],[25,5],[12,-6],[34,1],[4,-10],[31,17],[11,-4],[8,-10],[13,6],[16,0],[16,6],[13,-10],[14,13],[9,0],[8,-26],[8,11],[13,3],[9,9],[27,7],[14,17],[0,7],[27,0],[8,6],[27,-9],[24,-3],[65,-22],[29,-6],[-3,-17],[12,13],[16,-19],[18,0],[29,17],[7,0],[-5,20],[13,14],[62,17],[35,-27],[-3,-15],[21,2],[16,-8],[3,-10],[-17,-16],[-31,-8],[-11,-15],[25,3],[22,10],[32,6],[13,10],[-3,-10],[19,3],[5,-6],[32,-1],[41,14],[0,-3],[-45,-17],[5,-7],[73,19],[18,14],[58,14],[13,-9],[11,6],[8,14],[14,6],[12,-14],[14,6],[-8,-12],[3,-11],[11,0],[0,-16],[28,6],[11,-7],[10,7],[6,-10],[11,13],[2,21],[16,19],[18,8],[28,-7],[30,4],[8,6],[19,-2],[13,-11],[-5,-11],[19,10],[11,0],[9,12],[4,-14],[13,7],[8,-8],[30,1],[20,-11],[35,-3],[12,-6],[28,-3],[10,-5],[20,3],[14,-13],[27,10],[12,-6],[-4,-11],[21,8],[5,-6],[-22,-38],[0,-10],[11,0],[26,23],[9,-10],[14,7],[14,-31],[13,5],[-8,-14],[8,-7],[23,3],[4,-6],[39,4],[35,-1],[10,4],[-1,-21],[16,-13],[0,14],[24,0],[17,-11],[23,7],[-5,24],[5,3],[24,-14],[2,-10],[16,-13],[14,-3],[17,-14],[19,3],[6,-10],[6,8],[17,-1],[45,-17],[14,-20],[-16,0],[28,-13],[19,-34],[-3,-13],[18,0],[2,34],[16,3],[22,-23],[21,2],[-3,7],[38,-3],[13,-6],[12,5],[13,-6],[-9,-6],[27,2],[18,-20],[10,-3],[48,-30],[2,21],[19,-31],[-5,-6],[-13,7],[-13,-34],[12,6],[-5,-17],[-39,15],[-11,-1],[16,-13],[29,-8],[-8,-19],[-20,-10],[-14,16],[-2,-13],[-32,1],[-12,5],[1,-16],[9,6],[23,-6],[-20,-4],[-5,-9],[-34,0],[9,-14],[-26,-1],[1,15],[-11,9],[-4,-20],[17,-14],[-15,0],[13,-30],[-24,1],[-20,-6],[-3,16],[-30,-30],[9,-7],[-5,-13],[-22,2],[-34,-12],[45,-1],[-4,-7],[21,-16],[-2,-16],[-18,-5],[18,-3],[4,-13],[-13,-11],[14,-5],[-14,-17],[18,0],[20,-30],[-7,-11],[27,-7],[-11,-20],[14,-7],[20,8],[12,-14],[36,-4],[-15,-13],[-12,9],[-47,-2],[-37,-7],[-14,-13],[-34,22],[20,-29],[-38,2],[-9,-8],[9,-14],[-23,-14],[27,3],[-37,-16],[52,-4],[-72,-17],[-6,-13],[61,6],[7,-8],[-35,-4],[40,-4],[-17,-13],[9,-23],[-22,5],[25,-20],[40,-9],[38,-31],[-89,-12],[59,-2],[53,8],[73,-27],[12,-14],[24,3],[-3,-20],[86,-9],[66,-23],[124,-12],[-9955,-15]],[[3456,1546],[12,-3],[-1,-9],[-17,4],[-19,-9],[3,13],[22,4]],[[3431,1556],[12,-2],[-6,-9],[-6,11]],[[3331,1581],[7,-5],[-12,-7],[-4,7],[-20,-3],[-1,6],[30,2]],[[3392,1616],[7,-6],[-33,-7],[10,13],[16,0]],[[3470,1665],[-6,-10],[-5,8],[11,2]],[[6916,2373],[5,-3],[-5,-12],[16,-14],[19,13],[7,-1],[-1,-15],[-9,1],[-11,-5],[2,-7],[13,1],[-1,-9],[-22,3],[-7,8],[-5,-13],[-8,4],[5,20],[-5,14],[1,12],[6,3]],[[9093,2685],[-7,-6],[5,12],[2,-6]],[[9020,2837],[14,-3],[13,-8],[2,-6],[17,-8],[24,13],[5,-4],[5,11],[5,-4],[4,9],[10,-13],[-1,-28],[1,-39],[-7,1],[-1,-22],[-4,-21],[3,-1],[0,-21],[-10,9],[6,10],[-14,1],[-4,-23],[-2,6],[-8,-26],[-9,6],[-14,-1],[-3,20],[-2,-6],[-4,15],[-7,9],[-6,24],[0,13],[9,-9],[-13,31],[-11,37],[-2,13],[4,15]],[[9121,2859],[-9,-6],[0,6],[9,0]],[[9109,2896],[9,-16],[1,-14],[-5,-2],[-11,22],[6,10]],[[9001,2876],[-5,-4],[-1,25],[7,3],[-1,-24]],[[8822,3134],[-1,-10],[12,1],[0,-11],[-11,1],[-5,-10],[-20,1],[-4,17],[21,11],[8,0]],[[9263,3604],[-1,-18],[-2,14],[3,4]],[[9261,3608],[-2,17],[3,2],[-1,-19]],[[8136,3714],[7,-36],[-7,19],[0,17]],[[9257,3758],[2,-20],[-10,-37],[1,32],[5,7],[-2,14],[4,4]],[[9195,3832],[5,-3],[0,-17],[-7,17],[2,3]],[[9061,4133],[3,-7],[-3,-7],[-4,13],[4,1]],[[8880,4236],[-7,-7],[0,-6],[-8,0],[1,8],[10,8],[4,-3]],[[8805,4285],[2,-15],[-4,8],[2,7]],[[8797,4395],[0,-9],[6,2],[-5,-8],[-1,-14],[6,-6],[-8,0],[-6,5],[-1,14],[9,16]],[[8621,4522],[5,-21],[-7,4],[-8,-2],[5,9],[-2,9],[6,10],[1,-9]],[[8624,4533],[6,-6],[14,10],[6,-2],[1,-21],[-14,-18],[-13,16],[-3,29],[3,-8]],[[8682,4547],[1,-13],[-4,6],[3,7]],[[8959,4566],[-1,-8],[6,-7],[3,-19],[0,-30],[10,-9],[-4,-20],[6,-4],[4,-11],[-2,-17],[5,2],[-1,-13],[3,-19],[-2,-19],[5,-20],[3,-22],[5,-2],[15,18],[4,-22],[18,-23],[-3,-12],[2,-6],[2,-37],[3,-8],[-2,-16],[6,-22],[9,-9],[-1,-11],[5,-19],[1,-16],[-3,-34],[9,-15],[-2,-17],[5,-14],[13,-15],[4,7],[2,-12],[8,0],[4,-6],[1,-14],[19,-12],[1,-10],[7,5],[3,-13],[4,1],[1,-10],[-4,-1],[-1,-10],[15,-24],[-1,-8],[8,-30],[0,-14],[3,-20],[8,-7],[5,-13],[-3,22],[4,5],[3,-9],[10,-13],[2,13],[6,-21],[-2,-15],[3,-36],[4,0],[4,-13],[5,-4],[6,-13],[6,3],[4,-6],[6,-27],[8,-7],[4,-25],[10,-6],[0,-27],[6,-16],[-2,-19],[4,-40],[-4,-3],[10,-41],[1,-17],[3,-4],[1,-40],[-7,-21],[-2,-39],[-7,-32],[0,-30],[-3,-28],[-5,-21],[-6,-11],[0,-23],[-13,-15],[-11,-20],[-6,-26],[-5,-3],[0,-26],[-9,-18],[-3,-27],[-4,-14],[2,-9],[-8,-7],[-9,-34],[0,-24],[-7,-34],[4,-21],[-2,-14],[-13,-16],[-33,-2],[-16,-10],[-10,-13],[-13,-24],[-19,-4],[3,-12],[4,7],[-2,-20],[-6,16],[-8,-3],[-4,16],[-3,-3],[-8,9],[5,8],[-2,9],[-6,0],[-1,-10],[-8,-5],[-6,8],[8,1],[3,17],[-6,10],[-15,-14],[10,-2],[-2,-8],[-6,0],[-10,-11],[-14,-22],[-32,28],[-5,-2],[-8,7],[-9,-1],[1,-6],[-8,1],[-4,13],[-14,5],[-10,11],[-3,13],[-13,23],[-3,18],[5,6],[0,13],[-9,34],[-14,26],[6,2],[3,10],[-4,3],[-21,-20],[-8,0],[-1,7],[9,12],[3,33],[-8,16],[-3,16],[-7,-13],[-1,-20],[-5,-23],[-7,4],[-15,-11],[3,23],[11,-3],[3,21],[-1,25],[4,17],[9,19],[-3,19],[6,4],[-8,34],[0,-26],[-3,2],[-6,-11],[-5,-27],[-25,-26],[-8,-24],[-4,-3],[-4,-16],[6,2],[0,-12],[-5,7],[-6,-5],[-6,18],[-1,21],[-3,17],[-11,20],[-4,27],[-12,0],[-2,13],[-4,1],[7,15],[-5,12],[-8,-5],[3,9],[-8,16],[-14,-5],[-10,14],[-7,1],[-9,-6],[-12,18],[-18,14],[-9,-7],[-18,2],[-33,-7],[-27,-23],[-20,-11],[-17,-2],[-14,5],[-18,-19],[-15,-10],[-2,-6],[-17,-8],[-4,-5],[-5,-28],[-7,-16],[-6,-7],[-4,3],[-6,-7],[-3,9],[-19,-3],[-8,-6],[0,8],[-14,3],[-20,-2],[-13,-6],[-16,-1],[-9,-16],[-2,-12],[-16,1],[-3,-11],[-7,-4],[-2,-11],[-20,-8],[-2,-5],[-12,7],[-18,-1],[-15,14],[-10,19],[-10,9],[-4,-3],[-4,15],[0,32],[6,-7],[7,3],[6,18],[-1,36],[3,8],[0,43],[-18,66],[-4,34],[1,32],[-5,22],[-7,17],[0,16],[-11,24],[-2,38],[-5,16],[-11,32],[-7,13],[5,14],[6,-26],[7,6],[0,9],[-9,14],[-4,27],[2,4],[7,-20],[-1,-17],[5,14],[2,-22],[7,-2],[0,30],[-5,13],[-6,26],[-4,4],[-3,21],[-5,16],[1,26],[4,22],[5,6],[0,24],[2,10],[-5,22],[3,7],[7,33],[4,4],[-2,-20],[1,-21],[7,4],[8,34],[23,20],[13,26],[21,22],[5,-3],[8,6],[7,-7],[12,7],[8,14],[17,3],[10,20],[12,-6],[7,6],[12,3],[16,11],[11,13],[9,25],[3,19],[4,4],[16,39],[-4,1],[-2,36],[3,14],[8,17],[6,3],[0,10],[7,12],[-1,-15],[5,-3],[0,-14],[12,-37],[-1,10],[3,13],[-2,11],[7,-10],[-3,24],[-6,5],[6,13],[-5,8],[5,2],[7,-7],[-1,9],[7,-9],[16,-1],[-10,3],[-1,9],[6,4],[1,18],[-4,-11],[-3,18],[1,9],[6,1],[3,9],[5,0],[4,-9],[1,10],[-6,3],[4,17],[11,-10],[0,9],[-8,16],[10,14],[3,-4],[7,6],[1,-11],[3,5],[4,26],[-5,5],[4,7],[3,-19],[9,16],[1,-16],[4,14],[4,0],[-3,11],[6,4],[4,-14],[9,1],[11,-28],[10,-16],[-3,-17],[0,-13],[4,-1],[-1,11],[5,14],[4,3],[12,-5],[9,-11],[-1,11],[7,-5],[3,-14],[4,1],[-3,18],[5,-1],[-6,15],[-7,11],[4,20],[7,4],[1,18],[4,9],[11,12],[-5,9],[0,14],[6,2],[0,12],[6,6],[2,11],[7,-14],[0,17],[4,-2],[-1,12],[9,5],[3,-13],[13,4],[4,-5],[9,5],[7,9],[2,24],[-7,12],[-9,-5],[-5,12],[-5,0],[7,11],[10,-1],[9,-21],[6,10],[7,-21],[14,-7],[4,6],[4,-11],[3,4],[4,-12],[6,-1],[8,7],[11,-18],[13,11],[6,2],[-4,-8],[2,-6],[5,7],[5,-5],[-2,-11],[7,-1],[3,14],[-5,3],[10,9],[4,-17],[3,7],[4,-11],[-12,-28],[4,-6],[-9,-21],[0,9],[-5,-6],[0,8],[-7,-9],[0,-26],[4,3],[-4,-29],[-3,-3],[-7,-24],[-4,-4],[2,-13],[22,-27],[0,-8],[10,-11],[4,-9],[7,1],[10,-14],[10,-7],[9,-21],[7,-8],[20,-9],[4,-7],[1,-15],[22,-24],[14,4],[10,13],[3,24],[7,18],[3,26],[3,9],[-2,9],[3,25],[5,20],[-4,40],[3,16],[-4,13],[1,21],[5,21],[-2,18],[6,14],[-2,11],[-5,-4],[6,28],[6,1],[-2,8],[6,41],[0,14],[5,2],[6,11]],[[5470,7982],[-2,-9],[5,-23],[3,-3]],[[5476,7947],[-3,-17],[-12,3],[-6,-6],[7,-3],[-5,-12],[-1,-22],[-9,-9]],[[5447,7881],[-19,-12],[-16,-2],[-9,-14],[-23,9]],[[5380,7862],[-32,7],[-12,17],[2,7],[-12,-5],[-17,-1],[-4,-11],[-15,6]],[[5290,7882],[-2,7],[-6,-8],[-16,12]],[[5266,7893],[-2,12]],[[5264,7905],[1,14]],[[5265,7919],[4,2]],[[5269,7921],[7,0],[8,-16],[6,15],[12,-1],[2,-7],[9,1],[9,10],[32,4],[6,-11],[3,9],[-5,5],[1,13],[-6,9],[4,7],[12,5],[4,16],[7,-3],[3,13]],[[5383,7990],[7,-9],[18,0],[7,11],[0,12],[11,-1],[20,-13],[10,3],[13,-6],[1,-5]],[[6281,7420],[-19,8],[-9,14],[-9,24]],[[6244,7466],[-1,3]],[[6289,7594],[9,-6],[11,-12],[5,-17],[16,-3],[5,15],[9,6],[5,16]],[[6349,7593],[15,-31],[1,-11],[10,-28],[15,-3],[8,-10],[-11,-3],[-13,-11],[0,-11],[-6,-28],[4,-11],[-5,0],[-1,-17],[-7,10],[-2,-43]],[[6357,7396],[-7,-2],[-6,12],[-11,12],[1,8],[7,2],[-5,18],[6,7],[-10,16],[-4,-1],[-26,-29],[-11,-17]],[[6249,7560],[8,10],[13,-8],[8,-9],[6,1],[6,-8],[4,3],[1,15],[-10,9],[-3,13],[7,8]],[[5848,5045],[-4,-15],[2,-14],[9,-5],[0,-17],[-9,-13],[-9,-34],[-11,-21],[-3,1]],[[5823,4927],[-9,39],[1,21],[-4,4]],[[5811,4991],[0,18],[-4,5],[-2,12]],[[5805,5026],[4,7],[5,-4],[0,-9],[11,1],[5,7],[1,21],[6,-6],[7,7],[4,-5]],[[5166,8104],[10,-14],[1,-10],[-8,-11]],[[5169,8069],[-7,-3],[-4,-16],[2,-14]],[[5160,8036],[-9,-3],[-4,10],[-13,7],[-1,21],[-9,-13],[-10,3],[2,15],[-5,5],[-10,0],[0,6],[-11,5],[-4,15],[-7,-6],[-7,8],[-2,15]],[[5070,8124],[16,14],[7,3]],[[5093,8141],[0,-6],[16,-3],[8,9]],[[5117,8141],[1,0]],[[5118,8141],[3,3],[16,-1],[7,-8],[9,0],[9,-11],[-6,-13],[10,-7]],[[5099,5856],[-3,-17],[7,-16],[0,-19],[3,-5],[-1,-16],[-5,0],[1,-14],[-3,-18],[-6,-3],[0,-9],[-5,-12],[-2,-20],[-8,-4],[-2,-15],[0,-41],[-1,-12],[2,-25],[1,-42],[-2,-18]],[[5075,5550],[-31,-9]],[[5044,5541],[5,3],[-5,18],[1,24],[0,73],[-1,5],[0,43],[-6,13],[-1,37],[-16,23],[0,19],[4,17]],[[5025,5816],[5,3],[1,13],[4,-1],[3,11],[6,-3],[11,2],[8,13],[3,14]],[[5066,5868],[-1,19],[14,10],[10,-21],[2,-8],[6,-4],[2,-8]],[[5006,6041],[-2,-21],[6,-16],[-1,-9],[7,-24],[5,0],[7,-13],[7,-7],[-9,-1],[0,-15],[6,-6],[11,-19],[8,-1],[3,7],[5,-3],[3,-15],[-6,-4],[10,-26]],[[5025,5816],[-12,0],[-18,8]],[[4995,5824],[-8,-3],[-5,-10],[-2,5],[-59,0],[-3,-22],[3,-11],[2,-25],[0,-24],[2,-5]],[[4925,5729],[-4,-4],[-10,24],[-6,5],[-10,1],[-11,-7],[-4,-11],[-11,3],[-4,12],[-3,-1],[-4,24],[-9,1],[-3,7]],[[4846,5783],[3,24],[-2,14],[6,9],[1,19],[-4,14],[8,10],[9,1],[10,18],[-1,24],[6,0],[0,14],[-3,11],[10,13],[15,-13],[5,7],[0,25],[6,-5],[5,21],[11,16],[12,-6],[1,16],[8,3],[11,13],[8,5],[8,15],[8,-4],[8,2],[11,-8]],[[7529,6456],[0,16],[3,-11],[-3,-5]],[[7521,6458],[-5,-7],[2,29],[-4,4],[3,11],[6,-20],[-2,-17]],[[7571,6448],[0,-29],[2,-10],[-12,7],[1,-20]],[[7562,6396],[1,-15],[-7,20],[-1,27],[-3,9],[-2,29],[-11,31],[-5,-14],[-9,0],[-8,26],[1,14],[-4,6],[-9,4],[11,-11],[-4,-10],[2,-12],[-3,-8],[5,-13],[-2,-18],[-6,-9],[-1,-11],[-7,1],[1,7],[-5,6],[-2,-15],[-12,-7],[0,14],[-4,-18],[-4,10],[-1,18]],[[7473,6457],[-6,48],[2,14],[-7,2],[3,13],[-6,8],[0,11],[5,8],[0,22],[-7,0],[-11,12],[-2,7],[4,12],[5,1],[3,18],[13,-1],[-3,18],[-8,1],[-3,11],[-9,14],[2,12],[5,4],[4,14],[5,-9],[11,-3],[7,-14],[7,-2],[2,15],[6,-18],[-2,-4],[1,-32],[15,-8],[23,2],[7,-3],[18,3],[11,-14],[-6,-2],[-5,-31],[-5,-2],[0,-9],[-8,2],[0,-6],[-7,0],[-7,-21],[2,-14],[9,-30],[7,5],[0,15],[5,8],[-1,11],[5,4],[8,-22],[0,-25],[3,-12],[3,-42]],[[5793,7702],[0,-17],[-11,-3],[-6,-14],[-2,-26],[-4,1],[-8,-16],[5,1],[11,-28]],[[5778,7600],[-13,-4],[-6,9],[-21,-5],[-7,-15]],[[5731,7585],[-8,0],[2,-21],[-25,-7],[-9,10],[-8,1],[-2,6],[-14,0],[-8,-7],[-13,0],[-10,-4]],[[5636,7563],[3,22],[-5,18],[-9,5],[-5,11]],[[5620,7619],[5,6],[-3,23],[9,5],[7,17],[-13,15],[-4,15],[1,17],[8,13]],[[5630,7730],[9,-8],[-4,-15],[17,3],[18,-8],[10,3],[21,-5],[4,-4],[11,5],[9,16],[25,10],[10,-10],[15,-2],[8,-13],[10,0]],[[6402,6694],[3,0],[0,-24],[-4,8],[1,16]],[[2971,6401],[-3,-10],[-15,-3],[-1,6],[9,10],[4,-4],[6,12],[0,-11]],[[2969,6475],[8,-3],[-7,-3],[-1,6]],[[2948,6491],[0,-14],[-5,9],[5,5]],[[2889,6546],[9,-13],[-10,9],[1,4]],[[2908,6546],[6,-21],[0,-8],[7,-10],[0,-8],[-7,15],[-1,14],[-5,18]],[[2840,6572],[6,0],[0,-20],[-8,5],[-3,13],[5,2]],[[2908,6577],[-3,0],[-4,16],[7,-16]],[[2830,6632],[3,0],[8,-40],[-8,-11],[-10,14],[7,37]],[[2869,6655],[0,-4],[16,-20],[-1,-29],[-2,7],[3,17],[-6,14],[-11,8],[1,7]],[[2819,6722],[15,-4],[-21,-5],[6,9]],[[2839,6733],[5,0],[16,-25],[0,-11],[-4,-3],[0,-19],[-6,5],[4,8],[0,18],[-8,23],[-7,4]],[[5528,7765],[9,0],[-7,-29],[14,-17],[-10,-5],[7,-13],[-1,-8],[-7,-3]],[[5533,7690],[-8,-3],[0,-8],[-7,-6],[-1,-13],[-4,0],[-1,-26]],[[5512,7634],[-22,19]],[[5490,7653],[-2,3]],[[5488,7656],[0,8],[-35,57],[-8,32],[-7,3],[0,29],[6,2],[10,-12],[3,10],[9,-1],[4,7],[4,-7],[22,-6],[4,4],[19,-3],[2,-11],[7,-3]],[[5781,8416],[4,-6],[9,3],[3,-8],[9,4],[11,-6],[1,-13],[12,9],[16,-3],[11,-11],[-2,-19],[6,-15],[-7,-13],[11,-10],[-3,-7],[7,-14],[15,-15],[-3,-11],[10,1],[11,-9],[6,-11],[-15,-22],[-22,5],[-4,-9],[8,-10],[2,-30],[5,-13]],[[5882,8183],[-23,-2],[-12,-29],[3,-14],[-7,-1],[-6,11],[-15,-1],[-9,-6],[-5,14],[-13,-11],[-11,13],[-16,-10],[1,7],[-13,0],[-1,7],[-21,5],[-10,6],[-28,2],[-19,-4],[-11,-18],[-11,3],[0,-5]],[[5655,8150],[0,34],[-12,10],[6,13],[15,11],[0,18],[-7,25],[-5,28]],[[5652,8289],[20,1],[5,-4],[12,5],[-1,7],[19,11],[1,-8],[8,6],[-7,3],[9,37],[8,1],[3,10],[9,-1],[6,10],[-8,1],[2,20]],[[5738,8388],[11,10],[17,-2],[8,17],[7,3]],[[2547,6247],[-3,-6],[9,0],[-1,-18],[-5,-28],[4,-4],[-4,-10],[2,-16],[-2,-24],[-7,-21],[-5,-2],[-5,-20]],[[2530,6098],[-9,0],[2,51],[0,60]],[[2523,6209],[4,10],[4,-6],[9,26],[0,6],[7,2]],[[3084,4249],[-4,-1]],[[3080,4248],[4,1]],[[3384,4022],[-1,21],[-24,29],[-24,0],[-51,-22],[-4,-23],[-10,-28],[0,-29],[-8,-54],[-3,-14]],[[3133,3869],[-10,-5],[-9,4],[1,16],[-3,11],[0,16],[-4,7],[-3,23],[0,15],[-6,20],[-4,2],[2,18],[-6,6],[1,10],[-3,14],[6,2],[1,8],[-5,11],[7,16],[-13,23],[-3,34],[-3,18],[2,6],[-7,5],[0,8],[-5,18]],[[3069,4175],[-4,17],[7,8],[10,30]],[[3082,4230],[5,-3],[-1,11],[8,5],[0,6],[-7,0],[-1,9],[4,4],[-7,3],[0,7],[-10,17]],[[3073,4289],[6,16],[-7,15],[6,28],[5,6],[3,20],[-6,22],[4,8],[-1,36],[7,11],[2,12],[-16,55],[-9,34]],[[3067,4552],[23,-3],[-1,-8],[10,6],[9,20],[11,3],[11,19],[7,3],[11,20],[19,8],[7,1],[4,-5],[5,9],[3,-32],[-4,-13],[3,-21],[-2,-18],[2,-19],[3,-2],[1,-14],[4,-2],[1,-12],[5,-1],[4,-10],[6,-4],[1,-11],[13,-4],[4,4],[10,-7],[4,-8],[5,4],[9,-20],[4,1],[8,-10],[7,0],[0,-6],[8,-17],[22,4],[18,-27],[-2,-20],[5,-18],[1,-28],[-9,-1],[9,-20],[3,-47],[47,-4],[3,3],[0,-13],[-4,-8],[2,-34],[11,-15],[6,-1],[0,-8],[6,-27],[0,-10],[-6,-46],[-9,-38],[7,-13],[-8,-10]],[[3651,3581],[1,22],[3,0],[-4,-22]],[[3650,3661],[-4,8],[6,7],[-2,-15]],[[3919,4412],[0,-16],[-4,16],[4,0]],[[3660,5124],[-3,3],[4,9],[-1,-12]],[[3588,5149],[0,-7],[-8,-7],[1,9],[7,5]],[[3577,5151],[2,-5],[-4,-19],[-3,-11],[-15,-19],[0,13],[7,10],[0,14],[2,11],[8,8],[3,-2]],[[3573,5156],[5,19],[0,-10],[-5,-9]],[[3608,5175],[11,-6],[9,5],[27,-7],[-2,-14],[-1,-20],[-4,-14],[-5,-5],[0,-14],[-7,-5],[-3,7],[0,-11],[-9,1],[-6,-12],[-14,3],[-4,-6],[-5,2],[-7,28],[1,13],[6,-5],[1,8],[-7,-1],[0,23],[2,17],[4,10],[5,5],[8,-2]],[[3586,5165],[-4,4],[1,13],[7,3],[2,-9],[-6,-11]],[[3625,5187],[3,-5],[-2,-7],[-11,2],[10,10]],[[3599,5183],[-5,0],[-2,9],[6,-1],[1,-8]],[[3624,5200],[-6,-5],[-3,-12],[-14,0],[-1,12],[8,1],[15,9],[1,-5]],[[3600,5213],[1,-14],[-2,-7],[0,23],[1,-2]],[[3609,5216],[-6,-13],[1,14],[5,-1]],[[3608,5236],[0,-10],[-5,0],[5,10]],[[3600,5305],[1,-11],[-5,4],[4,7]],[[3431,5295],[13,-7],[2,14],[-6,10],[5,17],[6,-8],[11,2],[0,4],[10,2],[8,-5],[3,-7]],[[3483,5317],[3,-7],[8,-3],[7,3],[6,9],[5,-7],[6,5],[9,-9],[9,11],[8,31],[1,14],[4,7],[15,44]],[[3564,5415],[5,24],[8,-16],[1,-21],[3,4],[-1,-29],[3,-31],[7,-22],[1,-18],[6,-18],[13,-4],[4,-8],[0,-19],[-7,-4],[7,-3],[-11,-17],[-5,-12],[-4,-17],[-5,-11],[-5,-1],[-9,-17],[-4,-19],[-8,-19],[0,-14],[-7,-8],[-1,-13],[-6,4],[-14,-13],[13,2],[0,-10],[9,7],[7,10],[11,11],[13,17],[-5,-12],[5,-5],[0,-14],[4,-9],[0,-11],[7,-14],[4,9],[6,4],[5,-7],[12,10],[1,-7],[-5,-41],[2,-2],[8,40],[7,18],[2,-8],[8,21],[3,-12],[1,19],[4,-2],[4,16],[1,15],[5,0],[5,12],[2,-11],[4,10],[11,-7],[19,-9],[0,-10],[7,-6],[8,5],[1,-7],[10,-9],[1,-8],[6,9],[-2,-11],[1,-13],[3,11],[5,4],[10,-14],[-3,-5],[6,-1],[3,-8],[-5,-16],[5,5],[3,-14],[-4,0],[-5,-36],[2,-9],[6,14],[1,23],[8,8],[1,-9],[-7,-12],[7,-2],[2,14],[9,4],[6,-4],[-1,12],[4,0],[18,-13],[6,-11],[15,-5],[3,6],[5,-9],[29,4],[3,2],[14,-3],[25,-31],[3,-1],[8,-15],[5,-2],[11,-27],[14,-26],[9,-6],[4,-12],[6,-1],[6,-8],[16,-1],[5,3],[13,-6],[4,-13],[9,-57],[1,-24],[5,-21],[-1,-53],[-7,-40],[-7,-25],[-10,-27],[-3,5],[-2,-16],[-12,-24],[-3,-13],[-10,-10],[-5,-9],[-11,-37],[-15,-52],[-13,-34],[-5,0],[0,14],[-4,9],[-4,-16],[0,-17],[-4,-7],[0,-27],[-2,-5],[2,-28],[-3,-20],[2,-9],[0,-24],[2,-28],[2,-6],[-4,-25],[-6,-53],[1,-31],[-2,-9],[-7,-8],[-7,-30],[2,-51],[-3,-13],[-6,-6],[-9,-44],[-13,-31],[-8,-25],[4,-27],[-5,-10],[-12,-7],[-13,-20],[0,-21],[-17,1],[-11,-3],[0,18],[-7,-5],[2,-13],[-22,-7],[10,7],[-9,3],[-8,-7],[-2,7],[-9,-7],[1,-17],[-10,-3],[-2,-6],[-10,-7],[-1,-11],[-12,4],[-8,-7],[-1,-7],[-11,-6],[-11,-13],[-5,-12],[-10,-9],[-10,-15],[-1,-15],[-8,-7],[-6,4],[1,-17],[-4,-17],[-1,-19],[-5,-6],[4,-6],[-3,-16],[3,-6],[2,-32],[-2,-52],[-4,-17],[-17,-23],[-5,-12],[-14,-39],[-8,-37],[-10,-34],[-12,-25],[-22,-27],[-3,-9],[0,17],[5,-4],[11,20],[5,3],[4,11],[-1,12],[5,1],[0,10],[9,9],[-1,22],[4,-6],[1,12],[-12,-4],[-9,8],[3,-7],[-6,-21],[-1,-24],[-6,-10],[-9,-4],[-3,-21],[-4,-3],[-1,-14],[5,-10],[-5,-7],[-6,-30],[-7,-26],[-18,-28]],[[3517,3240],[-4,10]],[[3513,3250],[2,1],[1,23],[5,4],[2,13],[5,6],[5,-10],[6,18],[-4,16],[-12,-19]],[[3523,3302],[-11,11],[-5,23],[-15,14],[-9,21],[-8,3],[-4,8],[-7,3],[-2,10],[-8,11],[-6,-13],[-4,0],[0,16],[-23,40],[-7,0],[-2,-8],[-11,-2],[-2,6]],[[3483,3710],[0,8]],[[3483,3718],[5,3],[0,26],[4,16],[0,34]],[[3492,3797],[-9,15],[-10,-10],[-13,1],[-3,21],[1,11],[-4,23],[1,21],[-7,19],[-9,1],[-6,12],[-12,-10],[-31,8],[0,36],[3,16],[-9,61]],[[3067,4552],[-11,2],[-7,-8],[-12,3],[0,41],[1,29],[2,20],[-10,-14],[-2,-7],[-9,-11],[-25,0],[-3,27],[-14,7],[-11,0],[7,16],[0,8],[-6,17],[-4,2],[-1,11],[-5,6],[-2,15],[-5,9],[2,9],[-8,14],[1,11],[7,2],[-3,13],[2,13],[11,17],[5,3],[1,12],[-3,14],[8,24],[1,30],[14,14],[14,21],[17,5],[10,6],[5,11],[9,1],[3,-6],[10,-5],[0,5]],[[3056,4939],[6,58],[0,9],[5,46],[0,10],[5,54],[-4,13],[-2,24],[-13,21],[1,42],[12,4],[3,5],[10,-6],[-2,21],[-4,4],[-14,0],[0,37],[8,4],[5,-3],[34,0],[-1,16],[7,-15],[5,4],[9,19],[4,-5],[7,-29],[-1,-21],[6,2]],[[3142,5253],[11,-21],[10,-7],[10,14],[6,-1],[-1,-17],[11,17],[1,10],[11,6],[10,16],[0,-8],[9,16],[0,14],[19,16],[1,14],[-20,4],[2,15],[-6,20],[0,30],[-13,22],[-4,12],[2,5],[4,-10],[12,0],[4,-14],[10,4],[4,-5],[4,7],[4,-5],[7,-18],[7,5],[-1,20],[6,1],[4,9],[7,-6],[18,12],[0,6],[16,10],[10,22],[-2,13],[-3,1]],[[3312,5482],[11,0],[3,4],[8,-12],[-3,-33],[6,0],[5,-8],[-2,-8],[4,-14],[0,-10],[-7,-12],[1,-13],[-4,-17],[-1,-22],[2,-17],[5,-5],[0,-26],[6,-8],[8,-19],[8,-4],[4,-7],[8,5],[0,10],[5,9],[9,-5],[6,11],[7,0],[3,11],[9,7],[9,-8],[9,4]],[[3347,5935],[-4,3],[0,13],[6,-10],[-2,-6]],[[8198,5465],[5,-34],[-7,5],[-2,24]],[[8194,5460],[4,5]],[[8166,5448],[6,-1],[7,5],[7,12],[9,10],[-2,-10]],[[8193,5464],[-7,-9],[2,-17],[0,-14],[-7,-10],[-7,23],[-8,11]],[[7545,6781],[-2,-8],[5,-11],[6,3],[3,-10],[-3,-11],[3,-13],[-5,-4],[-33,-3],[-10,8],[-6,-9],[-11,-3],[-12,9],[-6,-2],[-7,7],[-3,12],[4,10]],[[7468,6756],[3,13],[13,29],[11,14],[12,3],[0,-5],[9,-1],[-4,-10],[18,-5],[5,6],[10,-8],[0,-11]],[[5701,4158],[-1,-8],[8,-27],[7,-13],[6,-21],[4,-29],[8,-13],[14,-17],[7,-3],[3,-9],[0,-15],[12,-1],[-1,-34],[6,-12],[3,-15],[18,-5],[12,-10],[1,-14],[7,-7]],[[5815,3905],[-9,-3],[-3,-13],[-8,-7],[-12,-4],[-12,-27],[-5,-6],[-2,-10],[-11,-7],[-4,-13],[-5,-31],[-8,-10],[-3,-10],[-15,-6],[0,-10],[-8,-41],[-5,-7],[-10,1],[-4,-5],[-17,5],[-10,6],[-13,20],[-7,1],[-7,-5],[-6,-23],[0,-14],[-6,-13],[-8,-7],[-6,-18],[-7,-2],[-2,-10],[-15,0],[-15,4],[0,21],[5,11],[0,19],[-4,13],[-1,14],[-10,29],[-8,10]],[[5554,3757],[0,159],[28,0],[0,212],[23,4],[21,9],[21,5],[9,-27],[15,26],[7,4],[4,-6],[7,13],[12,2]],[[5634,5812],[4,-14],[8,-14],[10,-31],[1,-16],[-1,-21],[-5,-6],[3,-9],[-2,-17],[19,-1]],[[5671,5683],[2,-7],[-4,-11],[3,-6],[16,-5],[8,-17],[5,-3],[1,-11],[-4,-4],[6,-14],[18,-19],[2,-10],[8,-10],[-2,-16],[8,-21],[6,-2],[13,-23],[-1,-15],[6,-14]],[[5762,5475],[-12,7],[-4,-8],[-10,-1],[-12,12],[-6,-3],[-11,9],[-4,-5],[0,-13],[-18,-7],[-5,11],[-6,-10],[-27,-19],[-12,12],[-9,-34],[-3,-5],[-23,9],[-2,-3],[-20,12],[-7,-2],[-6,20],[-13,14],[-3,7],[-10,1],[-17,-34],[-1,-7],[-6,-3],[2,-12],[-1,-27],[1,-13]],[[5517,5383],[-4,9],[-11,-4],[-16,7],[-8,-6],[-15,-2],[-4,-7],[-3,-27],[1,-7],[-8,-34]],[[5449,5312],[-2,8],[0,26],[-4,13],[-5,3],[-15,32],[-6,21],[4,1],[-3,14],[-10,19],[-1,31],[-4,6],[2,8],[1,27],[-7,10],[10,13],[5,24],[3,4],[6,30],[6,14]],[[5429,5616],[9,-4],[7,8],[10,5],[4,11],[2,-12],[5,-7],[23,26],[7,-2],[5,4],[15,1],[15,36],[-6,7],[0,8],[5,5],[17,0],[10,7],[9,-1],[4,12],[8,5],[5,19],[13,24],[5,4],[3,10],[-1,14],[8,5],[0,5],[14,9],[9,-3]],[[2957,7804],[-12,-5],[13,16],[-1,-11]],[[2699,7829],[2,-7],[13,9],[3,-9],[5,9],[9,-4],[2,-11],[-7,-12],[-23,15],[-15,6],[11,4]],[[2665,7849],[6,-2],[-2,-11],[-4,13]],[[3319,7889],[6,-10],[-2,-13],[-7,-22],[5,3],[-19,-34],[10,5],[9,11],[-10,0],[12,21],[4,-8],[11,0],[-7,-23],[-16,-12],[-6,3],[-13,-5],[-5,21],[1,13],[6,7],[10,30],[7,14],[4,-1]],[[3221,7879],[6,-21],[3,6],[12,-8],[33,3],[3,-3],[-17,-10],[4,-13],[-11,-3],[-2,12],[-19,2],[-4,11],[-11,0],[2,14],[-9,-1],[4,16],[7,9],[-1,-14]],[[3503,7956],[10,3],[-1,-7],[-9,4]],[[2562,7993],[-9,-6],[0,8],[9,-2]],[[2924,7774],[20,14],[8,11],[6,0],[2,17],[7,17],[14,11],[5,9],[17,17],[5,-2],[32,22],[14,22],[0,4],[14,20],[0,5],[16,23],[21,20],[44,28],[28,8],[18,-3],[10,-5],[11,-14],[1,-8],[-11,8],[11,-15],[-4,-13],[-11,-4],[-1,-6],[-18,-13],[-16,11],[-3,-5],[-11,0],[18,-11],[9,-15],[8,9],[12,0],[3,-6],[-7,-14],[-1,-10],[-11,-13],[16,0],[-3,-15],[11,-32],[20,-8],[-8,-6],[7,-7],[10,0],[4,-9],[5,5],[24,-6],[10,10],[5,-15],[7,3],[7,-12],[-7,-5],[14,-3],[-1,-4],[-18,-7],[0,-3],[-32,-21],[-9,4],[-4,-9],[-8,1],[1,-9],[-11,0],[1,10],[-9,-5],[-4,-8],[2,-10],[-6,-5],[-8,-19],[-9,-10],[-6,1],[-9,-11],[-5,14],[-9,5],[-1,14],[7,29],[21,24],[22,18],[1,-13],[7,8],[20,9],[-34,2],[-5,-6],[-4,6],[13,15],[-3,9],[-5,-12],[-16,-9],[-17,-16],[-4,4],[-10,-10],[-12,-1],[-8,6]],[[3134,7784],[-9,6],[1,19]],[[3126,7809],[-10,9]],[[3116,7818],[1,1],[-1,74],[-14,17],[-16,-11],[-9,17],[-19,-37],[-4,-23],[-7,-12],[1,-17],[-12,-20],[1,-11],[-18,-5],[-6,-16],[-89,-1]],[[1546,8044],[6,-11],[-14,13],[8,-2]],[[1479,8054],[4,-13],[-7,0],[-4,9],[7,4]],[[3218,8058],[33,-11],[15,-14],[11,-6],[10,-14],[-16,-6],[-24,11],[-14,9],[-2,9],[-22,16],[9,6]],[[1494,8104],[-11,-4],[6,9],[5,-5]],[[1448,8112],[20,-17],[22,-5],[26,-13],[5,-19],[9,-12],[4,-16],[22,-13],[10,-22],[8,-25],[-6,-6],[-11,3],[-22,14],[-14,12],[9,11],[-18,-4],[-9,9],[4,11],[-8,0],[-1,10],[-14,-3],[0,11],[7,3],[-8,5],[-1,10],[-15,-2],[-33,43],[-2,7],[16,8]],[[3447,8155],[6,-8],[7,7],[-5,-17],[-12,4],[2,-12],[7,-5],[-28,-60],[-3,-27],[6,13],[13,21],[12,-13],[7,0],[-17,-14],[11,-17],[15,9],[-2,-16],[12,1],[8,14],[9,-8],[5,3],[15,-10],[-4,-13],[-17,-15],[10,3],[-3,-15],[12,-7],[3,10],[4,-6],[7,9],[-5,-19],[-11,-9],[-7,0],[6,-14],[-6,-9],[8,-15],[2,13],[6,14],[12,6],[-9,-18],[-1,-22],[8,8],[3,14],[5,-19],[-5,-10],[-2,-19],[-5,-17],[-6,3],[-10,-3],[4,26],[-2,5],[-14,-23],[-4,1],[8,31],[1,14],[-5,15],[-18,-29],[-10,-9],[0,-8],[-8,-11],[-9,-1],[-9,5],[3,7],[11,3],[15,28],[-11,3],[-6,-12],[-10,12],[-28,-4],[-25,3],[-6,4],[-18,-6],[-15,-2],[-4,17],[27,37],[-9,3],[-14,-6],[8,9],[6,-3],[9,33],[10,-9],[-2,9],[8,4],[-11,4],[25,78],[8,11],[8,28],[24,18]],[[1448,8147],[-7,0],[2,14],[5,-14]],[[1445,8181],[-2,-17],[-4,14],[6,3]],[[2798,8181],[-3,-7],[-8,3],[11,4]],[[1462,8192],[-15,-17],[2,14],[17,12],[-4,-9]],[[1430,8212],[1,-9],[-8,2],[7,7]],[[2738,8248],[8,-1],[10,-15],[3,-12],[-10,1],[-29,15],[6,10],[12,2]],[[1339,8249],[4,-12],[-6,-9],[6,-21],[17,-18],[-5,-5],[-20,26],[-16,32],[20,7]],[[1427,8244],[3,-10],[-2,-21],[-14,7],[-3,12],[2,20],[14,-8]],[[1419,8255],[-7,1],[4,10],[3,-11]],[[1382,8268],[9,-8],[5,-15],[-7,0],[-15,26],[8,-3]],[[1386,8270],[-9,4],[2,6],[7,-10]],[[1395,8273],[11,-17],[-5,-9],[-21,36],[3,5],[12,-15]],[[1380,8293],[-2,-10],[-7,7],[9,3]],[[1305,8302],[20,-3],[5,-14],[-15,-10],[13,-2],[2,21],[12,6],[-8,-28],[0,-22],[-13,-7],[-9,10],[7,6],[-11,3],[-7,25],[4,15]],[[2815,8428],[-1,-10],[-7,-3],[4,17],[4,-4]],[[2787,8429],[-11,-11],[1,8],[10,3]],[[2801,8446],[-3,-6],[9,-8],[-12,-27],[-8,-3],[2,12],[-9,-16],[-3,4],[14,23],[3,-5],[3,26],[4,0]],[[3293,8462],[1,-19],[-7,7],[6,12]],[[3204,8666],[5,-10],[-11,7],[6,3]],[[3109,8672],[7,-7],[-4,-10],[-10,-6],[-3,7],[5,16],[5,0]],[[3200,8731],[-2,-16],[-16,19],[18,-3]],[[2793,8775],[5,-7],[-8,-30],[-8,-9],[-10,11],[-2,14],[12,23],[11,-2]],[[3203,8784],[8,0],[-6,-10],[-9,3],[7,7]],[[3033,8802],[15,-11],[0,-7],[-13,1],[-7,15],[5,2]],[[2719,8809],[7,-3],[-2,-12],[-27,-27],[-23,-5],[-6,18],[18,27],[8,-5],[9,6],[16,1]],[[2822,8839],[21,-4],[4,-9],[-13,-10],[-16,17],[4,6]],[[3216,8833],[-8,14],[5,2],[3,-16]],[[2857,8849],[12,-6],[0,-11],[-20,14],[8,3]],[[3204,8862],[4,-12],[-12,8],[8,4]],[[3186,8910],[2,-6],[-13,-6],[11,12]],[[2625,8972],[12,-9],[-7,-5],[11,-20],[9,16],[14,-17],[20,-4],[4,-10],[19,-12],[5,2],[16,-14],[5,-23],[19,-8],[-1,8],[22,-21],[-8,-2],[-19,-16],[-26,14],[-12,-1],[-1,17],[-15,-1],[2,13],[-19,-10],[2,-14],[-19,-8],[-9,-19],[-25,-10],[-5,33],[-27,-2],[-14,-5],[8,20],[20,13],[-6,24],[6,15],[0,28],[5,23],[13,12],[1,-7]],[[2638,8984],[9,-10],[0,-16],[-12,13],[3,13]],[[2657,8990],[18,-11],[-3,-6],[15,-10],[-15,2],[-15,25]],[[2936,9103],[24,-5],[1,-12],[-28,0],[-10,16],[13,1]],[[2601,9095],[-7,-12],[-8,5],[-3,16],[9,13],[7,-6],[2,-16]],[[2900,9117],[16,-9],[-4,-11],[3,-24],[-9,-11],[-14,-6],[-31,-1],[-7,12],[0,22],[15,25],[31,3]],[[2096,9122],[-15,8],[14,1],[1,-9]],[[2919,9131],[3,-14],[-16,10],[2,12],[11,-8]],[[2173,9144],[-3,-12],[-12,5],[15,7]],[[2218,9152],[-13,-10],[2,17],[11,-7]],[[2820,9179],[-10,-28],[-16,-3],[26,31]],[[2860,9180],[10,-6],[-13,-11],[-6,16],[9,1]],[[2315,9189],[14,0],[-4,-11],[-10,11]],[[2342,9191],[8,-12],[-14,-3],[6,15]],[[3114,9197],[-2,-10],[-10,3],[12,7]],[[2834,9196],[-16,-12],[-9,1],[20,15],[5,-4]],[[2787,9204],[9,-8],[-21,-3],[4,-8],[-24,10],[16,8],[16,1]],[[2294,9191],[5,5],[10,-12],[22,-14],[6,-20],[18,-3],[-17,-6],[-13,-15],[-33,4],[-9,7],[-25,7],[-3,8],[-11,-6],[-11,11],[33,17],[-4,16],[12,-9],[-6,16],[10,11],[18,-11],[-2,-6]],[[3004,9275],[14,-3],[-20,-12],[-5,8],[11,7]],[[2924,7774],[-11,-4],[-19,-25]],[[2894,7745],[-6,-7],[-19,-10],[-11,-18],[-17,9],[-5,-3],[-30,-8],[-17,-15],[-5,-17],[13,-6],[7,4]],[[2804,7674],[-1,-9]],[[2803,7665],[5,-11],[-36,-7],[-9,-13],[-11,6],[-12,-1],[-32,-36],[-12,-2],[-5,4],[0,12],[5,4],[13,-1],[1,10],[-6,4]],[[2704,7634],[5,9],[1,17]],[[2710,7660],[8,4],[12,20],[-1,38],[4,14],[9,16],[0,12],[-12,25],[11,0],[1,-14],[14,-17],[18,-14],[0,17],[4,6],[6,-5],[-9,17],[2,14],[-10,3],[-10,32],[-12,0],[-10,8],[-39,6],[-3,0],[-30,10]],[[2663,7852],[0,10],[-10,-4]],[[2653,7858],[-3,4],[4,24],[-8,1],[3,23],[-11,14],[5,20],[-25,0],[-8,9],[-12,39],[-22,-2],[-24,14],[-2,-22],[-7,-2],[3,15],[-6,-2],[-5,-26],[-5,-3],[3,16],[-10,-5],[-5,-22],[-7,-6]],[[2511,7947],[-9,-1],[-4,7],[-20,0],[-2,7],[-16,-11],[-8,4],[-10,14],[-8,-7],[-3,12],[-14,11],[-22,-6],[-3,7],[-17,3],[-6,5],[-4,31],[-9,3],[0,-22],[-79,0],[-80,0],[-55,0],[-79,0],[-79,0],[-49,0],[-49,0],[-80,0],[-61,0],[-74,0],[-81,0]],[[1590,8004],[-8,0]],[[1582,8004],[-1,0]],[[1581,8004],[-7,20],[2,14],[-8,-11],[-12,8],[-1,15],[-14,0],[-6,8],[3,18],[-3,5],[-9,0],[-20,12],[-13,-2],[6,17],[-14,1],[-10,6],[-4,-6],[-14,11],[-8,12],[9,23],[13,3],[-9,3],[-10,-15],[-4,12],[0,14],[19,25],[0,13],[-12,-16],[-7,-5],[-8,17],[-4,-12],[4,26],[-10,9],[-10,34],[10,-5],[-8,12],[5,21],[-17,-20],[-3,-14],[-21,32],[-4,26],[-6,-3],[1,17],[7,4],[10,33],[-5,0],[-4,28],[2,8]],[[1387,8402],[0,0]],[[1387,8402],[-1,12],[-9,1],[-9,13],[-10,3],[-14,11],[-7,0],[0,11],[-7,4],[2,10],[-29,56],[-20,40],[-12,8],[-4,12],[-21,22],[3,8],[-13,13],[-25,-11],[-2,-20],[-27,-20],[-5,17],[-43,50],[3,16],[-17,-1],[-9,-8],[-12,6],[-16,1],[0,538]],[[1083,9194],[29,-2],[23,-6],[15,-16],[50,-21],[26,2],[-3,18],[20,5],[-1,8],[29,8],[12,-5],[-9,-9],[24,4],[10,14],[16,0],[45,28],[22,-4],[5,11],[9,-11],[-45,-25],[-27,-6],[-3,-10],[-18,-6],[-4,-15],[-9,3],[-4,-11],[24,-3],[-11,15],[29,13],[15,12],[12,-9],[14,21],[35,9],[0,-10],[23,16],[-2,9],[22,7],[-13,3],[0,17],[23,-16],[14,-32],[15,-16],[20,-9],[9,4],[-8,12],[10,9],[8,18],[10,-1],[-2,-19],[12,0],[-13,-19],[24,-2],[14,8],[6,20],[36,-3],[23,-10],[23,-16],[31,-5],[23,-13],[57,-13],[-9,8],[11,4],[38,-17],[18,-18],[-3,-9],[-26,2],[-8,-18],[-9,-3],[47,-13],[40,-1],[3,4],[36,1],[22,14],[13,-16],[18,0],[7,-21],[6,15],[20,-23],[-7,-21],[25,-29],[-12,23],[1,18],[16,-14],[-4,15],[-9,8],[0,15],[-12,12],[7,19],[35,18],[21,5],[1,13],[-24,-7],[2,-8],[-22,-7],[-16,5],[7,-11],[-22,-3],[-2,12],[-10,-3],[14,20],[27,5],[31,14],[12,-3],[9,-11],[4,-20],[19,-6],[4,-12],[20,-1],[9,8],[5,-11],[27,-14],[21,-3],[23,10],[26,-1],[15,-7],[25,5],[22,-12],[12,11],[-16,12],[-10,-9],[-10,10],[3,9],[-11,11],[27,1],[-8,9],[21,-3],[5,-12],[18,3],[-11,-15],[26,12],[-16,-41],[11,-19],[10,8],[11,-20],[4,16],[-15,26],[7,19],[17,-3],[18,14],[18,33],[-10,8],[-5,-13],[-15,0],[11,34],[18,-2],[2,13],[-22,-5],[-9,14],[-7,-7],[-25,10],[-21,22],[1,14],[9,15],[-12,9],[5,30],[14,6],[8,-7],[5,12],[-13,4],[18,9],[2,13],[18,3],[4,-19],[7,7],[32,-24],[4,-30],[37,-41],[-25,2],[-4,-6],[18,-3],[-25,-18],[20,-9],[18,7],[10,-9],[19,-1],[-23,-12],[14,-11],[6,-20],[-2,-17],[9,-12],[11,12],[4,31],[11,15],[9,1],[28,-27],[5,-32],[-16,2],[1,-19],[8,-19],[17,-15],[-1,-14],[15,7],[-3,7],[14,-1],[1,20],[17,23],[7,37],[25,0],[-10,13],[11,7],[-20,11],[-2,10],[6,23],[7,-4],[20,5],[16,-9],[30,-1],[15,-23],[22,-5],[-6,-12],[-12,-5],[20,-5],[1,-10],[-20,-13],[-17,6],[-2,-7],[18,-11],[-5,-13],[26,-30],[-7,-27],[-13,-1],[-17,-24],[-12,-1],[-10,-11],[-25,21],[16,-30],[-4,-2],[-19,14],[4,-14],[-25,7],[-5,17],[-19,-5],[-18,2],[7,-12],[19,-9],[-16,-15],[-3,-13],[-23,-20],[-16,0],[-17,15],[-31,20],[-10,-3],[-30,2],[32,-7],[14,-11],[11,-16],[56,-5],[2,-11],[-16,-20],[-14,-27],[-18,-15],[-24,1],[-12,10],[4,-14],[-10,-17],[-21,-3],[-19,10],[-14,0],[-37,16],[-8,-2],[11,-10],[4,5],[31,-11],[-10,-11],[18,11],[6,-8],[25,-12],[2,-18],[-22,-16],[-19,5],[-10,-3],[15,-16],[-19,5],[-2,-20],[-8,-12],[-18,-12],[11,-4],[-17,-12],[-19,-60],[-8,-31],[3,-40],[-3,-17],[13,-17],[3,4],[29,-1],[2,-15],[10,-37],[9,-24],[-3,-25],[12,2],[30,12],[15,-3],[15,-12],[30,-8],[12,-15],[13,-10],[7,-15],[10,-12],[11,-1],[32,-17],[21,-20],[12,-3],[19,5],[15,-6],[12,1],[18,-9],[3,-14],[-6,-25],[0,-12],[8,-17],[-2,-23],[3,-13],[-5,-19],[20,-28],[6,-21],[10,-5],[15,-30],[1,-10],[19,-11],[1,16],[10,15],[11,-20],[6,11],[-9,15],[13,19],[2,22],[-6,4],[1,19],[-5,0],[-5,42],[-2,32],[-7,2],[-6,25],[-5,1],[39,22],[16,14],[19,23],[12,21],[4,16],[0,44],[-8,34],[-9,20],[-24,23],[-13,16],[-2,16],[22,21],[-1,20],[14,6],[-1,13],[-7,2],[-7,35],[6,6],[-16,2],[10,15],[2,20],[6,5],[-13,13],[-4,34],[18,16],[21,-4],[32,-14],[34,-1],[14,12],[18,-9],[17,-14],[-1,-8],[30,-19],[-9,-10],[14,-16],[23,-5],[11,2],[2,-11],[12,-1],[2,12],[5,-18],[-12,-15],[6,-26],[2,-26],[-6,-6],[3,-9],[11,-2],[-8,-8],[2,-18],[-19,-7],[10,-3],[15,12],[13,1],[11,-6],[5,-24],[7,10],[9,-20],[28,15],[6,21],[10,-9],[5,18],[7,3],[-2,12],[8,8],[-3,22],[8,2],[7,25],[14,2],[0,-12],[9,-6],[-1,-17],[6,0],[5,-15],[12,-13],[-11,-9],[13,3],[1,-13],[7,1],[4,-11],[-9,-11],[16,0],[-2,-19],[15,-12],[7,-20],[-14,-11],[10,2],[6,-6],[-6,-7],[18,-7],[-8,-18],[-7,0],[5,-13],[-9,-4],[11,-10],[-12,-2],[5,-5],[14,1],[-3,-13],[10,-2],[1,-7],[22,-5],[-4,-5],[3,-16],[-4,-16],[20,12],[-2,-10],[10,-5],[10,9],[6,-22],[30,-6],[14,-10],[-9,-11],[-15,-1],[-1,-6],[-33,-12],[21,5],[3,-3],[-30,-15],[-13,-3],[2,-15],[-11,-14],[38,24],[6,15],[19,9],[-5,7],[24,-1],[11,-22],[-12,-11],[6,-9],[9,15],[30,-19],[4,-15],[-6,-7],[5,-9],[-7,-12],[8,-9],[4,-17],[-8,-15],[-20,-17],[-10,-13],[-8,5],[-25,-14],[-8,3],[-7,-12],[-8,-5],[1,-12],[-13,-8],[0,-8],[-11,-6],[-3,-10],[-38,-3],[-10,-5],[-6,7],[-51,4],[-26,-2],[-37,0],[-5,-5],[-8,5],[-19,-25],[-3,-23],[-4,-6],[-19,-3],[-4,-11],[-24,-18],[-10,-28],[-7,-9],[-19,14],[-5,-2],[22,-14],[-5,-20],[-10,-17],[-6,-3],[-6,-17],[-17,-23],[-15,-1],[-21,-24],[-10,-4],[-7,-18],[-12,-11],[-7,-11],[-6,-2],[5,-8],[-15,-12],[-6,-8]],[[1827,9404],[6,-29],[-17,-11],[32,3],[-4,6],[17,15],[49,-17],[-3,-15],[17,6],[18,-8],[8,4],[-26,29],[23,-2],[24,-23],[11,-1],[-1,-11],[13,-38],[6,-4],[21,15],[-15,14],[-9,45],[0,25],[29,-10],[8,7],[26,-17],[18,-30],[4,-24],[19,-29],[-7,-28],[16,-17],[25,-16],[8,1],[35,-23],[16,4],[4,-24],[-13,-6],[-4,13],[-5,-14],[-19,11],[-14,-26],[22,5],[-2,-17],[9,-10],[-19,-8],[-24,-5],[-49,6],[4,12],[-40,5],[-4,18],[-10,-16],[-17,-13],[-28,-6],[-12,-9],[-56,-11],[-59,-3],[-16,19],[2,22],[-18,5],[-26,-3],[-22,4],[-18,9],[0,6],[-18,12],[-4,14],[39,12],[41,5],[53,-7],[9,7],[22,-3],[-18,14],[-19,2],[-18,8],[-58,-6],[-19,4],[-40,-1],[-19,23],[17,8],[41,11],[13,11],[-48,-10],[-21,6],[13,5],[-36,7],[0,11],[16,17],[13,3],[-13,15],[34,25],[50,16],[27,11],[10,-5]],[[2094,9405],[-16,-22],[-8,1],[-18,19],[-26,12],[13,13],[42,1],[16,-10],[-3,-14]],[[2768,9430],[25,-7],[37,2],[19,-6],[32,-26],[-1,-17],[-52,5],[-28,-9],[-22,6],[-4,22],[-21,5],[1,25],[14,0]],[[2595,9436],[41,-3],[4,-8],[-30,-21],[-18,-26],[10,-20],[-3,-28],[9,-14],[19,-16],[14,-5],[-16,-13],[-13,0],[-8,-10],[21,10],[18,-2],[8,17],[-4,14],[-16,-1],[-8,13],[2,21],[16,1],[-18,12],[-3,25],[14,2],[-6,11],[26,-5],[-19,15],[63,24],[37,-1],[11,-27],[14,-5],[0,-14],[10,-10],[-26,-24],[18,11],[-11,-18],[5,-13],[12,5],[16,25],[23,-13],[11,14],[26,14],[67,-15],[7,-14],[-14,-14],[33,4],[0,-15],[-32,-17],[31,12],[19,-1],[-10,-9],[-4,-17],[12,19],[3,-12],[15,-7],[13,23],[32,-12],[8,-11],[-10,-12],[-11,3],[-13,-14],[4,-6],[25,7],[4,9],[15,2],[3,-9],[-13,-17],[30,15],[-3,-16],[15,10],[31,-11],[-10,-16],[-31,-9],[32,3],[-1,-16],[12,9],[6,14],[24,-23],[2,-12],[-26,3],[-15,-11],[19,-8],[19,1],[16,-11],[-2,-8],[-26,2],[-15,8],[-22,3],[22,-8],[13,-10],[-8,-4],[5,-11],[-43,2],[33,-6],[-9,-8],[29,-2],[23,-6],[-10,-6],[8,-11],[37,-12],[12,7],[-2,-12],[18,-4],[13,-28],[-21,-10],[47,10],[-7,-18],[22,-5],[5,9],[18,-10],[10,-16],[-20,-10],[14,-3],[-30,-8],[14,-7],[-7,-17],[-15,-3],[7,-7],[-17,-1],[-7,16],[3,-21],[-9,-4],[9,-9],[-5,-24],[-17,9],[-9,14],[-1,-9],[-18,16],[-1,14],[-9,5],[19,17],[-31,-5],[-2,9],[-22,20],[2,8],[-13,-6],[-6,-11],[-16,12],[7,-15],[16,-12],[-1,-7],[-20,-1],[-9,18],[-2,-18],[12,-16],[14,3],[-2,-10],[10,-2],[10,-39],[1,14],[31,-16],[-3,-16],[17,0],[-10,-10],[11,-14],[11,-5],[-9,-11],[12,-6],[0,-25],[-7,5],[-4,18],[-2,-14],[10,-29],[-17,5],[8,-19],[-7,-5],[-1,13],[-12,11],[-12,-3],[-13,13],[-5,-5],[-20,21],[-6,12],[-1,-16],[-27,24],[-8,-3],[23,-33],[17,-6],[17,-21],[5,0],[16,-26],[7,-2],[-9,-20],[-30,16],[-35,7],[-12,7],[-25,24],[-9,-2],[-38,22],[-5,14],[15,10],[-16,12],[-2,-7],[-15,9],[-13,14],[-15,33],[-20,-9],[4,15],[-14,-6],[-5,-14],[-30,14],[-5,-12],[-24,-12],[-14,2],[-18,11],[-4,27],[5,9],[18,8],[-3,15],[21,-2],[25,-11],[9,-9],[-6,-7],[10,-12],[-2,16],[-16,17],[23,-3],[1,7],[15,-3],[11,12],[19,-5],[-7,19],[-8,4],[-13,18],[41,32],[5,19],[15,6],[-4,22],[-12,18],[-4,23],[-23,5],[3,18],[-19,-6],[-13,16],[2,15],[-9,-11],[-10,2],[-32,-14],[0,20],[28,3],[1,9],[-30,19],[-15,5],[10,9],[-23,0],[0,21],[-20,2],[-10,12],[-21,2],[21,-15],[3,-13],[-29,-7],[-6,8],[-39,3],[15,-14],[-9,-2],[-14,13],[-15,-11],[-25,12],[-15,-3],[-31,3],[-5,4],[-39,2],[-21,21],[1,-11],[-47,11],[-21,25],[9,7],[22,-4],[27,0],[-15,18],[-6,-3],[-47,6],[-5,7],[5,17],[-9,11],[5,24],[25,52],[36,27],[33,8]],[[2227,9438],[17,-9],[57,6],[4,-12],[-12,-6],[8,-7],[-19,-7],[-19,-16],[35,-3],[9,-16],[12,3],[5,-18],[-9,-6],[3,-27],[-25,-13],[-26,2],[9,-8],[-13,-13],[-19,3],[-13,25],[-27,24],[-21,3],[-34,24],[-4,9],[14,16],[11,-4],[16,-18],[24,2],[10,8],[-4,14],[-11,1],[-28,20],[11,7],[16,-9],[3,8],[-13,12],[33,5]],[[2287,9448],[-13,-11],[-23,-4],[-12,7],[34,10],[14,-2]],[[2423,9449],[18,-8],[8,5],[45,-7],[-28,-33],[-12,-21],[-14,-14],[-33,4],[-13,-4],[10,-16],[-18,-22],[-29,-6],[-2,33],[-11,9],[-2,60],[11,2],[1,14],[44,9],[25,-5]],[[1623,9476],[28,-12],[41,-10],[46,4],[58,-41],[-3,-6],[-28,-9],[-76,-37],[-3,-15],[-14,-8],[-13,1],[-3,-32],[-7,-11],[-22,-7],[-9,5],[-11,-12],[-27,-10],[-26,36],[-34,14],[-14,0],[0,10],[14,22],[9,4],[-4,18],[17,2],[-12,9],[14,21],[16,15],[-10,9],[-14,28],[87,12]],[[2118,9518],[-3,-12],[-30,4],[15,17],[18,-9]],[[2378,9537],[25,-20],[2,-24],[-5,-11],[-41,1],[-43,18],[23,30],[25,8],[14,-2]],[[2325,9539],[-16,-17],[-5,9],[21,8]],[[2164,9558],[-14,-12],[-20,-1],[7,9],[27,4]],[[2380,9546],[-17,10],[11,3],[6,-13]],[[2157,9563],[-38,-10],[11,8],[27,2]],[[1732,9567],[5,-3],[-22,-28],[-10,-5],[-22,5],[20,18],[29,13]],[[2805,9567],[0,-15],[-16,-3],[16,18]],[[2149,9575],[-6,-11],[-43,0],[2,8],[47,3]],[[2113,9595],[25,-12],[-38,-5],[-7,16],[20,1]],[[2266,9598],[21,-11],[7,-58],[-18,1],[14,-20],[-11,-7],[-47,-3],[-20,3],[-11,19],[33,20],[-52,-5],[-33,-7],[2,14],[20,10],[-6,28],[18,3],[35,-31],[7,21],[-30,12],[15,9],[23,0],[13,-10],[20,12]],[[2213,9601],[-38,-8],[20,9],[18,-1]],[[2508,9589],[-10,-2],[-15,15],[17,6],[8,-19]],[[1981,9607],[-3,-11],[20,-20],[-11,-11],[22,-7],[-10,-10],[27,5],[12,10],[31,-10],[1,-18],[-15,-30],[-28,-8],[-21,7],[-19,-7],[-5,8],[-25,-11],[-22,-4],[-24,-12],[-34,-10],[-29,0],[-27,17],[52,17],[27,0],[19,13],[-36,-6],[-3,5],[-44,-9],[-5,24],[-10,-23],[-35,-6],[-55,16],[12,13],[30,0],[31,14],[-30,-8],[-32,0],[10,12],[57,5],[-39,0],[-12,12],[23,10],[10,12],[36,1],[7,-17],[28,5],[33,-21],[14,-22],[62,-1],[6,7],[-32,17],[18,11],[-30,11],[18,11],[15,19],[15,0]],[[1840,9610],[3,-10],[-34,3],[31,7]],[[2354,9618],[44,-6],[16,-16],[46,3],[26,-13],[-26,0],[59,-9],[-2,-7],[-52,-1],[30,-6],[28,-18],[2,-16],[14,11],[11,-8],[26,6],[13,-9],[59,10],[21,10],[23,-5],[16,6],[39,-3],[40,-18],[6,-11],[-25,-15],[16,1],[10,-9],[-23,-7],[-1,-11],[-29,0],[-12,-6],[-33,5],[-7,16],[-11,-16],[-84,-5],[-53,2],[2,20],[-21,-15],[-21,-3],[-30,10],[-10,-4],[-19,9],[1,10],[-13,14],[11,38],[-14,8],[-14,21],[-17,-6],[-37,-3],[6,7],[-27,3],[-11,14],[-18,4],[15,6],[-15,7],[13,6],[32,-1]],[[1774,9644],[20,-9],[-25,-7],[-2,-15],[13,-14],[-30,-8],[-9,-17],[-20,9],[5,24],[-19,-6],[-1,-22],[-34,-26],[-19,-3],[-7,19],[-15,-12],[-46,8],[9,15],[31,5],[9,14],[22,7],[15,17],[27,15],[26,1],[18,-6],[32,11]],[[2491,9653],[17,-10],[-11,-14],[-30,11],[0,13],[24,0]],[[2083,9641],[18,-11],[-11,-7],[-23,12],[-14,25],[13,0],[17,-19]],[[2350,9662],[51,0],[13,-7],[-11,-10],[-70,0],[-6,13],[23,4]],[[2196,9660],[-42,-1],[0,9],[21,1],[21,-9]],[[1824,9675],[20,-11],[-15,-6],[-27,14],[22,3]],[[1955,9679],[-35,-12],[21,-5],[-3,-16],[-52,-10],[-31,11],[3,23],[51,10],[46,-1]],[[1933,9718],[31,-15],[-4,-11],[-50,5],[-52,-7],[-5,8],[40,8],[40,12]],[[2308,9715],[18,-10],[40,-9],[-15,-7],[9,-16],[-51,-11],[-22,18],[22,2],[-33,10],[-10,12],[7,18],[35,-7]],[[2120,9752],[22,-6],[10,-21],[25,12],[58,-29],[-8,-16],[22,-13],[0,-11],[-25,-6],[-19,5],[-12,19],[-45,10],[-50,-6],[-10,18],[38,-3],[1,15],[-18,11],[-27,-9],[10,11],[-26,2],[4,16],[50,1]],[[2237,9796],[21,-8],[-5,-17],[-36,22],[20,3]],[[2423,9866],[56,-44],[40,-1],[1,-15],[22,9],[22,-2],[19,-26],[-9,-26],[20,9],[23,-2],[24,-19],[-46,-14],[-69,-50],[-26,25],[15,-26],[-24,10],[0,-11],[-49,4],[-22,17],[34,3],[-45,2],[-28,21],[25,12],[79,3],[-58,1],[0,12],[-36,-11],[-3,7],[-33,-6],[-14,15],[27,4],[-31,3],[-21,14],[-4,14],[53,-6],[21,9],[-36,-4],[-32,9],[14,17],[41,2],[7,8],[-33,3],[17,15],[39,0],[7,9],[-28,8],[41,-2]],[[3064,9969],[92,-13],[-63,-13],[33,0],[64,14],[63,-22],[36,-2],[8,-17],[-85,-27],[-75,-6],[11,-7],[-78,-18],[137,21],[-4,-9],[-119,-45],[-9,-11],[-28,-4],[-23,-32],[-31,-8],[-32,7],[7,-13],[-52,-10],[-85,-2],[20,-4],[80,-3],[-1,-11],[-35,3],[-9,7],[-57,-2],[56,-5],[-45,-3],[55,-3],[-14,-6],[38,-1],[8,-15],[-22,-5],[-30,2],[38,-10],[-14,-14],[-35,-13],[-43,0],[19,-17],[-14,-13],[-47,-6],[-38,9],[-17,14],[5,-14],[18,-8],[57,-7],[-10,-14],[19,-6],[18,11],[7,-22],[-21,-10],[-5,7],[-22,-15],[-42,-11],[8,17],[-36,5],[-6,-7],[-40,2],[-13,10],[-6,-17],[-23,-1],[-61,10],[-4,-7],[-37,4],[-15,10],[-1,17],[33,15],[23,-1],[15,8],[-21,5],[-15,25],[29,7],[27,-6],[22,-23],[54,-3],[27,35],[-39,-27],[-38,10],[15,39],[-21,-13],[-21,5],[-35,-4],[1,19],[24,20],[44,7],[35,-5],[56,1],[-53,4],[-30,6],[11,9],[-23,27],[-37,6],[0,32],[75,-4],[67,-35],[-7,16],[-44,23],[80,9],[54,8],[-44,0],[94,17],[-62,-3],[-2,9],[57,26],[-37,-9],[-40,-28],[-44,-11],[-53,-5],[27,11],[-48,2],[1,-13],[-55,-1],[-26,5],[26,19],[85,11],[-93,-8],[-33,-21],[-58,14],[99,12],[30,12],[-43,-8],[-98,-8],[-15,8],[12,11],[45,14],[-57,-12],[12,13],[-22,4],[-21,-8],[-14,7],[27,11],[83,15],[87,-6],[-56,12],[43,5],[-12,10],[30,1],[59,-23],[-11,12],[82,-19],[-75,24],[18,17],[41,-8],[-28,15],[47,-2],[16,12],[41,-3],[44,-11],[-31,15],[35,4],[54,-3],[10,-8],[24,12],[91,2]],[[5255,7927],[0,0]],[[5255,7927],[0,0]],[[5255,7927],[10,-8]],[[5264,7905],[2,-12]],[[5290,7882],[-2,-13],[-10,-7],[4,-15],[-6,6],[-12,-4],[-2,10],[-5,0],[-1,-14],[-5,-6],[-1,-18],[-7,10],[2,5],[-11,9],[0,13],[-10,-11],[1,-8],[-9,-12],[-8,4],[-13,-4]],[[5195,7827],[-7,15],[0,14]],[[5188,7856],[-5,6],[-8,-4],[-3,-9]],[[5172,7849],[-4,7],[2,10],[8,9],[0,11],[7,4],[12,28],[8,-5],[5,10]],[[5210,7923],[14,-1],[9,5],[4,9],[9,-9],[9,0]],[[3101,2016],[-9,-10],[13,-7],[6,-18],[-2,-7],[-8,14],[-15,-2],[2,19],[-18,-5],[-1,-4],[-14,10],[3,5],[39,9],[4,-4]],[[3116,2021],[14,-1],[7,-9],[-5,-12],[-7,7],[-9,-6],[-8,1],[-2,15],[10,5]],[[3041,2018],[7,-9],[-19,2],[-1,8],[13,-1]],[[3069,2021],[8,-5],[-19,-3],[-1,8],[12,0]],[[3013,2074],[7,-1],[8,-15],[-5,-7],[-8,10],[-4,-3],[-2,16],[4,0]],[[3003,2080],[6,-2],[-5,-24],[-11,16],[0,7],[10,3]],[[3044,2081],[2,-8],[-9,4],[3,-17],[-9,10],[-1,10],[8,1],[-2,10],[6,7],[2,-17]],[[2972,2103],[2,3],[22,-21],[-6,-2],[-14,-18],[4,15],[-9,1],[-7,-7],[1,12],[-8,1],[3,17],[12,-1]],[[2925,2147],[15,-16],[8,0],[21,-22],[-10,3],[-11,14],[-13,-1],[-10,22]],[[3093,2028],[0,-1]],[[3093,2021],[-12,-3],[-17,9],[-13,-4],[-23,10],[-10,10],[-17,-8],[-1,12],[8,-7],[10,12],[7,-9],[6,12],[-2,12],[20,-15],[7,5],[13,-4],[10,-11],[3,8],[-28,18],[-4,19],[24,15],[-1,8],[-25,-6],[-6,8],[1,17],[9,1],[0,8],[12,7],[2,13],[6,4],[5,-11],[16,0]],[[2952,2165],[-2,-17],[-9,0],[-2,7],[13,10]],[[2921,2176],[8,-2],[-6,-7],[-2,9]],[[2938,2182],[8,-11],[-5,-6],[-3,17]],[[2920,2209],[3,-4],[-3,-19],[-5,7],[5,16]],[[2943,2211],[3,-10],[-9,5],[6,5]],[[2925,2234],[1,-8],[-9,1],[8,7]],[[2931,2257],[2,-13],[-14,-1],[-1,9],[9,-2],[4,7]],[[2924,2263],[1,-11],[-8,7],[7,4]],[[2906,2275],[8,0],[-10,-15],[2,15]],[[2931,2276],[3,1],[5,-22],[-5,0],[-6,13],[3,8]],[[2908,2302],[14,-5],[0,-6],[-18,-9],[1,12],[7,-5],[-4,13]],[[2903,2329],[8,-14],[-12,3],[4,11]],[[2914,2359],[5,-2],[0,-12],[-9,10],[4,4]],[[2906,2359],[2,-6],[-9,-5],[7,11]],[[2925,2377],[5,0],[2,-27],[-3,-27],[3,-13],[-9,-10],[-4,6],[1,25],[-4,-21],[-7,11],[-2,25],[13,-3],[2,12],[-7,18],[10,4]],[[2906,2392],[1,-9],[-7,-5],[-2,13],[8,1]],[[2924,2406],[4,-8],[2,-18],[-14,4],[-1,6],[9,16]],[[2913,2413],[9,-4],[-1,-11],[-7,-2],[-5,19],[4,-2]],[[2907,2415],[7,-32],[-6,0],[0,16],[-5,-5],[-3,20],[7,1]],[[2921,2430],[3,-17],[-11,6],[-1,6],[9,5]],[[2945,2427],[4,-6],[-19,2],[7,7],[8,-3]],[[2914,2436],[-3,-8],[-5,6],[8,2]],[[2924,2545],[-1,-11],[-10,7],[11,4]],[[2936,2556],[-5,-9],[0,15],[5,-6]],[[2955,2556],[-6,-2],[3,11],[3,-9]],[[2948,2591],[3,-16],[-7,2],[-6,12],[10,2]],[[2946,2594],[-9,-4],[3,9],[6,-5]],[[2946,2613],[2,-4],[-11,-6],[-4,10],[13,0]],[[2974,2623],[6,-4],[-12,-23],[-4,-1],[-5,16],[7,2],[-1,11],[9,-1]],[[2948,2662],[3,-7],[-11,0],[8,7]],[[2945,2775],[11,1],[5,-30],[-8,-2],[-4,-15],[9,-10],[-6,-5],[6,-13],[-7,-2],[2,-14],[-17,3],[-3,4],[7,21],[-1,36],[4,8],[2,18]],[[3098,2168],[-21,9],[-7,-4],[-3,-12],[-8,-1],[-27,-20],[-3,-19],[-1,-36],[-7,-5],[-24,11],[-10,15],[5,11],[15,1],[10,5],[6,18],[-5,1],[-22,-19],[-5,6],[-7,-20],[1,-10],[-20,22],[9,0],[-1,20],[14,1],[13,9],[14,0],[-2,5],[-21,3],[-19,-19],[1,-11],[-6,-4],[-8,6],[6,5],[-9,6],[9,1],[2,11],[-11,-5],[0,29],[6,-2],[15,16],[9,-1],[0,13],[-7,-6],[-15,13],[10,-15],[-6,-4],[-4,-13],[-8,7],[0,17],[-9,7],[-1,13],[6,2],[1,13],[-6,-6],[-7,4],[-1,17],[11,-2],[-1,9],[-6,-4],[-5,21],[-13,14],[9,8],[1,26],[3,6],[-5,9],[0,44],[10,11],[-11,13],[-3,13],[21,-4],[6,-13],[5,5],[-10,27],[-1,-6],[-21,1],[-2,12],[9,-2],[-7,11],[6,12],[5,0],[6,11],[-6,2],[-3,12],[-11,0],[-1,-5],[-11,14],[4,11],[-13,-16],[2,-11],[-6,-3],[-4,19],[13,13],[3,10],[12,11],[0,11],[14,3],[6,-14],[-1,-8],[7,-4],[-7,-18],[4,-3],[5,16],[4,49],[8,10],[-3,20],[4,-1],[14,13],[1,15],[-14,13],[4,39],[-1,17],[9,12],[-3,14],[0,18],[5,2],[-3,15],[5,3],[4,-15],[0,27],[-8,-3],[-4,6],[8,12],[-10,13],[-3,-13],[-12,-6],[-7,4],[2,7],[-5,11],[-2,27],[5,20],[1,37],[9,7],[4,19],[1,19],[-9,38],[2,30],[-6,26],[1,22],[9,-3],[5,16],[0,18],[4,-4],[5,42],[6,9],[-1,15],[6,18],[5,6],[1,15],[4,12],[1,31],[6,21],[4,4],[1,12],[-4,23],[6,5],[4,37],[-4,9],[1,25],[-5,52],[0,24],[2,12],[7,5],[2,44],[-5,10],[-1,19],[6,11],[4,20],[0,18],[3,22],[4,2],[-1,30],[4,5],[2,15],[2,41],[-2,11],[2,19],[6,8],[-1,24],[-2,5],[1,62],[3,17],[-6,0],[1,25],[6,1],[4,33],[0,23],[2,25],[2,3],[0,24],[-3,10],[0,37],[2,6],[-1,31],[-5,51],[0,21],[-2,8]],[[3044,4127],[12,4],[4,9],[0,26],[9,9]],[[8073,6343],[8,-9],[1,-20],[-9,-13],[-7,-43],[-4,0],[-5,-15],[-9,-1],[-2,-11],[-14,6],[-14,12],[-1,42],[10,19],[8,9],[-1,10],[7,-3],[5,9],[8,-6],[10,10],[8,-9],[1,13]],[[8066,6398],[4,-5],[-8,-2],[4,7]],[[8393,6916],[2,-7],[-8,4],[6,3]],[[8386,6994],[-10,4],[-11,15],[6,2],[9,-11],[8,-5],[-2,-5]],[[8689,7778],[-2,10],[-10,6],[-11,-7]],[[8666,7787],[-4,7],[-12,-22],[-11,-4],[0,-9],[6,-40],[-2,-28],[3,-6],[-5,-31],[-19,-10],[3,-13]],[[8625,7631],[-8,13],[0,9],[-9,7],[-4,-13],[-1,-19],[-14,-5],[-1,-10],[-7,-10],[-26,-3],[8,-20],[-3,-13],[-30,7],[-2,12],[-9,1],[-12,-34],[-9,-16],[-6,0],[-8,-10],[-16,-14],[-14,-21]],[[8454,7492],[-5,-13],[-6,-5],[-9,3],[-11,-3],[-28,-28],[-3,-9],[-8,-11],[-3,5],[-7,-13],[-10,-4],[0,12],[15,8],[-10,29],[6,0],[-2,11],[12,12],[11,27],[-3,13],[-22,14],[-12,-7],[0,-7],[-10,-13],[-4,-16],[-14,-7],[-17,-19],[-1,-19],[-10,-15],[-10,0],[-7,-8],[-11,11],[-6,-6],[-5,-28],[5,-14],[10,-13],[14,-4],[7,5],[12,-25],[-7,-1],[-2,-21],[10,-12],[13,1],[2,11],[10,10],[3,9],[12,10],[11,-8],[0,-6],[9,-7],[34,-4],[-7,-15],[3,-13],[-9,-5],[-5,9],[-28,-23],[-6,3],[4,-11],[-7,-1],[0,-17],[-11,-5],[2,8],[-8,2],[2,-13],[-7,-22],[-8,-4],[-7,-26],[-5,-3],[1,-16],[12,-14],[17,-12],[6,-38],[11,-36],[-1,-21],[15,-16],[0,-13],[11,-10],[4,-16],[-8,1],[-9,9],[-10,-3],[-4,11],[-11,2],[-5,-7],[-7,4],[-3,16],[-6,2],[3,-11],[11,-13],[16,4],[2,-9],[7,-5],[8,-15],[9,-9],[6,-12],[2,-13],[-9,-2],[-12,-10],[-8,-11],[-5,-15],[6,-2],[6,9],[6,-1],[8,-19],[13,-6],[-13,-19],[7,5],[0,-22],[-4,-6],[-5,3],[1,-27],[-5,-3],[5,-23],[-5,2],[-4,-10],[-3,12],[-9,-28],[-8,-17],[-3,-23],[-6,-4],[-1,-11],[-9,-7],[-1,-8],[-5,9],[-4,-6],[5,-6],[2,-11],[-5,4],[2,-10],[-5,-15],[5,-3],[-3,-18],[-4,0],[6,-17],[-11,10],[-4,-8],[5,-14],[-9,1],[-3,-9],[3,-10],[-10,0],[4,-9],[-3,-8],[-6,3],[-5,-5],[-2,8],[-5,-13],[3,-11],[-5,-4],[-1,-10],[-6,-1],[-7,-13],[-4,1],[-5,-14],[-6,5],[0,-9],[-10,-21],[-1,-10],[-6,1],[-13,-12],[-7,6],[0,-11],[-14,8],[-5,-13],[-6,11],[-5,-7],[4,-8],[-4,-3],[-2,9],[-5,-3]],[[8172,6482],[-4,-2]],[[8168,6480],[-7,-3],[-2,17],[-3,-1],[-2,15],[-6,-8],[6,-17],[0,-15],[-2,-9],[-10,20],[7,-19],[-10,-14],[-5,1],[-13,-12],[-10,3],[-11,-15],[-25,-8],[-3,-10],[-6,-1],[-7,-13],[5,-7],[-1,-13],[7,-9],[-4,-10],[-13,-2],[-1,10],[-7,25],[3,28],[5,0],[0,8],[-8,1],[-2,14],[-1,-16],[-12,1],[0,6],[-9,2],[-9,13],[2,-16],[-6,7],[0,-8],[-9,-5]],[[7999,6420],[-7,10],[-9,-4],[-12,14],[1,6],[-10,2],[0,14],[-4,7],[0,14],[5,0],[0,16],[-14,0],[-18,12],[-7,14],[-14,-13],[1,-9],[-14,-14],[-3,8],[-6,-8],[0,-9],[-11,16],[-4,-12],[-5,11],[-7,-21],[-5,10],[-13,9],[-4,-20],[-3,0]],[[7836,6473],[-13,3],[-4,-12],[1,-10],[5,-15],[0,-39],[-5,6],[-9,-2],[-2,20]],[[7809,6424],[-2,12],[-7,-6],[-3,-8],[-8,-4],[-2,5],[-5,-6],[-2,13],[-4,3],[-1,19],[-14,5],[-6,-1],[0,16],[4,5],[-1,14],[6,11],[-5,13],[-8,-2],[-7,5],[2,6],[-6,40],[6,9],[-9,-3],[-13,1],[-14,-14],[-2,5],[5,10],[-1,18],[-4,0],[0,17],[7,8],[-2,12],[4,11],[2,-3],[6,10],[0,13],[6,-3],[3,13],[7,6],[-4,6],[5,33],[0,29],[-2,31],[-7,4],[-1,-9],[-7,20],[0,16],[-8,13],[-9,9],[-5,-18]],[[7703,6808],[-7,9],[-4,-3],[-7,15],[-7,1],[5,6],[-4,17],[-9,21],[-12,-9],[-6,0],[-6,-9],[-9,4],[-9,11],[-8,-6],[-3,-16],[-9,-6],[-6,-8],[-7,-1],[-9,-16],[-12,-14],[0,-11],[-9,-9],[-12,-5],[-8,2]],[[7468,6756],[-4,12],[3,18],[-1,10],[-6,5],[-13,-14]],[[7447,6787],[-8,2],[-4,-5],[-15,1],[-3,7],[-14,9],[-4,-11],[-9,10],[-3,-11],[-2,13],[-6,7],[-16,3],[2,17],[-4,3],[-7,-6],[-9,11],[-7,12],[-2,16],[-5,5],[-13,-7],[-9,26],[-9,2],[-9,15],[-10,8],[-1,15],[-14,5],[-11,-23],[-7,11]],[[7248,6922],[-11,15],[-10,6],[1,9],[-14,15],[-4,-3],[-9,13],[-5,16],[-9,-8],[-2,12],[4,5],[-4,7],[2,15],[-9,14],[-2,20],[9,4],[6,-16],[10,8],[7,13],[-5,14],[0,12],[-7,3],[-8,16],[-3,33],[8,8],[0,7],[-10,12],[-9,5],[-8,41],[1,9],[-7,0]],[[7160,7227],[-18,1],[-11,8]],[[7131,7236],[-5,6],[0,8],[-13,-4],[-4,10],[1,27],[-7,15],[-9,1],[0,7],[-8,7],[-7,-2],[-9,4]],[[7080,7327],[7,10],[-8,13],[3,7],[-5,17],[-1,26],[-12,9],[-6,0],[-2,-9],[-6,3],[-4,16],[4,9],[-6,12],[1,14]],[[7045,7454],[8,8],[-3,9],[4,18],[11,3],[10,14],[3,10],[11,-4],[8,11],[4,-20],[18,4],[9,13],[0,10],[5,15],[18,-2],[11,5],[5,-2],[8,19],[26,23],[27,15],[-1,8]],[[7227,7611],[1,3],[-3,23],[3,11],[9,6],[-7,5],[13,6],[-4,13],[2,7],[-11,37],[0,32],[5,5],[-18,8],[7,9],[21,5],[23,13],[3,-9],[13,3],[7,-7],[4,17],[-11,7],[7,21],[9,47],[5,14],[0,14],[24,-13],[21,1],[4,-10],[13,13],[7,0],[5,9],[-4,41],[4,25],[25,10],[4,10],[0,17],[4,6],[12,-1]],[[7424,8009],[15,5]],[[7439,8014],[-4,-17],[9,-8],[-2,-9],[16,-10],[2,-12],[14,-12],[11,1],[7,-11],[9,3],[11,-21],[0,-11],[15,-34],[1,-11],[-5,-14],[3,-17],[-7,-13],[-2,-16],[6,-17],[6,2],[16,-9],[23,-4],[11,2],[23,-8],[6,-13],[7,0],[14,-19],[9,-5],[11,2],[-2,-16],[6,-3],[9,-41],[12,-19],[2,-11],[23,4],[63,-13],[14,6],[49,-12],[7,-15],[29,-11],[18,-15],[23,7],[0,-12],[13,-5],[6,10],[44,30],[36,10],[20,-3],[20,4],[25,19],[15,29],[18,12],[10,13],[-9,18],[-7,23],[11,33],[5,4],[13,-1],[5,-10],[14,-6],[13,-3],[16,16],[14,24],[6,-3],[23,5],[15,18],[-1,7],[11,24],[6,3],[15,-1],[1,13],[9,-4],[16,12],[12,-3],[3,5],[14,-8],[11,-1],[5,6],[-4,23],[-18,25],[0,6],[-10,7],[-6,11],[-10,5],[-12,-3]],[[8270,7946],[-7,-13]],[[8263,7933],[-5,-6],[-13,13],[-17,-1],[-11,-9],[-7,10],[-2,13],[8,8],[-1,12],[25,79]],[[8240,8052],[16,-12],[14,-6],[12,9],[13,17],[12,1],[7,6],[1,14],[-4,6],[8,27],[7,10],[1,11],[8,23],[16,14],[3,17],[-4,7],[3,13],[-8,5],[-12,-1],[22,37],[12,1],[26,11],[19,0],[11,6],[28,-11],[4,-9],[20,-1],[17,-13],[23,-49],[-3,-10],[6,-23],[6,-9],[1,-20],[10,-19],[1,-23],[7,-6],[-2,-23],[5,-9],[11,-7],[20,2],[7,-14],[13,-3],[9,-7],[11,-17],[12,0],[-4,-13],[6,-8],[2,-13],[-4,-13],[7,-20],[15,2],[13,-5],[17,3],[3,9],[12,14],[12,-1],[6,9],[18,8],[9,-7],[-4,-13],[6,-17],[-8,-19],[-9,-6],[-4,-38],[-5,-13],[2,-9],[-11,-22],[-1,-15],[-8,-8],[-2,-21],[-8,-3]],[[4913,5477],[0,-1]],[[4913,5476],[0,1]],[[4925,5729],[-2,-26],[3,-1],[4,-47],[-8,-15],[-6,-39],[-7,-28],[2,-31],[2,-4],[4,-31],[5,-1],[2,-13],[-3,-14]],[[4921,5479],[-10,3],[-3,-4],[-15,4],[-5,4],[-18,3],[-3,-9],[16,7],[6,-3],[-22,-5],[-22,-3],[-38,-25],[-5,-8],[-12,-10]],[[4790,5433],[-1,2],[0,41],[5,10],[-1,33],[-10,7],[-1,13],[-6,7],[-10,3],[-6,8],[8,15],[1,23],[-5,23]],[[4764,5618],[7,-1],[3,10],[3,27],[-7,4],[2,14],[7,0],[5,-7],[2,15],[-8,9],[1,12],[5,5],[-5,6],[2,13],[-5,-2],[-3,7],[1,32],[4,6]],[[4778,5768],[4,2],[5,14],[5,1],[3,-12],[9,-6],[2,12],[7,-1],[1,18],[8,-5],[-1,8],[5,2],[2,-15],[-2,-13],[6,-3],[3,9],[11,4]],[[5402,5930],[2,-13],[7,-8],[3,-17],[-1,-10],[5,-3],[2,-34],[-2,-3],[-1,-26],[3,-28],[9,-22],[6,-8],[-7,-3],[-9,3],[-10,-4],[-15,3],[-7,-19],[11,-27],[17,-29],[3,-1],[8,-30],[2,-17],[4,-2],[-3,-16]],[[5449,5312],[-3,-5],[2,-25],[-18,15],[-7,3],[-10,-2],[-8,12],[-9,-3],[-27,0]],[[5369,5307],[-6,5],[-48,3],[-1,-7]],[[5314,5308],[-38,0],[-4,10]],[[5272,5318],[0,12],[4,27],[-1,12],[-8,18],[-2,13],[6,11],[-2,8],[-10,-11],[-10,10],[-2,29],[-11,-4],[2,17]],[[5238,5460],[6,19],[1,41],[4,2],[10,24],[10,13],[2,14],[10,13],[3,-8],[7,1],[1,9],[8,-5],[7,-14],[1,-16],[7,1],[6,15],[-1,8],[10,15],[-2,17],[5,9],[0,9],[5,14],[1,25],[16,23],[2,34],[9,9],[2,17],[-1,14],[6,5],[3,30],[12,34],[6,-1],[11,14],[1,37],[-3,10],[-10,4],[-3,40]],[[5390,5936],[7,0]],[[5397,5936],[-1,-11],[6,5]],[[5398,5936],[1,0]],[[5399,5936],[-1,0]],[[5944,7202],[0,0]],[[5944,7202],[-3,0]],[[5941,7202],[0,0]],[[5941,7202],[3,0]],[[5905,7208],[0,1]],[[5905,7209],[1,0]],[[5906,7209],[1,0]],[[5907,7209],[-2,-1]],[[5935,7200],[1,-2]],[[5936,7198],[-7,-1],[-1,11],[-17,-6],[-3,7]],[[5908,7209],[0,0]],[[5908,7209],[3,-5],[17,6],[1,-10],[6,0]],[[5807,5072],[0,-19],[-2,6],[2,13]],[[5762,5475],[2,-10],[7,-8],[0,-10],[16,-18],[12,12],[6,1],[5,-9],[7,12],[0,6],[10,-5],[0,-12],[4,-3],[7,-21],[10,-6],[0,-14],[6,4],[2,-10]],[[5856,5384],[2,-7],[-5,-19],[3,-15],[-4,-19],[8,-3],[8,-13]],[[5868,5308],[-10,-15],[-12,-24],[0,-15]],[[5846,5254],[-7,-6],[-2,-13],[-6,-5],[0,-21],[-3,-7],[-4,-25]],[[5824,5177],[-7,-9],[-3,-12],[1,-13],[8,12]],[[5823,5155],[-1,-6],[-1,-46]],[[5821,5103],[-7,-8],[-3,-9]],[[5811,5086],[-3,1],[-7,-28],[3,-9],[-3,-10]],[[5801,5040],[4,-14]],[[5811,4991],[-2,-3],[-1,-49],[4,11],[-1,-27],[-3,-5],[0,-30],[7,-28],[-1,-13],[-4,-5],[10,-49],[6,-14],[6,-6],[6,-13],[2,-29],[7,-10],[2,-12]],[[5849,4709],[-28,-8],[-19,-7]],[[5802,4694],[-16,-35],[0,-23],[4,-2],[2,9]],[[5792,4643],[4,-21],[-1,-21],[1,-34],[-5,-16],[0,-10],[-4,-17],[4,-25],[9,-11],[6,-17],[14,-4],[-2,11],[9,5],[0,-75],[-5,1],[-1,12],[-10,-10],[-7,1],[-2,14],[-6,17],[-4,-2],[-1,13],[-5,13],[-16,7],[-6,6],[-3,16],[-5,7],[-1,12],[-5,0],[-1,-16],[-7,-8],[-10,6],[-11,0],[-4,7],[-14,8],[0,26],[-17,-7],[-8,-8],[-4,5],[3,14],[-8,6],[-4,9]],[[5366,4846],[-9,2],[-4,-10],[-7,-3],[-7,16]],[[5363,4916],[8,-9],[0,-6],[8,11],[1,14],[7,-2],[12,12],[2,-8],[-3,-7],[1,-20],[9,0],[4,6],[10,27],[8,8],[1,8],[9,4],[10,35],[-1,29],[1,13],[-1,26],[12,25],[0,7],[11,30],[8,5],[12,27],[0,21],[3,25],[3,7],[-2,14],[1,28],[5,27],[-1,34],[16,57],[0,19]],[[5333,4894],[-5,13],[0,10],[-15,33],[-5,6]],[[5308,4956],[2,12],[8,13],[5,-10],[5,-2],[4,22],[-8,9],[3,10],[-7,12],[2,7],[-1,20],[4,-5],[6,5],[4,-5],[11,5],[-1,24],[5,5],[5,-5],[5,-26],[11,-4],[9,13],[1,6],[9,-22],[5,9],[0,20],[5,5],[1,41],[-2,10],[3,23],[-9,9],[-3,11],[-5,0],[0,27],[5,19],[5,0],[6,16],[-5,18],[0,11],[-14,6],[-7,-9],[-7,-3],[-4,22],[2,23],[3,9]],[[3018,5865],[-19,-13],[-7,-27],[-6,-1],[-7,-26],[-5,-13],[-2,-37],[-11,-37],[11,7],[1,-11],[4,2],[4,-28],[8,-16],[1,-19],[-4,-7],[1,-28],[7,-3],[3,-18],[7,-5],[5,4],[18,-4],[9,7],[10,-10],[7,-1],[18,-46],[5,-2],[7,8],[11,-5],[29,8],[4,-18],[-6,-10],[0,-17],[-5,-6],[0,-66],[5,-28],[4,-2],[5,-17],[-15,-35],[7,-6],[11,-18],[0,-12],[4,-17],[5,-39]],[[3056,4939],[-8,22],[-6,-2],[-7,6],[18,59],[0,7],[-26,25],[-10,-10],[-2,7],[-8,7],[-6,-11],[-10,-7],[-8,6],[-9,-5],[-7,8],[2,12],[-2,17],[-10,6],[1,12],[-4,13],[-7,3],[-5,10],[-5,2],[-4,26],[-6,11],[-5,2],[-8,14],[-5,-2]],[[2909,5177],[-11,11],[-3,-1],[-7,15],[-8,7],[-3,-12],[-9,-1],[-19,10],[-1,14],[-7,11],[-11,5],[-13,16],[-7,13]],[[2810,5265],[-5,10],[5,13],[7,-2],[-3,14],[0,13],[7,19],[10,-5],[0,9],[9,-4],[1,22],[12,29],[0,6],[7,20],[-6,-5],[-4,5],[-1,15],[3,16],[-2,57],[-5,2],[9,12],[0,7],[-7,20],[3,5],[1,19],[-5,6],[-3,17],[-7,14]],[[2836,5599],[2,14],[13,12],[1,13],[4,2],[-6,28],[-3,3],[3,11]],[[2850,5682],[12,-31],[1,-12],[5,0],[-1,29],[-4,10],[7,5],[10,15],[6,23],[12,4],[2,15],[-3,1],[3,13],[-1,20],[3,2],[0,16],[8,14],[11,14],[9,-5],[-3,-8],[7,-4],[4,18],[1,14],[10,-3],[15,1],[6,12],[10,13],[13,10],[3,11],[-1,9],[6,1],[12,10],[8,-6],[3,-18],[-6,-10]],[[6235,4487],[1,-17],[-4,8],[3,9]],[[6207,4496],[-7,9],[1,21],[4,1],[-1,-12],[3,-19]],[[4324,6037],[-5,9],[5,2],[0,-11]],[[4340,6065],[8,-16],[-5,-7],[-4,7],[1,16]],[[4365,6116],[5,-8],[-8,-3],[3,11]],[[4303,6173],[3,-6],[-7,-10],[-3,11],[7,5]],[[2676,5812],[7,-32],[16,-36],[7,-10]],[[2706,5734],[-3,-5],[-5,7],[-2,-8],[0,-23],[6,-10],[-5,-4],[2,-19],[-6,-11],[4,-16]],[[2697,5645],[-2,11],[-5,9],[0,15],[-9,5],[5,-10],[0,-10],[-12,12],[3,27],[-8,14],[-10,11],[-11,8],[1,10],[-12,21],[-4,-7],[9,-12],[-6,-16],[-6,15],[-10,5],[-5,19],[1,16],[3,2],[1,15],[-8,5],[7,2],[0,9]],[[2619,5821],[2,7],[21,-15],[5,7],[13,-10],[0,-5],[8,-5],[8,5],[0,7]],[[2698,6446],[5,-3],[4,-17],[-10,-9],[-8,8],[7,1],[-4,15],[6,5]],[[2836,6454],[6,-1],[-1,-7],[-5,8]],[[2823,6481],[-2,-7],[-7,5],[9,2]],[[2914,6329],[-1,4]],[[2913,6333],[-1,0]],[[2912,6333],[-2,-4]],[[2910,6329],[-10,-1],[-15,6],[-21,-3],[-2,-3],[-21,-3],[6,17],[9,10],[3,9],[-8,15],[-19,-1],[-13,20],[-1,18],[-6,16],[-14,-5],[-10,8],[-8,0],[-10,11],[-5,10],[-13,-1],[-13,8],[-13,4],[-7,11],[12,1],[1,7],[-7,6],[-25,1],[-10,-21],[-7,-9],[-15,0],[-2,-15],[-3,2],[-11,-11],[1,10],[-11,-3],[10,9],[5,0],[-2,15],[3,11],[12,15],[14,8],[3,6],[19,3],[9,8],[27,-2],[3,-6],[15,2],[6,-8],[10,1],[11,-12],[9,-20],[15,-1],[13,-13],[5,-1],[7,-16],[12,-5],[-3,9],[12,-16],[5,-11],[23,-17],[0,-5],[12,2],[3,-6],[-5,-10],[2,-9],[20,1],[7,-5],[9,-19],[5,2],[2,-9],[-3,-6],[-13,0],[-10,-9]],[[3089,5876],[-11,16],[3,2],[8,-18]],[[5905,7209],[1,0]],[[5941,7202],[-6,-2]],[[5908,7209],[6,1],[0,11],[14,-4],[17,8],[15,13],[0,-3],[-19,-22],[3,-11]],[[5938,7197],[0,0]],[[5938,7197],[0,0]],[[5937,7198],[0,0]],[[5944,7202],[-3,-6]],[[5941,7196],[0,6]],[[5936,7198],[0,-1]],[[5936,7197],[-3,-9],[-16,-11]],[[5917,7177],[-8,1]],[[5909,7178],[-7,3],[-5,11],[1,9],[7,7]],[[5907,7209],[1,0]],[[5411,8112],[4,8],[9,-9],[14,-7],[6,-6],[12,-3],[-7,-8],[13,-20],[10,7],[-4,12],[9,-2],[19,-24],[4,4],[7,-7],[8,0],[8,-23]],[[5523,8034],[-8,-1],[-12,-15],[-1,-11],[-15,-14],[-9,4],[-8,-15]],[[5383,7990],[-10,11],[-13,20],[-10,9],[-7,17],[3,13],[-5,11],[6,13],[26,11],[3,8],[9,1],[13,9],[-2,8],[15,-9]],[[5255,7927],[0,0]],[[5394,8289],[0,-4]],[[5394,8285],[0,4]],[[5371,8330],[6,-3],[4,-14],[-11,-5],[-6,4],[1,12],[6,6]],[[5262,8339],[4,3],[12,-11],[5,-15],[13,-5],[11,2],[1,-9],[-10,-8],[12,-2],[8,-7],[5,14],[11,2],[14,11],[13,4],[3,-10],[10,-8],[6,2],[3,-17],[13,-10]],[[5396,8275],[3,-23],[-5,-27],[12,-14],[-3,-9],[7,-21],[-4,-20],[2,-11],[7,-4],[2,-14],[-6,-20]],[[5269,7921],[-15,12],[1,-6]],[[5210,7923],[-2,4],[8,55],[9,11],[2,10],[-16,4],[-4,7],[-18,-1],[-13,17]],[[5176,8030],[4,20],[-6,3],[-5,16]],[[5166,8104],[-3,14],[9,22],[0,9],[-8,12],[5,10],[8,-4],[10,5],[8,28],[-10,5],[2,9],[8,1],[4,18],[0,16]],[[5199,8249],[-3,19],[6,6],[21,2],[6,-18],[0,12],[8,-4],[2,20],[9,1],[-8,29],[10,6],[-9,13],[-1,9]],[[5240,8344],[22,-5]],[[6201,5844],[-9,-28]],[[6192,5816],[-6,4],[-22,-7],[-4,8]],[[6160,5821],[0,12]],[[6160,5833],[0,24],[10,22],[7,22]],[[6177,5901],[8,-6],[3,9],[9,11]],[[6197,5915],[6,-14],[2,-25],[-10,-14],[-7,-3],[-3,-11],[13,3],[3,-7]],[[3294,6081],[4,-5],[0,-15],[-3,-3],[-3,16],[2,7]],[[5312,8347],[17,-10],[-1,-7],[-10,-1],[-8,6],[2,12]],[[5348,8350],[-12,-5],[4,7],[8,-2]],[[5272,8355],[7,-12],[-8,2],[1,10]],[[5413,8363],[6,-13],[-9,3],[3,10]],[[5287,8385],[7,0],[6,-15],[-2,-16],[-19,1],[-11,24],[19,6]],[[5342,8415],[7,-3],[0,-22],[-11,-12],[8,-11],[-13,-8],[5,-3],[-8,-10],[8,-5],[-9,-11],[-4,32],[-13,0],[-2,28],[13,12],[5,-13],[14,26]],[[5247,8463],[-2,-13],[-9,0],[11,13]],[[5240,8344],[-2,32],[-14,7],[3,14],[6,5],[-4,11],[-4,-6],[0,34],[16,1],[7,12],[9,-10],[-3,15],[18,12],[-32,-9],[-5,-13],[-7,3],[11,20],[17,1],[9,6],[10,19],[20,10],[-6,-10],[3,-20],[-7,-15],[2,-23],[12,-1],[5,-6],[-6,-16],[-11,2],[-4,-20],[-20,-21],[6,-16],[-7,-5],[8,-8],[-8,-10]],[[3006,6222],[2,16],[-6,10]],[[3002,6248],[0,0]],[[3002,6248],[-1,2]],[[3001,6250],[-1,4]],[[3000,6254],[8,11],[-2,9],[4,12],[-4,32]],[[3006,6318],[3,11],[14,-4],[4,6],[11,-10],[5,1],[4,-8],[11,0],[4,-20],[6,2],[11,-3],[-2,-5],[-11,2],[0,-8],[24,-7],[12,-20],[-9,-23],[-8,11],[-17,0],[-9,4],[-8,-14],[-9,-2],[-3,12],[-9,-8],[-5,2],[1,-9],[-10,-31],[-6,8],[-4,17]],[[5238,7310],[2,-6],[-7,-4],[1,-6],[-8,-8],[6,-5],[-4,-35],[3,-10],[-1,-19],[4,-5],[-4,-8],[-3,-30],[-11,-11],[-1,-9],[-7,-8],[-1,-14],[7,-25],[0,-11],[10,-7],[6,-15],[2,-20],[19,-24],[7,-62],[6,-44]],[[5264,6924],[-7,-7],[11,-29],[5,-37],[-2,-44],[4,-19],[-5,-34],[2,-21],[3,-4],[-2,-20],[-10,-9],[-3,-10],[18,-52],[0,-25],[5,-5],[1,-10],[6,-6],[7,5],[21,-13],[3,-4],[11,-43]],[[5332,6537],[-28,-35],[-99,-122],[-24,-40],[-17,-32],[-8,-8],[-39,-15]],[[5117,6285],[-26,-9],[-5,7],[4,15],[-2,11],[1,14],[-8,8],[-12,4],[-9,16],[-2,-4],[-9,5],[-4,14],[-14,12],[1,19],[-14,18],[-28,40],[-8,9],[-36,49],[-21,30],[-8,9],[-51,70]],[[4866,6622],[-64,78],[-16,21],[-28,33]],[[4758,6754],[0,22]],[[4758,6776],[0,59],[12,18],[18,22],[7,0],[8,8],[10,0],[27,5],[6,-5],[7,21],[11,17],[11,11],[6,11],[17,8],[3,14],[-8,21],[4,4],[1,15],[23,9],[-3,14],[12,5],[35,-3],[0,17],[6,7],[-11,14],[-4,11],[2,8],[-5,10],[2,18],[-4,8],[2,24],[-4,15],[3,6],[-4,7],[2,9],[-12,19]],[[4938,7203],[8,0],[18,16],[2,12],[11,12],[8,0],[1,7],[6,-5],[8,2],[5,15],[24,22],[25,4],[10,4],[8,-2],[11,13],[3,-4],[12,2],[9,8],[21,-1],[13,-7],[8,-8],[10,11],[14,5],[6,10],[12,-12],[8,2],[0,9],[9,-1],[7,-10],[13,4],[10,-1]],[[2774,5010],[-4,-1],[0,11],[5,9],[5,-3],[-6,-16]],[[2519,5143],[-4,-14],[-5,0],[9,14]],[[2493,5154],[0,-14],[-8,2],[1,11],[7,1]],[[2459,5168],[2,-12],[-7,2],[-1,8],[6,2]],[[2478,5174],[6,-6],[-5,-6],[-4,5],[3,7]],[[2463,5192],[4,-22],[6,-11],[-1,-9],[6,-10],[-4,-13],[-13,-3],[-3,10],[12,14],[-9,21],[-3,18],[5,5]],[[2909,5177],[-10,0],[6,-20],[4,-4],[-1,-13],[2,-13],[-5,0],[-4,-27],[-15,-40],[-16,-25],[-33,-24],[-9,-21],[1,-7],[-6,5],[-1,-22],[-8,-31],[-1,-17],[-4,-3],[-1,-12],[-4,-7],[-8,2],[-5,16],[0,9],[-8,2],[-9,11],[-8,-11],[-2,5],[4,10],[-5,9],[10,10],[-2,22],[-3,6]],[[2768,4987],[11,12],[6,40],[-3,5],[-4,-11],[-1,15],[-7,-22],[-11,18],[-7,5],[5,13],[-1,22],[-2,5],[2,15],[-4,19],[10,7],[3,21],[-1,11],[12,24],[1,31],[-2,13],[12,11],[19,9],[4,15]],[[5949,6986],[2,-6]],[[5951,6980],[17,-99]],[[5968,6881],[-4,-12],[-3,-33],[-5,-16],[0,-26],[-5,-14],[-13,15],[-6,17],[-10,16],[-1,26],[-8,12],[-5,14],[-2,23],[-4,-1],[-4,-16],[6,-10],[3,-16],[0,-14],[4,-6],[14,-42],[5,-5],[5,-36],[4,-4],[5,-25],[0,-11],[11,-43],[15,-51],[8,-35],[15,-29],[-8,3],[2,-41],[3,-16],[6,-13],[10,-6],[2,-8],[16,-29]],[[6024,6449],[-78,0],[-73,0],[0,14],[-6,-14],[-57,0],[-71,0],[-46,0]],[[5693,6449],[0,421],[-3,10],[-1,24],[-4,13],[6,20],[3,17],[-4,22],[0,14],[8,16]],[[5698,7006],[1,-7],[7,-2],[12,7],[14,-6],[27,-8],[1,-7],[8,-5],[5,4],[4,-9],[21,-6],[8,-9],[13,7],[16,22],[4,-4],[4,14],[3,-3],[11,6],[-9,-10],[9,2],[7,11],[13,-9],[8,5],[-3,-15],[7,-4],[1,-7],[6,2],[0,9],[6,-10],[7,-4],[31,7],[9,9]],[[6111,6097],[3,-11],[8,-6],[-12,2],[-2,8],[3,7]],[[6177,5901],[-6,15],[-8,12],[-5,18],[-14,19],[-7,23],[-5,10],[-10,7],[-5,9],[-9,-1],[-10,9],[-10,-6],[-5,10],[-3,-8],[-13,-5],[-6,16],[-3,-1],[-6,12],[-9,-45],[-6,19],[-5,1],[-2,-8],[-10,1],[-6,-4]],[[6014,6004],[-3,51],[6,17],[1,18],[3,5],[5,24],[-2,23],[3,6],[-1,17],[12,-2],[3,17],[21,13],[5,18],[5,9]],[[6072,6220],[9,-35],[0,-9],[6,-31],[1,-24],[3,-23],[4,-4],[0,-17],[5,-2],[2,-22],[4,-1],[-2,18],[3,4],[6,-7],[0,-17],[6,-8],[3,5],[6,-3],[3,-12],[12,-6],[12,-31],[2,-9],[9,-6],[3,-12],[3,1],[4,-13],[1,-13],[4,2],[6,-13],[0,-8],[10,-9]],[[5941,7196],[-3,1]],[[5938,7197],[-2,0]],[[4503,6784],[-3,-9],[-5,3],[8,6]],[[4571,6803],[1,-17],[-5,-6],[-6,6],[2,19],[8,-2]],[[4552,6828],[-7,-11],[-2,-14],[-7,-8],[-6,21],[12,4],[4,8],[6,0]],[[4604,6803],[7,35],[5,-4],[-4,-26],[-8,-5]],[[4503,6844],[4,-7],[-3,-16],[-4,14],[3,9]],[[4626,6861],[0,-6],[-9,-10],[-1,11],[10,5]],[[4919,7214],[-1,3]],[[4918,7217],[1,-3]],[[4851,7247],[-1,5]],[[4850,7252],[1,-5]],[[5043,7435],[2,-6],[-6,-9],[-6,2],[10,13]],[[5088,7483],[0,-11],[8,0],[-7,-23],[-4,-6],[-8,7],[-3,10],[-9,0],[9,14],[14,9]],[[5114,7490],[6,-11],[-3,-3],[-12,12],[9,2]],[[5055,7627],[0,0]],[[4950,7681],[11,-8],[1,-9],[16,-8],[6,-11],[6,3],[8,-7],[20,0],[0,9],[18,-7],[3,-7]],[[5047,7630],[8,-9],[8,4],[6,-5],[12,8],[7,-3]],[[5088,7625],[4,-5],[-6,-6],[3,-18],[-4,-6],[-23,-20],[-3,-10],[-17,-6],[-15,-8],[-8,-13],[5,-6],[-8,-7],[-7,-18],[-8,-14],[-11,-32],[3,-21],[6,-15],[7,-7],[-21,-22],[-9,-36],[4,-6],[-19,-4],[-12,-20],[-2,-15],[-7,-12],[-5,6],[-7,-1],[-3,-8],[-6,4],[-42,-1],[-7,-13],[-15,-5],[-4,-16]],[[4851,7264],[0,0]],[[4851,7264],[-6,-7],[-14,11],[-9,24],[-2,18],[-12,13],[-14,2]],[[4794,7325],[-3,18],[7,27],[6,2],[3,10],[-5,0],[-6,14],[1,17],[6,6],[3,12],[-5,3],[-5,22],[-6,12],[14,0],[4,14],[-4,17],[7,8],[-1,30],[-3,6],[8,16],[6,4],[6,14],[-10,6],[0,16],[-16,2],[-2,-7],[-11,-3],[-3,3],[-13,-3],[3,13],[-4,6],[-15,-10]],[[4756,7600],[-4,7],[8,12],[-7,6],[1,13],[-6,-4],[1,10],[-7,18],[12,17],[5,-3],[11,5],[-2,4],[13,17],[6,2],[13,-13],[36,2],[14,-2],[17,-9],[16,0],[17,6],[3,-6],[11,-2],[10,4],[16,-8],[10,5]],[[5628,8557],[8,2],[12,-10],[-17,-13],[-15,-4],[-10,7],[0,13],[22,5]],[[5631,8581],[8,-10],[-15,-8],[-3,11],[-9,4],[19,3]],[[5778,8608],[4,-7]],[[5782,8601],[-5,-1]],[[5777,8600],[3,-1]],[[5780,8599],[-7,-9]],[[5773,8590],[-4,-10]],[[5769,8580],[-12,1],[-9,-8],[13,-28],[6,-22]],[[5767,8523],[5,-8],[-7,-3],[-6,-16]],[[5759,8496],[-14,5],[-8,-6],[-15,19],[-26,13],[-21,-12]],[[5675,8515],[7,26],[-10,-3],[-13,5],[-6,13],[-3,20],[6,3],[-5,14],[18,5],[6,10],[30,1],[8,10],[35,-13],[27,-2],[3,4]],[[6160,5833],[0,-12]],[[6192,5816],[-8,-22],[5,-23],[5,-13],[6,-8],[1,-13],[4,-12],[5,-4],[12,-21],[51,-34],[31,-23],[28,0]],[[6332,5643],[-21,-43],[-31,-61],[-14,-31],[-14,-34],[-5,-9],[-27,3],[-20,-14],[-8,-12],[-1,-8],[-9,-7],[-12,-2],[-7,-13]],[[6163,5412],[-19,-3],[-3,2],[-9,19],[-26,-24],[-8,-27],[-25,12],[-15,0],[-7,11],[-28,36],[-23,1],[-3,10]],[[5997,5449],[-4,8],[0,27],[-2,9],[-11,-2],[-1,9],[-5,7],[-3,12],[0,13],[-4,11],[-3,24],[-6,5],[0,8],[-6,4],[-7,24],[-9,16],[-19,8],[-1,9],[5,9],[0,17],[12,3],[2,-5],[7,3],[5,9],[-1,50]],[[5946,5727],[4,33],[3,9],[-1,22],[7,18],[6,-7],[5,5],[0,25],[4,16],[-1,14],[6,8],[2,12],[11,31],[11,1],[0,19],[3,19],[6,24],[2,28]],[[5634,8649],[-3,-11],[-9,9],[12,2]],[[5804,9158],[-14,-7],[8,-9],[-8,-12],[7,-21],[18,-7],[18,-21],[-2,-10],[-23,-30],[-1,-9],[13,-20],[11,-25],[5,-23],[-10,-1],[2,-32],[-7,-6],[6,-11],[9,-1],[-2,-23],[14,-8],[1,-11],[-17,-18],[14,-16],[21,-15],[9,-17],[-9,-24],[-25,-28],[-15,-23],[-18,-22],[-10,-7],[-27,-31]],[[5772,8670],[-31,-8],[-19,-2],[-8,-8],[-15,0],[-6,-6],[-38,-11],[-10,-6],[-10,17],[3,10],[-12,-6],[2,10],[-10,0],[-12,14],[-5,-7],[-8,8],[-2,23],[5,3],[3,23],[-5,25],[-5,3],[3,22],[-6,2],[3,27],[13,9],[-5,12],[11,-3],[13,8],[-5,9],[17,9],[3,10],[13,6],[10,18],[17,18],[5,16],[25,8],[-4,14],[2,17],[-33,19]],[[5671,8973],[-15,37],[10,20],[-12,20],[5,16],[-7,26],[5,3],[-23,26],[-21,5],[-41,32]],[[5572,9158],[12,1],[7,14],[10,-2],[21,-31],[22,-6],[20,12],[27,-15],[7,13],[18,12],[-1,17],[6,22],[15,15],[16,-2],[22,10],[17,-16],[18,-7],[6,-12],[-14,-14],[3,-11]],[[9954,4093],[-5,-13],[-7,0],[12,13]],[[9951,4184],[0,-5],[9,-12],[2,-26],[-10,-2],[-3,-6],[-10,-2],[-15,11],[-1,12],[5,7],[-2,6],[7,12],[18,5]],[[0,4252],[9987,-23],[-2,-11],[4,2],[7,14],[0,-17],[-16,-2],[-1,7],[-11,-10],[-4,-9],[-7,15],[12,16],[13,4],[2,8],[-9984,6]],[[3351,2225],[4,-3],[-17,-28],[-11,-4],[-4,-11],[-8,-4],[-11,12],[16,3],[-4,17],[12,1],[-13,15],[11,-5],[9,6],[15,-3],[1,4]],[[3368,2227],[7,2],[4,-8],[12,3],[4,-18],[-17,-11],[-16,0],[8,-4],[-12,-6],[1,-10],[-11,5],[3,-11],[-9,12],[6,17],[13,11],[-3,14],[10,4]],[[6541,3981],[5,-2],[5,-13],[-1,-13],[-7,-1],[-6,6],[-4,14],[8,9]],[[6252,4454],[4,-5],[-1,-13],[-3,-1],[0,19]],[[3483,5317],[7,10],[4,16],[2,29],[4,19],[-10,24],[-3,26],[-1,25],[4,16],[5,9]],[[3495,5491],[3,5],[3,18],[12,-10],[11,-4],[6,-6],[10,-19],[22,-31],[3,-18],[-1,-11]],[[3306,6034],[4,-11],[-1,-7],[-9,13],[1,11],[5,-6]],[[3288,6120],[2,-14],[-4,-5],[-3,22],[5,-3]],[[3295,6124],[5,-5],[-9,-3],[1,18],[3,-10]],[[5262,7641],[2,-7],[1,-27],[-4,-7],[-2,-24],[-7,-9],[-8,9],[3,8],[-7,3],[2,19],[-5,15],[3,10],[13,13],[6,-1],[3,16],[0,-18]],[[5160,8036],[5,-6],[11,0]],[[5172,7849],[16,7]],[[5195,7827],[-7,-5],[5,-18],[5,-6],[-2,-11],[-13,-6],[3,-11],[8,-5],[1,-9],[-6,-11],[4,-14],[10,-7],[9,3],[-4,-22]],[[5208,7705],[-2,-3]],[[5206,7702],[-2,-1]],[[5204,7701],[-11,-10],[-9,-23],[-14,-6],[-22,9],[0,7],[-15,1],[-7,6],[-11,0],[-5,6],[-13,-17],[-10,-6],[-3,-9],[0,-26],[4,-8]],[[4950,7681],[9,13],[6,48],[-1,11],[4,49],[11,-11],[0,8],[-14,16],[3,6],[1,26],[-20,14],[-9,18],[4,14],[-5,12],[-8,1],[-3,15],[-6,-3],[-11,11],[-18,6],[-4,6],[-11,-5],[0,7],[-9,7],[12,5],[-14,12],[1,13],[10,6],[22,0],[2,9],[12,2],[10,-20],[12,9],[16,-4],[4,8],[-1,28],[-6,8],[0,18],[16,0],[-1,-11],[5,-6],[30,-4],[8,7],[-5,3],[2,11],[10,9],[18,7],[11,15],[0,37],[10,8],[17,4]],[[4800,8771],[13,-21],[-14,13],[1,8]],[[4808,8772],[9,-11],[-11,3],[2,8]],[[9394,5584],[3,-9],[-4,-1],[1,10]],[[5308,4956],[-3,13],[-10,15],[0,9],[-17,28],[-8,19],[7,-8],[5,3],[-8,8],[-7,1],[-2,13],[-9,21],[1,10],[8,2],[-2,7],[-4,-5],[-9,16],[-1,11],[-6,18],[5,6],[2,-7],[2,12],[6,13],[1,14],[-1,27],[2,-7],[11,-2],[-8,7],[-5,19],[9,-6],[-2,24],[3,7],[4,-4]],[[5272,5240],[6,1],[36,-1],[0,68]],[[4964,8107],[6,-6],[-7,-6],[-6,6],[7,6]],[[4883,8252],[-4,-10],[-6,16],[10,-6]],[[4825,8298],[-11,-2],[-8,20],[-10,-17],[-14,5],[-9,13],[11,10],[-5,6],[11,2],[8,19]],[[4798,8354],[20,10],[13,-2],[0,-8],[18,-35],[-7,-6],[-11,-19],[-6,4]],[[4857,8375],[-7,14],[7,-1],[0,-13]],[[4830,8398],[2,-9],[-7,-6],[-6,6],[1,10],[10,-1]],[[4839,8409],[-5,-13],[-4,6],[9,7]],[[4832,8443],[11,-10],[-2,-5],[-18,-4],[7,10],[-7,5],[9,4]],[[4795,8489],[3,-18],[-4,1],[1,17]],[[4800,8503],[1,-8],[-10,7],[9,1]],[[4824,8506],[5,-20],[14,-6],[-9,-6],[-10,1],[-13,15],[11,5],[2,11]],[[4827,8543],[-5,-20],[-16,-15],[3,11],[-7,3],[2,15],[23,15],[0,-9]],[[4907,8560],[9,0],[-6,-20],[-22,-20],[6,-7],[-8,-14],[22,8],[20,-3],[16,2],[7,-13],[-6,-9],[-6,-24],[-9,-18],[-10,-8],[8,-10],[-21,-15],[9,-4],[11,6],[13,-8],[14,-19],[4,-29],[8,-27],[19,-9],[4,-13],[8,-7],[-4,-5],[11,-24],[-7,1],[12,-23],[-7,-19],[8,-7],[5,11],[20,-2],[11,-10],[3,-16],[-5,-24],[-4,0],[-14,-26],[-11,-12],[12,-3],[13,1],[-3,-14],[-11,-13],[-5,1],[-14,-11],[-12,6],[-18,-6],[-3,7],[-18,-7],[-14,-1],[2,-8],[-27,9],[-13,-6],[-2,-17],[-8,-7],[-11,10],[-16,-3],[-12,-21],[-8,10],[19,25],[7,14],[1,12],[6,-1],[2,11],[12,3],[11,-4],[11,2],[8,20],[-23,-9],[-8,12],[-13,-3],[0,6],[-10,3],[-8,-7],[-10,18],[13,6],[20,18],[2,9],[-2,24],[-17,-4],[11,12],[5,11],[27,10],[8,19],[-4,11],[5,2],[-1,14],[-9,-6],[-11,23],[9,26],[-19,-10],[-11,5],[1,-10],[-13,10],[-5,-5],[-1,21],[11,19],[-15,29],[-8,-15],[-4,-23],[-5,-1],[3,22],[-1,18],[5,24],[8,18],[-12,-13],[-5,11],[0,17],[5,10],[-6,19],[7,25],[12,0],[-5,20],[11,21],[20,-6],[26,7]],[[4912,8589],[-2,-13],[-4,10],[6,3]],[[4964,8673],[4,-27],[-15,5],[9,7],[2,15]],[[6206,7550],[-23,27],[-5,-9],[-8,5],[-9,-5],[-8,5]],[[6153,7573],[7,17],[-8,51],[-10,6],[-3,11],[-21,13],[-8,10]],[[6110,7681],[2,9],[16,0],[27,-19],[21,2],[7,-6],[6,1],[10,-14],[17,-9],[-2,-8],[6,-4],[16,12],[7,-8],[4,8],[11,-14],[11,0],[-2,-18],[8,-10],[14,-9]],[[4995,5824],[5,-3],[-3,-26],[10,-13],[3,-27],[-4,-30],[8,0],[-2,-24],[2,-8],[-4,-8],[9,-19],[-3,-11],[0,-28],[-3,-15],[4,-3],[-1,-23],[-3,-2],[6,-28],[8,-9],[5,-13]],[[5032,5534],[-7,-19],[-15,1],[-21,-17],[-12,-16],[-6,0],[-6,-7],[-11,-5],[-10,-15],[-7,8],[-24,12]],[[4913,5477],[8,2]],[[4851,7264],[0,0]],[[4683,5897],[-3,-14],[6,-9],[6,11],[4,0],[8,-17],[4,13],[5,5],[16,-11],[2,7],[14,19],[5,-5],[2,-20],[3,-1],[-1,-21],[13,-17],[-9,-23],[5,5],[6,-3],[0,-28],[9,-12],[0,-8]],[[4764,5618],[-6,8],[-1,-12],[-11,-17],[-5,13],[-4,0],[3,19],[-5,25],[0,11],[-8,10],[-7,-7],[-6,3]],[[4714,5671],[-3,1],[-5,-11],[-3,4],[5,15],[-3,10],[0,15],[-4,1],[2,13],[-15,39],[-19,0],[-17,-7],[-5,-26],[-12,-21],[-5,-1]],[[4630,5703],[4,8],[-12,23],[0,12],[-4,-2],[-6,13],[-20,29],[4,20],[-5,-10],[-3,21],[-4,-14],[-2,11]],[[4582,5814],[8,30],[12,8],[16,4],[0,19],[-6,11],[7,3],[-1,24]],[[4618,5913],[19,-3],[-1,-8],[17,-6],[3,-5],[7,6],[20,0]],[[4534,5935],[-2,17],[4,7],[8,-14],[5,5],[-8,2],[-1,13]],[[4540,5965],[29,0],[4,12],[7,2],[8,-5],[2,-7],[6,1],[4,-10],[12,7],[3,-14],[-15,-6],[-5,7],[-11,6],[-6,7],[-1,-9],[-5,-4],[-12,-1],[0,-11],[-24,1],[-2,-6]],[[4553,5826],[1,-7],[-6,3],[5,4]],[[4582,5814],[-1,9],[-5,-7],[-7,20],[5,15],[8,-2],[-9,7],[-2,-8],[-3,8],[2,11],[8,-1],[-5,6],[-6,-7],[-11,-6],[3,14],[-7,-6],[-6,6],[1,13],[-5,-2],[-7,9]],[[4535,5893],[14,7],[15,-1],[13,14],[41,0]],[[5272,5240],[-3,6],[-10,3],[3,15],[10,28],[0,26]],[[5243,5399],[5,-8],[-8,-24],[-6,4],[0,10],[4,1],[1,11],[4,6]],[[5663,7229],[13,-11],[9,5],[22,-8],[8,3],[-1,-12],[9,6],[7,-7],[-2,-5],[-25,-2],[-16,-4],[0,9],[-10,6],[-24,5],[1,17],[4,5],[5,-7]],[[5756,7245],[-1,-17],[-3,-5],[4,22]],[[5640,7268],[-4,-2],[0,12],[4,-10]],[[5784,7281],[-5,-19],[-8,-12],[-2,13],[5,13],[10,5]],[[5710,7319],[-4,-10],[-2,10],[6,0]],[[5731,7350],[-10,-7],[2,7],[8,0]],[[5748,7357],[-5,-6],[-5,6],[10,0]],[[5576,7363],[5,-7],[-4,-5],[-5,10],[4,2]],[[5690,7366],[3,-13],[-8,16],[5,-3]],[[5571,7398],[6,-23],[-8,2],[-3,14],[5,7]],[[5723,7405],[3,-16],[-4,-9],[-5,25],[6,0]],[[5651,7423],[11,-14],[8,0],[5,-29],[7,0],[0,-10],[-7,1],[-8,23],[-11,0],[-1,9],[-12,17],[-9,-1],[13,12],[4,-8]],[[5733,7446],[6,-17],[-13,0],[4,10],[-10,-4],[-2,8],[13,8],[2,-5]],[[5553,7474],[-2,-18],[-5,18],[7,0]],[[5706,7488],[-2,-14],[-9,3],[0,9],[11,2]],[[5688,7522],[-8,1],[4,10],[4,-11]],[[5586,7536],[18,3],[4,11],[23,3],[5,10]],[[5731,7585],[7,-8],[1,-14],[-8,-6],[0,-15],[-8,-13]],[[5723,7529],[-3,5],[-11,2],[-11,8],[-12,-10],[-8,6],[-9,-12],[-11,1],[4,-19],[-4,-10],[8,-6],[-1,-11],[-9,17],[-8,0],[0,-6],[10,-14],[-9,6],[-2,14],[-12,9],[0,14],[-6,-6],[-3,-28],[8,-15],[2,-11],[5,-6],[7,-17],[-11,9],[-4,-7],[6,-16],[-9,-6],[17,-11],[0,-9],[8,-2],[13,-15],[-2,-5],[2,-25],[-3,-1],[-12,22],[-15,-11],[5,-3],[0,-11],[10,-10],[-11,-8],[-11,16],[0,-8],[7,-21],[3,-20],[0,-17],[-11,22],[-5,-6],[-4,-14],[0,13],[-6,19],[-6,-1],[0,-14],[-7,3],[-3,13],[3,14],[-3,15],[-13,17],[7,16],[7,2],[6,9],[19,-10],[10,-12],[9,10],[-5,6],[-17,14],[-1,-6],[-12,4],[-12,-7],[-4,8],[-8,-4],[-5,24],[-4,-1],[-1,16],[-13,20],[-2,14],[-5,4]],[[5583,7526],[0,0]],[[5582,7531],[4,5]],[[3288,5876],[-5,-2],[5,13],[0,-11]],[[3786,8632],[-12,-4],[4,9],[8,-5]],[[3787,8645],[3,-11],[-11,4],[-4,10],[12,-3]],[[3846,8835],[12,-11],[-9,0],[-12,15],[9,-4]],[[3579,8886],[3,14],[6,-4],[-9,-10]],[[3876,8910],[-1,-14],[-10,26],[11,-12]],[[3961,8973],[2,-9],[-18,-2],[0,10],[16,1]],[[3583,9209],[9,-5],[-9,-16],[-11,9],[11,12]],[[3535,9210],[20,-7],[5,-10],[-9,-9],[-40,-14],[-19,9],[8,9],[-21,2],[3,11],[-6,23],[14,9],[30,-7],[15,-16]],[[4292,9258],[5,-6],[-22,-8],[-56,-5],[5,12],[24,14],[11,0],[27,11],[6,-18]],[[3513,9274],[-13,6],[9,10],[4,-16]],[[3537,9281],[-14,10],[21,1],[-7,-11]],[[3472,9375],[-13,-11],[-4,9],[17,2]],[[4335,9380],[22,-3],[33,-25],[-20,4],[17,-11],[-5,-9],[-50,20],[-10,8],[0,15],[13,1]],[[4354,9391],[36,-8],[-3,-13],[-17,-1],[-14,11],[-38,1],[0,5],[36,5]],[[4333,9407],[21,-8],[-47,6],[55,-12],[-48,-4],[-29,9],[13,12],[35,-3]],[[4418,9469],[11,-1],[11,-14],[-32,-5],[-18,7],[3,8],[25,5]],[[4439,9496],[13,-2],[-12,-10],[-14,7],[13,5]],[[4505,9520],[-7,-8],[21,-2],[-15,-6],[-30,-2],[2,17],[29,1]],[[4481,9596],[3,-41],[-16,34],[13,7]],[[2994,9643],[23,-5],[-21,-3],[-2,8]],[[4445,9674],[18,-11],[-32,9],[14,2]],[[4519,9788],[-33,-16],[-26,9],[49,14],[10,-7]],[[3575,9904],[-53,7],[4,13],[49,-20]],[[3722,9942],[44,-15],[-28,-11],[-44,11],[-20,15],[48,0]],[[3880,9983],[38,-14],[-47,9],[9,5]],[[4105,9998],[43,-1],[139,-17],[-12,-6],[-116,-3],[-142,-14],[100,5],[47,8],[96,-4],[39,6],[2,-18],[34,4],[72,-17],[-31,-17],[-54,-4],[-152,-7],[-81,-17],[1,-9],[30,8],[107,13],[89,-4],[-3,-12],[-44,-9],[-2,-11],[85,20],[2,14],[51,4],[11,-19],[-7,-14],[-56,-36],[-16,-18],[53,26],[58,30],[75,-8],[37,24],[53,-1],[57,-12],[13,-8],[-64,-27],[-24,0],[7,-12],[-31,-8],[-46,1],[36,-15],[-18,-11],[-40,-3],[-44,6],[-25,-22],[11,-12],[20,3],[-9,-21],[17,-12],[-27,-8],[0,-11],[-28,-2],[-11,-42],[-18,-22],[18,0],[10,17],[51,-16],[-6,-10],[-19,10],[-22,-2],[38,-26],[10,6],[21,-5],[2,-18],[-10,-12],[-35,13],[-27,-3],[-24,-13],[-13,12],[-14,-8],[10,-12],[18,1],[0,-16],[19,4],[30,-4],[6,-11],[-15,-4],[21,-14],[3,-29],[-17,-4],[-4,9],[-16,-2],[-26,17],[8,-12],[24,-14],[-8,-27],[30,-5],[7,6],[13,-11],[-18,-15],[-16,2],[-7,11],[-36,-2],[-11,-18],[9,-27],[-2,21],[9,3],[36,-10],[-7,-26],[-28,3],[-18,-14],[-36,11],[-14,9],[-1,13],[-10,-16],[-25,-4],[-17,-16],[24,-7],[-16,-14],[22,-6],[6,-12],[-19,-7],[21,1],[23,-15],[33,-16],[-17,-14],[20,9],[14,-3],[-17,-11],[2,-17],[9,14],[10,-1],[0,-35],[8,-18],[-13,-10],[-11,3],[-7,22],[-2,-22],[-19,0],[-16,10],[-9,27],[-24,13],[-15,14],[-20,5],[-16,-3],[-26,23],[-16,-2],[31,-13],[-8,-6],[26,-8],[25,1],[11,-12],[-16,-13],[-24,-7],[-44,2],[14,-7],[-11,-17],[2,-11],[40,7],[13,-6],[-17,-3],[-27,-14],[-16,-3],[34,-3],[11,16],[15,-4],[29,13],[23,-11],[25,-7],[33,0],[0,-8],[-14,0],[-4,-12],[-19,-2],[1,-10],[-13,-8],[-17,-1],[2,-9],[-26,-21],[-31,-10],[-13,-9],[-23,1],[1,-6],[-24,-7],[-9,4],[-5,-11],[-18,10],[-1,-16],[-30,-3],[-30,17],[6,-17],[-4,-12],[-11,1],[-16,-12],[-12,-33],[-13,-5],[-1,-15],[-27,-26],[-15,-2],[-14,-18],[-13,3],[-20,-12],[-17,14],[15,16],[-12,0],[-7,-21],[-14,-1],[8,-16],[-17,1],[-7,-6],[-8,9],[-14,-12],[2,-15],[-14,-14],[-10,8],[-13,-3],[1,-12],[14,-11],[-1,-13],[-13,-9],[-12,1],[3,-8],[18,-1],[7,-27],[-13,0],[6,-7],[-18,-12],[-13,6],[12,-15],[-4,-15],[-21,-8],[-6,-11],[9,-15],[-21,9],[12,-11],[9,-1],[-8,-21],[11,5],[-6,-22],[-8,-6],[7,-7],[-17,-13],[9,-6],[-3,-17],[-20,3],[20,-7],[-12,-15],[-11,5],[14,-18],[0,-9],[-29,6],[-13,-12],[-12,10],[3,19],[-9,0],[6,10],[-15,-11],[-11,20],[6,8],[-3,10],[-10,-9],[-22,-8],[3,7],[-19,-8],[-17,0],[14,12],[-20,6],[-4,9],[7,5],[-20,5],[-1,9],[-10,13],[8,10],[-10,16],[-15,2],[-8,9],[5,28],[-12,7],[15,8],[-28,-3],[-2,19],[-11,10],[3,23],[-6,8],[14,-1],[13,13],[6,16],[9,-13],[-4,16],[-11,4],[-15,-12],[2,10],[-19,-33],[-9,0],[1,29],[22,16],[-10,2],[-8,-13],[-23,50],[-12,0],[-4,23],[19,15],[18,9],[21,21],[-21,-13],[-3,-7],[-33,-23],[-9,1],[1,22],[11,11],[16,-1],[5,10],[-34,3],[-6,14],[49,13],[17,-3],[12,6],[-28,-2],[-28,-7],[-21,-2],[2,10],[25,18],[15,2],[12,-7],[24,4],[-49,5],[-24,-17],[0,18],[22,10],[-5,12],[15,-1],[16,-8],[21,2],[-6,8],[7,12],[-13,0],[9,-8],[-31,-6],[-3,7],[-15,-1],[13,14],[18,4],[23,-2],[-5,11],[7,22],[16,-8],[0,19],[-17,-7],[10,18],[-2,11],[15,4],[-8,11],[-24,0],[-25,5],[-25,17],[-22,4],[-15,18],[11,6],[48,-8],[25,-15],[24,-6],[5,11],[-14,-6],[1,16],[-24,21],[17,-6],[-5,9],[-22,-1],[16,9],[-4,6],[-19,-12],[5,13],[24,4],[-8,4],[-21,-8],[-7,9],[25,4],[-41,6],[-4,7],[-14,-11],[0,-11],[-14,-5],[-24,1],[-17,17],[17,13],[-8,8],[19,13],[-21,11],[17,5],[10,12],[-3,15],[-18,4],[4,18],[-30,38],[7,13],[-16,5],[7,11],[-21,13],[4,8],[-31,10],[-14,17],[13,3],[-7,17],[-16,-2],[-4,10],[-26,9],[-17,-2],[-4,9],[-42,5],[-31,8],[-6,-11],[-27,5],[1,-9],[-35,-1],[7,10],[-15,1],[-6,-12],[-18,11],[-7,-6],[23,-12],[-58,9],[-30,15],[36,17],[-57,7],[-26,11],[12,12],[50,5],[21,6],[50,-3],[14,9],[-19,13],[-24,-11],[-45,-4],[-29,6],[21,8],[-33,-1],[13,9],[-30,-4],[-44,23],[8,21],[91,16],[8,10],[43,9],[42,-2],[31,23],[-5,30],[-56,2],[-12,15],[39,20],[28,7],[8,12],[46,13],[44,-9],[16,6],[6,19],[-19,15],[104,24],[90,11],[24,-14],[-6,-33],[24,17],[-1,11],[85,-18],[-31,13],[44,0],[-31,12],[-15,20],[65,-8],[77,-19],[22,-14],[25,1],[-8,28],[38,-1],[-68,26],[132,2],[-157,7],[28,14],[74,4],[6,5],[54,-17],[95,1],[-42,3],[53,5],[-49,3],[0,13],[180,11]],[[2530,6098],[8,-8],[4,5],[7,-7]],[[2549,6088],[-17,-28],[-9,-9],[-2,-15],[2,-14],[-6,-9]],[[2517,6013],[-6,-1],[2,-10],[-5,-3],[-10,-17],[-1,-9]],[[2497,5973],[-15,12],[-19,1],[-9,9],[-17,25]],[[2437,6020],[3,7],[-1,33],[1,10],[11,38],[36,0],[2,20],[-7,4],[-4,17],[-8,7],[-1,7],[-9,13],[12,0],[1,33],[50,0]],[[9022,5957],[-2,-11],[-3,10],[5,12],[4,-3],[-4,-8]],[[3409,5499],[-2,-9],[4,-10],[-2,-8],[-13,-2],[-5,-8],[2,-9],[-6,-39],[4,-7],[2,-13],[5,-8],[0,-8],[10,0],[2,-28],[6,-15],[0,-8],[9,-27],[6,-5]],[[3312,5482],[-18,43],[8,14],[-2,28],[9,7],[5,-2],[11,21],[-7,0],[-5,21],[5,19],[5,3],[15,22],[-6,18]],[[3332,5676],[4,-9],[7,-3],[15,-20],[17,-36],[1,-15],[-4,-18],[1,-10],[3,13],[4,2],[10,-8],[9,-18],[2,-9],[6,-1],[5,-11],[0,-27],[-3,-7]],[[8172,6482],[5,-7],[-5,-9],[-9,5],[5,9]],[[7037,2130],[10,-6],[-7,-4],[-3,10]],[[2691,6046],[-12,-1],[-4,-8],[-12,-4],[-8,-7],[-8,2],[-3,9],[-6,-6],[-4,-11],[0,-12],[-5,-3],[-5,-13],[-6,-5],[0,-7],[-8,9],[-8,-14],[-13,-2],[2,-26],[-6,-2],[0,-10],[-11,-5]],[[2574,5930],[-4,22],[-10,3]],[[2560,5955],[3,17],[-2,12],[-6,-1],[-3,6],[-10,-8],[0,7],[-7,3],[-8,17],[-10,5]],[[2549,6088],[8,9],[7,2],[7,-7],[2,4],[12,-6],[4,3],[12,-1],[13,11],[15,-6],[11,6],[18,-9],[13,-22],[-8,6],[10,-19],[8,0],[-7,9],[9,-6],[4,-13],[4,-3]],[[5512,7634],[1,-9]],[[5513,7625],[-8,12],[-27,21],[12,-5]],[[5466,7679],[-8,-5],[-2,8],[10,-3]],[[5412,7751],[11,-14],[-10,8],[-1,6]],[[5401,7772],[0,-20],[-5,27],[5,-7]],[[5404,7789],[3,-10],[-5,-3],[2,13]],[[5458,7861],[5,-3],[18,-29],[6,0],[9,-10],[17,0],[11,9]],[[5524,7828],[3,-33],[12,-10],[-10,-3],[-1,-17]],[[5488,7656],[-12,12],[-6,13],[-14,10],[-11,-4],[-2,10],[-14,14],[-9,17],[8,5],[-15,23],[-1,23],[-9,12],[-7,2],[-3,-20],[-8,-11],[-8,20],[0,20]],[[5377,7802],[9,-3],[13,3],[6,6],[20,-9],[-2,17],[12,6],[-2,20],[9,5],[8,12],[8,2]],[[3002,6248],[-1,2]],[[2977,6260],[-12,8],[1,7],[11,-10],[0,-5]],[[3000,6254],[2,-6]],[[3006,6222],[-8,11],[-24,-5],[-11,6],[-8,0],[-6,-5],[1,-8],[-12,16],[-7,4],[2,15],[6,2],[16,-10],[24,-4],[4,8],[7,-2],[0,7],[-13,23],[1,19],[3,2],[-9,11],[-11,1],[-2,6],[8,10],[11,2],[13,-11],[15,-2]],[[5614,7970],[21,-26]],[[5635,7944],[-8,-11],[-4,2],[-13,-17],[-4,-19],[-5,-6],[-4,-21],[-6,-5],[-1,-12],[-6,-10],[-7,2],[-5,-8],[-10,-1]],[[5562,7838],[-16,4],[-11,-11],[-11,-3]],[[5458,7861],[-7,21],[-4,-1]],[[5476,7947],[6,-1],[10,-13],[15,0],[14,3],[-1,10],[7,4],[14,3],[4,7],[8,-7],[12,11],[3,13],[9,3],[9,-5],[11,3],[5,-11],[12,3]],[[8426,4574],[2,-3],[-6,-11],[-11,-6],[0,8],[6,3],[10,17],[-1,-8]],[[8386,4582],[-1,-10],[-6,2],[7,8]],[[8333,4644],[9,-18],[4,2],[10,-24],[-10,-15],[-9,5],[-5,14],[-10,12],[-15,3],[-4,11],[10,10],[20,0]],[[8473,4637],[-2,-11],[-16,-29],[-8,0],[-2,-6],[-12,-5],[-3,9],[7,6],[-5,10],[2,16],[10,18]],[[8444,4645],[2,-5],[7,4],[3,10]],[[8456,4654],[13,13]],[[8469,4667],[7,-5],[0,-8],[-6,-2],[3,-15]],[[8318,4695],[-3,-16],[1,18],[2,-2]],[[8424,4708],[1,-8],[-8,-2],[4,11],[3,-1]],[[8242,4700],[-7,-24],[3,-4],[-11,-3],[-10,6],[6,6],[-1,15],[7,13],[8,-1],[5,-8]],[[8442,4708],[-5,-4],[-10,-16],[-5,4],[7,9],[-2,6],[12,4],[3,-3]],[[8450,4700],[-5,-10],[-4,6],[11,16],[-2,-12]],[[8858,4702],[-10,-1],[7,12],[3,-11]],[[8265,4700],[-2,12],[5,2],[-3,-14]],[[8459,4715],[2,-3],[13,1],[1,-11],[-22,-6],[3,18],[3,1]],[[8550,4716],[8,-3],[-2,-6],[-6,9]],[[8276,4716],[4,0],[5,-15],[6,7],[6,-6],[8,2],[1,-19],[-18,-12],[0,10],[-7,-11],[-12,-2],[-9,-9],[-7,-2],[-11,5],[2,11],[-1,13],[12,14],[6,-8],[4,5],[6,-18],[14,4],[-6,11],[-4,1],[-6,16],[7,3]],[[8415,4713],[2,-8],[-7,-8],[2,-8],[-13,-10],[-8,1],[-9,-9],[-11,5],[-1,-7],[-12,0],[-2,6],[-7,2],[-9,-3],[-13,4],[0,11],[13,18],[19,-4],[15,-16],[15,11],[6,-12],[6,1],[0,7],[12,12],[-4,4],[3,8],[3,-5]],[[8208,4712],[5,-15],[-14,-15],[-7,13],[-11,8],[-3,14],[12,-6],[8,8],[10,-7]],[[8604,4733],[0,-14],[-5,14],[5,0]],[[8519,4741],[-6,-15],[-15,2],[-5,-7],[5,21],[11,-2],[8,7],[2,-6]],[[8857,4720],[-12,-20],[-23,0],[5,24],[6,21],[6,8],[11,6],[5,-1],[7,-11],[-5,-27]],[[8656,4770],[0,-26],[-8,-16],[-7,-6],[3,28],[10,23],[2,-3]],[[8664,4774],[1,-9],[-7,7],[6,2]],[[8166,4787],[3,-6],[-12,-8],[-3,-6],[-12,-1],[-12,5],[4,15],[32,1]],[[8204,4789],[6,-5],[-10,-1],[4,6]],[[8738,4813],[-1,-5],[-6,7],[3,6],[4,-8]],[[8733,4812],[3,-8],[-6,-16],[-7,2],[2,30],[-1,7],[9,-15]],[[7948,4837],[3,4],[13,-9],[8,1],[0,9],[9,-3],[2,-10],[7,-5],[6,2],[5,-8],[8,5],[5,-14],[2,-16],[11,-1],[10,-5],[4,4],[11,-7],[7,4],[5,-7],[7,8],[2,19],[4,5],[7,-1],[3,-15],[12,3],[12,-14],[16,1],[0,-13],[6,-8],[-2,-17],[16,-15],[12,4],[7,6],[13,-11],[-3,-41],[7,-10],[-18,4],[-20,20],[-6,-1],[-10,-8],[-9,6],[-16,4],[-2,-6],[-9,6],[-11,0],[-13,8],[-14,14],[-18,10],[-23,1],[-2,-7],[-18,4],[-11,14],[-25,5],[-4,10],[4,15],[-7,-1],[-7,10],[-20,-2],[3,10],[2,-8],[4,17],[5,1],[1,18],[5,17],[4,-6]],[[8346,4810],[-1,39],[3,-8],[-2,-31]],[[8685,4859],[3,-16],[-4,0],[1,16]],[[8737,4870],[5,-12],[1,-27],[-5,-14],[-8,8],[-1,9],[2,19],[6,17]],[[7843,4868],[-9,8],[9,-3],[0,-5]],[[8386,4889],[2,1],[2,-20],[-3,-2],[-4,10],[3,11]],[[8410,4898],[-4,-6],[0,-18],[-10,-1],[3,23],[-2,8],[11,13],[2,-19]],[[8422,4913],[0,-9],[-5,6],[-2,-24],[7,-6],[-2,-7],[-8,-5],[0,-10],[-6,-1],[-2,9],[5,17],[3,22],[0,15],[4,10],[6,-17]],[[8418,4952],[5,-5],[-3,-8],[-5,6],[3,7]],[[8564,4977],[-2,-8],[-9,-3],[3,10],[8,1]],[[8225,4951],[-3,23],[3,18],[4,5],[1,-36],[-5,-10]],[[8523,5004],[7,-6],[-2,-7],[6,-2],[0,-14],[-15,-15],[-15,15],[-5,14],[1,12],[11,5],[12,-2]],[[8598,5023],[14,-13],[8,1],[7,-8],[1,-15],[7,-11],[-1,-17],[-24,23],[-3,8],[-9,2],[-2,-10],[-15,7],[-2,8],[-6,-10],[-7,-2],[-6,20],[-4,-17],[-6,11],[8,6],[1,12],[21,0],[5,-5],[13,10]],[[7789,5006],[0,-13],[-7,21],[0,8],[6,-7],[1,-9]],[[7994,5036],[13,-12],[-2,-21],[-6,-7],[-3,11],[-8,-10],[0,26],[2,12],[4,1]],[[7782,5024],[-5,-4],[0,20],[5,-16]],[[7769,5060],[4,-12],[-4,1],[-5,11],[5,0]],[[8501,5041],[-3,3],[-3,21],[4,3],[2,-27]],[[8483,5079],[15,1],[11,-2],[-2,-3],[-24,-4],[0,8]],[[8620,5085],[2,-15],[-6,-6],[-14,10],[10,9],[8,2]],[[8458,5089],[22,-6],[0,-9],[-8,-3],[-7,2],[-10,-6],[-1,20],[4,2]],[[8762,5091],[20,-3],[6,-5],[14,-4],[-11,-5],[-15,5],[-14,12]],[[7940,5097],[5,-5],[4,-17],[0,-18],[4,-16],[14,-6],[-5,-8],[-2,-12],[4,-10],[-22,15],[0,21],[-3,4],[-1,14],[-18,4],[0,8],[7,9],[-3,5],[9,9],[2,-13],[3,1],[-2,12],[4,3]],[[8550,5100],[9,-9],[-6,-5],[-11,-3],[-5,6],[1,9],[6,8],[6,-6]],[[8421,5116],[1,-14],[3,9],[6,-1],[0,-10],[-4,-5],[-3,6],[-1,-12],[-3,18],[-6,-15],[-4,10],[3,13],[8,1]],[[8044,5127],[4,-10],[-9,-8],[0,18],[5,0]],[[7746,5129],[7,-31],[4,-7],[-2,-11],[-9,6],[-9,29],[3,13],[6,1]],[[8636,5129],[4,-8],[-2,-16],[-7,6],[-3,15],[8,3]],[[8634,5139],[-7,-9],[-4,6],[11,3]],[[8761,5145],[12,-2],[9,-20],[6,-4],[-7,-7],[-7,2],[-4,22],[-3,-4],[-6,13]],[[8536,5138],[-5,0],[3,9],[2,-9]],[[8915,5033],[0,-218],[-3,-12],[3,-17],[0,-128]],[[8915,4658],[-10,18],[-4,12],[-15,28],[-17,-5],[-3,6],[-7,-8],[-1,19],[5,19],[-4,4],[-7,18],[13,-3],[-12,8],[-4,13],[10,2],[-8,7],[1,5],[-7,13],[-3,32],[-8,7],[0,12],[-4,8],[-15,20],[-21,12],[-18,18],[-14,4],[-7,-1],[-16,20],[1,11],[-4,-6],[-5,9],[-1,-9],[-5,7],[1,8],[-6,-4],[-4,14],[-3,-5],[0,28],[6,6],[-1,9],[-6,-11],[0,-14],[-7,-21],[1,-8],[-5,-11],[-7,-3],[-6,11],[-2,14],[6,8],[-9,15],[-3,12],[-6,8],[-6,-2],[-2,12],[5,5],[10,-2],[4,-6],[9,18],[7,5],[7,-10],[8,7],[4,12],[-1,9],[-7,-8],[-11,2],[-16,-6],[-4,7],[-6,-5],[-8,11],[-4,22],[-5,11],[-9,2],[-5,-3],[-7,4],[3,13],[5,6],[0,18],[7,5],[8,0],[10,17],[8,5],[8,-1],[12,-10],[6,-11],[17,0],[5,-8],[-4,-5],[7,-22],[-1,-12],[-4,-7],[2,-39],[5,-10],[3,-17],[1,17],[5,-3],[1,-23],[5,-17],[6,-6],[11,0],[2,7],[10,16],[1,11],[9,14],[3,18],[9,-2],[14,10],[-3,16],[19,18],[4,0],[11,-13],[9,-4],[5,-10],[7,-3],[20,-21],[10,3],[16,-10],[-2,-6],[8,0]],[[7903,5160],[0,-12],[-8,7],[6,9],[2,-4]],[[8544,5159],[1,-17],[6,0],[-1,-9],[-5,6],[-5,-3],[0,10],[-5,11],[6,9],[3,-7]],[[8533,5168],[1,-14],[-4,-1],[0,14],[3,1]],[[7735,5153],[-4,0],[3,16],[1,-16]],[[7881,5163],[-8,-1],[3,8],[5,-7]],[[8633,5183],[14,-10],[-2,-13],[-6,2],[-11,13],[8,-16],[-6,-1],[-1,8],[-9,2],[-2,9],[15,6]],[[7737,5167],[-5,8],[0,8],[5,-16]],[[7904,5183],[11,-16],[-7,4],[-8,-1],[4,13]],[[7850,5240],[4,0],[7,-11],[-14,-1],[-1,20],[4,-8]],[[7861,5243],[2,-12],[-8,11],[-5,-1],[5,9],[6,-7]],[[7892,5248],[-1,-8],[-5,3],[6,5]],[[7904,5252],[2,-10],[-2,-11],[-3,13],[-6,-3],[2,9],[7,2]],[[7845,5238],[-6,7],[-1,17],[3,2],[5,-9],[-1,-17]],[[7704,5270],[3,-2],[6,-18],[6,-7],[-2,-28],[-4,1],[-3,14],[-5,7],[-8,26],[7,7]],[[7839,5273],[7,-4],[0,-13],[-10,11],[-2,10],[5,-4]],[[8473,5279],[5,-11],[-3,-3],[-6,-26],[-5,-5],[-7,-25],[-24,-11],[-11,3],[-4,10],[-24,0],[-12,-4],[-6,6],[-13,-7],[-11,7],[-10,-4],[-7,-19],[-3,-19],[3,-26],[4,-13],[5,-1],[5,-12],[2,-17],[13,1],[2,12],[8,18],[5,-3],[13,0],[1,9],[15,-2],[7,4],[-7,4],[10,6],[9,-5],[0,-20],[-3,-4],[-4,11],[-9,-3],[-8,-23],[-9,-17],[-12,-6],[-3,-12],[-10,8],[0,-8],[8,-15],[5,-3],[11,-32],[7,-26],[-5,-8],[-1,-14],[13,-17],[-1,-9],[7,-3],[0,-15],[-4,-6],[-4,6],[-14,-7],[-2,-7],[2,-12],[-12,1],[-5,9],[1,25],[3,8],[-8,7],[-13,25],[0,9],[5,10],[1,26],[-8,8],[-17,-20],[6,-16],[0,-25],[-2,-12],[1,-36],[2,-7],[-4,-14],[-1,-14],[5,-24],[-15,-2],[-4,-8],[-11,16],[0,14],[3,7],[0,18],[4,19],[0,23],[-5,19],[2,12],[-6,3],[-10,-8],[-3,14],[2,27],[-4,0],[1,13],[3,-1],[7,11],[-1,15],[3,13],[4,2],[-2,14],[0,26],[5,11],[1,11],[7,11],[1,50],[3,16],[4,4],[-1,10],[9,8],[7,-3],[6,14],[0,15],[3,3],[10,-7],[5,3],[0,-9],[5,-4],[8,2],[8,-5],[7,1],[10,-12],[4,8],[19,-6],[8,1],[10,8],[9,23],[10,19],[2,-4]],[[7825,5301],[0,-16],[-7,-2],[-2,18],[9,0]],[[8556,5309],[-6,-20],[5,-6],[0,-25],[-11,-20],[3,-8],[6,3],[0,8],[7,8],[-3,5],[3,9],[11,11],[4,-1],[-1,-29],[-11,-9],[0,-14],[11,-6],[0,-13],[-20,8],[-3,-10],[1,-20],[5,-25],[10,-24],[-11,11],[-5,20],[-5,6],[1,34],[-4,4],[-2,38],[-3,10],[4,12],[0,12],[4,16],[10,15]],[[8571,5333],[3,-7],[-3,-21],[-8,-7],[-3,16],[5,13],[6,6]],[[7663,5350],[2,-7],[14,-20],[-5,0],[-14,13],[-4,9],[7,5]],[[8268,5370],[-4,6],[4,4],[0,-10]],[[8489,5385],[-4,-3],[0,16],[4,-13]],[[8269,5423],[5,-1]],[[8274,5422],[-2,-7],[-3,8]],[[8008,5418],[2,-16],[-2,-7],[-8,11],[-1,9],[7,11],[2,-8]],[[8265,5422],[-5,1],[11,-21],[-1,-10],[-15,-1],[7,-13],[-5,-10],[11,-13],[-4,-4],[16,-37],[-8,-15],[1,-8],[7,-13],[9,-10],[10,-16],[6,-14],[-7,-9],[-16,4],[-8,12],[4,-17],[-6,2],[-6,-18],[-4,-26],[2,-2],[-3,-17],[1,-14],[4,4],[-3,-14],[4,-4],[-9,-8],[-1,5],[-7,-22],[-14,-16],[1,-8],[-9,-10],[6,1],[-2,-24],[6,0],[-2,-19],[-4,-2],[0,-18],[-5,-7],[-6,-36],[-38,-32],[0,28],[-14,23],[-6,-9],[-9,3],[0,12],[-6,-6],[-9,20],[-3,-10],[3,-3],[-14,-16],[-9,6],[-7,-11],[-4,-1],[1,27],[-4,17],[0,-10],[-4,-4],[-7,5],[-9,-9],[-7,6],[-2,-5],[-3,12],[-7,-8],[-6,62],[-5,8],[3,3],[2,20],[-4,16],[-7,11],[-7,4],[-2,-4],[-7,21],[0,34],[5,-2],[-5,14],[-5,4],[0,20],[3,50],[7,9],[1,14],[9,9]],[[8045,5303],[-3,-16],[3,-12],[17,-35],[7,-8],[8,3],[2,6],[10,4],[7,-6],[9,2],[8,7],[2,18],[8,7],[15,0],[-2,-8],[9,-3],[11,-8],[7,12],[16,-1],[5,12],[1,13],[3,2],[-1,20],[12,14],[-4,12],[1,10],[5,10],[6,-1],[4,65],[5,11],[6,-4],[3,5],[7,-4],[10,4],[13,0],[10,-12]],[[8523,5442],[2,-13],[-3,-14],[-4,-2],[2,32],[3,-3]],[[7652,5506],[11,-6],[4,-11],[10,-6],[12,4],[10,-8],[9,6],[11,-21],[3,-16],[6,-9],[0,-16],[13,-17],[3,-9],[6,-5],[20,-26],[7,-15],[-1,-13],[3,-5],[3,6],[6,-23],[14,-21],[-2,19],[6,1],[8,-16],[1,-14],[10,-6],[12,-18],[1,-19],[7,-15],[13,-3],[5,-14],[-13,-13],[8,1],[12,15],[11,-13],[2,-18],[-7,0],[-6,-21],[7,-4],[-5,-5],[1,-12],[4,-12],[9,-1],[7,-6],[6,2],[2,-16],[1,-28],[4,-14],[7,-5],[-1,-9],[8,-5],[13,-1],[0,-13],[5,-6],[0,-10],[6,-4],[2,-14],[-6,-14],[-1,-15],[3,-5],[-4,-25],[2,-13],[0,-26],[-2,-53],[-7,2],[-7,19],[-3,-6],[0,-12],[-8,6],[-9,11],[-1,-4],[5,-19],[-4,-3],[-3,11],[-10,17],[-5,19],[-7,10],[-11,12],[-28,46],[-1,17],[-17,23],[-8,29],[-9,16],[-5,17],[2,7],[-9,34],[0,8],[-5,3],[1,11],[-9,30],[-9,14],[0,13],[-4,9],[-9,10],[-5,1],[-1,21],[-9,45],[0,20],[-3,0],[-7,14],[-5,2],[-9,14],[-7,6],[-2,27],[-5,5],[-4,14],[-3,5],[-8,23],[-11,6],[-8,21],[-6,5],[-13,28],[-5,27],[-3,6],[0,17],[8,2]],[[4872,8298],[-4,5],[8,13],[4,-7],[-8,-11]],[[7606,5598],[2,-16],[-2,-11],[-5,16],[0,9],[5,2]],[[7571,5804],[0,-12],[-5,0],[-1,12],[6,0]],[[7583,5964],[1,-29],[-3,1],[1,-36],[-3,-2],[1,-13],[-5,-6],[2,-9],[-2,-25],[-5,13],[5,34],[0,29],[2,1],[0,26],[6,16]],[[7448,6428],[-4,1],[4,13],[0,-14]],[[7248,6922],[-16,-24],[0,-12],[-5,-9],[1,-17],[-7,-14],[9,-14],[9,-1],[7,-10],[9,-6],[2,-11],[15,-17],[6,3],[11,-14],[7,2],[1,-11],[12,-4],[18,0],[8,4],[6,-8],[8,-2],[1,-18],[8,-3],[10,-14],[9,7],[7,-16],[4,5],[9,-3],[11,-11],[7,7],[9,-11],[13,6],[7,-5],[4,17],[0,13],[-6,11],[2,24],[3,21]],[[7703,6808],[0,-19],[-13,-15],[0,-11],[7,-21],[-7,6],[-4,10],[-21,-9],[-2,-10],[-14,-19],[-9,-5],[-2,-21],[4,-12],[-4,-6],[0,-10],[-10,-18],[-2,-16],[3,-3],[-2,-22],[-3,-2],[-6,-22],[-5,-27],[-11,9],[-11,-2],[4,-18],[-2,-30],[-9,-21],[2,-34],[-3,1],[-1,-12],[-8,9],[-3,-10]],[[7473,6457],[-4,-11],[5,-18],[-6,2],[-4,-6],[-2,22],[-5,-3],[-1,-16],[-7,0],[-1,26],[-8,-18],[-21,-14],[-8,-19],[6,-28],[-7,-10],[-4,-16],[-4,-3],[-6,-16],[-19,-10],[-5,9],[-5,-13],[5,1],[-15,-26],[-9,-26],[-13,-29],[-9,-8],[-6,-10],[-9,-22],[-21,-21],[-6,-16],[3,-5],[-1,-14],[-6,-9],[-11,-8],[-10,4],[-4,-3],[-1,-20],[-10,-15],[-1,10],[-6,-1],[-9,-10],[-3,-17],[-2,-18],[3,-24],[-1,-30],[3,-29],[-5,-4],[7,-9],[0,-14],[-3,-37],[-8,-24],[-4,-26],[2,-16],[0,-46],[1,-17],[-15,0],[-2,-15],[-8,-21],[-2,-13],[5,-9],[-20,-12],[-5,-12],[-2,-22],[-2,-8],[-16,-16],[-7,6],[-11,22],[-7,19],[-6,25],[-3,32],[4,-10],[0,11],[-6,7],[-2,18],[-6,30],[-1,14],[-9,36],[-9,17],[-6,25],[-6,34],[-2,33],[-8,39],[-1,14],[-7,14],[-2,12],[-4,5],[0,15],[-3,4],[-4,24],[-4,8],[-5,29],[-1,37],[-5,30],[-6,45],[1,7],[-3,22],[-1,23],[-3,24],[2,33],[4,12],[-2,36],[-3,-4],[-3,11],[2,16],[12,11],[-16,-3],[2,14],[-2,14],[9,5],[-13,4],[-2,-15],[-8,-7],[8,-18],[-6,-25],[-17,-17],[-14,-11],[-5,0],[-10,9],[-11,17],[-15,33],[-15,29],[0,10],[7,1],[0,-9],[14,12],[3,-3],[9,7],[7,23],[-10,-1],[-9,-10],[-13,5],[-11,10],[-9,15],[-4,19],[-6,14]],[[6893,6556],[5,7],[10,0],[0,19],[13,-3],[11,2],[5,-7],[6,0],[3,8],[13,7],[0,-8],[6,-3],[9,10],[-4,12],[3,3],[-5,27],[-6,14],[0,17],[-10,1],[-6,14],[2,35],[-9,2],[-10,11],[1,17],[10,20],[6,22],[7,12],[6,1],[4,-16],[4,-2],[9,7],[20,8],[0,9],[8,16],[5,21],[16,16],[9,29],[3,22],[12,8],[4,7],[-2,10],[6,11],[6,19],[10,12],[-4,2],[3,17],[-2,24],[7,10],[14,8],[1,10],[-8,8],[-11,2],[0,14],[-9,2],[0,13],[-9,10],[4,22],[-5,5],[1,10],[7,10],[-9,1],[1,16],[-5,3],[4,19],[13,6],[7,-5],[16,-2],[11,-9],[11,11],[17,3],[3,10],[5,1],[4,11]],[[7140,7205],[20,22]],[[4825,8298],[2,-37],[6,-29],[-6,-16],[-4,-28],[-10,1],[-8,-4],[-12,0],[-5,-10],[-7,0],[-4,-8],[-7,-1],[-12,-14],[-20,0],[-11,-8],[10,14],[-20,-4],[12,13],[-11,-6],[-7,10],[13,14],[-15,-2],[5,10],[13,-2],[-1,11],[8,12],[-10,-5],[12,12],[5,21],[10,8],[-16,-2],[-14,9],[-3,9],[6,13],[0,24],[-5,4],[22,4],[23,-3],[-5,4],[12,9],[3,8],[-15,-1],[-2,7],[10,6],[2,18],[15,2],[6,-6],[4,17],[13,-9],[-9,-9]],[[6560,6732],[-4,-9],[-5,0],[-16,-12],[0,7],[13,7],[13,13],[-1,-6]],[[6357,7396],[3,-38],[4,-9],[9,-7],[13,-2],[9,-5],[2,-13],[21,-24],[23,-9],[43,18],[16,-4],[-3,30]],[[6497,7333],[8,-1],[16,11],[1,13],[9,13],[9,7],[24,0],[3,10],[17,-4],[5,4],[3,-17],[23,-10],[8,-9],[10,3],[11,-10],[10,-21],[13,-7],[8,-22],[23,0],[2,-31],[-3,-8],[4,-5],[0,-15]],[[6689,6902],[14,-27],[0,-8],[6,-21],[10,-20],[14,-8],[5,-10],[5,-1],[-1,-12],[2,-18],[-1,-26],[11,2],[4,-8],[-4,-17],[0,-11],[-12,0],[-12,-7],[-2,-10],[-11,-7],[-7,-59]],[[6710,6634],[-5,-8],[-10,9],[-12,4],[-1,9],[-5,-6],[-24,3],[-2,4],[-12,-4],[-6,10],[-7,2],[-14,-2],[-4,8],[-17,5],[-4,19],[-4,42],[-6,17],[-11,3],[-8,-2],[-5,-8],[-9,-4],[-3,-11],[-6,2],[-13,-17],[-11,5],[-3,7],[-17,0],[-8,16],[-10,6],[-13,16],[-4,16],[-12,11],[-9,-1],[-8,6],[-9,35],[0,12],[-8,13],[2,10],[-6,0],[1,16],[-15,30],[0,10],[-5,6],[-11,-12],[-2,9],[-7,-1],[-9,13],[8,-1],[0,9],[-9,-8],[1,-20],[-11,-4]],[[6347,6908],[-3,15],[-11,14],[0,31],[-9,0],[0,23],[4,21],[-9,22],[-5,19],[-6,-1],[-14,21],[-16,15],[4,5],[-4,15],[-11,15],[-5,22],[3,14],[-4,8],[2,8],[6,-3],[-2,9],[7,21],[7,2],[1,7],[-6,16],[1,10],[6,2],[-4,9],[-6,-3],[-14,14],[-3,21],[-5,0],[-1,18],[-6,5],[2,12],[-3,7]],[[6243,7322],[0,10],[-6,6],[1,17],[-10,17],[6,20],[-4,0],[-3,45],[-5,13],[11,4],[4,19],[7,-7]],[[6347,6908],[-13,5],[-3,-3]],[[6331,6910],[-7,6],[-9,0],[-6,-5],[-8,-33],[-9,-20]],[[6292,6858],[-5,-2],[-46,8],[-62,91],[-11,18],[-47,49],[-34,10]],[[6087,7032],[4,8],[-7,3],[0,11],[-8,51]],[[6076,7105],[4,3],[43,44],[14,11],[7,22],[1,40],[3,8],[-2,23]],[[6146,7256],[0,0]],[[6146,7256],[0,20],[3,10],[13,5],[15,26],[-1,3]],[[6176,7320],[6,2],[6,13],[9,0],[10,-7],[12,-2],[8,4],[1,-18],[11,12],[4,-2]],[[4554,9014],[7,-14],[12,-7],[12,13],[-4,-20],[10,2],[-2,-20],[12,4],[0,-8],[21,-10],[-4,-10],[6,-8],[-13,-25],[-13,-4],[-2,-15],[-24,-8],[-39,-26],[-31,-6],[-1,-11],[-23,-7],[-27,8],[-12,0],[-28,20],[-42,-4],[4,9],[14,4],[10,10],[2,11],[-13,-6],[-9,29],[-32,1],[-11,-4],[-3,8],[23,2],[15,8],[25,-2],[-21,7],[22,16],[-39,7],[-20,-9],[-18,6],[7,8],[12,-7],[-8,15],[17,-5],[-9,12],[10,17],[20,-8],[-5,7],[9,16],[11,-11],[25,-14],[-2,-19],[9,-29],[0,13],[9,15],[9,-10],[5,13],[-5,20],[9,3],[13,-22],[6,-1],[-1,19],[22,6],[16,-26],[-6,27],[10,-1],[10,-11],[12,14],[6,-6],[13,3],[-3,19],[15,2]],[[5993,7068],[-6,-5],[0,-15]],[[5987,7048],[-10,8],[-6,-14],[0,-19],[6,-9],[-7,-11],[-2,-14],[10,1],[5,6]],[[5983,6996],[0,-9]],[[5983,6987],[0,-6]],[[5983,6981],[1,-8]],[[5984,6973],[-8,-34],[0,-21],[-6,-33]],[[5970,6885],[-2,-4]],[[5951,6980],[8,18],[-2,4]],[[5957,7002],[7,21],[6,44],[5,21]],[[5975,7088],[10,0],[1,9],[8,10]],[[5994,7107],[-1,-9],[3,-19],[-3,-11]],[[5434,7386],[-12,-29],[-3,-25],[6,-18],[-6,-11],[1,-8],[-10,1],[-8,6],[-3,10],[-7,8],[-7,-1],[-25,27],[-10,1],[-4,6],[0,19],[7,6],[6,-6],[4,10],[7,1],[10,-13],[9,4],[9,-2],[17,10],[4,-4],[12,11],[3,-3]],[[5256,7557],[8,-6],[8,-34],[-5,-14],[3,-13],[-2,-30],[-6,-24],[-10,6],[-5,-19],[-8,0],[-7,17],[5,39],[-4,1],[2,23],[-5,17],[-4,0],[2,16],[8,-2],[9,6],[11,17]],[[5380,7862],[-9,-16],[7,-7],[-4,-8],[3,-12],[8,-10],[-5,-1]],[[5380,7808],[1,7],[-18,1],[-3,-5],[-16,-12],[-4,2],[-1,-16],[9,-13],[-6,-7],[-2,-13],[2,-18],[8,-16],[9,-7],[19,-21],[12,-54],[18,-28],[12,-11],[25,0],[4,-9],[-8,-15],[19,-17],[13,-7],[14,-18],[13,-8],[0,-6],[12,-15],[2,-10],[-4,-18],[-9,6],[-5,23],[-11,0],[-14,11],[-11,-25],[-2,-21],[9,-5],[9,-11],[-1,-29],[-11,-1],[-5,-8],[1,-18],[-8,-10],[-8,-20],[-10,4],[0,15],[5,3],[3,12],[-3,8],[9,5],[2,12],[-4,8],[-2,21],[-4,6],[-2,20],[-7,11],[-5,-5],[-12,13],[2,8],[-6,18],[-8,1],[-5,8],[-7,3],[-10,22],[-10,1],[-8,-3],[-5,11],[-7,2],[-12,24],[-10,10],[-8,18],[-10,5],[-3,12],[-9,9],[1,6],[-8,2],[1,18],[-7,17],[0,14],[-5,13],[-7,1],[-16,17],[-15,5],[-14,-19],[-3,-11],[-17,-6]],[[5344,7711],[0,0]],[[5345,7596],[0,0]],[[2849,6246],[15,-3],[3,-8],[12,-7],[4,-14],[-9,-3],[-10,6],[-1,-7],[-6,3],[-1,-11],[-7,10],[-8,-1],[-7,10],[-3,10],[-8,2],[5,12],[10,5],[11,-4]],[[6087,7032],[-4,-6],[-57,-30],[15,-28],[13,-29],[-9,-10],[-4,-18],[-21,-8],[-7,-22],[-12,-17],[-31,9]],[[5970,6873],[0,12]],[[5984,6973],[-1,8]],[[5983,6987],[4,0],[0,25]],[[5987,7012],[0,36]],[[5993,7068],[7,-5],[10,-16],[12,-3],[54,61]],[[8563,6721],[-5,-10],[-7,-5],[-4,-21],[0,20],[7,8],[-3,7],[7,-1],[4,12],[1,-10]],[[8603,6820],[-13,-15],[0,9],[11,11],[2,-5]],[[8624,6937],[5,-5],[-7,-8],[2,13]],[[8639,6942],[-5,-5],[6,22],[-1,-17]],[[8616,7056],[0,-12],[-6,-7],[1,18],[5,1]],[[8578,7069],[-1,-10],[-6,2],[7,8]],[[8638,7135],[3,-16],[7,-3],[9,6],[1,-15],[-5,-9],[10,1],[0,-17],[5,-2],[-11,-22],[-6,-38],[0,-16],[-3,-14],[-7,5],[1,-11],[-12,-13],[2,20],[-5,12],[-2,-4],[0,-22],[-9,5],[4,18],[-5,12],[1,21],[2,-2],[8,19],[-2,11],[3,12],[-5,15],[-8,2],[7,-19],[-6,-11],[1,11],[-10,-10],[-6,18],[1,10],[4,-14],[5,-1],[-1,10],[-11,11],[1,10],[6,-2],[18,22],[2,9],[6,4],[7,-3]],[[8726,7162],[8,-9],[5,1],[-1,-13],[4,-10],[-10,-11],[-5,-23],[-8,15],[-5,2],[-13,-11],[0,-7],[-7,-11],[-1,-16],[-10,0],[3,9],[-6,1],[-6,31],[11,14],[2,17],[6,6],[5,-10],[10,2],[3,14],[8,9],[7,0]],[[8747,7160],[-3,-8],[-3,8],[8,15],[-2,-15]],[[8595,7181],[-2,-23],[-3,4],[1,16],[4,3]],[[8845,7375],[1,-10],[-6,-6],[-1,17],[8,13],[-2,-14]],[[8923,7564],[5,3],[-1,-34],[2,-14],[8,-11],[5,-22],[4,-26],[-5,-14],[0,-12],[-7,-6],[-5,-25],[1,-17],[-6,9],[-7,-6],[-3,-24],[3,-14],[-2,-39],[-5,-8],[-5,-19],[-1,-20],[8,-27],[-11,-7],[-2,-21],[-16,-17],[2,30],[5,11],[-8,0],[-4,-12],[1,-16],[-7,11],[-8,-5],[0,-21],[-9,-16],[-1,25],[-6,4],[-6,-11],[-4,-18],[-17,5],[-15,-6],[7,9],[-13,1],[0,16],[-5,-3],[-3,-22],[9,-9],[1,-10],[-7,3],[-10,-9],[0,-10],[-6,-8],[-3,-15],[-5,-7],[-10,5],[-1,8],[-9,11],[3,8],[-3,14],[10,17],[-2,9],[-11,-4],[-6,7],[-7,0],[-20,-18],[-10,1],[-3,-9],[-6,2],[-15,-9],[-1,9],[-8,-6],[-2,-24],[-11,13],[-16,-7],[-4,7],[-3,-8],[-1,25],[3,5],[12,-1],[3,10],[7,5],[17,28],[7,7],[-1,9],[17,8],[5,-8],[24,6],[7,7],[11,-2],[8,7],[-1,-12],[13,-4],[12,10],[-3,18],[5,16],[7,8],[10,28],[-1,26],[11,10],[6,1],[-3,-13],[-9,-5],[4,-6],[-2,-13],[10,-6],[3,10],[21,13],[10,12],[10,29],[14,15],[1,16],[9,23],[3,24],[4,10],[1,17],[-4,11],[-5,-3],[7,19],[1,11],[-5,13],[5,10],[7,3],[1,26],[9,-5],[3,-20],[3,9],[8,-6],[3,19],[-13,-5],[3,23],[10,-10]],[[8944,7799],[15,-24],[4,-13],[19,-27],[11,-7],[0,-6],[12,0],[3,-7],[13,-4],[15,25],[1,-8],[-7,-17],[-1,-9],[8,-28],[8,6],[-4,-12],[-6,0],[-8,-10],[-27,-4],[-11,-14],[-8,-20],[-3,-23],[-8,11],[-14,9],[-8,11],[-12,9],[-8,-3],[-12,-15],[-9,15],[-5,0],[-6,-18],[12,-8],[13,-20],[-13,-1],[-8,-7],[-6,-13],[-7,10],[5,14],[-3,17],[-7,6],[3,26],[12,7],[5,11],[-5,13],[6,8],[8,-9],[10,-3],[7,10],[-3,22],[9,14],[0,22],[3,6],[1,20],[-6,23],[3,12],[9,3]],[[6762,7807],[-15,8],[-3,11],[1,13],[12,14],[11,-3],[7,-11],[1,-13],[-4,-11],[-10,-8]],[[7140,7205],[-9,31]],[[6651,7782],[-20,19]],[[6631,7801],[12,18],[8,-37]],[[7227,7611],[-6,13],[-15,4],[-12,17],[-14,6],[-14,0],[-19,2],[-14,5],[-13,-5],[-16,1],[-3,-6],[-13,2],[-12,8],[-12,13],[-21,-10],[-5,-27],[3,-9],[-22,14],[-27,9],[-10,-1],[-10,-13],[-5,-15],[3,-3]],[[6970,7616],[-6,-3],[-4,-11],[-4,5],[-9,-16],[-20,-15],[0,-5],[-10,-5],[0,-10],[-13,-17],[1,-19],[-4,0],[-13,13],[4,14],[-5,7],[-33,-3],[-5,20],[-2,30],[-14,0],[2,57],[-8,-7],[-8,26],[-7,5],[-10,19],[-12,-10],[-37,4],[-32,-8],[-23,38],[-2,12],[-28,28]],[[6668,7765],[0,34],[-2,9],[-7,-1],[3,20],[17,-5],[8,16],[12,7],[2,14],[-11,2],[-3,9],[-13,3],[-8,-7],[4,-13],[17,0],[2,-11],[-4,-6],[-24,2],[-2,12],[-7,0],[7,-14],[-3,-17],[-8,-6],[-4,5],[4,13],[-15,-3],[-6,-23]],[[6627,7805],[-73,-31],[0,-212]],[[6554,7562],[-14,-3],[-15,32],[0,6],[-20,23],[-20,-3],[-14,-9],[-15,-21]],[[6456,7587],[-1,20],[6,15],[3,22],[-15,9],[-8,-3],[-6,18],[-12,0],[1,23],[-4,4],[-8,33],[-17,9],[1,17],[16,-1],[4,-6],[16,-2],[-17,20],[12,28],[9,5],[22,0],[11,-6],[10,2],[-15,10],[0,6],[9,18],[4,40],[-8,19],[-13,2],[-10,-10],[-16,14],[-9,3],[-12,-11],[-9,-2],[-18,-21],[-13,2],[-2,-14]],[[6367,7850],[-9,9],[-10,5],[0,12],[6,-6],[7,6],[-9,19],[-4,15],[-14,23],[-11,0],[-7,5],[-1,-9],[-7,7],[0,26],[-18,8],[8,30],[8,10],[-7,14],[3,28],[12,12],[-1,14],[9,9],[22,-37],[13,11],[-5,20],[0,13],[20,17],[0,15],[11,0],[15,12],[6,17],[5,6],[14,-3],[1,-11],[11,-1],[6,12],[11,6],[5,-16],[23,0],[9,-7],[1,-9],[7,-1],[6,-13],[10,-7],[-3,-16],[8,2],[1,24],[10,-13],[16,-15],[13,11],[11,20],[18,0],[5,-11],[11,1],[1,13],[22,-4],[0,-11],[10,-11],[16,-3],[1,-9],[7,4],[5,18],[9,-10],[15,-1],[17,10],[2,19],[4,6],[-7,11],[-10,1],[-3,8],[-16,3],[3,8],[-12,4],[11,15],[7,1],[10,11],[-10,23],[22,16],[17,-3],[1,7],[-13,9],[-14,3],[2,12],[-6,8],[5,11],[-6,3],[12,10],[4,-6],[43,7],[25,14],[25,5],[9,-4],[-1,10],[7,7],[15,-1],[15,6],[33,8],[13,6],[2,13],[10,0],[2,9],[8,-4],[-1,9],[8,-6],[13,0],[14,-11],[8,9],[14,-12],[1,-18],[6,-3],[-1,-23],[-6,0],[6,-13],[3,6],[11,-4],[10,5],[3,9],[9,-14],[-3,-13],[9,3],[-4,10],[11,-1],[3,-8],[11,-2],[8,7],[-3,-12],[-6,1],[-6,-17],[6,-8],[13,12],[14,-10],[1,12],[9,9],[7,-2],[12,11],[-2,4],[31,15],[12,8],[-7,-19],[-8,1],[3,-9],[34,-36],[7,-11],[42,-97],[12,-38],[15,7],[-1,14],[6,6],[15,-7],[-3,-15],[9,2],[2,-13],[11,3],[6,-4],[17,5],[18,12],[13,-7],[11,-20],[0,-15],[23,-14],[-2,-7],[9,-19],[19,-1],[6,-7],[12,20],[0,-10],[12,-22],[7,-9]],[[6163,5412],[-17,-50],[-9,-17],[0,-175],[1,-39],[15,-39],[0,-7]],[[6153,5085],[-6,-15],[-9,-4],[-4,-20],[-5,-9],[-5,0],[-9,-13],[2,-12],[-3,-18],[-6,-12],[-3,-25],[-4,-11],[-7,-30],[-6,-3]],[[6088,4913],[-21,33],[-19,27],[-5,13],[4,6],[-1,14],[-100,116]],[[5946,5122],[3,12],[-4,7],[0,10],[4,7],[9,-1],[-2,6],[11,4],[-4,11],[-10,-6],[2,-6],[-9,7],[-3,12],[1,12]],[[5944,5197],[4,21],[7,12],[2,15],[9,9],[2,18],[3,6],[0,26],[-3,18],[2,3],[-14,40],[-2,17],[2,13],[-8,5],[-3,24],[-2,2]],[[5943,5426],[11,23],[15,14],[14,9],[4,-7],[2,-16],[8,0]],[[7045,7454],[-13,-5],[-15,2],[-9,-5],[-2,-6],[-5,10],[-7,-7],[-2,12],[-8,8],[-12,-11],[-8,-1],[-4,11],[-36,-5],[-2,14],[7,20],[14,6],[18,-12],[1,7],[8,8]],[[6970,7500],[12,3],[11,-7],[9,15],[8,-3],[0,14],[7,-6],[4,9],[10,8],[-13,3],[-5,9],[-9,-1],[0,10],[-8,0],[-6,22],[-1,-10],[-6,-2],[0,-13],[-6,-1],[-12,7],[-4,14],[-4,-4],[-9,10],[8,7],[22,29],[-8,3]],[[6976,7489],[-6,4],[2,-14],[4,10]],[[6993,7480],[0,0]],[[6961,7477],[0,0]],[[7901,5783],[-6,7],[-11,2],[-7,-4],[-3,5],[5,13],[0,15],[-4,5],[-3,-16],[-9,2],[-2,38],[-3,3]],[[7858,5853],[0,7],[-6,22],[0,22],[-6,7],[0,21],[-3,7],[-2,25],[6,0],[10,26],[1,11],[9,8],[12,5],[9,-5],[5,3],[11,-2],[5,4],[6,-3],[2,-10],[4,8]],[[7921,6009],[3,-14],[13,-1],[3,-9],[6,-1],[2,7],[-6,19],[7,7],[6,-2],[3,6],[8,-14],[4,0],[8,11],[5,2],[2,10]],[[7985,6030],[0,-14],[-3,-2],[-2,-19],[3,-10],[0,-10],[5,-22],[-5,-20],[4,-24],[-2,-15],[-2,-6],[-4,5],[-8,-14],[-8,-7],[-8,-1],[0,-17],[-11,7],[-4,-13],[-1,-15],[9,-13],[1,-17],[-9,3],[-3,10],[-10,-2],[-3,-7],[-7,6],[1,-11],[-6,-13],[-9,0],[-2,-6]],[[627,5299],[5,-18],[-8,8],[3,10]],[[8522,7115],[1,-14],[-17,-6],[-2,8],[5,8],[13,4]],[[8508,7172],[1,-8],[-7,2],[6,6]],[[8575,7196],[-1,-14],[-5,11],[6,3]],[[8518,7361],[8,22],[5,6],[27,0],[7,17]],[[8565,7406],[7,-27],[14,-31],[6,-25],[4,-25],[-2,-7],[-1,-33],[4,-6],[-2,-25],[-9,-23],[-18,0],[-1,-15],[-3,6],[-17,1],[-2,-20],[-4,14],[0,-13],[-5,-9],[-3,13],[-6,-5],[-3,-11],[-4,3],[-4,-10],[-2,15],[-7,2],[0,9],[6,-7],[2,11],[-4,1],[-2,18],[2,17],[6,9],[-4,4],[8,7],[-7,10],[5,1],[-5,11],[-1,31],[-3,8],[3,12],[7,-1],[-6,42],[4,3]],[[5598,7616],[-9,-9],[-3,6],[-10,-8],[0,-11],[-5,0]],[[5557,7633],[8,15]],[[5565,7648],[9,17],[-2,6],[14,-7],[8,-19],[10,-5],[-6,-24]],[[6338,6909],[5,-15],[-4,-7],[-5,12],[4,10]],[[6345,6826],[-22,0],[-6,27],[-25,5]],[[6331,6910],[7,-26],[-6,2],[-7,-12],[10,-1],[2,-19],[8,-28]],[[7836,6473],[2,-9],[8,-12],[6,-22],[2,9],[5,-5],[0,-9],[-2,-23],[7,-19],[15,-11],[2,8],[9,10],[5,-4],[9,-13],[-1,-9],[-6,-3],[9,-6],[0,-8],[7,-2],[0,-11],[-2,-10],[-9,-12],[-8,6],[-4,-15],[-6,-7],[18,-21],[4,-8],[9,-5],[5,-6],[-2,-12],[6,-14],[5,0],[7,-30],[13,-24],[9,-17],[0,-18],[4,-11],[5,5],[4,-14],[8,-12],[4,-1],[-1,-8],[-6,-5],[2,-12],[7,-8],[5,-12],[-5,-33]],[[7921,6009],[9,11],[0,20],[1,5],[-3,11],[3,6],[2,24],[-5,5],[0,13],[-11,7],[0,8],[-8,15],[0,29],[2,20],[-3,9],[-7,7],[-6,14],[-7,24],[-18,8],[-2,-10],[-9,-15],[-9,-6],[-16,16],[-4,-9],[-19,-26],[-4,-7],[-5,6],[3,19],[4,9],[0,17],[-3,3],[5,14],[0,15],[3,7],[-3,6],[-1,19],[2,7],[-12,2],[-2,-7],[-7,0],[-3,9],[3,29],[-5,15],[-6,-5]],[[7780,6353],[0,15],[7,14],[4,-1],[0,13],[6,16],[3,0],[9,14]],[[5975,7088],[14,52],[1,19],[9,12],[0,7]],[[5999,7178],[13,-3],[4,-23],[-9,-14],[2,-8],[-6,2],[-6,-12],[3,-5],[-6,-8]],[[4790,5433],[-19,13],[-21,22],[-9,12],[-21,40],[-9,19],[-12,7],[-1,10],[-14,13],[-3,12]],[[4681,5581],[3,14],[6,12],[15,23],[0,16],[8,8],[1,17]],[[5693,6449],[0,-115],[-27,0],[0,-28]],[[5666,6306],[-66,66],[-3,4],[-45,45],[-34,36],[-45,45],[-30,31],[-27,-26]],[[5416,6507],[-22,-22],[-20,33],[-42,19]],[[5264,6924],[10,7],[11,30],[-5,31],[6,17],[5,1],[10,22],[19,18],[-2,10],[1,34]],[[5319,7094],[10,-6],[12,-14],[15,-2],[14,6],[6,-6],[17,-5],[8,-12],[20,-6],[5,-13],[0,-14],[7,-25],[4,-7],[17,-9],[10,0],[18,-8],[23,-18],[3,-7],[18,-22],[8,0],[14,14],[10,24],[1,18],[-6,24],[0,16],[3,12],[15,24],[14,13],[10,1],[5,7],[21,-3],[21,-14],[-1,-18],[6,-6],[19,-7],[2,-5],[25,-2],[5,-18]],[[3307,5973],[-4,11],[5,10],[-1,-21]],[[7235,5735],[7,-13],[17,-49],[5,-36],[5,-8],[4,-24],[0,-20],[-2,-22],[-12,-22],[-22,-17],[-9,5],[-4,7],[-7,43],[-1,50],[1,40],[2,10],[0,17],[6,17],[-2,7],[4,10],[6,1],[-14,10],[2,7],[7,-3],[7,-10]],[[5798,3530],[6,-12],[10,-10],[3,-14],[-4,-17],[-5,-7],[1,-10],[-8,-9],[-13,-4],[-5,-7],[-4,-22],[-8,2],[-16,35],[-5,22],[8,6],[12,35],[8,2],[4,10],[13,8],[3,-8]],[[5582,8366],[-1,0]],[[5581,8366],[1,0]],[[5652,8289],[0,9],[-14,16],[-6,-1]],[[5632,8313],[-3,6],[5,24],[-8,11],[-15,1],[-21,9]],[[5590,8364],[-6,32],[0,16]],[[5584,8412],[8,9],[22,11],[15,-4],[8,3],[29,-5],[4,-4],[22,8],[5,-12],[15,-2],[26,-28]],[[5759,8496],[14,-14],[-6,-26],[14,-17],[0,-23]],[[5584,8412],[-2,19],[2,24],[10,12],[0,15],[8,15],[22,11],[18,-21],[4,-17],[12,-7],[19,15],[-2,37]],[[3249,6221],[-2,2]],[[3247,6223],[2,-2]],[[4851,7247],[2,-14],[14,-21],[11,-5],[19,8],[6,-5],[15,7]],[[4919,7214],[2,-9],[17,-2]],[[4758,6776],[-3,0],[1,-30],[-18,-3],[-7,-11],[-16,-2],[-9,7],[-10,1],[-13,-7],[2,-15],[-4,-6],[-8,-25],[-8,-3],[-4,-23],[-3,-30],[-3,-13],[-6,-12],[-12,-16],[-6,-22],[-16,-16],[-4,-13],[-6,-53],[0,-16],[-12,-26],[1,-7],[-4,-14],[-11,-4],[-22,4],[-18,-1],[-12,-4]],[[4527,6416],[1,21],[4,20],[10,13],[4,26],[5,11],[-2,5],[13,42],[-4,0],[8,12],[11,26],[5,4],[5,17],[0,22],[10,45],[0,9],[9,16],[7,4],[10,14],[10,53],[7,16],[24,8],[16,14],[11,23],[15,15],[21,49],[5,19],[1,14],[-7,13],[0,26],[2,26],[3,11],[9,18],[3,24],[-1,7],[11,17],[10,23],[26,19],[21,25],[15,48],[2,15],[9,39],[14,7]],[[5206,7702],[-2,-1]],[[5783,7801],[-3,21],[1,26],[3,22],[-4,18],[-6,5],[-17,36],[-10,30],[-8,3]],[[5739,7962],[20,10],[14,-2],[6,-9],[21,-8],[10,-13],[-1,-25],[7,-10],[5,2],[0,-20],[10,-9],[-1,-16],[6,-9],[-15,0],[-3,6],[-7,-6],[-1,9],[-7,-4],[1,-26],[-13,-19],[0,-11],[-8,-1]],[[6384,4200],[0,8],[5,14],[-5,-22]],[[6370,4487],[-2,-11],[7,-4],[1,-18],[7,-8],[4,-13],[-1,-9],[5,-25],[3,-37],[0,-29],[8,-27],[-4,-34],[-3,-9],[-6,7],[-3,25],[-8,-7],[3,-23],[-2,-5],[5,-11],[-1,-25],[-5,-13],[-6,-24],[2,-29],[-4,-39],[-3,-11],[-10,-59],[-2,-19],[-7,-32],[-3,-29],[-10,-57],[-4,-16],[-2,-24],[-7,-48],[-1,-16],[-4,-13],[-8,-47],[-14,-15],[-11,-2],[-13,-11],[-6,-9],[-12,-2],[-11,17],[-10,2],[-10,15],[-2,20],[-7,14],[-1,45],[3,10],[-4,6],[-1,16],[-6,12],[-4,36],[3,27],[4,6],[0,17],[7,4],[11,46],[4,7],[6,29],[-3,4],[2,24],[-6,18],[1,16],[-6,22],[-1,35],[-3,15],[15,49],[0,30],[12,-1],[11,16],[10,-2],[0,7],[8,4],[4,-6],[1,9],[6,5],[18,25],[3,-7],[-3,-10],[7,2],[-4,18],[4,5],[2,12],[6,8],[-3,-22],[11,28],[-3,11],[3,11],[4,-2],[3,11],[-4,9],[0,19],[7,-1],[1,-10],[4,-1],[0,14],[5,1],[-1,9],[6,-4],[3,5],[1,16],[3,8],[-2,22],[3,13],[5,4],[3,18],[2,-8]],[[2590,6367],[-7,-17],[2,17],[5,0]],[[1889,6595],[7,-4],[1,-9],[-8,13]],[[1800,6801],[-5,-1],[5,12],[0,-11]],[[1880,6866],[3,-12],[-3,-16],[-7,7],[2,17],[5,4]],[[1847,6884],[4,-14],[5,-1],[2,-17],[-11,17],[-3,9],[3,6]],[[2186,6889],[0,-8],[7,-2]],[[2193,6879],[11,-20],[1,-12],[9,-31],[6,-12],[9,-27],[7,-6],[-1,-15],[2,-15]],[[2237,6741],[3,-16],[3,2],[2,-14]],[[2245,6713],[2,-9],[20,-12],[4,-8],[16,-2],[9,-10],[5,6]],[[2301,6678],[0,-14],[-8,-31],[-6,-38],[-2,-30],[-1,-43],[1,-16],[-4,-22],[3,-29],[5,-34],[15,-57],[9,-17],[9,-27],[3,-25],[5,-5],[1,-9],[7,-19],[7,-4],[11,2],[5,-9],[6,-2],[8,-21],[10,3],[16,11],[17,3],[15,13],[10,2],[6,-12],[10,-3],[6,17],[-5,8],[14,16],[5,11],[1,21],[7,14],[-1,6],[1,39],[3,15],[16,17],[19,4],[17,12],[14,2],[20,-9],[6,9],[6,-10],[2,-17],[-3,-16],[-9,-18],[-7,-19],[-1,-19],[-8,-16],[9,-8],[-6,-40],[-3,-10],[-2,-23],[-3,14],[-4,3],[2,18],[-5,-4],[-3,-15]],[[2437,6020],[-20,42],[-19,33],[-11,16],[-10,10],[-1,-6],[-8,1],[-4,13],[-5,-9],[9,-4],[-11,-1],[-8,-12],[-15,-9],[-7,-8],[-8,-2],[-15,10],[-4,6],[-17,3],[-8,13],[-13,6],[-6,14],[-5,0],[-15,8],[-5,0],[-5,9],[-31,22],[-6,11],[-13,14],[-4,13],[-7,6],[-5,-4],[-32,20],[-8,21],[-9,14],[-12,13],[-15,12],[-3,14],[-5,6],[-8,22],[0,10],[-4,8],[3,8],[10,6],[-7,15],[7,12],[1,22],[-6,8],[-7,23],[-2,32],[-9,17],[-15,34],[-12,32],[-21,28],[7,-7],[0,9],[-5,-1],[-9,13],[-6,18],[7,0],[-22,24],[0,5],[-9,-3],[6,9],[-7,-1],[-8,9],[0,14],[4,9],[0,19],[-4,9],[-10,3],[-5,23],[-9,2],[-7,13],[-2,26],[2,3],[-14,4],[-8,12],[-5,13],[-5,5],[-13,29],[-2,20],[-5,2],[1,9],[-11,23],[0,16],[-10,36],[3,20],[-16,10],[-1,10],[-7,6],[-9,-6],[-10,15],[-8,2],[0,-41],[4,-8],[3,-27],[-1,-19],[7,-21],[4,-1],[17,-27],[3,-23],[7,-3],[11,-32],[3,-25],[4,-12],[8,-6],[4,-20],[6,-7],[-1,-6],[8,-25],[-3,20],[8,-10],[0,-9],[5,-13],[1,-29],[9,-25],[10,-36],[-2,-15],[3,-15],[8,-8],[0,13],[14,-16],[4,-23],[7,-10],[0,-14],[-11,-19],[-7,0],[-6,36],[-8,9],[-12,22],[-14,16],[-5,14],[-4,-3],[-4,14],[-3,-1],[-2,25],[3,3],[0,27],[-9,30],[-3,0],[-17,21],[-1,21],[-4,-13],[-10,-1],[-5,13],[-8,9],[-10,6],[0,9],[-16,20],[-1,8],[15,-5],[7,6],[5,-13],[-1,17],[2,28],[-9,26],[-4,3],[-12,26],[-6,2],[-14,19],[-4,12],[0,19],[-5,4],[-1,26],[-7,9],[0,11],[-10,22],[1,15],[-8,14],[-6,28]],[[1746,7056],[66,10],[-1,-12],[46,-30],[58,-37],[79,0],[0,26],[46,0],[11,-20],[8,-8],[14,-26],[6,-4],[7,-12],[6,-21],[-1,-10],[5,-21],[14,-20],[25,-19],[8,14],[4,30],[8,2],[3,6],[5,-5],[20,-2],[3,-8]],[[2290,6649],[-4,-5],[0,-32],[-2,-53],[6,67],[4,13],[-4,10]],[[5582,7536],[0,0]],[[5586,7536],[-4,1]],[[5581,7537],[0,0]],[[5575,7539],[-2,10]],[[5598,7616],[20,7],[2,-4]],[[5117,6285],[0,-124],[-1,-33],[-4,-7],[-4,-29],[-11,-17],[0,-8],[-14,4],[0,-5],[-47,-3],[-9,-17],[-9,-3],[-13,3],[1,-5]],[[4683,5897],[-1,36],[-6,21],[-5,-5],[-8,23],[4,5],[-2,28],[-5,6],[1,18],[-2,5]],[[4659,6034],[5,-2],[7,8],[0,24],[3,11],[6,7],[14,-22],[3,-2],[4,13],[12,1],[14,-4],[13,7],[65,0],[41,0],[5,45],[-8,15],[-1,33],[-2,21],[-1,36],[-2,22],[-6,109],[0,17],[-3,39],[-6,104],[0,14],[-3,39],[0,16],[-3,37],[50,0]],[[7737,5862],[0,-11],[-4,-2],[-1,13],[5,0]],[[7733,5907],[-2,-14],[-1,20],[3,-6]],[[7622,6095],[-2,9],[7,13],[2,-6],[-7,-16]],[[7710,6117],[-4,12],[2,5],[2,-17]],[[7602,6269],[-2,-10],[-5,9],[7,1]],[[7604,6305],[6,-6],[-6,-6],[-3,10],[3,2]],[[7780,6353],[-9,6],[0,-6],[-10,2],[3,-11],[-6,-6],[-8,1],[-1,-17],[-21,-7],[-6,8],[0,-9],[-5,-4],[-2,-10],[1,-18],[-4,-10],[3,-19],[-10,-8],[5,-6],[5,-22],[-2,-10],[11,-23],[4,-17],[7,-8],[-1,-11],[6,-28],[6,5],[-2,-15],[-7,-3],[0,-40],[-9,-4],[-2,-12],[2,-16],[6,-13],[3,-15],[11,-14],[4,-11],[3,-67],[6,-9],[1,-25],[2,1],[3,-19],[-6,-12],[-1,-12],[-5,-17],[-6,-8],[0,-8],[-5,-4],[-2,-23]],[[7742,5779],[-7,-20],[0,24],[-1,18],[7,10],[1,45],[-5,2],[4,20],[-6,11],[5,21],[-3,32],[-9,31],[-4,-1],[0,27],[-3,9],[-5,30],[0,32],[-2,26],[-4,14],[2,25],[-8,-2],[-5,13],[0,18],[-3,12],[-6,8],[0,-23],[-2,-16],[-5,-11],[-11,3],[2,-12],[-16,-8],[-2,-16],[-7,-13],[-9,8],[-6,-4],[0,12],[-5,-9],[-3,5],[3,21],[-12,-19],[-1,11],[4,22],[2,38],[4,9],[0,22],[-2,3],[-2,30],[-6,24],[-5,8],[0,20],[-2,-4],[-1,-16],[-7,9],[-6,22],[9,-10],[6,14],[-11,14],[3,13],[-4,-3],[-6,11],[-10,-1],[2,16],[-4,-12],[-5,6],[5,4],[-5,9],[0,-11],[-7,22],[-3,3],[-3,21]],[[5533,7690],[8,-17],[11,-8],[13,-12],[0,-5]],[[5538,7620],[0,-3]],[[5537,7617],[-6,0],[7,-10]],[[5537,7593],[-14,24],[-10,8]],[[8263,7933],[2,-6],[9,9],[-4,10]],[[7439,8014],[9,6],[1,10],[19,0],[8,3],[15,13],[-2,11],[25,18],[5,0],[8,12],[11,0],[12,16],[9,-2],[7,10],[7,-10],[9,6],[2,-10],[33,-2],[3,-22],[8,-10],[8,1],[15,-8],[9,7],[21,-9],[11,2],[9,-10],[7,11],[15,6],[5,15],[2,14],[-8,6],[-6,22],[7,27],[5,0],[3,14],[8,4],[7,20],[11,-11],[11,-3],[9,-10],[14,0],[23,-15],[7,1],[17,-9],[2,-43],[17,-15],[11,-7],[20,-3],[13,10],[19,4],[4,6],[21,-6],[4,-6],[13,3],[14,-20],[22,-3],[-1,-15],[17,-20],[16,1],[31,-10],[3,4],[9,-6],[20,14],[18,1],[11,8],[10,-2],[8,5],[3,12],[27,27],[17,-1],[17,-20],[9,-1],[12,8],[12,-5],[3,-6]],[[5913,3637],[-22,0]],[[5891,3637],[1,15],[-3,17],[1,16],[-3,3]],[[5887,3688],[1,16],[0,71],[-4,30],[-3,5],[-6,24],[1,14],[-7,44]],[[5869,3892],[31,64],[-2,10],[4,10],[-1,17],[6,7],[9,29],[1,14],[-6,6],[1,36],[-5,2],[0,11],[6,3],[-1,14],[4,4],[-2,36],[3,14],[-1,17],[-5,22],[4,14],[-7,-1],[-1,6],[-13,9],[-9,1],[-5,12],[-5,1],[-7,10],[-9,-2],[-2,4],[-13,-1],[0,21]],[[5844,4282],[-1,18],[-4,20],[19,14],[14,6],[19,16],[4,1],[27,19]],[[5922,4376],[6,-21],[7,-13],[1,6],[17,6],[5,-11],[2,-41],[-5,-11],[0,-9],[-5,-10],[5,-13],[1,-14],[9,-15],[5,-13],[5,-4],[0,-17],[5,0],[-2,38],[4,19],[9,2],[3,5],[1,35],[-1,16],[3,15],[-2,14],[-21,54],[-6,11]],[[5968,4405],[-2,10],[-1,28],[2,8],[-4,14],[0,16],[6,10],[2,25]],[[5971,4516],[19,0],[5,10],[9,-10],[1,-7],[15,1],[7,6],[12,-8],[11,10],[1,13],[7,4],[11,-8],[11,13],[11,0],[5,9],[9,4],[18,27]],[[6123,4580],[6,-13],[-7,-32],[0,-23],[3,-18],[0,-28],[3,-20],[-6,-8],[5,-1],[-2,-39],[4,-23],[-4,-8],[6,-2],[-3,-8],[6,-5],[0,-22],[-5,-7],[1,-8],[-3,-24],[-13,-26],[-3,-14],[-7,-7],[3,-7],[-21,-26],[-1,-7],[-11,-2],[-16,-16],[-6,-3],[-20,-22],[-11,-32],[-8,-15],[-2,-13],[-5,5],[1,-12],[-4,6],[-13,-18],[-6,-17],[-16,-26],[-3,4],[0,-25],[-3,-12],[6,-15],[3,0],[4,-39],[4,-16],[2,-20],[-1,-24],[5,16],[2,-16],[-2,-10],[3,-20],[-7,-50],[6,-4],[-3,-17],[-9,-26],[-13,-11],[-26,-17],[-11,-10],[-12,-16],[-5,-18],[-4,-6],[3,-12],[7,-5],[-1,-33]],[[4659,6034],[-6,12],[-12,16],[-1,13],[-8,8],[-2,17],[-5,13],[-10,-2],[-6,16],[-8,14],[-16,0],[-20,-9],[-19,1],[-1,-15],[-3,-3],[-2,-22]],[[4540,6093],[0,30],[2,18],[8,33],[4,26],[0,28],[-3,40],[-5,20],[-6,11],[9,24],[0,28],[-9,26],[0,-9],[-5,11],[-4,19],[-4,-3],[-1,-16]],[[4526,6379],[-1,6],[3,26],[55,0],[55,0],[0,15],[-4,71],[3,10],[12,16],[17,11],[0,146],[56,0],[36,0],[0,74]],[[6603,4026],[2,-11],[-3,-12],[-9,-1],[0,15],[4,13],[6,-4]],[[5969,4525],[0,2]],[[5969,4527],[0,-2]],[[5964,4534],[0,2]],[[5964,4536],[0,-2]],[[5952,4624],[-3,6]],[[5949,4630],[3,-6]],[[5946,4634],[0,1]],[[5946,4635],[0,-1]],[[5941,4623],[2,-16],[8,-22],[-1,-51],[3,-25],[-8,-21],[0,-15],[4,-4],[0,-16],[4,-12],[-1,-26],[2,-9],[7,-10],[-2,-24],[7,-10],[2,11],[8,-16],[4,0],[-6,34],[-6,2],[0,12]],[[5922,4376],[-7,-1],[-2,12],[-6,14],[6,8],[4,49],[9,3],[5,11],[-4,0],[-4,11],[2,15],[-3,27],[5,15],[-4,17],[7,6],[5,11],[-4,20],[-6,8],[1,15],[-4,12],[-7,1],[-1,11]],[[5914,4641],[10,-5],[4,-7],[9,1],[4,-7]],[[8093,5320],[-2,3],[0,20],[2,-2],[0,-21]],[[8269,5423],[5,-1]],[[7786,5497],[-1,-11],[-3,11],[4,0]],[[7773,5553],[-3,-8],[-3,8],[6,0]],[[7834,5543],[9,-7],[3,-14],[18,-29],[9,-33],[1,-32],[-4,-8],[0,-23],[4,-12],[-2,-6],[1,-32],[10,-15],[3,-23],[8,-23],[1,-24],[-16,4],[-4,-10],[-5,15],[-15,19],[-7,11],[-10,9],[-11,21],[-14,15],[2,9],[-2,17],[-6,17],[-11,19],[2,9],[-4,6],[1,21],[-2,19],[-6,11],[2,6],[-2,23],[0,26],[-7,25]],[[7780,5554],[2,15],[4,-9],[12,-7],[2,-11],[7,1],[0,-19],[-3,-9],[3,-8],[5,9],[9,7],[6,-10],[7,30]],[[8045,5303],[0,-10],[8,-13],[9,1],[16,-8],[6,-6],[0,16],[5,22],[0,18],[4,0],[2,16],[5,8],[11,2],[20,10],[9,9],[12,33],[7,12],[6,19],[1,16]],[[8193,5464],[1,-4]],[[8198,5465],[6,1],[6,15],[-6,9],[6,11],[6,0],[3,14],[4,4],[1,17],[6,6],[1,8],[8,18],[3,19],[3,-3],[-2,-22],[6,8],[3,15],[4,-2],[1,-18],[7,-3],[6,-10],[-4,-13],[5,-16],[6,9],[3,-14],[8,-1],[9,-15],[15,-10],[0,-11],[-15,-13],[-7,-1],[-2,6],[-7,-8],[5,-14],[9,-13],[-18,-12],[-11,10],[-1,-14]],[[8256,5598],[-5,-6],[0,10],[6,4],[-1,-8]],[[5649,4167],[22,9],[17,-1],[7,-5],[6,-12]],[[5554,3757],[1,-13],[0,-196],[-12,-8],[-2,-9],[-7,-5],[-3,-11],[-11,7],[-16,-4],[-16,13],[-5,-1],[-2,28],[-4,0],[-3,11],[-5,-2],[-4,-12],[0,-11],[-8,-7]],[[5457,3537],[-5,4],[-15,27],[-12,41],[-2,21],[-5,18],[2,11],[-5,7],[0,21],[-3,11],[-1,23],[1,20],[-11,53],[1,33],[-2,25],[3,10],[-1,27],[-14,39],[-4,18],[-13,37],[-5,37],[-3,3],[-4,20],[-7,22],[-3,18],[-8,23],[-8,14],[-5,21],[-3,36],[1,12]],[[9665,3952],[5,-3],[-1,-13],[-7,3],[-2,12],[5,1]],[[9646,3990],[4,-27],[-9,7],[-1,8],[6,12]],[[9555,4026],[7,-13],[6,0],[16,-24],[5,-3],[11,-30],[7,-3],[15,-20],[4,-10],[11,-14],[2,-10],[-3,-5],[-12,8],[-2,-4],[-6,8],[-2,13],[-4,-1],[-7,14],[-13,7],[-4,13],[-12,16],[-1,8],[-6,6],[-12,44]],[[5416,6507],[4,-53],[1,-34],[12,-31],[-1,-12],[11,-21],[-7,-29],[0,-21],[-6,-142],[-1,-9],[-22,-46],[-12,-29],[-13,-39],[0,-11],[-9,-19],[4,-39]],[[5377,5972],[-6,1],[-4,-10],[-5,0],[-14,-18],[-2,-10],[-10,2],[-7,9],[-12,6],[-22,1],[-13,-6],[-7,-7],[-8,-20],[-18,2],[-10,7],[-15,20],[-9,1],[-10,-12],[-6,0],[-3,-7],[-7,4],[-4,15],[-12,21],[-3,-3],[-16,14],[-8,-8],[-12,2],[-11,-6],[-9,-11],[-1,-28],[-4,-14],[-8,-13],[-1,-25],[1,-21],[-2,-2]],[[5377,5972],[13,-36]],[[5238,5460],[-5,-4],[-6,14],[5,-21],[-2,-4],[-17,-3],[-14,10],[0,-10],[-4,-4],[0,13],[-4,2],[3,-18],[-25,-6],[-7,6],[-8,17],[-3,12],[-3,27],[-4,8],[-3,17],[-6,13],[-13,20],[-15,4],[-12,-1],[4,6],[-5,2],[0,-9],[-19,-1]],[[2691,6046],[-6,-4],[4,-35],[-7,-20],[-4,-40],[2,-21],[-1,-19],[2,-10],[-4,-2],[1,15],[-5,-4],[4,-12],[-5,-31],[3,2],[1,-14],[-6,-11],[1,-16],[5,-12]],[[2619,5821],[-6,13],[-12,18],[-7,15],[-4,17],[-26,41],[4,10],[6,-5]],[[5093,8141],[24,0]],[[5162,8210],[-10,-17],[-10,7],[15,13],[5,-3]],[[5118,8141],[-21,6],[1,7],[9,1],[7,-11],[-3,33],[8,7],[6,13],[6,36],[10,-1],[14,21],[11,5],[24,3],[9,-12]],[[5140,8230],[7,-10],[-8,-8],[0,-15],[12,-5],[12,14],[-12,20],[-2,13],[-9,-9]],[[5157,8665],[-10,4],[10,9],[0,-13]],[[5249,8849],[3,-8],[-16,-5],[-3,7],[16,6]],[[5244,8857],[-2,-7],[-13,0],[15,7]],[[5344,8955],[3,-6],[-12,-11],[9,17]],[[5387,9114],[3,-5],[-17,-6],[5,13],[9,-2]],[[5420,9124],[-11,-11],[-15,-6],[9,15],[17,2]],[[5441,9154],[2,-15],[8,12],[8,-5],[-1,-15],[-21,-8],[-4,-7],[-17,-3],[6,18],[6,0],[6,23],[7,0]],[[5421,9152],[6,-15],[-9,-5],[-18,7],[21,13]],[[5439,9158],[-11,-3],[20,19],[-9,-16]],[[5492,9188],[10,-7],[-3,-14],[-32,-8],[9,12],[-6,8],[22,9]],[[5523,9207],[6,-7],[-8,-11],[-17,-2],[5,15],[14,5]],[[5533,9218],[12,-6],[-15,-10],[-9,7],[12,9]],[[5652,9249],[5,-8],[-16,-11],[-6,7],[17,12]],[[5649,9262],[-11,-16],[-24,-4],[7,13],[17,-3],[11,10]],[[5856,9203],[2,-15],[-17,4],[-10,-15],[-16,-3],[-11,-16]],[[5572,9158],[-14,0],[7,-8],[-11,-20],[0,-11],[-42,13],[-8,-3],[1,-19],[-8,-13],[-16,8],[-15,-11],[-5,-16],[-14,-13],[9,-12],[-1,-10],[-27,-31],[2,-13],[-12,-7],[-15,-1],[3,-17],[-3,-30],[-5,-12],[-20,-30],[14,-8],[1,-15],[-5,-10],[-21,5],[-15,-8],[-14,-21],[-5,-18],[6,-16],[-4,-24],[7,-20],[-5,-30],[20,-20],[-4,-18],[-13,-4],[10,-29],[-3,-21],[-10,-13],[-7,0],[-6,-16],[4,-21],[-6,-21],[-5,6]],[[5317,8580],[-2,7],[-16,4],[-5,22],[-5,-3],[1,-15],[-5,-12],[-15,-2],[-28,-36],[-16,-16],[-15,-5],[-30,5],[4,7],[-19,9],[-10,9],[-4,11],[2,18],[14,-10],[-5,13],[9,14],[-12,11],[2,-11],[-10,-4],[-8,9],[8,18],[11,0],[-5,7],[7,5],[5,15],[10,13],[-13,-9],[-6,-16],[-6,16],[-6,-8],[-6,8],[3,14],[12,-3],[-1,14],[-10,-9],[-10,14],[3,16],[10,0],[-13,10],[0,10],[11,7],[-11,5],[11,16],[33,-6],[-31,8],[-7,-3],[7,17],[13,1],[25,16],[-12,-3],[12,13],[22,-8],[-1,10],[-16,2],[-2,12],[10,5],[7,-6],[16,2],[4,11],[12,-2],[-5,11],[34,19],[7,-14],[24,5],[-2,8],[19,14],[2,9],[-18,-7],[2,-9],[-26,-14],[-12,16],[15,11],[-3,9],[14,10],[12,17],[13,-11],[0,17],[11,5],[4,17],[19,3],[-10,6],[10,12],[-8,12],[27,33],[-8,8],[9,16],[12,10],[-7,6],[20,4],[10,13],[22,-3],[0,5],[-28,1],[28,31],[-15,-9],[4,15],[30,7],[-22,1],[23,8],[5,-17],[6,8],[-11,14],[17,8],[32,-1],[-9,8],[-29,-5],[2,11],[24,6],[6,22],[10,6],[4,14],[19,5],[11,13],[26,10],[8,-11],[15,2],[11,14],[19,-17],[-5,14],[-18,15],[28,3],[20,-6],[5,-14],[11,25],[29,23],[0,11],[37,-7],[-19,-17],[-9,-26],[8,-1],[6,15],[33,35],[-3,-34],[17,22],[11,6],[-8,10],[28,3],[8,-5],[-19,-29],[14,2],[11,20],[9,1],[21,-14],[8,4],[27,-25],[-16,-2],[-10,-10],[-39,6],[-3,-4],[29,-8],[-2,-12],[34,3]],[[5713,9281],[11,-11],[-15,-3],[-6,9],[10,5]],[[4778,9282],[-1,-9],[-15,-2],[16,11]],[[5647,9686],[-7,-11],[38,-10],[-33,-33],[-23,0],[10,17],[-53,-6],[22,27],[-22,9],[23,8],[45,-1]],[[5596,9708],[21,-5],[1,-13],[-43,-4],[-15,17],[36,5]],[[5313,9706],[24,-18],[-29,12],[-16,19],[13,4],[8,-17]],[[5467,9783],[4,5],[53,-31],[2,-16],[23,1],[8,-9],[40,-9],[-5,-12],[-44,-1],[-22,-10],[3,-21],[-18,-4],[-5,-31],[-14,1],[-11,-30],[-12,-11],[3,-11],[-20,6],[-35,25],[-18,3],[-9,22],[50,-2],[-31,7],[59,9],[-36,4],[-50,-9],[-5,19],[40,3],[17,12],[27,1],[-3,22],[-14,-14],[-16,-1],[-1,23],[-28,-21],[10,-6],[-25,-10],[-23,-1],[-17,20],[-20,10],[21,16],[-19,4],[10,14],[-23,-12],[-16,26],[31,17],[9,-10],[47,12],[-3,-10],[-33,-9],[37,-1],[19,16],[20,-12],[5,-15],[28,-25],[-14,23],[-7,33],[24,9],[7,-9]],[[5642,9812],[113,-16],[-1,-15],[-37,-13],[-5,-13],[-38,-5],[-6,-7],[-32,2],[-1,11],[-57,-2],[-32,10],[22,8],[39,1],[0,7],[-66,-7],[-28,4],[-12,23],[33,-5],[33,19],[53,-25],[3,26],[19,-3]],[[9617,2273],[0,-19],[-6,6],[6,13]],[[9665,2494],[6,-10],[0,-14],[-12,-2],[-5,-8],[1,13],[5,6],[-1,14],[6,1]],[[96,2665],[10,-1],[-9,-6],[6,-11],[-9,-5],[3,13],[-9,8],[8,2]],[[9802,2850],[-4,0],[-2,-14],[9,-2],[1,-21],[4,-9],[10,14],[6,3],[3,-10],[3,13],[9,-2],[-4,-7],[3,-10],[-6,-8],[6,-18],[-8,-17],[-3,-13],[-9,-13],[-6,-23],[-15,-16],[-1,-24],[9,-5],[1,-9],[-7,-4],[-10,10],[-7,-9],[-25,-22],[-4,-20],[0,-17],[-7,-15],[-5,-25],[0,-16],[-8,-3],[-17,-24],[-4,-11],[-13,-7],[-11,0],[-1,6],[-13,-4],[-5,16],[-11,-2],[-2,10],[-8,3],[-3,-7],[-16,3],[1,13],[-9,0],[0,10],[9,6],[-2,8],[4,17],[8,-7],[-4,16],[36,56],[2,7],[10,1],[19,21],[8,4],[16,27],[14,12],[13,29],[6,37],[9,4],[8,16],[1,31],[15,21],[7,0]],[[9872,3102],[4,-10],[-7,5],[3,5]],[[9807,3201],[-1,-14],[3,-11],[8,-8],[8,2],[10,-9],[2,-9],[5,4],[1,-13],[5,-10],[-2,-23],[9,-16],[-3,-21],[7,-17],[8,0],[4,-17],[5,3],[-4,18],[3,20],[3,-14],[7,-9],[1,-35],[2,-7],[14,-7],[19,-13],[10,4],[5,14],[8,7],[8,0],[7,-10],[-6,-15],[-1,-32],[-10,-9],[-2,-34],[-1,12],[-12,1],[-10,-8],[-4,-10],[1,-13],[4,-3],[-5,-25],[-8,-21],[-6,-9],[-9,-30],[-8,-14],[-13,-14],[-3,11],[-9,-1],[-8,12],[4,4],[10,24],[4,27],[-5,17],[-15,10],[-6,12],[-9,4],[-6,8],[1,14],[22,19],[3,41],[4,20],[-3,30],[4,10],[-3,8],[-8,-6],[-2,16],[-6,19],[7,-12],[-2,22],[-11,8],[1,-9],[-26,61],[2,16],[-12,29],[10,1]],[[6629,6344],[-1,12],[8,19],[-7,-31]],[[6474,6141],[-8,37],[-2,0],[-11,55],[-10,44]],[[6443,6277],[13,8],[52,37],[19,12],[9,56],[9,61],[-13,39]],[[6566,6621],[6,-28],[6,-15],[10,-17],[31,-18],[8,2],[6,-11],[13,-39],[7,-13],[8,-2],[0,-17],[-9,-27],[-4,-19],[-12,-17],[-11,-42],[-8,1],[1,11],[-5,-3],[-3,-13],[-4,-4],[-1,-20],[-3,-10],[2,-31],[2,-11],[-3,-4],[-15,-2],[-8,-6],[-7,-12],[-3,-28],[-5,-10],[-5,1],[-21,-7],[-6,-19],[2,-9],[-7,-20],[-8,-3],[-4,5],[-16,-3],[-12,-14],[-7,0],[-7,-6]],[[6557,6684],[2,8],[9,-6],[-5,-27]],[[6893,6556],[-1,-9],[-8,10],[-6,-3],[-8,15],[-5,42],[-13,5],[1,20],[-5,7],[-3,13],[-7,1],[2,-7],[-16,-8],[-13,2],[-1,-4],[-23,-1],[-19,6],[-4,-11],[-28,4],[-5,-6],[-17,-8],[1,8],[-5,2]],[[2729,5623],[3,-19],[-7,12],[4,7]],[[2836,5599],[-8,16],[-7,31],[5,4],[0,10],[5,8],[-5,3],[-4,-7],[-3,16],[-10,15],[-6,5],[-10,2],[-9,-12],[0,-13],[-8,-11],[-12,-10],[0,-8],[10,-19],[4,-14],[-10,-6],[-2,-9],[-13,-2],[0,7],[-8,30],[-1,-14],[-10,8],[-3,19],[-9,8],[-6,-1],[0,8],[-8,-4],[-9,2],[-2,-16]],[[2706,5734],[6,-10],[3,-23],[13,-4],[-4,11],[5,-3],[6,-15],[10,-1],[9,5],[7,12],[14,8],[14,22],[10,-4],[7,2],[-2,-7],[16,-2],[17,-19],[3,-9],[10,-15]],[[3073,4289],[-8,13],[-7,0],[2,-20],[-3,4],[-3,-15],[17,-10],[-2,-8],[7,-8],[4,3]],[[3084,4249],[-2,-19]],[[3044,4127],[-14,19],[0,3],[-13,15],[0,13],[-3,10],[-18,16],[-6,15],[-10,5],[-17,20],[-17,13],[-3,8],[-32,34],[-1,9],[-9,19],[-10,12],[-6,25],[-4,2],[0,15],[3,23],[-10,34],[0,7],[-8,20],[1,6],[-7,9],[-3,11],[-2,23],[-4,10],[-8,9],[1,11],[-4,20],[-12,36],[-1,20],[-4,9],[-2,18],[-5,8],[-4,33],[-6,23],[-14,29],[-6,35],[-7,12],[-6,16],[-16,16],[-11,17],[0,11],[8,6],[-2,16],[-7,11],[3,15],[-8,19],[2,25],[12,23],[0,5],[14,21]],[[8339,5486],[-9,-12],[-3,4],[12,8]],[[8361,5534],[5,-6],[-8,-6],[3,12]],[[8390,5552],[-3,0],[-4,14],[7,5],[7,-7],[-7,-12]],[[8493,5581],[-3,9],[3,5],[0,-14]],[[8251,5645],[-2,-13],[-1,14],[3,-1]],[[8489,5736],[9,-8],[3,-13],[4,4],[-1,-13],[4,-7],[0,-10],[-6,-9],[8,-6],[-1,-20],[3,3],[-2,-23],[5,-6],[1,-27],[-4,-16],[-6,-12],[-1,-28],[-4,20],[1,8],[-6,19],[-1,14],[-5,-4],[0,-9],[-5,-8],[-3,-22],[6,-6],[3,-20],[-1,-12],[-7,-21],[-7,13],[3,8],[-3,9],[-3,-14],[-10,5],[-13,14],[-5,15],[0,20],[-2,0],[1,19],[6,8],[0,9],[-5,11],[-15,13],[-3,-12],[1,-15],[-4,9],[-4,-1],[0,12],[-4,-14],[-6,0],[1,16],[-9,-3],[-7,-26],[-2,-17],[-3,-3],[-5,9],[7,30],[-1,11],[7,16],[16,6],[3,21],[8,1],[2,11],[3,-6],[6,1],[4,-13],[0,-15],[11,6],[2,17],[3,4],[6,-8],[3,5],[0,23],[4,1],[5,-9],[5,10],[7,1],[0,17],[-4,21],[2,8],[5,-12]],[[8503,5750],[-4,-2],[2,14],[2,-12]],[[8453,5767],[7,-6],[-1,-12],[-7,-13],[-12,2],[-2,9],[7,10],[3,10],[5,0]],[[8479,5754],[-4,9],[3,3],[1,-12]],[[8490,5782],[1,-31],[-5,11],[0,15],[4,5]],[[8332,5791],[-6,-5],[2,10],[4,-5]],[[8408,5792],[-5,-9],[0,11],[4,7],[1,-9]],[[8423,5815],[8,-4],[1,-7],[-7,-25],[-1,-15],[-4,-13],[0,-19],[5,-11],[-2,-12],[-7,-5],[-3,15],[-9,8],[-5,15],[2,15],[11,6],[-1,23],[4,23],[8,6]],[[8444,5821],[1,-35],[-2,-9],[-9,-14],[0,-7],[-6,-27],[-3,-4],[2,34],[9,27],[5,33],[3,2]],[[8319,5836],[0,-30],[6,-17],[-10,-11],[-4,-14],[-13,-9],[1,-12],[-9,-26],[-10,-10],[-1,-9],[-8,-14],[-6,-2],[-1,-9],[-9,0],[19,43],[4,0],[9,23],[7,11],[6,20],[12,17],[4,32],[0,14],[3,3]],[[8456,5842],[7,-8],[4,7],[6,-10],[-1,-30],[5,-8],[2,-19],[-8,-4],[2,-10],[-8,7],[-1,14],[2,19],[-2,11],[-5,5],[-4,-4],[1,30]],[[8456,5856],[5,-12],[-5,0],[0,12]],[[8396,5860],[10,-14],[4,6],[3,-11],[7,8],[-1,-24],[-9,-10],[-1,-11],[-6,-6],[-9,-2],[-6,-13],[-2,20],[4,17],[0,39],[-6,1],[3,10],[9,-10]],[[8332,5870],[2,-13],[-3,-2],[-2,15],[3,0]],[[8331,5890],[11,-11],[0,-5],[-10,1],[-1,15]],[[8405,5890],[-5,12],[6,0],[-1,-12]],[[8469,5906],[10,-3],[2,-13],[5,-4],[-2,-6],[1,-33],[6,-24],[-14,0],[-2,10],[-4,0],[-4,10],[6,17],[-5,0],[-6,16],[-8,11],[-3,20],[7,-3],[11,2]],[[8426,5905],[6,-6],[5,-13],[4,-1],[4,-15],[0,-12],[-17,28],[-8,-17],[3,13],[-1,26],[4,-3]],[[8392,5910],[-3,-30],[-3,11],[2,17],[4,2]],[[8434,5912],[3,-18],[-5,16],[2,2]],[[8421,5926],[-7,8],[2,6],[5,-14]],[[8360,5962],[15,-22],[-1,-23],[-3,-26],[-4,-5],[-9,17],[-4,15],[0,14],[-7,12],[-4,18],[10,-4],[7,4]],[[8385,5963],[7,-9],[-4,-11],[-5,8],[2,12]],[[8450,5993],[5,-11],[0,-12],[-7,-8],[-4,7],[3,5],[0,20],[3,-1]],[[8387,6049],[2,-18],[-3,-5],[-3,23],[4,0]],[[8358,6252],[7,4],[10,-14],[13,-6],[4,13],[3,0],[2,-15],[-4,-8],[-1,-29],[3,-15],[4,0],[2,-28],[-8,-32],[1,-4],[-18,-18],[2,-10],[-7,-28],[9,-32],[-3,-1],[4,-30],[5,-10],[10,-2],[-3,13],[8,9],[8,-1],[9,-20],[-1,-12],[5,-3],[3,17],[17,-13],[1,-4],[-12,-1],[0,-8],[5,-8],[4,-16],[6,-8],[2,-12],[-2,-14],[-6,5],[-1,13],[-7,1],[-8,7],[0,14],[-3,11],[-7,6],[-5,16],[-9,7],[2,-18],[5,-15],[-3,-12],[-7,25],[-17,19],[-8,-8],[1,-6],[-11,-4],[-4,16],[-6,2],[-2,-7],[-1,24],[11,17],[-4,14],[-9,-4],[2,-13],[-4,-3],[-4,23],[-7,4],[-1,23],[-4,8],[1,26],[-4,3],[0,23],[9,-15],[9,5],[-3,17],[0,21],[4,10],[-1,11],[0,43],[5,23],[-1,10],[10,4]],[[8740,5620],[-2,-13],[-3,3],[5,10]],[[9256,4529],[13,-10],[0,-5],[-10,3],[-3,12]],[[9195,4611],[7,-2],[-2,-10],[-8,2],[-5,23],[8,-13]],[[9184,4640],[3,2],[5,-15],[-14,1],[0,16],[6,-4]],[[9176,4644],[-1,-9],[-5,5],[-1,9],[6,1],[1,-6]],[[9234,4667],[10,-3],[5,-11],[-10,2],[-5,12]],[[8989,4680],[-11,16],[11,-11],[0,-5]],[[8981,4701],[6,0],[1,-7],[-7,7]],[[9105,4867],[7,-7],[-1,-11],[-7,10],[1,8]],[[9299,4867],[8,-4],[3,-17],[6,-8],[1,-9],[5,-4],[8,-16],[2,-14],[-7,-8],[-5,1],[-10,17],[1,14],[-14,25],[0,19],[2,4]],[[9089,4870],[-4,0],[-2,11],[3,3],[3,-14]],[[9296,4889],[-2,-21],[-1,25],[3,-4]],[[9228,4941],[-2,-6],[7,-2],[0,-17],[-5,-20],[-8,-1],[5,-25],[-8,-9],[-11,3],[2,-8],[-14,-21],[-15,-13],[-24,-2],[-3,10],[-6,4],[-6,-5],[-2,7],[-10,12],[-9,7],[4,14],[11,-5],[3,4],[7,-8],[20,6],[2,24],[4,-27],[8,6],[8,-5],[8,6],[0,10],[10,20],[7,-3],[2,5],[-2,23],[-3,16],[7,0],[5,-8],[2,8],[6,0]],[[8915,5033],[7,-1],[25,-25],[25,-17],[13,-4],[9,-11],[5,-11],[15,-2],[0,-8],[9,-6],[5,-15],[8,-3],[13,-25],[-1,-38],[14,-4],[18,-16],[5,-7],[12,-3],[9,-22],[0,-18],[-25,-3],[0,-12],[5,-13],[1,-15],[7,-6],[8,-21],[12,-8],[3,-30],[7,-9],[2,-19],[21,3],[-4,-19],[1,-9],[7,-6],[15,-2],[1,-5],[-9,-5],[8,-16],[10,-7],[12,-3],[-4,-5],[-9,-1],[10,-10],[-7,-9],[-13,6],[2,7],[-9,8],[-7,-1],[-8,6],[-12,0],[1,5],[-11,-3],[-2,5],[-17,1],[-11,33],[-5,2],[-7,22],[-8,6],[-4,23],[-10,30],[-13,9],[-5,-1],[-7,8],[-9,2],[-6,12],[-6,-1],[2,-13],[-7,10],[1,-8],[-13,8],[4,-19],[-11,-4],[1,-12],[-18,-5],[-6,1],[11,-10],[7,-15],[1,-11],[-22,-23],[-11,10],[-20,-3],[-6,4],[-3,-5],[-6,7]],[[9195,5027],[10,-11],[11,-17],[7,-3],[14,-33],[11,-10],[5,-22],[-2,-14],[-5,-10],[-6,14],[1,21],[-5,19],[-10,21],[-6,2],[-9,16],[-5,4],[-9,15],[-10,7],[8,1]],[[9172,5046],[6,-5],[0,-12],[-8,0],[-3,9],[5,8]],[[9079,5070],[12,-5],[-3,-8],[-17,0],[0,11],[8,2]],[[9154,5105],[6,-13],[-6,5],[0,8]],[[5544,8319],[0,-1]],[[5544,8318],[4,-1]],[[5548,8317],[63,-4],[21,0]],[[5655,8150],[1,-13],[14,-27],[-5,0],[4,-18],[-10,-8],[-18,-24],[-13,-25],[4,-28],[-6,2]],[[5626,8009],[-15,8],[-11,12],[-16,-2],[-4,-6],[-6,6],[-10,0],[-14,-12],[-1,12],[-10,11],[-7,-11],[-9,7]],[[5396,8275],[8,-3],[0,13],[-10,0]],[[5394,8289],[54,20],[12,16],[10,2],[11,9],[27,5],[7,-23],[12,-6],[17,7]],[[3138,6248],[29,-2],[9,-6],[2,-7],[-7,-13],[-9,-5],[-17,3],[-12,-1],[1,15],[-3,7],[3,10],[4,-1]],[[8625,7631],[5,-14]],[[8630,7617],[-7,4],[-11,-15],[-11,-27],[4,-15],[-3,-11],[1,-19],[-11,-5],[-7,-16],[-13,-11],[-8,-14],[-9,1],[-4,-9],[-10,-8],[2,-9],[-6,-13],[2,-13],[9,-2],[17,-29]],[[8518,7361],[-8,4],[-8,-9],[-8,15],[-7,1],[2,-14],[-10,9],[-7,-2],[3,9],[-13,4],[9,5],[-3,9],[10,20],[-3,4],[4,21],[5,14],[-4,8],[-16,7],[-11,14],[1,12]],[[4525,7072],[11,-2],[-3,-7],[-10,3],[2,6]],[[4286,7362],[15,1],[0,-6],[-10,-3],[-5,8]],[[4220,7396],[-11,-2],[-2,9],[13,-7]],[[4248,7409],[-8,0],[0,8],[6,0],[2,-8]],[[4794,7325],[-12,-12],[-21,8],[-10,-7],[4,24],[1,44],[-4,18],[-8,-2],[-1,11],[8,6],[-2,7],[-4,-11],[-9,1],[4,38],[6,7],[7,36],[-1,3],[7,47],[-6,50],[3,7]],[[3492,3797],[-1,-17],[-4,-23],[-1,-22],[-3,-17]],[[5949,6986],[8,16]],[[5987,7012],[-4,-16]],[[853,4163],[-9,-2],[-1,11],[5,3],[5,-12]],[[6422,6601],[-8,-2],[-3,9]],[[6411,6608],[1,10],[-3,15],[1,20],[3,6],[4,24],[6,6],[4,-12],[5,-2],[1,-9],[-4,-14],[4,-14],[0,-15],[-4,-17],[-7,-5]],[[5783,7801],[3,-8],[11,-6],[14,12],[10,-3],[2,-9]],[[5823,7787],[-1,-22],[-14,-4],[-3,13],[-4,-3],[-6,-35],[1,-21],[-3,-13]],[[5630,7730],[-6,15],[8,5],[-10,9],[-6,-14],[-5,9],[-10,2],[-9,9],[5,16],[-15,12],[-6,9],[1,16],[-13,13],[-2,7]],[[5635,7944],[10,8],[7,-5],[20,-6],[10,3],[9,-14],[10,11],[26,6],[3,12],[9,3]],[[9064,7741],[7,1],[-12,-10],[-16,-24],[15,37],[6,-4]],[[9133,7793],[-15,-6],[-10,-15],[-5,0],[-7,-11],[-18,-19],[10,17],[-3,3],[25,28],[9,0],[12,15],[2,-12]],[[9182,7845],[-21,-27],[-10,-9],[15,27],[16,9]],[[9227,7898],[-1,-8],[-10,-14],[11,22]],[[9301,8041],[-1,-17],[-6,3],[7,14]],[[9336,8091],[-7,-15],[-9,-4],[-5,-11],[-5,16],[15,9],[4,15],[7,3],[0,-13]],[[9344,8100],[-7,6],[7,7],[0,-13]],[[8967,8309],[5,-11],[-3,-7],[8,-35],[4,-38],[-6,-46],[5,-11],[-2,-12],[6,0],[9,-69],[10,-33],[0,-7],[8,-36],[-9,14],[-23,9],[3,-6],[-10,-7],[-2,-16],[-12,-57],[6,-26],[8,-11],[0,-11],[5,-21],[9,4],[1,-28],[-3,-6],[-2,22],[-17,3],[-2,6],[-7,-5],[-6,-32],[-5,-9],[-3,6],[-4,29],[7,30],[-3,31],[7,21],[-3,26],[-5,12],[7,55],[0,46],[-3,10],[1,17],[5,19],[-5,18],[-11,14],[-1,38],[4,5],[3,26],[-4,26],[13,9],[1,-9],[10,9],[-4,8],[9,2],[-2,12],[-10,21],[5,-2],[5,11],[3,-8]],[[9669,8321],[-19,19],[4,0],[15,-19]],[[8810,8355],[-14,-11],[8,11],[6,0]],[[8827,8358],[9,-8],[-12,-22],[-6,15],[-6,1],[8,17],[7,-3]],[[5548,8317],[18,15],[-10,2],[-12,-16]],[[5544,8319],[10,17],[0,12],[12,-1],[15,19]],[[5582,8366],[-12,-19],[12,-3],[7,5],[1,15]],[[9609,8371],[18,-27],[1,-11],[-13,14],[-4,13],[-7,6],[5,5]],[[9571,8591],[3,-16],[-8,-2],[-23,-18],[9,26],[19,10]],[[5777,8600],[3,-1]],[[6924,9029],[21,-5],[-5,-13],[-16,18]],[[6396,9167],[-24,-22],[-23,-4],[-10,9],[1,19],[15,16],[13,1],[28,-19]],[[9482,9188],[-3,-8],[6,-25],[-10,6],[-2,19],[9,8]],[[9705,9201],[-6,-12],[-29,7],[-11,8],[14,11],[32,-8],[0,-6]],[[6648,9234],[5,-8],[26,-17],[0,-11],[-25,-1],[-5,11],[-10,-2],[-13,12],[-1,15],[13,8],[10,-7]],[[6464,9295],[14,-14],[-6,-11],[-7,12],[-15,9],[14,4]],[[0,9271],[9990,-7],[-25,-4],[-4,14],[8,11],[30,17],[-9999,-31]],[[8829,9305],[-3,-9],[-20,5],[23,4]],[[0,9302],[26,4],[18,-3],[27,-17],[-12,-12],[-42,-8],[-17,5],[0,31]],[[7160,9347],[-27,1],[22,18],[21,-9],[-16,-10]],[[8580,9366],[-7,-7],[-15,7],[22,0]],[[8592,9374],[-28,2],[18,7],[10,-9]],[[7209,9382],[0,-11],[-19,1],[-8,7],[16,13],[11,-10]],[[7078,9392],[-5,-14],[-16,10],[21,4]],[[6536,9406],[31,-6],[-8,-26],[-15,-9],[-7,-32],[5,-18],[16,-29],[23,-20],[19,-10],[-49,-5],[-16,3],[-2,-8],[-14,12],[-18,-1],[-11,7],[-11,34],[-11,-4],[-10,10],[-19,-6],[-8,6],[-3,22],[11,12],[15,-5],[9,22],[11,9],[-20,7],[7,8],[21,1],[-7,12],[17,12],[13,-2],[20,9],[11,-5]],[[6970,9416],[1,-13],[11,-6],[-42,-7],[3,20],[27,6]],[[8951,9436],[32,-18],[0,-21],[-33,3],[-40,10],[-27,-4],[2,8],[17,1],[17,22],[32,-1]],[[8903,9439],[-10,16],[20,5],[2,-17],[-12,-4]],[[8148,9464],[-16,-15],[-37,13],[18,14],[34,-4],[1,-8]],[[7281,9528],[-4,-16],[-14,11],[18,5]],[[9075,9530],[47,-4],[5,-12],[15,3],[49,-6],[-8,-15],[-25,-8],[-43,2],[-58,24],[7,20],[11,-4]],[[8773,9524],[-11,-1],[6,29],[14,-16],[-9,-12]],[[8863,9565],[40,-20],[10,14],[19,1],[-8,10],[35,-19],[29,1],[50,-20],[-19,-5],[5,-8],[-16,-15],[-40,6],[-11,13],[15,13],[-3,8],[-25,-4],[5,-18],[12,-15],[30,-9],[-38,-6],[-14,10],[-49,-10],[-6,8],[-17,-18],[-33,8],[-25,20],[-2,34],[18,1],[-9,9],[42,18],[5,-7]],[[7674,9577],[3,-9],[-30,3],[27,6]],[[8125,9595],[2,-10],[-18,11],[16,-1]],[[9145,9596],[-23,0],[29,8],[-6,-8]],[[6893,9615],[24,-15],[-21,-24],[-51,-17],[-116,-32],[-47,-18],[0,-15],[-22,-8],[-2,-8],[-17,8],[1,-16],[-26,8],[15,-17],[-16,-8],[-16,-31],[-24,-20],[-36,4],[-11,6],[-20,-6],[-4,9],[24,12],[-30,-4],[-2,8],[26,12],[-3,6],[26,13],[-3,20],[24,4],[-14,7],[18,4],[-18,4],[-3,9],[21,-4],[14,19],[19,-4],[-5,11],[38,20],[23,3],[14,11],[23,-2],[0,12],[52,-5],[61,15],[49,28],[35,1]],[[7679,9622],[-33,-4],[35,11],[-2,-7]],[[8666,7787],[3,-13],[-2,-13],[9,-14],[7,9],[6,22]],[[6367,7850],[-12,-15],[-2,-14],[-4,9],[-10,-14],[-17,0],[-7,-31],[-8,-23],[-10,-8],[0,-13],[14,-11],[8,-28],[-2,-14],[6,19],[-5,-26],[0,-21],[7,-10],[4,-16],[12,-26],[2,-11],[6,-4]],[[6110,7681],[-15,21],[-1,6],[-18,24],[-15,7],[-11,15],[-9,1],[-8,19],[-17,11],[8,3],[-1,11],[8,-6],[11,2],[5,-4],[0,16],[-4,2],[8,10],[2,14],[4,-6],[2,11],[11,0],[-13,17],[-5,0],[-4,15],[6,-3],[13,14],[24,9],[0,13],[-30,-8]],[[6061,7895],[-1,12],[5,17],[11,5],[3,10],[25,-3],[0,13],[6,12],[-8,29],[10,5],[-8,3],[11,26],[-1,14],[-10,-2],[-5,10],[-7,0],[-5,9],[-6,-5],[-8,10],[-18,-4],[-8,11],[-8,20],[-16,-6],[-6,-7],[-10,4],[-5,8],[-13,-5],[-6,10],[2,10],[-4,19],[-7,12],[-11,-3],[-13,12],[-3,17],[8,9],[-8,8],[-1,10],[-11,13],[-13,1],[-9,-8],[-15,5],[-1,-11],[-12,-7],[-3,5]],[[5767,8523],[9,-9],[6,9],[-6,10],[-10,-2],[7,19],[-4,30]],[[5773,8590],[9,11]],[[5778,8608],[-1,16],[11,-5],[3,11],[10,-4],[7,12],[29,-8],[2,8],[-9,9],[-25,2],[-10,28],[-16,-9],[-7,2]],[[5856,9203],[15,-9],[19,18],[16,-11],[14,-3],[-7,-8],[-20,4],[6,-7],[19,-3],[-6,-7],[19,4],[5,-5],[35,-7],[23,-1],[52,-28],[21,-21],[14,-2],[16,-14],[13,-3],[30,-21],[1,-23],[7,-2],[-5,-24],[-21,-24],[-30,-15],[-22,-4],[-28,5],[-22,9],[-27,3],[-27,15],[-36,7],[-24,23],[-11,0],[8,-15],[18,-11],[3,-9],[13,-6],[-4,-7],[14,-3],[21,-20],[-4,-21],[-6,-7],[13,-46],[-6,-4],[16,-15],[15,2],[12,-18],[31,-13],[16,9],[1,21],[-25,5],[-16,19],[-3,12],[10,2],[7,12],[18,-9],[10,-13],[0,-9],[10,10],[31,-15],[9,7],[18,-7],[-4,22],[-19,30],[4,9],[18,12],[6,9],[18,5],[22,27],[11,-8],[20,3],[22,-21],[1,11],[11,23],[0,16],[-20,19],[10,28],[3,31],[-25,18],[18,-4],[37,0],[18,-6],[16,-18],[5,-18],[-38,-5],[-12,-22],[17,-9],[8,-17],[20,-5],[34,13],[5,22],[-3,11],[26,7],[1,6],[24,9],[31,22],[8,-1],[31,13],[-1,-12],[16,4],[-12,10],[32,18],[15,-3],[-7,-14],[6,-13],[-21,-8],[29,-3],[7,6],[11,-7],[1,12],[29,14],[38,-5],[18,17],[25,8],[15,-13],[-10,-8],[1,-13],[16,-4],[8,10],[-6,7],[20,5],[13,11],[0,10],[-22,28],[15,6],[2,10],[74,-10],[20,-7],[19,-15],[62,-29],[33,-25],[2,-9],[17,25],[7,19],[-21,2],[-10,16],[-1,12],[-35,14],[3,16],[12,3],[-6,9],[6,15],[-1,20],[-16,-3],[-2,17],[8,14],[28,12],[15,17],[14,51],[12,16],[5,-5],[52,1],[39,-11],[1,-25],[-16,-26],[1,-7],[-15,-11],[8,-13],[16,-10],[5,-15],[-2,-25],[-10,-9],[8,-25],[-5,-11],[3,-21],[-3,-16],[5,-8],[26,-20],[-15,-16],[3,-22],[-18,-13],[-9,-27],[-20,-14],[2,-15],[-15,-1],[-10,-7],[-22,21],[-22,-6],[8,-15],[27,-10],[22,2],[24,-8],[10,6],[2,16],[13,2],[26,20],[1,17],[24,24],[-1,25],[-11,15],[3,17],[29,12],[31,4],[1,-11],[19,-15],[-5,-15],[5,-20],[-7,-7],[18,-13],[18,-1],[-25,13],[0,18],[20,10],[-11,14],[-5,24],[-19,5],[-24,13],[-17,1],[-20,-10],[-27,5],[3,18],[-10,15],[6,25],[17,20],[-21,41],[-15,12],[14,22],[39,16],[5,17],[-4,28],[15,-7],[6,-30],[-13,-17],[7,-17],[-5,-18],[11,-4],[57,-7],[6,-11],[12,0],[-4,17],[-17,2],[-39,16],[-8,20],[27,8],[17,-13],[15,3],[-5,14],[-15,-2],[15,14],[16,5],[28,-3],[51,-35],[23,-3],[18,5],[14,-7],[-14,-16],[-16,-6],[-2,-17],[7,-12],[-10,-12],[11,2],[0,11],[10,11],[9,-6],[-4,-27],[-10,-9],[14,-10],[-7,14],[18,0],[6,8],[-17,44],[13,23],[-6,11],[-32,15],[-3,11],[-26,4],[-14,11],[4,23],[-11,9],[2,28],[39,5],[43,-1],[59,10],[40,3],[-23,-18],[25,2],[10,13],[-19,21],[-22,4],[14,18],[-21,4],[13,10],[16,-7],[68,47],[67,8],[66,16],[-28,9],[19,3],[22,-5],[25,7],[21,-3],[-16,-13],[58,10],[32,12],[29,-10],[-29,24],[18,-3],[40,4],[1,26],[63,39],[43,3],[33,-17],[-21,-13],[-24,-3],[82,-7],[6,-6],[-27,-21],[36,-1],[4,12],[38,1],[19,-4],[27,5],[47,-24],[3,-16],[19,4],[3,-28],[-21,5],[1,-12],[22,-1],[-2,-14],[-20,-17],[-20,-6],[-12,-13],[-47,-16],[-2,-9],[-32,-15],[-20,-19],[-27,-1],[-12,-18],[-17,-2],[-6,-15],[-15,-12],[23,6],[7,17],[37,-2],[15,8],[51,12],[23,10],[-7,6],[-25,-5],[-6,8],[13,10],[25,-6],[7,7],[8,-13],[19,-6],[22,5],[-2,12],[16,-20],[-8,-12],[44,9],[19,7],[100,-13],[-18,-4],[1,-11],[38,-12],[36,-5],[25,2],[21,-8],[-7,11],[19,-6],[11,17],[-8,10],[3,16],[17,-2],[10,10],[23,-14],[29,0],[12,-16],[7,15],[30,-4],[7,-12],[34,-14],[-34,-12],[30,-6],[-39,-3],[20,-10],[18,-1],[6,-12],[-15,-11],[-19,8],[27,-37],[13,-27],[40,-21],[13,12],[18,43],[10,14],[13,-19],[23,-12],[22,0],[4,6],[31,8],[22,-6],[19,-11],[11,-13],[7,27],[16,4],[12,-13],[17,2],[-3,27],[15,17],[-29,0],[12,16],[37,2],[4,10],[-12,9],[23,-1],[23,-9],[38,0],[50,-8],[39,-12],[-37,1],[-16,4],[-13,-15],[27,6],[42,2],[-26,-26],[10,16],[-12,4],[-3,-17],[-23,-12],[29,4],[30,31],[36,0],[34,-9],[13,-13],[-12,-9],[-7,7],[-9,-11],[25,-2],[-2,-11],[20,2],[0,-13],[24,3],[18,-20],[-13,0],[26,-9],[28,3],[65,12],[45,-1],[26,-6],[33,-17],[11,-25],[-11,-19],[3,-8],[31,-8],[3,-28],[11,-11],[-10,-25],[14,22],[-2,26],[19,17],[51,7],[23,-12],[23,2],[11,-5],[24,-1],[21,16],[16,-13],[2,-19],[29,-8],[7,-18],[22,4],[17,12],[-13,32],[-11,-1],[11,11],[-1,19],[41,-7],[22,-1],[17,-10],[1,9],[37,-6],[20,2],[28,-7],[71,-27],[17,-16],[-9958,-15],[3,-12],[28,-11],[2,-9],[12,1],[20,-19],[16,-2],[-10,-7],[12,-5],[0,10],[12,-7],[8,-20],[10,-2],[-3,-18],[5,-13],[-7,-6],[14,-8],[-1,-14],[17,13],[-11,3],[9,6],[-2,17],[-9,6],[27,1],[20,-12],[-5,9],[32,-6],[10,-17],[13,-7],[10,-17],[5,4],[17,-14],[-9,0],[-14,-11],[-5,-15],[-21,13],[11,-20],[-32,3],[4,-27],[-19,-12],[-8,-11],[16,-5],[6,-9],[-13,-1],[-12,-9],[-23,10],[-2,8],[-16,10],[-33,12],[-4,29],[-29,10],[-12,-10],[-30,4],[-11,27],[9,7],[2,15],[-7,-11],[-28,-4],[0,-16],[13,-11],[-7,-23],[9982,-11],[-10,-13],[-34,-9],[-21,8],[-1,8],[-16,9],[12,-16],[-24,2],[-11,7],[20,-23],[20,12],[-3,-16],[17,-17],[8,8],[12,-25],[2,-16],[-5,-13],[18,-9],[2,-20],[7,-16],[-12,-7],[0,-10],[-28,12],[-22,3],[-10,16],[2,-16],[-21,-16],[-25,-11],[-25,-18],[-12,2],[-7,-10],[-8,4],[-1,-10],[-10,-10],[-11,2],[5,-8],[-22,-13],[-3,-12],[-17,-4],[-1,-9],[-15,-7],[-10,-16],[-6,-18],[-8,8],[-7,21],[-13,9],[-32,0],[-35,-20],[-16,-23],[-4,0],[8,39],[-33,-24],[-5,-14],[-7,-2],[-2,11],[-30,3],[2,-9],[-9,-4],[-5,-19],[4,-12],[-12,-10],[4,-10],[-18,-16],[-10,-26],[1,-19],[13,-7],[1,11],[18,-8],[3,-6],[-15,-21],[1,-36],[11,1],[4,-32],[-9,-10],[-12,13],[8,11],[-6,4],[-8,-7],[6,-6],[-16,-12],[-7,-25],[-1,-16],[11,-34],[-11,-14],[-13,-1],[-6,6],[-15,-9],[-13,-15],[-6,-22],[4,-13],[-3,-6],[5,-22],[-13,10],[-9,-5],[-21,-25],[1,-26],[-7,-19],[-10,-20],[-11,-7],[-2,-8],[-17,-22],[-9,17],[-1,40],[-4,33],[-7,23],[-4,46],[-9,60],[-2,29],[4,46],[6,29],[6,15],[17,15],[7,17],[-5,22],[16,0],[7,14],[15,0],[20,19],[24,33],[3,13],[13,12],[5,12],[8,2],[18,25],[14,14],[-1,8],[30,21],[21,9],[-8,4],[15,18],[-7,9],[8,12],[2,33],[14,12],[17,-5],[-18,17],[-15,-1],[-22,-8],[3,-11],[-8,-6],[3,-9],[-6,-15],[10,-9],[-10,-7],[-5,11],[-10,-2],[-12,-18],[-32,-32],[-19,-14],[8,27],[-17,-7],[5,11],[-3,9],[14,29],[-3,10],[-12,-14],[-10,-2],[-3,12],[-13,2],[-26,-10],[-15,3],[-22,-15],[-1,-18],[-20,-20],[0,-9],[-27,-20],[-13,-28],[-7,-1],[-2,-23],[14,5],[16,-14],[-1,-7],[-11,-3],[-8,5],[-13,-10],[-19,11],[0,-8],[-10,-2],[-2,-8],[-16,8],[-9,-11],[-17,-2],[-9,15],[10,4],[18,-1],[6,4],[-15,8],[-10,14],[-13,-8],[-12,2],[-2,7],[-23,8],[-16,-8],[5,-5],[-14,-5],[6,-12],[-14,2],[-2,7],[-12,0],[-10,-9],[-31,13],[-3,-16],[-8,-3],[-6,9],[4,6],[-27,-1],[-32,2],[-19,-3],[-25,-13],[-19,-30],[-17,-11],[-8,-13],[-5,-20],[-15,-9],[-4,-11],[-11,-12],[-14,-9],[-22,-32],[-12,-26],[-26,-27],[-8,-4],[-15,-23],[-19,-15],[0,-12],[14,-9],[30,5],[0,-28],[-4,-21],[12,0],[5,14],[-6,6],[10,10],[8,-2],[-8,-11],[9,-11],[-12,-22],[16,4],[11,9],[7,14],[1,-9],[-10,-15],[7,-3],[8,26],[-1,20],[16,-8],[9,5],[17,-12],[0,-11],[27,-32],[6,-10],[-13,-12],[8,-5],[1,-15],[-4,-13],[11,-12],[-6,-3],[3,-9],[-9,-16],[-6,-3],[0,-12],[-6,-8],[0,-18],[-4,-4],[-3,-20],[1,-32],[3,-23],[-6,-17],[1,-17],[-6,-17],[0,-14],[-26,-38],[-7,-28],[-13,-18],[-5,-27],[-18,-41],[-15,-25],[-10,-11],[-8,-20],[-6,-6],[-5,-15],[-7,-5],[-11,-25],[-3,-14],[-5,0],[-1,-12],[-18,-20],[-9,-6],[-7,-11],[-8,0],[-12,-10],[-6,7],[-4,-4],[-12,10],[-3,-4],[-1,23],[-9,-11],[1,15],[-16,-21],[-1,-11],[-14,-11],[-4,-17]],[[7858,9748],[0,-12],[30,4],[14,-16],[16,-1],[8,-19],[-16,-10],[-31,-5],[-68,-3],[-33,-14],[-21,5],[21,17],[6,19],[36,39],[19,-6],[2,11],[17,-9]],[[7118,9769],[37,-6],[-27,-3],[-10,9]],[[7523,9794],[79,-8],[-18,-13],[-55,8],[-6,13]],[[6659,9787],[-27,3],[21,7],[6,-10]],[[7715,9797],[-5,-21],[25,17],[20,0],[24,-16],[-9,-24],[-19,-5],[25,-18],[-39,-10],[-38,4],[-11,8],[-50,2],[-18,12],[-1,14],[-33,3],[29,14],[23,19],[77,1]],[[6585,9810],[-4,-16],[-28,0],[1,14],[31,2]],[[6481,9813],[15,-7],[-35,-6],[20,13]],[[6646,9809],[-52,-12],[-13,20],[42,0],[23,-8]],[[6329,9836],[-38,-20],[-39,11],[77,9]],[[6729,9835],[-5,-10],[-29,-12],[-38,1],[-13,13],[14,11],[65,2],[6,-5]],[[6537,9839],[-13,-8],[-22,8],[35,0]],[[6388,9840],[7,-8],[30,3],[-9,-14],[-60,-9],[4,-14],[-38,-4],[16,15],[-22,8],[63,10],[-18,7],[27,6]],[[7225,9845],[-28,-9],[2,9],[26,0]],[[6560,9854],[57,-11],[-29,-1],[-28,12]],[[6542,9848],[13,2],[47,-13],[-19,-7],[-41,18]],[[6797,9859],[20,-16],[-28,-11],[-36,-3],[-17,9],[46,10],[15,11]],[[7536,9852],[-37,1],[2,7],[38,-2],[-3,-6]],[[7665,9859],[54,-29],[-20,-3],[0,-24],[-75,-6],[-22,-7],[-63,20],[36,9],[15,17],[-22,-3],[16,14],[81,12]],[[6577,9869],[28,-6],[-38,-6],[10,12]],[[6605,9878],[14,-9],[-44,4],[30,5]],[[5846,5121],[2,-14],[5,-5],[3,-11],[1,-26],[-1,-18],[-8,-2]],[[5801,5040],[6,7],[8,22],[-4,17]],[[5821,5103],[7,4],[4,-9],[5,7],[5,16],[4,0]],[[4526,6379],[-1,15],[2,22]],[[6163,6147],[4,4],[4,-6],[-8,2]],[[6345,6826],[6,-29],[6,-11],[0,-14],[11,-4],[-4,-5],[5,-5],[11,-23],[8,-6],[0,-16],[6,-10],[-2,-18],[-4,4],[7,-31],[8,-17],[0,-12],[8,-21]],[[6422,6601],[7,-4],[-5,-9],[8,-8]],[[6443,6277],[-4,-2],[-58,-16],[-17,-4],[-27,-27],[-16,-40],[-3,-19],[-9,-11],[-5,1],[-7,19],[-11,-3],[-25,5],[-5,6],[-16,1],[-15,-5],[-11,0],[-7,10],[-9,-11],[-1,-24],[2,-15],[-11,-16]],[[6188,6126],[-2,21],[-5,8],[0,8],[-6,9],[0,15],[-15,23],[-9,25],[0,8],[-7,16],[-2,14],[-11,49],[-18,29],[-9,3],[-6,13],[-13,43],[3,7],[-7,28],[4,20],[0,19],[-8,23],[0,8],[-14,46],[-18,21],[-2,-3],[-12,35],[3,0],[0,20],[-4,7],[-4,18],[-8,11],[1,11],[-5,5],[-8,30],[-4,7],[-8,26],[-7,15],[-6,24],[-8,14],[-6,-3],[-6,7],[5,20],[4,47]],[[6024,6449],[0,-20],[6,-21],[2,-34],[2,-65],[5,-40],[4,-8],[10,-8],[5,-9],[1,-10],[10,-6],[3,-8]],[[5946,5727],[-6,5],[3,17],[-2,21],[-20,35],[-3,45],[2,5],[2,31],[-13,0],[0,-12],[-18,0],[7,-17],[0,-27],[2,-11],[-14,-24],[-1,-9],[-18,-39],[-13,-4],[-14,23],[-7,8],[-11,-12],[-4,-17],[-13,-9],[-5,-10],[1,-6],[-23,0],[-4,15],[-22,1],[-14,-7],[-11,27],[-8,12],[-2,15],[-21,-7],[-3,-21],[-5,-6],[0,-19],[-3,-6],[-3,-29],[-11,-12]],[[5634,5812],[3,13],[-1,15],[-4,-1],[-7,16],[3,23],[-5,-2],[0,34],[-7,7],[-6,-7],[-5,9],[6,21],[7,14],[-5,25],[4,9],[9,9],[-4,7],[-1,18],[8,6],[0,10],[7,15],[2,15],[-2,11],[7,9],[12,2],[11,-2],[0,218]],[[5943,5426],[-14,-28],[-9,2],[-3,6],[-5,-5],[-13,-3],[-6,-13],[-7,5],[-4,12],[-7,-8],[-11,7],[-8,-17]],[[4535,5893],[-1,42]],[[4540,5965],[-5,11],[-1,13],[-14,41],[-8,3],[11,9],[8,18],[9,33]],[[7884,5266],[4,-3],[-4,-7],[-7,2],[7,8]],[[3953,2073],[22,-4],[11,-7],[17,-21],[3,-11],[-10,-7],[-10,20],[-12,11],[-22,11],[1,8]],[[9445,4521],[15,-17],[-6,0],[-3,9],[-8,4],[2,4]],[[9612,4569],[-6,-12],[-3,7],[9,5]],[[9481,4595],[13,-14],[8,0],[5,-13],[0,-8],[-12,4],[-9,10],[-1,11],[-6,3],[2,7]],[[9483,4641],[4,-12],[0,-10],[-5,7],[1,15]],[[9442,4640],[13,0],[11,-20],[-4,-9],[-10,7],[-13,1],[-6,13],[0,16],[3,2],[6,-10]],[[9388,4691],[3,-9],[-6,0],[3,9]],[[9371,4689],[-5,3],[5,6],[0,-9]],[[9466,4701],[6,-16],[-2,-11],[5,-5],[7,-34],[-14,21],[-3,10],[-5,37],[6,-2]],[[9378,4711],[4,-3],[3,-19],[-7,4],[-2,13],[-9,-2],[-1,6],[6,13],[5,-1],[1,-11]],[[9365,4716],[-5,1],[-1,9],[4,5],[2,-15]],[[9349,4747],[6,-9],[-4,-9],[-5,14],[3,4]],[[9405,4746],[4,0],[9,-16],[12,-12],[9,-15],[1,-13],[-7,12],[-11,9],[-18,25],[-3,13],[4,-3]],[[9349,4800],[13,-15],[3,-16],[10,-7],[-2,-7],[-15,13],[-7,18],[-6,9],[4,5]],[[4650,5621],[2,-12],[-12,10],[10,2]],[[4681,5581],[-6,9],[-23,18],[1,15],[-7,4],[-6,10],[2,3],[-3,18],[-5,-4],[-3,18],[7,1],[-6,7],[0,11],[4,7],[-6,5]],[[2560,5955],[-2,-14],[-12,0],[-13,5],[-14,14],[-14,2],[-8,11]],[[6359,5831],[0,-104],[-27,-84]],[[6201,5844],[18,-44],[13,-18],[15,0],[11,15],[4,0],[10,12],[11,-4],[6,-7],[6,4],[21,25],[8,-5],[14,3],[9,10],[12,-4]],[[6359,5831],[14,5],[4,7],[7,0],[12,7],[13,23],[15,-9],[-5,-19],[-1,-18],[2,-35],[8,-8],[-14,-6],[-3,-53],[-4,-8],[-1,-12],[-6,-10],[-3,-22],[-6,-20],[-8,-13],[0,-11],[-6,-25],[-10,-29],[-4,-29],[-12,-48],[-13,-33],[-7,-26],[-12,-30],[-14,-28],[-10,-24],[-9,-15],[-8,-19],[-21,-26],[-8,-7],[-18,-27],[-8,-17],[-10,-15],[-22,-48],[-11,-21],[-18,-49],[-9,-28]],[[5183,5187],[-3,-2],[-1,13],[5,8],[3,-11],[-4,-8]],[[3409,5499],[3,3],[1,20],[5,7],[8,-2],[20,-10],[2,10],[33,0],[18,-8],[-1,-20],[-3,-8]],[[5626,8009],[-12,-39]],[[5377,7802],[3,6]],[[5474,8485],[-7,-30],[-12,-34],[0,19],[19,45]],[[5521,8514],[8,1],[-8,-14],[-2,-22],[-10,-8],[-5,7],[-1,19],[10,16],[8,1]],[[5327,8537],[-2,-9],[-9,3],[11,6]],[[5671,8973],[-41,-2],[-9,5],[1,-19],[-16,0],[3,-8],[-13,0],[4,-13],[-10,-13],[-4,-15],[12,-15],[-17,-17],[-4,-15],[-13,-13],[-8,1],[-11,-13],[-32,-24],[0,-9],[-17,-3],[5,-11],[-5,-7],[-15,-2],[5,-14],[-5,-29],[-7,-9],[5,-32],[0,-18],[10,-10],[10,4],[14,-25],[9,-2],[6,-19],[-20,-23],[-6,3],[8,-16],[-17,-16],[-18,-13],[-13,-2],[8,-8],[-6,-3],[3,-15],[-10,-16],[6,-8],[0,-17],[-6,-10],[-3,-37],[-3,0],[-6,-23],[-5,-8],[-6,5],[-27,-3],[-11,-14],[-2,-11],[5,-10],[-6,-9],[-11,3],[-10,-5],[-14,2],[4,15],[-14,31],[8,6],[-6,8],[8,2],[-15,26],[-18,47],[4,27],[-4,8],[-9,-4],[-4,9],[-1,39],[6,-6]],[[5891,3637],[-3,2],[-1,-29],[-12,0],[-11,7],[-9,22],[0,24],[7,17],[1,10],[8,11],[14,-15],[2,2]],[[3249,6221],[-2,2]],[[5999,7178],[-3,27],[1,18],[-4,4],[1,20],[3,4]],[[5997,7251],[7,-5],[5,9],[0,11],[9,3],[-4,14],[4,21],[8,-5],[2,-7],[12,0],[5,6],[18,10],[10,-11],[16,-3],[21,8],[20,17],[22,-1],[16,7],[4,7],[4,-12]],[[5402,5930],[5,0],[0,13],[-4,3],[-6,-5],[2,-5]],[[5398,5936],[-1,0]],[[5044,5541],[-12,-7]],[[7728,5654],[6,-7],[0,-10],[-6,-6],[0,23]],[[7840,5883],[5,-11],[-4,1],[-1,10]],[[7858,5853],[-4,22],[-5,11],[-1,-7],[-12,18],[0,8],[-5,0],[-8,10],[-7,-5],[-16,5],[3,15],[-3,7],[4,21],[-11,5],[-15,-8],[-2,-9],[4,-13],[-4,-16],[0,-27],[2,-5],[-7,-15],[0,-11],[-4,-13],[-5,-20],[0,-15],[-9,-32],[2,-7],[-2,-27],[5,-21],[-3,-10],[16,5],[4,-12],[1,-29],[9,-16],[0,-12],[4,-37],[4,-16],[-4,4],[-3,29],[-6,-2],[2,-13],[6,-18],[6,0],[9,-18],[12,1],[6,-4],[6,-21],[7,-12]],[[7780,5554],[-4,13],[-8,12],[2,14],[-6,2],[-5,10],[-2,18],[-7,5],[1,7],[-5,11],[-4,1],[-3,18],[-5,-2],[-2,-12],[-4,5],[-2,18],[2,14],[4,19],[0,16],[3,16],[7,40]],[[6962,7540],[0,0]],[[6882,7324],[1,20],[12,24],[3,15],[-7,12],[-2,14],[4,10],[-2,9],[-12,1],[0,7],[-9,4],[2,16],[8,9],[18,-6],[7,6],[0,11],[8,4],[1,14],[-10,2],[13,4],[7,-3],[1,9],[-4,11],[5,14],[8,-8],[18,14],[5,7],[8,-18],[-11,-19],[7,-10],[9,3]],[[6497,7333],[-3,23],[2,30],[-1,22],[4,15],[-12,17],[0,9],[-11,0],[1,8],[14,2],[-9,14],[6,10],[-5,3],[-14,-3],[-5,6],[0,25],[4,9],[2,19],[4,-11],[13,-1],[5,-8],[16,6],[1,12],[8,-6],[3,14],[-19,23],[-4,34],[-6,5],[-16,-3],[-5,-6],[-5,-17],[4,0],[-3,-19],[-7,9],[-3,13]],[[6554,7562],[29,-5],[4,7],[-4,7],[-2,23],[4,3]],[[6585,7597],[4,-18],[11,-2],[7,14],[-6,6],[0,13]],[[6601,7610],[5,1],[4,19],[7,-2],[-3,10],[11,1],[2,6],[8,-12],[7,-2],[7,-14],[13,2],[5,-8],[-1,-12],[6,-8],[-5,-4],[4,-10],[-3,-10],[11,-11],[18,1],[6,-3],[7,6],[9,-10],[8,-36],[4,-2],[5,-29],[27,-31],[4,-10],[13,-16],[5,2],[10,-14],[27,-29],[7,1],[19,-14],[3,-4],[-4,-9],[0,-25]],[[8444,4645],[12,9]],[[8469,4667],[5,9],[1,10],[20,8],[10,-1],[6,5],[3,-4],[11,10],[11,-6],[-13,-19],[-8,-3],[-4,-9],[-7,-2],[-6,-8],[-10,-3],[-15,-17]],[[130,3966],[6,0],[-1,-7],[-5,7]],[[3308,5807],[-4,-9],[1,-31],[-4,-4],[-14,-1],[-5,4],[10,7],[0,20],[-5,5],[8,7],[13,2]],[[5303,7135],[4,-6],[-9,-6],[0,11],[5,1]],[[5238,7310],[7,2],[10,15],[13,6],[17,-9],[-4,-1],[6,-17],[-5,-4],[10,-3],[14,20],[3,-14],[-10,-23],[-6,-4],[-3,-16],[6,-18],[11,-10],[-1,-16],[3,-7],[-3,-11],[-12,-28],[-14,-14],[-2,-16],[4,-12],[9,-10],[6,4],[0,-13],[11,4],[2,-20],[9,-1]],[[5778,7600],[-2,-9],[6,-15],[20,-17],[6,-2],[-3,-13],[-14,-1],[-9,6],[-6,-7],[-12,1],[-9,-20],[-14,-10],[-15,-24],[2,17],[13,10],[3,7],[-20,-3],[-1,9]],[[5997,7251],[2,5],[-6,17],[12,18],[0,11],[-6,7],[-10,-18],[-8,-3],[-18,15],[-11,-13],[-17,-26],[-7,1],[-17,-8],[-13,9],[-7,18],[-21,18],[-18,5],[-3,-3],[0,-18],[-5,-18],[-4,6],[-13,-10],[-12,5],[-7,9],[0,16],[-7,-1],[-7,9],[-10,3],[-3,-6],[-11,1],[-2,-6],[-9,3],[8,5],[12,0],[-1,7],[8,7],[-15,-3],[-12,2],[-1,8],[7,-2],[-10,13],[0,14],[-5,5],[7,4],[-1,13],[-17,7],[-11,9],[7,6],[-4,14],[4,3],[5,-20],[14,8],[-7,0],[-5,16],[6,2],[3,10],[-6,-2],[0,14],[-6,9],[9,16],[-24,-6],[2,29],[16,25],[16,3],[2,-7],[11,-1],[-1,11],[8,-2],[-2,-7],[11,3],[19,-3],[1,7],[-8,3],[5,6],[27,5],[-15,3],[-11,13],[6,13],[19,-6],[11,5],[15,-8],[9,1],[7,11],[29,28],[14,6],[10,9],[28,-6],[10,0],[10,9],[1,-10],[6,-11],[9,-5],[10,6],[4,-16],[8,-13],[5,8],[12,-5],[0,-6],[13,-8],[8,0],[15,-7],[32,11],[4,-6],[14,-5],[12,7],[24,20],[3,7]],[[8378,6635],[10,-12],[-5,-8],[1,-22],[-6,-18],[-4,-43],[-3,-19],[-6,-20],[-4,-5],[-4,-17],[-1,-27],[-5,7],[-1,16],[-11,20],[-2,22],[-3,0],[2,15],[0,20],[17,58],[3,3],[4,18],[12,7],[2,9],[4,-4]],[[6108,4736],[-7,-14],[1,11],[6,3]],[[6093,4842],[6,-26],[-4,-4],[-7,16],[0,15],[5,-1]],[[6102,4899],[5,-11],[-3,-19],[-2,30]],[[5914,5071],[5,-1],[2,-12],[-9,7],[2,6]],[[5882,5125],[1,0]],[[5883,5125],[1,0]],[[5884,5125],[-1,-28],[-2,0],[-1,-30],[-2,-20],[4,2],[0,-28],[2,8],[4,-3],[0,13],[5,-3],[-3,10],[7,6],[2,-10],[12,-2],[8,5],[3,-7],[17,17],[-2,8],[-4,-6],[-10,4],[5,8],[-3,9],[5,-1],[5,9],[-1,12],[6,0],[-2,7],[8,17]],[[6088,4913],[1,-10],[-4,-16],[-3,-25],[-5,-21],[2,-26],[5,-5],[12,-22],[2,-15],[-4,-5],[-4,-23],[1,-10],[4,-2],[0,-13],[-4,-14],[2,-25],[4,-7],[0,-16],[4,-4],[0,-15],[4,-21],[-2,-8],[15,-16],[5,-14]],[[5971,4516],[-2,9]],[[5969,4527],[-5,7]],[[5964,4536],[-4,14],[2,20],[-2,4],[-1,30],[-7,20]],[[5949,4630],[-3,4]],[[5946,4635],[-4,-2],[-1,-10]],[[5914,4641],[-12,10],[-3,6],[-13,6],[-6,6],[-4,13],[-11,6]],[[5865,4688],[0,10],[-4,5],[-1,11],[-11,36],[1,11],[-3,8],[2,12],[-5,9],[-7,21],[-6,-1],[-6,12],[0,13],[6,7],[-5,32],[1,21],[-6,5],[2,27]],[[5846,5121],[10,4],[26,0]],[[5883,5125],[1,0]],[[5944,5197],[-8,-3],[1,8],[-8,-8],[-3,15],[-5,-3],[-2,-12],[-6,-7],[0,7],[-6,-6],[0,10],[-8,-17],[-9,0],[-4,-9],[3,-7],[-9,-26],[2,-14]],[[5823,5155],[5,6],[2,14],[-6,2]],[[5846,5254],[4,-12],[9,28],[10,11],[3,11],[-1,25],[-3,-9]],[[6061,7895],[-18,0],[-6,-11],[-4,2],[-12,-13],[-4,3],[-22,-8],[-14,-18],[-4,3],[-11,-12],[4,-22],[15,-28],[18,10],[13,-3],[-5,-9],[1,-11],[-17,-4],[-9,7],[-4,-10],[-23,-12],[-12,-18],[-10,-2],[-11,11],[5,5],[1,24],[-8,3],[-11,13],[-9,-2],[-1,8],[24,21],[8,2],[-1,14],[-6,-3],[-5,10],[-3,-6],[-18,-3],[-17,14],[4,8],[-7,6],[17,-5],[4,9],[-11,-4],[-6,5],[-25,-2],[-24,-46],[-5,1],[-10,-23],[4,2],[-3,-14]],[[5836,7853],[9,-17],[2,3],[-11,14]],[[5948,7848],[0,-9],[-11,7],[3,-13],[4,5],[21,-17],[6,-8],[4,-20],[9,-4],[-12,23],[-7,26],[-10,-6],[-7,16]],[[3523,3302],[-5,-5],[0,-12],[-8,-5],[3,-30]],[[3517,3240],[-4,-18],[-7,-13],[0,-7],[-13,-16],[-20,-17],[-12,10],[-14,0],[-7,-8],[-20,15],[-8,13],[-18,-1],[-16,29],[-2,10],[3,27],[-1,10],[9,9],[-4,31]],[[677,6342],[13,-11],[2,-12],[8,-13],[-6,-10],[-16,-13],[-3,-11],[-7,9],[1,15],[-4,25],[5,12],[-1,17],[8,-8]],[[649,6394],[3,-7],[7,2],[8,-8],[0,-7],[-9,-6],[-4,2],[0,10],[-7,7],[2,7]],[[631,6405],[16,-4],[-2,-5],[-15,2],[1,7]],[[613,6427],[6,-8],[1,-12],[-13,2],[-3,14],[7,10],[2,-6]],[[571,6463],[4,-3],[-1,-14],[-8,-3],[-6,11],[11,9]],[[2301,6687],[-6,35],[0,12],[6,-47]],[[2761,6828],[-2,-18],[-2,17],[4,1]],[[2366,6873],[3,-1],[-11,-13],[8,14]],[[1707,7111],[7,-9],[-6,0],[-1,9]],[[1671,7144],[8,-4],[-8,-2],[0,6]],[[2993,7551],[-6,-11],[8,7],[8,-1],[-20,-15],[-36,-12],[-4,1],[4,11],[7,6],[29,6],[10,8]],[[2582,7791],[0,-10],[-7,-17],[-3,8],[10,19]],[[2679,7836],[1,-8],[-10,3],[9,5]],[[2563,7913],[-19,-17],[-6,0],[5,14],[8,6],[12,-3]],[[2541,7956],[-2,-6],[-15,-14],[0,8],[17,12]],[[1595,7969],[-3,-9],[8,-13],[-1,-5],[-9,17],[5,10]],[[1582,8004],[-1,0]],[[2511,7947],[-14,-11],[-19,-11],[-20,-29],[-17,-21],[9,-3],[22,14],[6,0],[-5,-19],[14,-2],[11,5],[7,9],[14,4],[10,7],[7,13],[7,-14],[-1,-10],[10,6],[9,-1],[12,-22],[11,0],[9,-4],[14,14],[18,-2],[13,6],[0,-17],[15,-1]],[[2663,7852],[-3,-10],[9,-12],[-16,1],[-5,4],[-2,-11],[-7,9],[-15,5],[-3,-7],[-25,-7],[-13,0],[-15,-39],[-3,-12],[-10,-17],[2,-8],[10,17],[7,-3],[-11,-49],[1,-13],[-6,-26],[0,-14],[4,-15],[-2,-28],[9,-33],[8,-4],[16,14],[7,22],[5,26],[0,15],[-9,37],[3,10],[-3,17],[8,20],[0,14],[5,15],[7,2],[7,15],[-3,-22],[4,-4],[4,14],[0,16],[11,5],[-3,15],[9,10],[13,-8],[6,-11],[16,-7],[6,-13],[-4,-11],[4,-6],[-1,-28],[-6,-5],[-1,-13],[-7,-2],[-3,-18],[6,-5],[7,6],[6,16],[9,5],[7,-10],[4,-37],[3,-14]],[[2704,7634],[-5,5],[-3,-17],[-6,-8],[-3,-17],[-6,-12],[15,-11],[7,0],[5,-7],[9,4],[14,3],[9,12],[24,15],[26,21],[14,21],[5,2],[-1,17],[-5,3]],[[2804,7674],[10,6],[16,2],[13,-8],[18,0],[8,5],[15,19],[-3,9],[4,4],[-7,11],[15,16],[1,7]],[[3116,7818],[10,-9]],[[3134,7784],[3,-9],[-3,-20],[-20,-16],[-6,5],[-13,-5],[1,-9],[-12,11],[-3,-22],[-14,-14],[-10,3],[-8,-8],[1,-9],[-11,-15],[-6,-22],[1,-15],[5,1],[-13,-19],[9,-7],[5,-23],[17,-8],[-14,-3],[-6,-6],[0,11],[-15,-14],[0,12],[-5,5],[-1,-17],[-12,-9],[-29,-2],[-6,-9],[-8,-1],[-23,-27],[-1,-10],[8,-1],[-2,-29],[-3,-14],[-7,-9],[-1,-11],[-12,-24],[-1,15],[-7,2],[-10,13],[3,-23],[9,-21],[1,-16],[-10,-31],[-7,-13],[-8,-30],[-2,11],[4,20],[6,17],[-6,-2],[1,9],[-13,21],[-1,17],[4,11],[-2,15],[11,15],[-5,0],[-11,-10],[2,-16],[-4,-6],[0,-23],[4,-6],[1,-20],[-9,11],[-8,-2],[9,-4],[11,-13],[-2,-17],[-6,3],[8,-12],[-7,-12],[6,-8],[-4,-8],[12,-4],[5,-35],[7,-23],[-5,9],[-6,38],[-2,-15],[6,-17],[-9,5],[0,-7],[-15,-4],[-2,-6],[15,3],[13,-8],[-1,-17],[-3,2],[-5,-13],[-13,1],[-2,9],[-4,-8],[7,-6],[-2,-11],[-11,-8],[17,-2],[-7,-11],[-15,-4],[-15,-18],[-9,-27],[-11,1],[-13,-12],[-5,-10],[-4,-21],[-22,-32],[-14,-8],[1,-8],[-12,-15],[1,-5],[-11,-14],[-3,-12],[2,-18],[-4,-5],[-3,-19],[8,-63],[9,-38],[9,-26],[-5,0],[0,-10],[18,-75],[3,-31],[-2,-12],[-1,-28],[-4,-11],[-4,-29],[-12,-1],[-7,-4],[0,14],[-6,25],[-6,7],[-6,0],[-3,31],[-6,5],[0,20],[-7,-2],[-6,21],[-3,18],[7,15],[-1,8],[-7,6],[0,-19],[-5,8],[2,21],[4,14],[0,26],[-4,16],[-7,0],[-10,20],[-6,20],[-11,14],[-10,-4],[-10,-15],[-16,-5],[0,7],[-11,20],[-22,14],[-15,-1],[-2,9],[-4,-11],[-14,-5],[-4,7],[-1,16],[-3,2],[-2,-22],[-5,5],[-5,-5],[-10,6],[-14,-7],[-7,-9],[-11,7],[-4,7],[-8,-12],[2,-7],[10,-1],[3,4],[6,-14],[5,12],[3,-3],[-8,-29],[4,-8],[11,-5],[3,-9],[-4,-9],[-3,10],[-15,9],[2,4],[-12,11],[4,-9],[-2,-16],[-10,12],[-8,-14],[-15,9],[0,13],[-7,3],[-3,12],[-6,5],[-9,-8],[4,-6],[-13,-2],[-21,13],[-16,-5],[2,17],[-8,-18],[-17,-13],[-1,19],[-8,-5],[-1,-9],[4,-12],[-8,-12],[1,-4],[-14,-18],[-16,-9],[-12,8],[1,-9],[6,-8],[-7,-6],[-5,6],[1,-12],[-12,-8],[1,-14],[-7,-33],[-3,-26],[7,-32],[1,-16],[3,-1]],[[2245,6713],[1,7],[-9,21]],[[2193,6879],[-7,10]],[[1746,7056],[-4,10],[-2,27],[-8,16],[-15,18],[-6,2],[-3,12],[-9,0],[-10,6],[-10,18],[-21,3],[-9,5],[0,33],[-7,5],[0,12],[-12,15],[-5,18],[-9,13],[-4,23],[5,9],[-3,11],[-6,-1],[-8,13],[-3,21],[3,5],[9,-11],[-10,29],[8,6],[-7,6],[-2,-19],[-16,13],[5,3],[-7,20],[-7,6],[-10,20],[1,10],[-4,16],[2,10],[-2,15],[-7,17],[-8,9],[0,19],[8,15],[-2,17],[3,16],[-2,16],[-5,5],[3,12],[-5,8],[-1,32],[-5,10],[9,41],[4,25],[2,52],[2,11],[1,62],[13,7],[-14,-2],[1,29],[-4,-2],[6,13],[-7,6],[-10,44],[-7,20],[6,11],[15,-11],[24,0],[7,-6],[4,-14],[-9,-15],[12,8],[2,-20],[-7,-10],[2,-4],[10,14],[-1,29],[5,8],[-5,18],[-9,6],[8,12],[-10,16],[1,6]],[[60,8169],[1,-9],[-11,9],[10,0]],[[80,8161],[-11,0],[12,11],[-1,-11]],[[96,8175],[2,-14],[-10,0],[1,14],[7,0]],[[177,8186],[18,-5],[-12,-3],[-15,5],[9,3]],[[162,8200],[5,-4],[-4,-12],[-7,-4],[-27,-2],[22,6],[9,7],[-7,4],[9,5]],[[9827,8206],[-2,-8],[-9,2],[11,6]],[[9802,8235],[12,-10],[-11,-5],[-1,15]],[[332,8268],[5,-12],[-32,-29],[11,24],[7,1],[-1,9],[10,7]],[[367,8291],[6,-8],[9,8],[-9,-15],[8,1],[-14,-16],[-4,1],[-20,-13],[-6,4],[19,9],[1,25],[10,4]],[[391,8303],[7,-5],[-10,-3],[3,8]],[[451,8354],[5,-1],[6,-16],[-8,-9],[-16,0],[-4,-9],[-14,-3],[-3,11],[7,3],[10,16],[3,-2],[14,10]],[[1304,8361],[8,-30],[-14,25],[6,5]],[[558,8363],[-9,-20],[4,19],[5,1]],[[1355,8404],[7,-16],[-1,-16],[-6,-11],[-13,9],[-5,8],[5,20],[13,6]],[[1295,8417],[2,-9],[-14,-4],[5,11],[7,2]],[[1319,8419],[9,-1],[0,-12],[-13,5],[4,8]],[[1289,8428],[10,-1],[4,-16],[13,-7],[9,-30],[9,-9],[-1,-33],[-16,17],[2,8],[-21,10],[8,20],[-11,-1],[6,13],[-3,17],[-9,2],[0,10]],[[1315,8433],[-5,-12],[-6,8],[11,4]],[[1328,8428],[4,-13],[-9,9],[0,12],[5,-8]],[[1308,8454],[9,-14],[-10,-3],[1,17]],[[1278,8457],[7,-4],[1,-11],[-6,-6],[-6,-28],[-3,4],[0,20],[-4,26],[11,-1]],[[1283,8470],[24,-10],[-2,-17],[-9,13],[7,-18],[-16,-4],[0,23],[-10,9],[6,4]],[[745,8475],[8,0],[-14,-10],[6,10]],[[1234,8479],[-1,-12],[-6,-2],[-1,19],[8,-5]],[[1237,8491],[8,2],[9,-14],[7,-29],[-1,-30],[-5,0],[-13,33],[-1,15],[-10,18],[6,5]],[[749,8519],[11,0],[7,-8],[-2,-10],[8,0],[-4,-10],[-18,4],[10,-7],[-18,-9],[-14,-22],[-10,-6],[6,10],[-12,-1],[-12,22],[3,14],[7,7],[10,0],[7,-19],[-4,28],[5,5],[16,-5],[-3,10],[7,-3]],[[1229,8536],[23,-12],[-1,-13],[-7,-1],[-18,12],[14,-15],[13,1],[1,-16],[-7,0],[-19,17],[7,-17],[-4,-6],[-8,6],[-1,10],[-12,12],[1,20],[18,2]],[[1252,8544],[6,-11],[14,-6],[8,-16],[-2,-5],[2,-21],[-19,-19],[-1,12],[4,10],[-5,13],[-7,43]],[[761,8550],[18,-11],[-6,-8],[-18,-4],[-10,2],[1,9],[10,1],[5,11]],[[913,8659],[5,-3],[-25,-29],[20,32]],[[385,8661],[13,-6],[2,-22],[-19,-5],[-10,2],[-19,13],[-4,7],[16,0],[9,9],[12,2]],[[929,8665],[13,-4],[-15,-9],[2,13]],[[897,8667],[-2,-19],[-4,10],[6,9]],[[231,8857],[0,-6],[17,-7],[20,7],[23,-20],[21,-2],[-2,-9],[-15,1],[-9,-13],[-3,10],[-28,19],[-17,-8],[-13,10],[6,18]],[[1387,8402],[-3,-8],[4,-28],[-10,-21],[-9,-8],[-7,2],[-3,23],[6,6],[-1,24],[-15,16],[-8,-7],[-7,-22],[-9,13],[7,4],[5,24],[-18,22],[-11,25],[-19,8],[12,9],[-11,10],[-3,12],[14,-6],[-15,12],[-15,23],[-16,11],[-4,24],[-6,1],[-1,17],[-6,-11],[7,-17],[1,-24],[-13,11],[-8,-2],[2,13],[-8,12],[-3,-4],[-17,8],[19,-18],[2,-12],[-9,-4],[-20,5],[-23,23],[-9,16],[-34,19],[-11,9],[12,10],[-5,11],[-18,-12],[-9,0],[-21,9],[3,11],[-13,-5],[-31,8],[-30,-6],[-12,12],[-16,5],[3,18],[-11,-14],[-21,5],[9,13],[-18,-1],[-16,19],[-12,1],[-2,-7],[-15,-3],[-3,6],[9,19],[-17,-18],[2,-20],[8,-8],[-6,-3],[-8,-27],[-18,1],[-5,-5],[-2,13],[-12,-25],[-13,3],[-7,-13],[-19,-17],[-16,-2],[-6,6],[3,9],[19,10],[2,8],[-11,-6],[-10,7],[4,16],[8,10],[5,19],[-5,8],[27,21],[6,-6],[18,3],[-14,10],[4,5],[-19,4],[-15,-15],[-9,-2],[-20,-27],[-7,-16],[-11,-2],[9,-10],[-18,-24],[-11,0],[-4,-11],[-9,-5],[-3,-20],[10,3],[13,-8],[2,-6],[-11,-12],[-5,0],[-14,-31],[-4,7],[-2,-11],[-12,1],[-9,-17],[-9,2],[-2,-13],[-10,-1],[-14,-15],[7,-5],[-7,-12],[-5,4],[-12,-16],[-17,-5],[-2,-11],[-13,-1],[-4,-8],[7,-10],[-10,-4],[-1,-7],[-22,-6],[-5,-17],[-6,16],[-20,-21],[-10,2],[-12,-10],[-5,2],[6,12],[-10,1],[-6,-22],[-9,-11],[-12,8],[-4,-14],[-7,2],[-9,-9],[0,18],[10,3],[22,30],[12,12],[9,3],[34,-7],[-10,9],[5,17],[16,15],[24,17],[9,-4],[-1,15],[10,16],[18,15],[2,46],[12,18],[5,16],[-8,-7],[-25,-13],[-11,12],[1,10],[-9,-10],[4,-20],[-11,-2],[-14,29],[-8,-10],[-12,17],[-19,-11],[-20,-18],[-11,4],[11,7],[-1,13],[6,7],[-12,2],[0,15],[7,6],[-20,46],[-1,-17],[-16,-8],[-23,-4],[-9,6],[-13,23],[-19,12],[20,19],[18,-3],[7,-12],[9,7],[-4,7],[-29,2],[-20,20],[-7,-6],[-9,14],[0,21],[-6,7],[15,2],[-4,13],[18,26],[8,-3],[-3,14],[5,17],[11,0],[-8,7],[7,5],[17,0],[2,-11],[17,1],[20,24],[25,-1],[18,17],[-6,30],[-13,9],[10,4],[9,13],[-10,12],[-41,-24],[-17,-5],[-12,9],[-18,0],[-19,-8],[-33,8],[-8,6],[3,12],[-11,10],[7,9],[13,2],[-38,8],[-18,10],[37,28],[24,9],[16,13],[16,7],[29,2],[-7,-11],[7,-19],[26,2],[24,-8],[11,18],[13,-3],[-13,10],[-11,-2],[-2,11],[-15,10],[-5,9],[9,3],[7,-17],[12,-11],[10,4],[14,-9],[16,2],[-3,14],[-23,0],[-9,-7],[-10,10],[2,20],[-23,-2],[-30,5],[-10,27],[-34,25],[-20,9],[-16,11],[9,17],[0,14],[16,-2],[37,4],[19,11],[15,16],[2,19],[29,33],[26,0],[45,27],[39,4],[21,14],[12,13],[33,-7],[-12,-12],[11,-6],[16,16],[13,-7],[2,-12],[19,5],[38,-1],[9,-4],[-12,-15],[24,0],[-6,-6],[32,3],[11,-5],[30,5],[31,-8],[27,-11],[40,0],[30,-12],[40,9],[52,-27],[12,0]],[[2912,6333],[-2,-4]],[[2914,6329],[-1,4]],[[6651,7782],[-7,-26],[12,-19],[-3,-12],[11,5],[3,8],[-2,16],[3,11]],[[6601,7610],[-7,11],[-5,-2],[-4,-22]],[[6627,7805],[-10,-35],[2,-18],[4,-10],[9,17],[-3,20],[3,6],[-1,16]],[[3301,5940],[-4,4],[5,8],[-1,-12]],[[3313,5694],[1,-6],[-5,-8],[-9,-2],[1,7],[12,9]],[[3303,5691],[4,12],[2,-5],[-6,-7]],[[3228,5816],[-8,-8],[-9,6],[4,7],[6,-5],[4,10],[3,-10]],[[3018,5865],[-3,-7],[-14,-7],[0,-13],[10,-38],[-1,-16],[-4,-6],[-10,-30],[5,-18],[6,-7],[-1,-15],[6,-5],[9,7],[5,10],[-1,32],[-11,30],[-2,23],[3,10],[4,0],[12,13],[18,8],[5,9],[8,-2],[-2,13],[-11,-5],[-2,13],[2,16],[5,5],[6,-10],[2,-22],[4,-10],[12,3],[15,-10],[7,-12],[4,-15],[-2,-7],[5,-15],[8,-1],[17,4],[6,4],[21,2],[11,-20],[11,-9],[11,-5],[8,2],[4,9],[5,0],[2,8],[20,5],[-5,5],[-9,1],[10,6],[7,-3],[11,6],[12,1],[16,-4],[8,4],[-2,-6],[-10,-6],[-16,0],[1,-9],[5,-5],[1,-12],[-9,-1],[5,-4],[8,8],[5,-25],[2,17],[11,-10],[7,-3],[-2,7],[13,-19],[4,1],[7,-12],[-9,-24],[-3,-22],[-12,0],[10,-11],[3,6],[14,6],[6,-4],[3,6],[9,-4]],[[7888,5785],[0,-17],[-4,12],[4,5]],[[7999,6420],[-7,1],[-4,-12],[-7,-3],[1,-12],[-6,-6],[-5,4],[-9,-2],[4,-16],[-8,-8],[2,-17],[-7,-4],[-4,-11],[-7,-4],[-3,-15],[-1,-23],[-5,-13],[7,-30],[7,-15],[11,-17],[-1,-15],[8,-21],[9,-14],[4,-12],[16,-29],[6,-2],[16,-47],[8,-11],[1,-21],[5,-18],[-2,-5],[6,-25],[0,-35],[2,-3],[0,-23],[3,-13],[-6,-10],[0,-42],[-3,-5],[4,-7],[-4,-10],[-2,4],[0,-16],[-7,-2],[-2,-8],[-4,0],[-8,-14],[-6,-1],[-2,-13],[-5,0],[-11,-13],[-13,0],[-5,12],[1,-23],[-11,2],[11,-9],[-4,-11],[-6,4],[7,-11],[-3,-2],[-12,24],[0,-5],[10,-18],[2,-11],[-5,-6],[-10,15],[4,-19],[-1,-6],[-17,-13],[-12,-29],[-11,-2],[5,9],[-2,10],[0,36],[2,17],[6,7],[-10,15],[-5,-5],[-3,16]],[[9706,4050],[-7,13],[4,7],[3,-20]],[[9699,4104],[2,-14],[-8,6],[0,12],[6,-4]],[[9675,4172],[7,-8],[-6,-8],[-6,7],[5,9]],[[9671,4228],[8,-15],[-7,1],[-1,14]],[[9675,4243],[-6,-2],[-6,7],[7,9],[5,-14]],[[9650,4255],[10,-14],[1,-7],[-10,-6],[-4,27],[-5,1],[1,12],[4,-1],[3,-12]],[[9672,4262],[-3,21],[1,9],[3,-20],[-1,-10]],[[9662,4292],[-5,2],[9,9],[-4,-11]],[[9671,4298],[-2,1],[-1,24],[2,-2],[1,-23]],[[9633,4310],[4,2],[0,11],[5,-11],[3,-23],[-11,-7],[-7,15],[1,11],[-3,15],[1,17],[5,-11],[2,-19]],[[9653,4368],[1,-9],[-5,0],[4,9]],[[9654,4385],[-4,-3],[-1,10],[5,-7]],[[5917,7177],[-8,1]],[[233,4380],[5,-6],[-14,2],[-4,7],[7,5],[6,-8]],[[213,4406],[3,-6],[-1,-12],[-9,0],[-5,15],[12,3]],[[6488,5914],[7,-6],[7,6],[10,-9],[-9,-11],[-10,-3],[-6,2],[-5,12],[6,9]],[[6474,6141],[-14,-9],[-10,-18],[-2,-12],[2,-20],[-10,-7],[-13,-15],[-23,-11],[-11,-11],[-4,0],[-25,-18],[-3,-12],[-8,-16],[-6,-3],[-14,3],[-10,-9],[-6,-13],[-15,-8],[-5,-6],[-14,0],[-16,-6],[-7,-15],[-15,-17],[-7,3],[-4,-8],[-14,-5],[-10,9],[-3,-4],[-7,35],[2,25],[-6,21],[-2,16],[-3,43],[-6,7],[4,2],[-3,17],[3,18],[-1,29]],[[5913,3637],[-1,-16],[-5,-23],[-3,-38],[-5,-21],[-10,-19],[-7,-3],[-13,-27],[-21,-68],[-4,-16],[-15,-32],[-4,-4],[-16,-28],[-9,-21],[-13,-22],[-25,-35],[-27,-26],[-15,4],[-9,-9],[0,-11],[-17,5],[-4,-12],[-11,1],[-8,6],[-16,4],[-6,-7],[-23,6],[-10,-4],[-12,-19],[-7,3],[-6,-5],[-11,4],[-1,-6],[-11,0],[-14,-20],[-9,3],[-9,9],[0,11],[-6,4],[-8,-2],[0,17],[-10,-2],[0,-13],[-4,19],[5,10],[-2,12],[-7,16],[-4,20],[-4,-1],[1,18],[7,-2],[4,8],[1,20],[-2,22],[-4,17],[-9,20],[-7,28],[-8,24],[-6,42],[-6,29],[-7,15],[-3,15]],[[5815,3905],[12,3],[14,-12],[15,3],[13,-7]],[[5844,4282],[-15,1],[-13,-5],[-15,-18],[0,-21],[-3,-8]],[[5798,4231],[-3,3],[-13,-9],[-5,-13],[-12,-14],[-13,-38],[-2,-11]],[[5750,4149],[-9,-7],[-14,11],[-7,-7],[-7,11],[-12,1]],[[5792,4643],[5,5],[9,23],[3,15],[-7,8]],[[5849,4709],[-4,-14],[7,-1],[9,-18],[5,4],[-1,8]],[[5750,4149],[10,22],[5,5],[4,17],[11,9],[0,11],[8,0],[8,9],[1,-7],[8,12],[-7,4]]],"type":"Topology","objects":{"units":{"geometries":[{"arcs":[[0,1,2,3,4,5]],"type":"Polygon","id":"AFG","properties":{"name":"Afghanistan"}},{"arcs":[[[6,7,8,9]],[[10,11,12]]],"type":"MultiPolygon","id":"AGO","properties":{"name":"Angola"}},{"arcs":[[[13,14]],[[15,16]],[[17,18,19,20,21,22,23,24,25,26,27,28,29,30]]],"type":"MultiPolygon","id":"ALB","properties":{"name":"Albania"}},{"arcs":[[[31]]],"type":"MultiPolygon","id":"ALD","properties":{"name":"Aland"}},{"arcs":[[32,33]],"type":"Polygon","id":"AND","properties":{"name":"Andorra"}},{"arcs":[[[34]],[[35,36,37,38,39],[40]]],"type":"MultiPolygon","id":"ARE","properties":{"name":"United Arab Emirates"}},{"arcs":[[[41,42]],[[43,44]],[[45,46,47,48,49,50]]],"type":"MultiPolygon","id":"ARG","properties":{"name":"Argentina"}},{"arcs":[[[51]],[[52,53,54,55,56],[57],[58]]],"type":"MultiPolygon","id":"ARM","properties":{"name":"Armenia"}},{"arcs":[[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]]],"type":"MultiPolygon","id":"ATA","properties":{"name":"Antarctica"}},{"arcs":[[[121]]],"type":"MultiPolygon","id":"ATF","properties":{"name":"Fr. S. Antarctic Lands"}},{"arcs":[[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]]],"type":"MultiPolygon","id":"AUS","properties":{"name":"Australia"}},{"arcs":[[141,142,143,144,145,146,147,148,149,150]],"type":"Polygon","id":"AUT","properties":{"name":"Austria"}},{"arcs":[[[151,152,-55]],[[-59]],[[-58]],[[153,154,155,-53,156],[-52]]],"type":"MultiPolygon","id":"AZE","properties":{"name":"Azerbaijan"}},{"arcs":[[157,158,159,160]],"type":"Polygon","id":"BDI","properties":{"name":"Burundi"}},{"arcs":[[161,162,163,164,165,166,167]],"type":"Polygon","id":"BEL","properties":{"name":"Belgium"}},{"arcs":[[168,169,170,171,172]],"type":"Polygon","id":"BEN","properties":{"name":"Benin"}},{"arcs":[[173,-172,174,175,176,177]],"type":"Polygon","id":"BFA","properties":{"name":"Burkina Faso"}},{"arcs":[[[178]],[[179]],[[180,181,182]]],"type":"MultiPolygon","id":"BGD","properties":{"name":"Bangladesh"}},{"arcs":[[183,184,185,186,187,188]],"type":"Polygon","id":"BGR","properties":{"name":"Bulgaria"}},{"arcs":[[189]],"type":"Polygon","id":"BHR","properties":{"name":"Bahrain"}},{"arcs":[[[190]],[[191]],[[192]],[[193]],[[194]],[[195]],[[196]],[[197]],[[198]],[[199]],[[200]]],"type":"MultiPolygon","id":"BHS","properties":{"name":"Bahamas"}},{"arcs":[[201,202,203,204,205]],"type":"Polygon","id":"BIH","properties":{"name":"Bosnia and Herz."}},{"arcs":[[206,207,208,209,210]],"type":"Polygon","id":"BLR","properties":{"name":"Belarus"}},{"arcs":[[[211,212,213]]],"type":"MultiPolygon","id":"BLZ","properties":{"name":"Belize"}},{"arcs":[[[214,215]],[[216,-51,217,218,219,220,221]]],"type":"MultiPolygon","id":"BOL","properties":{"name":"Bolivia"}},{"arcs":[[[222]],[[223]],[[224]],[[225]],[[226]],[[227]],[[228]],[[229]],[[230]],[[231]],[[232]],[[233]],[[234]],[[235]],[[236]],[[237]],[[238,239,240,241,242,243,-47,244,245,246,-222,247,248,249,250]]],"type":"MultiPolygon","id":"BRA","properties":{"name":"Brazil"}},{"arcs":[[251]],"type":"Polygon","id":"BRB","properties":{"name":"Barbados"}},{"arcs":[[[252,253]],[[254,255]]],"type":"MultiPolygon","id":"BRN","properties":{"name":"Brunei"}},{"arcs":[[256,257]],"type":"Polygon","id":"BTN","properties":{"name":"Bhutan"}},{"arcs":[[258,259,260]],"type":"Polygon","id":"BWA","properties":{"name":"Botswana"}},{"arcs":[[261,262,263,264,265,266]],"type":"Polygon","id":"CAF","properties":{"name":"Central African Rep."}},{"arcs":[[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[273]],[[274,275,276,277]],[[278]],[[279]],[[280]],[[281]],[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[290]],[[291]],[[292]],[[293]],[[294]],[[295]],[[296]],[[297]],[[298]],[[299]],[[300]],[[301]],[[302]],[[303]],[[304]],[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[314]],[[315]],[[316]],[[317]],[[318]],[[319]],[[320]],[[321]],[[322]],[[323]],[[324]],[[325]],[[326]],[[327]],[[328]],[[329]],[[330]],[[331]],[[332]],[[333,334,335,336,337,338,339,340,341,342,343,344,345,-346,346,347]],[[348]],[[349]],[[350]],[[351]],[[352]],[[353]],[[354]],[[355]],[[356]],[[357]],[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[368]],[[369]],[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[380]],[[381]],[[382]],[[383]],[[384]]],"type":"MultiPolygon","id":"CAN","properties":{"name":"Canada"}},{"arcs":[[385,386,387,-148,388,-146,389,390,391,392,393]],"type":"Polygon","id":"CHE","properties":{"name":"Switzerland"}},{"arcs":[[[394]],[[395]],[[396]],[[397]],[[398]],[[399]],[[400]],[[401]],[[402]],[[-44,403,-42,404]],[[405]],[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[413]],[[414]],[[415]],[[416]],[[417]],[[418]],[[419]],[[420]],[[421]],[[422]],[[423]],[[424]],[[425]],[[426]],[[427]],[[428]],[[429]],[[430]],[[431]],[[432]],[[433]],[[434]],[[435]],[[-50,436,437,-218]]],"type":"MultiPolygon","id":"CHL","properties":{"name":"Chile"}},{"arcs":[[[438]],[[439]],[[440]],[[441]],[[442,443,444,445,446,447,448,449,450,451,-258,452,453,454,455,456,-1,457,458,459,460,461,462,463,464]]],"type":"MultiPolygon","id":"CHN","properties":{"name":"China"}},{"arcs":[[[465,466]],[[-177,467,468,469,470,471]]],"type":"MultiPolygon","id":"CIV","properties":{"name":"C\u00f4te d'Ivoire"}},{"arcs":[[[472,-266,473,474,475,476,477,478,479]],[[480,481]]],"type":"MultiPolygon","id":"CMR","properties":{"name":"Cameroon"}},{"arcs":[[[482,483,484,485]],[[486,487,488,489]],[[490,491,492,493]]],"type":"MultiPolygon","id":"CNM","properties":{"name":"Cyprus U.N. Buffer Zone"}},{"arcs":[[[494]],[[495,496,497,498,499,500,501,502,503,-160,504,505,506,507,-10,508,-11,509,-264]]],"type":"MultiPolygon","id":"COD","properties":{"name":"Dem. Rep. Congo"}},{"arcs":[[-510,-13,510,511,-474,-265]],"type":"Polygon","id":"COG","properties":{"name":"Congo"}},{"arcs":[[[512,-249,513,514,515,516,517]]],"type":"MultiPolygon","id":"COL","properties":{"name":"Colombia"}},{"arcs":[[[518]],[[519]]],"type":"MultiPolygon","id":"COM","properties":{"name":"Comoros"}},{"arcs":[[[520]],[[521]],[[522]],[[523]]],"type":"MultiPolygon","id":"CPV","properties":{"name":"Cape Verde"}},{"arcs":[[[524,525,526,527]]],"type":"MultiPolygon","id":"CRI","properties":{"name":"Costa Rica"}},{"arcs":[[[528]],[[529]],[[530]],[[531,532,533,534]]],"type":"MultiPolygon","id":"CUB","properties":{"name":"Cuba"}},{"arcs":[[535]],"type":"Polygon","id":"CUW","properties":{"name":"Cura\u00e7ao"}},{"arcs":[[[536,-488]],[[-486,537,-494,538]]],"type":"MultiPolygon","id":"CYN","properties":{"name":"N. Cyprus"}},{"arcs":[[[539,540]],[[541]],[[542,543,-484]],[[544,545,546,547,-490,548,-492]]],"type":"MultiPolygon","id":"CYP","properties":{"name":"Cyprus"}},{"arcs":[[549,550,-151,551]],"type":"Polygon","id":"CZE","properties":{"name":"Czech Rep."}},{"arcs":[[[-387,552]],[[553,554]],[[555]],[[556,557,-552,-150,558,-394,559,560,-162,561,562,563]]],"type":"MultiPolygon","id":"DEU","properties":{"name":"Germany"}},{"arcs":[[564,565,566,567,568,569]],"type":"Polygon","id":"DJI","properties":{"name":"Djibouti"}},{"arcs":[[570]],"type":"Polygon","id":"DMA","properties":{"name":"Dominica"}},{"arcs":[[[571]],[[572]],[[573]],[[574]],[[575]],[[576]],[[577]],[[-564,578]]],"type":"MultiPolygon","id":"DNK","properties":{"name":"Denmark"}},{"arcs":[[[579,580,581,582,583,584]]],"type":"MultiPolygon","id":"DOM","properties":{"name":"Dominican Rep."}},{"arcs":[[585,586,587,588,589,590,591,592]],"type":"Polygon","id":"DZA","properties":{"name":"Algeria"}},{"arcs":[[[593]],[[594]],[[595]],[[596]],[[597]],[[598]],[[599,600,-515]]],"type":"MultiPolygon","id":"ECU","properties":{"name":"Ecuador"}},{"arcs":[[[601,602,603,604,605,606]]],"type":"MultiPolygon","id":"EGY","properties":{"name":"Egypt"}},{"arcs":[[[607]],[[-569,608,609,610]]],"type":"MultiPolygon","id":"ERI","properties":{"name":"Eritrea"}},{"arcs":[[-485,-544,611,-541,612,-545,-491,-538],[-542]],"type":"Polygon","id":"ESB","properties":{"name":"Dhekelia"}},{"arcs":[[[613]],[[614]],[[615]],[[616]],[[617]],[[618]],[[619,620]],[[621,622]],[[623]],[[624]],[[625]],[[626]],[[627,-33,628,629,630,631,632,633]]],"type":"MultiPolygon","id":"ESP","properties":{"name":"Spain"}},{"arcs":[[[634]],[[635]],[[636,637,638,639,640,641,642,643,644]]],"type":"MultiPolygon","id":"EST","properties":{"name":"Estonia"}},{"arcs":[[-568,645,-566,646,647,648,649,650,-609]],"type":"Polygon","id":"ETH","properties":{"name":"Ethiopia"}},{"arcs":[[[651]],[[652,653,654,655]]],"type":"MultiPolygon","id":"FIN","properties":{"name":"Finland"}},{"arcs":[[[656]],[[657]],[[658]]],"type":"MultiPolygon","id":"FJI","properties":{"name":"Fiji"}},{"arcs":[[[659]],[[660]]],"type":"MultiPolygon","id":"FLK","properties":{"name":"Falkland Is."}},{"arcs":[[[661]],[[662]],[[-240,663,664]],[[665]],[[666]],[[667]],[[668]],[[669,-560,-393,670,-391,671,672,673,674,-629,-34,-628,675,-164],[-627]]],"type":"MultiPolygon","id":"FRA","properties":{"name":"France"}},{"arcs":[[[676]],[[677]]],"type":"MultiPolygon","id":"FRO","properties":{"name":"Faeroe Is."}},{"arcs":[[[678]]],"type":"MultiPolygon","id":"FSM","properties":{"name":"Micronesia"}},{"arcs":[[[-512,679,680,-475]]],"type":"MultiPolygon","id":"GAB","properties":{"name":"Gabon"}},{"arcs":[[[681]],[[682]],[[683,684]],[[685]],[[686]],[[687]],[[688]],[[689]],[[690]],[[691]],[[692]],[[693]],[[694]],[[695]]],"type":"MultiPolygon","id":"GBR","properties":{"name":"United Kingdom"}},{"arcs":[[-157,-57,696,697,698]],"type":"Polygon","id":"GEO","properties":{"name":"Georgia"}},{"arcs":[[699,700,-466,701,-468,-176]],"type":"Polygon","id":"GHA","properties":{"name":"Ghana"}},{"arcs":[[-631,702]],"type":"Polygon","id":"GIB","properties":{"name":"Gibraltar"}},{"arcs":[[703,-471,704,705,706,707,708]],"type":"Polygon","id":"GIN","properties":{"name":"Guinea"}},{"arcs":[[709,710]],"type":"Polygon","id":"GMB","properties":{"name":"Gambia"}},{"arcs":[[[711]],[[712,713,-708]]],"type":"MultiPolygon","id":"GNB","properties":{"name":"Guinea-Bissau"}},{"arcs":[[[-681,714,-476]],[[715]]],"type":"MultiPolygon","id":"GNQ","properties":{"name":"Eq. Guinea"}},{"arcs":[[[716]],[[717]],[[718]],[[719]],[[720]],[[721]],[[722]],[[723]],[[724]],[[725]],[[726]],[[727]],[[728]],[[729]],[[730]],[[731]],[[732,-186,733,734,-27,735,-25,736]]],"type":"MultiPolygon","id":"GRC","properties":{"name":"Greece"}},{"arcs":[[[737]]],"type":"MultiPolygon","id":"GRD","properties":{"name":"Grenada"}},{"arcs":[[[738]],[[739]],[[740]],[[741]],[[742]],[[743]],[[744]],[[745]],[[746]],[[747]],[[748]],[[749]],[[750]],[[751]],[[752]],[[753]],[[754]],[[755]],[[756]],[[757]],[[758]],[[759]],[[760]],[[761]],[[762]],[[763]]],"type":"MultiPolygon","id":"GRL","properties":{"name":"Greenland"}},{"arcs":[[-213,764,765,766,767,768]],"type":"Polygon","id":"GTM","properties":{"name":"Guatemala"}},{"arcs":[[769]],"type":"Polygon","id":"GUM","properties":{"name":"Guam"}},{"arcs":[[[770,-251,771,772]]],"type":"MultiPolygon","id":"GUY","properties":{"name":"Guyana"}},{"arcs":[[[773,-447]]],"type":"MultiPolygon","id":"HKG","properties":{"name":"Hong Kong"}},{"arcs":[[774]],"type":"Polygon","id":"HMD","properties":{"name":"Heard I. and McDonald Is."}},{"arcs":[[[775,776,777,-766,778]]],"type":"MultiPolygon","id":"HND","properties":{"name":"Honduras"}},{"arcs":[[[-204,779,780]],[[781]],[[782]],[[783]],[[784]],[[785,786,-206,787,788]]],"type":"MultiPolygon","id":"HRV","properties":{"name":"Croatia"}},{"arcs":[[[-582,789]],[[790]],[[-584,791,-580,792]]],"type":"MultiPolygon","id":"HTI","properties":{"name":"Haiti"}},{"arcs":[[793,794,795,-786,796,-143,797]],"type":"Polygon","id":"HUN","properties":{"name":"Hungary"}},{"arcs":[[[798]],[[799]],[[800]],[[801,802,803,804]],[[805]],[[806]],[[807]],[[808]],[[809]],[[810]],[[811]],[[812]],[[813]],[[814]],[[815]],[[816]],[[817]],[[818]],[[819]],[[820]],[[821]],[[822]],[[823]],[[824]],[[825]],[[826]],[[827]],[[828]],[[829]],[[830]],[[831]],[[832]],[[833]],[[834]],[[835]],[[836]],[[837]],[[838]],[[839]],[[840]],[[841]],[[842]],[[843]],[[844]],[[845]],[[846]],[[847]],[[848]],[[849]],[[850]],[[851]],[[852]],[[853]],[[854]],[[855]],[[856]],[[857,858]],[[859]],[[860]],[[861]],[[862]],[[863]],[[864]],[[865]],[[866]],[[867]],[[868]],[[869]],[[870]],[[871]],[[872]],[[873]],[[874]],[[875]],[[876]],[[877]],[[878]],[[879]],[[880]],[[881,882]],[[883]],[[884,885]],[[886]],[[887]]],"type":"MultiPolygon","id":"IDN","properties":{"name":"Indonesia"}},{"arcs":[[888]],"type":"Polygon","id":"IMN","properties":{"name":"Isle of Man"}},{"arcs":[[[889]],[[890]],[[891]],[[892]],[[893,-453,-257,-452,894,-183,895,896,897,-455]]],"type":"MultiPolygon","id":"IND","properties":{"name":"India"}},{"arcs":[[[-684,898]]],"type":"MultiPolygon","id":"IRL","properties":{"name":"Ireland"}},{"arcs":[[[899]],[[-54,-156,900,901,-3,902,903,904,905,-152]]],"type":"MultiPolygon","id":"IRN","properties":{"name":"Iran"}},{"arcs":[[-905,906,907,908,909,910,911,912,913]],"type":"Polygon","id":"IRQ","properties":{"name":"Iraq"}},{"arcs":[[[914]]],"type":"MultiPolygon","id":"ISL","properties":{"name":"Iceland"}},{"arcs":[[915,916,917,918,919,920,921,-603,922,923,924,925]],"type":"Polygon","id":"ISR","properties":{"name":"Israel"}},{"arcs":[[[926]],[[927]],[[928,929,-672,-390,-145],[930],[931]]],"type":"MultiPolygon","id":"ITA","properties":{"name":"Italy"}},{"arcs":[[932]],"type":"Polygon","id":"JAM","properties":{"name":"Jamaica"}},{"arcs":[[933,934,-921,935,-919,936,937,-916,938,-910]],"type":"Polygon","id":"JOR","properties":{"name":"Jordan"}},{"arcs":[[[939]],[[940]],[[941]],[[942]],[[943]],[[944]],[[945]],[[946]],[[947]],[[948]],[[949]],[[950]],[[951]]],"type":"MultiPolygon","id":"JPN","properties":{"name":"Japan"}},{"arcs":[[952]],"type":"Polygon","id":"KAB","properties":{"name":"Baikonur"}},{"arcs":[[-898,953,-456]],"type":"Polygon","id":"KAS","properties":{"name":"Siachen Glacier"}},{"arcs":[[[954,955]],[[-460,956,957,958,959,960,961,962],[-953]]],"type":"MultiPolygon","id":"KAZ","properties":{"name":"Kazakhstan"}},{"arcs":[[[-649,963,964,965,966,967,968]]],"type":"MultiPolygon","id":"KEN","properties":{"name":"Kenya"}},{"arcs":[[-459,969,970,-957],[971],[972],[973]],"type":"Polygon","id":"KGZ","properties":{"name":"Kyrgyzstan"}},{"arcs":[[[974,975,976,977]]],"type":"MultiPolygon","id":"KHM","properties":{"name":"Cambodia"}},{"arcs":[[[978]]],"type":"MultiPolygon","id":"KIR","properties":{"name":"Kiribati"}},{"arcs":[[[979]],[[980]],[[981]],[[982,983]]],"type":"MultiPolygon","id":"KOR","properties":{"name":"Korea"}},{"arcs":[[984,-18,985,986]],"type":"Polygon","id":"XKX","properties":{"name":"Kosovo"}},{"arcs":[[[987]],[[988,-908,989]]],"type":"MultiPolygon","id":"KWT","properties":{"name":"Kuwait"}},{"arcs":[[990,-977,991,992,-450]],"type":"Polygon","id":"LAO","properties":{"name":"Lao PDR"}},{"arcs":[[-925,993,994]],"type":"Polygon","id":"LBN","properties":{"name":"Lebanon"}},{"arcs":[[-470,995,996,-705]],"type":"Polygon","id":"LBR","properties":{"name":"Liberia"}},{"arcs":[[-606,997,998,999,-587,1000,1001]],"type":"Polygon","id":"LBY","properties":{"name":"Libya"}},{"arcs":[[1002]],"type":"Polygon","id":"LCA","properties":{"name":"Saint Lucia"}},{"arcs":[[-389,-147]],"type":"Polygon","id":"LIE","properties":{"name":"Liechtenstein"}},{"arcs":[[[1003]]],"type":"MultiPolygon","id":"LKA","properties":{"name":"Sri Lanka"}},{"arcs":[[1004]],"type":"Polygon","id":"LSO","properties":{"name":"Lesotho"}},{"arcs":[[[1005,1006]],[[-210,1007,1008,1009,1010]]],"type":"MultiPolygon","id":"LTU","properties":{"name":"Lithuania"}},{"arcs":[[-561,-670,-163]],"type":"Polygon","id":"LUX","properties":{"name":"Luxembourg"}},{"arcs":[[1011,-211,-1011,1012,-644]],"type":"Polygon","id":"LVA","properties":{"name":"Latvia"}},{"arcs":[[1013,1014]],"type":"Polygon","id":"MAF","properties":{"name":"St-Martin"}},{"arcs":[[-622,1015,-620,1016,-592,1017,1018]],"type":"Polygon","id":"MAR","properties":{"name":"Morocco"}},{"arcs":[[1019,-674]],"type":"Polygon","id":"MCO","properties":{"name":"Monaco"}},{"arcs":[[1020,1021]],"type":"Polygon","id":"MDA","properties":{"name":"Moldova"}},{"arcs":[[[1022]],[[1023]]],"type":"MultiPolygon","id":"MDG","properties":{"name":"Madagascar"}},{"arcs":[[[1024]],[[1025]],[[1026]],[[1027]],[[1028]],[[1029,1030,1031,1032,1033,-214,-769,1034,1035],[1036]]],"type":"MultiPolygon","id":"MEX","properties":{"name":"Mexico"}},{"arcs":[[[-23,1037]],[[-187,-733,1038,-15,1039,-21,1040,-19,-985,1041]]],"type":"MultiPolygon","id":"MKD","properties":{"name":"Macedonia"}},{"arcs":[[1042,-178,-472,-704,1043,1044,-589]],"type":"Polygon","id":"MLI","properties":{"name":"Mali"}},{"arcs":[[[1045]],[[1046]],[[1047]],[[1048]],[[1049]],[[1050]],[[-993,1051,1052,-181,-895,-451]]],"type":"MultiPolygon","id":"MMR","properties":{"name":"Myanmar"}},{"arcs":[[1053,-986,-31,1054,-16,1055,-29,1056,-780,-203]],"type":"Polygon","id":"MNE","properties":{"name":"Montenegro"}},{"arcs":[[-464,1057,-462,1058]],"type":"Polygon","id":"MNG","properties":{"name":"Mongolia"}},{"arcs":[[[1059,1060,1061,1062,1063,1064,1065,1066,1067]]],"type":"MultiPolygon","id":"MOZ","properties":{"name":"Mozambique"}},{"arcs":[[[1068,1069,1070,-590,-1045]]],"type":"MultiPolygon","id":"MRT","properties":{"name":"Mauritania"}},{"arcs":[[[1071]]],"type":"MultiPolygon","id":"MUS","properties":{"name":"Mauritius"}},{"arcs":[[[1072,1073]],[[1074,1075]],[[1076,1077]],[[1078,1079]],[[1080,-1065,1081,1082]]],"type":"MultiPolygon","id":"MWI","properties":{"name":"Malawi"}},{"arcs":[[[1083]],[[-882,1084]],[[1085]],[[1086]],[[1087,1088]],[[-886,1089,-256,1090,-253,1091]],[[1092]]],"type":"MultiPolygon","id":"MYS","properties":{"name":"Malaysia"}},{"arcs":[[1093,-261,1094,1095,-8]],"type":"Polygon","id":"NAM","properties":{"name":"Namibia"}},{"arcs":[[[1096]],[[1097]],[[1098]]],"type":"MultiPolygon","id":"NCL","properties":{"name":"New Caledonia"}},{"arcs":[[1099,1100,-173,-174,-1043,-588,-1000]],"type":"Polygon","id":"NER","properties":{"name":"Niger"}},{"arcs":[[[1101,-478,1102,-169,-1101]]],"type":"MultiPolygon","id":"NGA","properties":{"name":"Nigeria"}},{"arcs":[[[1103,-528,1104,-776]]],"type":"MultiPolygon","id":"NIC","properties":{"name":"Nicaragua"}},{"arcs":[[[-166,1105]],[[1106]],[[-562,-168,1107],[1108]]],"type":"MultiPolygon","id":"NLD","properties":{"name":"Netherlands"}},{"arcs":[[[1109]],[[1110]],[[1111]],[[1112]],[[1113]],[[1114]],[[1115]],[[1116]],[[1117]],[[1118]],[[1119]],[[1120]],[[1121]],[[1122]],[[1123,-656,1124,1125]],[[1126]],[[1127]],[[1128]],[[1129]],[[1130]],[[1131]],[[1132]]],"type":"MultiPolygon","id":"NOR","properties":{"name":"Norway"}},{"arcs":[[-894,-454]],"type":"Polygon","id":"NPL","properties":{"name":"Nepal"}},{"arcs":[[[1133]],[[1134]],[[1135]],[[1136]],[[1137]],[[1138]]],"type":"MultiPolygon","id":"NZL","properties":{"name":"New Zealand"}},{"arcs":[[[1139]],[[1140,1141,-37,1142]],[[-41],[-35]],[[-40,1143]]],"type":"MultiPolygon","id":"OMN","properties":{"name":"Oman"}},{"arcs":[[[-954,-897,1144,-903,-2,-457]]],"type":"MultiPolygon","id":"PAK","properties":{"name":"Pakistan"}},{"arcs":[[[1145]],[[-517,1146,-526,1147]]],"type":"MultiPolygon","id":"PAN","properties":{"name":"Panama"}},{"arcs":[[[-248,-221,1148,-215,1149,-219,-438,1150,-600,-514]]],"type":"MultiPolygon","id":"PER","properties":{"name":"Peru"}},{"arcs":[[[1151]],[[1152]],[[1153]],[[1154]],[[1155]],[[1156]],[[1157]],[[1158]],[[1159]],[[1160]],[[1161]],[[1162]],[[1163]],[[1164]],[[1165]],[[1166]],[[1167]],[[1168]],[[1169]],[[1170]],[[1171]],[[1172]],[[1173]],[[1174]],[[1175]],[[1176]],[[1177]],[[1178]],[[1179]],[[1180]],[[1181]]],"type":"MultiPolygon","id":"PHL","properties":{"name":"Philippines"}},{"arcs":[[[1182]]],"type":"MultiPolygon","id":"PLW","properties":{"name":"Palau"}},{"arcs":[[[1183]],[[1184]],[[1185]],[[1186]],[[1187]],[[1188]],[[1189]],[[1190]],[[1191]],[[1192]],[[1193]],[[1194]],[[-858,1195]],[[1196]],[[1197]],[[1198]],[[1199]]],"type":"MultiPolygon","id":"PNG","properties":{"name":"Papua New Guinea"}},{"arcs":[[1200,1201,1202,-1008,-209,1203,1204,-550,-558,1205,-554,1206]],"type":"Polygon","id":"POL","properties":{"name":"Poland"}},{"arcs":[[[1207]]],"type":"MultiPolygon","id":"PRI","properties":{"name":"Puerto Rico"}},{"arcs":[[[1208,1209,-983,1210,-445]]],"type":"MultiPolygon","id":"PRK","properties":{"name":"Dem. Rep. Korea"}},{"arcs":[[[1211]],[[1212]],[[1213]],[[1214]],[[1215,-633]]],"type":"MultiPolygon","id":"PRT","properties":{"name":"Portugal"}},{"arcs":[[-247,1216,-245,-46,-217]],"type":"Polygon","id":"PRY","properties":{"name":"Paraguay"}},{"arcs":[[[-602,1217,-923]],[[-938,1218,-917]]],"type":"MultiPolygon","id":"PSX","properties":{"name":"Palestine"}},{"arcs":[[[1219]]],"type":"MultiPolygon","id":"PYF","properties":{"name":"Fr. Polynesia"}},{"arcs":[[1220,1221]],"type":"Polygon","id":"QAT","properties":{"name":"Qatar"}},{"arcs":[[1222,1223,-189,1224,-795,1225,-1021]],"type":"Polygon","id":"ROU","properties":{"name":"Romania"}},{"arcs":[[[1226]],[[1227]],[[1228]],[[1229]],[[1230]],[[1231]],[[1232]],[[1233]],[[1234]],[[1235]],[[1236]],[[-1203,1237,-1201,1238,-1006,1239,-1009]],[[1240]],[[1241]],[[1242,-639]],[[1243]],[[1244]],[[1245]],[[1246]],[[1247]],[[1248]],[[1249]],[[1250]],[[1251]],[[1252]],[[1253]],[[1254]],[[1255]],[[1256]],[[1257]],[[1258]],[[1259]],[[1260]],[[1261]],[[1262]],[[1263]],[[1264]],[[1265]],[[1266]],[[1267]],[[1268]],[[1269]],[[1270]],[[-1209,-444,1271,-465,-1059,-461,-963,1272,-154,-699,1273,1274,-207,-1012,-643,1275,-641,1276,-637,1277,-653,-1124,1278]],[[1279]],[[1280]],[[1281]],[[1282]],[[1283]],[[1284]],[[1285]],[[1286]],[[1287]],[[1288]],[[1289]],[[1290]],[[1291]],[[1292]],[[1293]],[[1294]],[[1295]],[[1296]],[[1297]],[[1298]]],"type":"MultiPolygon","id":"RUS","properties":{"name":"Russia"}},{"arcs":[[1299,-161,-504,1300,-502,1301]],"type":"Polygon","id":"RWA","properties":{"name":"Rwanda"}},{"arcs":[[-591,-1071,1302,-1018]],"type":"Polygon","id":"ESH","properties":{"name":"W. Sahara"}},{"arcs":[[[1303]],[[-989,1304,-1221,1305,-38,-1142,1306,1307,-934,-909]]],"type":"MultiPolygon","id":"SAU","properties":{"name":"Saudi Arabia"}},{"arcs":[[[1308,-610,-651,1309,-262,1310,-998,-605]]],"type":"MultiPolygon","id":"SDN","properties":{"name":"Sudan"}},{"arcs":[[-650,-969,1311,-496,-263,-1310]],"type":"Polygon","id":"SSD","properties":{"name":"S. Sudan"}},{"arcs":[[-1044,-709,-714,1312,-711,1313,-1069]],"type":"Polygon","id":"SEN","properties":{"name":"Senegal"}},{"arcs":[[1314]],"type":"Polygon","id":"SGP","properties":{"name":"Singapore"}},{"arcs":[[[1315]]],"type":"MultiPolygon","id":"SGS","properties":{"name":"S. Geo. and S. Sandw. Is."}},{"arcs":[[[1316]],[[1317]],[[1318]],[[1319]],[[1320]],[[1321]],[[1322]],[[1323]],[[1324]],[[1325]],[[1326]],[[1327]],[[1328]]],"type":"MultiPolygon","id":"SLB","properties":{"name":"Solomon Is."}},{"arcs":[[[1329]],[[-997,1330,-706]]],"type":"MultiPolygon","id":"SLE","properties":{"name":"Sierra Leone"}},{"arcs":[[[-778,1331,-767]]],"type":"MultiPolygon","id":"SLV","properties":{"name":"El Salvador"}},{"arcs":[[-931]],"type":"Polygon","id":"SMR","properties":{"name":"San Marino"}},{"arcs":[[1332,-647,-565,1333]],"type":"Polygon","id":"SOL","properties":{"name":"Somaliland"}},{"arcs":[[-964,-648,-1333,1334]],"type":"Polygon","id":"SOM","properties":{"name":"Somalia"}},{"arcs":[[-1225,-188,-1042,-987,-1054,-202,-787,-796]],"type":"Polygon","id":"SRB","properties":{"name":"Serbia"}},{"arcs":[[[1335]]],"type":"MultiPolygon","id":"STP","properties":{"name":"S\u00e3o Tom\u00e9 and Principe"}},{"arcs":[[-664,-239,-771,1336]],"type":"Polygon","id":"SUR","properties":{"name":"Suriname"}},{"arcs":[[1337,-798,-142,-551,-1205]],"type":"Polygon","id":"SVK","properties":{"name":"Slovakia"}},{"arcs":[[-789,1338,-929,-144,-797]],"type":"Polygon","id":"SVN","properties":{"name":"Slovenia"}},{"arcs":[[[1339]],[[1340]],[[1341]],[[1342,-1125,-655]]],"type":"MultiPolygon","id":"SWE","properties":{"name":"Sweden"}},{"arcs":[[-1061,1343]],"type":"Polygon","id":"SWZ","properties":{"name":"Swaziland"}},{"arcs":[[1344,-1014]],"type":"Polygon","id":"SXM","properties":{"name":"Sint Maarten"}},{"arcs":[[-913,911,-911,-939,-926,-995,1345,1346]],"type":"Polygon","id":"SYR","properties":{"name":"Syria"}},{"arcs":[[-1311,-267,-473,1347,-481,1348,-479,-1102,-1100,-999]],"type":"Polygon","id":"TCD","properties":{"name":"Chad"}},{"arcs":[[-171,1349,-700,-175]],"type":"Polygon","id":"TGO","properties":{"name":"Togo"}},{"arcs":[[[1350]],[[1351]],[[-992,-976,1352,-1089,1353,-1052]]],"type":"MultiPolygon","id":"THA","properties":{"name":"Thailand"}},{"arcs":[[[-974]],[[1354]],[[-970,-458,-6,1355]]],"type":"MultiPolygon","id":"TJK","properties":{"name":"Tajikistan"}},{"arcs":[[[-4,-902,1356,-961,1357,1358,1359]]],"type":"MultiPolygon","id":"TKM","properties":{"name":"Turkmenistan"}},{"arcs":[[[1360,-803]],[[-805,1361]]],"type":"MultiPolygon","id":"TLS","properties":{"name":"Timor-Leste"}},{"arcs":[[[1362]]],"type":"MultiPolygon","id":"TON","properties":{"name":"Tonga"}},{"arcs":[[[1363]]],"type":"MultiPolygon","id":"TTO","properties":{"name":"Trinidad and Tobago"}},{"arcs":[[[1364]],[[-1001,-586,1365]]],"type":"MultiPolygon","id":"TUN","properties":{"name":"Tunisia"}},{"arcs":[[[1366,-734,-185]],[[-697,-56,-153,-906,-914,-1347,1367]]],"type":"MultiPolygon","id":"TUR","properties":{"name":"Turkey"}},{"arcs":[[[1368]]],"type":"MultiPolygon","id":"TWN","properties":{"name":"Taiwan"}},{"arcs":[[[1369]],[[1370]],[[1371]],[[1372]],[[1373,1374,1375,-966,1376,-1067,1377,-1074,1378,-1076,1379,-1078,1380,-1080,1381,-1083,1382,1383,-158,-1300,1384]]],"type":"MultiPolygon","id":"TZA","properties":{"name":"Tanzania"}},{"arcs":[[[-1375,1385]],[[1386,-1385,-1302,-501,1387,-499,1388,-497,-1312,-968]]],"type":"MultiPolygon","id":"UGA","properties":{"name":"Uganda"}},{"arcs":[[[1389,-1223,-1022,-1226,-794,-1338,-1204,-208,-1275],[1390],[1391]]],"type":"MultiPolygon","id":"UKR","properties":{"name":"Ukraine"}},{"arcs":[[1392,-242,1393,-48,-244]],"type":"Polygon","id":"URY","properties":{"name":"Uruguay"}},{"arcs":[[[1394]],[[1395]],[[1396]],[[1397]],[[1398]],[[1399]],[[1400]],[[1401]],[[1402]],[[1403]],[[1404]],[[1405]],[[1406]],[[1407]],[[1408]],[[1409]],[[1410,-344]],[[1411,-340,1412,-338,1413,-336,1414,-334,-278,1415,-276,1416,-1033,1417,-1031,1418,-1036,1419,-342]],[[1420]],[[1421]],[[1422]],[[1423]],[[1424]],[[1425]],[[1426]],[[1427]],[[1428]],[[1429]],[[1430]],[[1431]],[[1432]],[[1433]],[[1434]],[[1435]],[[1436]],[[1437]],[[1438]],[[1439]],[[1440]],[[1441]],[[1442]],[[1443]],[[1444]],[[1445]],[[1446]],[[1447]],[[1448]],[[1449]],[[1450]],[[1451]],[[1452]],[[1453]],[[-347,345,1454]]],"type":"MultiPolygon","id":"USA","properties":{"name":"United States"}},{"arcs":[[[-534,1455]],[[1456,-532]]],"type":"MultiPolygon","id":"USG","properties":{"name":"USNB Guantanamo Bay"}},{"arcs":[[[-973]],[[-972]],[[-955,1457,-958,-971,-1356,-5,-1360,1458,-1358,-960,1459],[-1355]]],"type":"MultiPolygon","id":"UZB","properties":{"name":"Uzbekistan"}},{"arcs":[[-932]],"type":"Polygon","id":"VAT","properties":{"name":"Vatican"}},{"arcs":[[[1460]]],"type":"MultiPolygon","id":"VCT","properties":{"name":"St. Vin. and Gren."}},{"arcs":[[[1461]],[[1462]],[[1463]],[[-772,-250,-513,1464]]],"type":"MultiPolygon","id":"VEN","properties":{"name":"Venezuela"}},{"arcs":[[[1465]],[[1466,-978,-991,-449]]],"type":"MultiPolygon","id":"VNM","properties":{"name":"Vietnam"}},{"arcs":[[[1467]],[[1468]],[[1469]],[[1470]],[[1471]],[[1472]],[[1473]],[[1474]],[[1475]],[[1476]],[[1477]],[[1478]]],"type":"MultiPolygon","id":"VUT","properties":{"name":"Vanuatu"}},{"arcs":[[1479,-547]],"type":"Polygon","id":"WSB","properties":{"name":"Akrotiri"}},{"arcs":[[[1480]],[[1481]]],"type":"MultiPolygon","id":"WSM","properties":{"name":"Samoa"}},{"arcs":[[[1482]],[[1483,-1307,-1141]]],"type":"MultiPolygon","id":"YEM","properties":{"name":"Yemen"}},{"arcs":[[[-1062,-1344,-1060,1484,-1095,-260,1485],[-1005]]],"type":"MultiPolygon","id":"ZAF","properties":{"name":"South Africa"}},{"arcs":[[-1383,-1082,-1064,1486,1487,1488,-1094,-7,-508,1489,-506,1490]],"type":"Polygon","id":"ZMB","properties":{"name":"Zambia"}},{"arcs":[[-1063,-1486,-259,-1489,1491,-1487]],"type":"Polygon","id":"ZWE","properties":{"name":"Zimbabwe"}}],"type":"GeometryCollection"}},"transform":{"translate":[-180,-90],"scale":[0.036003600360036005,0.01736514657995801]}} \ No newline at end of file diff --git a/src/index.tsx b/src/index.tsx index 6897d1c7..99d3df71 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -8,7 +8,7 @@ import { Route, Router, Switch } from "react-router-dom"; import { PersistGate } from "redux-persist/integration/react"; import { App } from "./components/App"; -import { _catch_ } from "./components/ErrorBoundary"; +import { _catch_ } from "./components/common/ErrorBoundary"; import { NODE_ENV } from "./lib/react/environmentVariables"; import { history } from "./lib/react/history"; import { onLoad } from "./lib/react/onLoad"; diff --git a/src/lib/ethereum/contractReads.spec.ts b/src/lib/ethereum/contractReads.spec.ts index 45334eab..4b005190 100644 --- a/src/lib/ethereum/contractReads.spec.ts +++ b/src/lib/ethereum/contractReads.spec.ts @@ -1,7 +1,7 @@ import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; -import { darknodeIDBase58ToHex } from "../../components/pages/Darknode"; +import { darknodeIDBase58ToHex } from "../../components/darknodePage/Darknode"; import { createWeb3, Provider } from "../../test/globalSetup"; import { getDarknodeStatus, RegistrationStatus } from "./contractReads"; diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 11989b7b..60550a4e 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -337,6 +337,7 @@ export const getOperatorDarknodes = async ( renNetwork: RenNetworkDetails, operatorAddress: string, onDarknode?: (darknodeID: string) => void, + reportProgress?: (progress: number, total: number) => void, ): Promise> => { // Skip calling getAllDarknodes - they will all be in the logs as well. @@ -364,20 +365,23 @@ export const getOperatorDarknodes = async ( const operatorPromises = darknodes.map(async (darknodeID: string) => { return [darknodeID, await darknodeRegistry.methods.getDarknodeOwner(darknodeID).call()] as [string, string]; - }); + }).toArray(); let operatorDarknodes = OrderedSet(); operatorAddress = toChecksumAddress(operatorAddress); - for (const operatorPromise of operatorPromises.toArray()) { - const [darknodeID, operator] = await operatorPromise; + for (let i = 0; i < operatorPromises.length; i++) { + if (reportProgress) { reportProgress(i, operatorPromises.length); } + const [darknodeID, operator] = await operatorPromises[i]; if (operator === operatorAddress && !operatorDarknodes.contains(operatorAddress)) { operatorDarknodes = operatorDarknodes.add(darknodeID); if (onDarknode) { onDarknode(darknodeID); } } } + if (reportProgress) { reportProgress(operatorPromises.length, operatorPromises.length); } + return operatorDarknodes; }; diff --git a/src/lib/ethereum/contractWrites.spec.ts b/src/lib/ethereum/contractWrites.spec.ts index 009727b7..bea5b815 100644 --- a/src/lib/ethereum/contractWrites.spec.ts +++ b/src/lib/ethereum/contractWrites.spec.ts @@ -1,7 +1,7 @@ import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; -import { darknodeIDBase58ToHex } from "../../components/pages/Darknode"; +import { darknodeIDBase58ToHex } from "../../components/darknodePage/Darknode"; import { createWeb3, Provider } from "../../test/globalSetup"; import { getDarknodeStatus, getMinimumBond, getOperatorDarknodes, RegistrationStatus, diff --git a/src/store/account/accountActions.tsx b/src/store/account/accountActions.tsx index ab86acfd..9a7d28e7 100644 --- a/src/store/account/accountActions.tsx +++ b/src/store/account/accountActions.tsx @@ -7,8 +7,8 @@ import Web3 from "web3"; import { provider } from "web3-providers"; import { toChecksumAddress } from "web3-utils"; -import { LoggedOut } from "../../components/popups/LoggedOut"; -import { NoWeb3Popup } from "../../components/popups/NoWeb3Popup"; +import { LoggedOut } from "../../components/common/popups/LoggedOut"; +import { NoWeb3Popup } from "../../components/common/popups/NoWeb3Popup"; import { Language } from "../../languages/language"; import { getInjectedWeb3Provider } from "../../lib/ethereum/getWeb3"; import { history } from "../../lib/react/history"; diff --git a/src/store/account/darknodeActions.tsx b/src/store/account/darknodeActions.tsx index 48fecfed..77abfb16 100644 --- a/src/store/account/darknodeActions.tsx +++ b/src/store/account/darknodeActions.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; -import { WithdrawPopup } from "../../components/popups/WithdrawPopup"; +import { WithdrawPopup } from "../../components/common/popups/WithdrawPopup"; import { withdrawOldToken, withdrawToken } from "../../lib/ethereum/contractWrites"; import { AllTokenDetails, OldToken, Token } from "../../lib/ethereum/tokens"; import { WaitForTX } from "../../lib/ethereum/waitForTX"; diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index 4e959d69..f7e58b50 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -6,8 +6,8 @@ import { Currency, CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import Web3 from "web3"; -import { MultiStepPopup } from "../../components/popups/MultiStepPopup"; -import { TokenBalance } from "../../components/TokenBalance"; +import { MultiStepPopup } from "../../components/common/popups/MultiStepPopup"; +import { TokenBalance } from "../../components/common/TokenBalance"; import { getMinimumBond } from "../../lib/ethereum/contractReads"; import { approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 522b7849..f175ac23 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -77,25 +77,31 @@ export class NetworkState extends Record({ darknodeCount: null as BigNumber | null, orderCount: null as BigNumber | null, + registrySync: { progress: 0, target: 0 }, + darknodeDetails: Map(), balanceHistories: Map>(), - darknodeNames: Map(), - darknodeRegisteringList: Map(), - darknodeList: Map>(), - // tslint:disable-next-line: no-any transactions: OrderedMap>(), confirmations: OrderedMap(), - withdrawAddresses: Map>(), - currentCycle: "", previousCycle: "", pendingRewards: OrderedMap>(), pendingTotalInEth: OrderedMap(), cycleTimeout: new BigNumber(0), + + /////////////////////////////////////////////////////// + // If these change, localstorage migration is needed // + /////////////////////////////////////////////////////// + darknodeNames: Map(), + darknodeRegisteringList: Map(), + // Map from operator-address to list of darknodes. + darknodeList: Map>(), + withdrawAddresses: Map>(), + /////////////////////////////////////////////////////// }) implements Serializable { public serialize(): string { const js = this.toJS(); diff --git a/src/store/network/networkReducer.ts b/src/store/network/networkReducer.ts index b3d8a4b7..8cdb4963 100644 --- a/src/store/network/networkReducer.ts +++ b/src/store/network/networkReducer.ts @@ -45,7 +45,7 @@ export const networkReducer = ( case getType(operatorActions.removeDarknode): try { - let operatorList = state.darknodeList.get(action.payload.operator); + let operatorList = state.darknodeList.getIn([action.payload.operator, action.payload.network], null) as List | null; if (!operatorList) { return state; } @@ -62,7 +62,7 @@ export const networkReducer = ( } case getType(operatorActions.addDarknode): - let newList = state.darknodeList.get(action.payload.address) || List(); + let newList = state.darknodeList.getIn([action.payload.address, action.payload.network], List()) as List; let newNames = state.darknodeNames; // Add to list if it's not already in there @@ -85,6 +85,10 @@ export const networkReducer = ( .set("darknodeNames", newNames) .set("darknodeRegisteringList", darknodeRegisteringList); + case getType(operatorActions.setEmptyDarknodeList): + return state + .set("darknodeList", state.darknodeList.set(action.payload.address, List())); + case getType(operatorActions.storeQuoteCurrency): return state.set("quoteCurrency", action.payload.quoteCurrency); @@ -130,6 +134,9 @@ export const networkReducer = ( action.payload.darknodeDetails, )); + case getType(operatorActions.storeRegistrySync): + return state.set("registrySync", action.payload); + case getType(operatorActions.addTransaction): return state.set("transactions", state.transactions.set(action.payload.txHash, action.payload.tx)); diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index 1047f890..e57952f8 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -30,15 +30,24 @@ export const removeRegisteringDarknode = createStandardAction("REMOVE_REGISTERIN export const removeDarknode = createStandardAction("REMOVE_DARKNODE")<{ darknodeID: string; operator: string; + network: string; }>(); export const addDarknode = createStandardAction("ADD_DARKNODE")<{ darknodeID: string; address: string; + network: string; +}>(); + +export const setEmptyDarknodeList = createStandardAction("SET_EMPTY_DARKNODE_LIST")<{ + address: string; + network: string; }>(); export const storeQuoteCurrency = createStandardAction("STORE_QUOTE_CURRENCY")<{ quoteCurrency: Currency }>(); +export const storeRegistrySync = createStandardAction("STORE_REGISTRY_SYNC")<{ progress: number, target: number }>(); + export const storeSecondsPerBlock = createStandardAction("STORE_SECONDS_PER_BLOCK")<{ secondsPerBlock: number }>(); export const addToWithdrawAddresses = createStandardAction("ADD_TO_WITHDRAW_ADDRESSES")<{ token: Token, address: string }>(); @@ -118,7 +127,11 @@ export const updateOperatorDarknodes = ( let darknodeList = previousDarknodeList || List(); const currentDarknodes = await getOperatorDarknodes(web3, renNetwork, address, (darknodeID) => { - dispatch(addDarknode({ darknodeID, address })); + dispatch(addDarknode({ darknodeID, address, network: renNetwork.name })); + }, (progress, target) => { + if (previousDarknodeList === null) { + dispatch(storeRegistrySync({ progress, target })); + } }); // The lists are merged in the reducer as well, but we combine them again @@ -133,6 +146,10 @@ export const updateOperatorDarknodes = ( await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { return dispatch(updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices)); }).toArray()); + + if (darknodeList.size === 0) { + dispatch(setEmptyDarknodeList({ address, network: renNetwork.name })); + } }; export const updateDarknodeBalanceHistory = ( diff --git a/src/styles/images/Icon-HyperDrive.svg b/src/styles/images/Icon-HyperDrive.svg new file mode 100644 index 00000000..10fc18d5 --- /dev/null +++ b/src/styles/images/Icon-HyperDrive.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/styles/index.scss b/src/styles/index.scss index bfb4a57a..a44c8514 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -24,7 +24,8 @@ @import 'scss/view'; // Styles in src/components -@import '../components/darknodeMap/darknodeMap'; +@import '../components/overviewPage/darknodeMap/darknodeMap'; +@import '../components/hyperdrivePage/hyperdrive'; // Styles for html, body, anchors etc. should go in _general @import 'scss/_general'; \ No newline at end of file diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index 6e134d1c..bba9dac6 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -183,15 +183,14 @@ table th { } .container { - $spacing: 80px; + $spacing: 90px; width: 100%; max-width: 1400px + $spacing * 2; margin: 0 auto; - $spacing: 80px; padding: 0 $spacing; @media(max-width: $max-sm) { - padding: 0; + padding: 0 10px; } } diff --git a/src/styles/scss/_darknodeList.scss b/src/styles/scss/_darknodeList.scss index 2517f418..aaae7c54 100644 --- a/src/styles/scss/_darknodeList.scss +++ b/src/styles/scss/_darknodeList.scss @@ -194,6 +194,11 @@ $darknode-card-margin: 10px; display: flex; justify-content: center; align-items: center; + flex-direction: column; + >p { + margin-top: 20px; + opacity: 0.5; + } } .card--hide { diff --git a/src/styles/scss/_header.scss b/src/styles/scss/_header.scss index 7c2905f8..53d6424c 100644 --- a/src/styles/scss/_header.scss +++ b/src/styles/scss/_header.scss @@ -124,6 +124,7 @@ .header--dropdown--option { min-width: 100%; + max-width: 100%; } .header--dropdown .header--dropdown--highlight { @@ -174,6 +175,10 @@ background-color: #3CBC98; } +.header--dropdown::after, .header--dropdown::before { + bottom: calc(100% - 1px) !important; +} + .header--account--type { display: flex; flex-flow: row; @@ -184,11 +189,15 @@ .header--selected { color: white !important; border: 0 !important; + font-weight: 500 !important; + border-left: 1px solid #1A2E46 !important; + border-right: 1px solid #1A2E46 !important; svg { opacity: 1 !important; path { + opacity: 1 !important; fill: white !important; stroke: white !important; } @@ -223,8 +232,6 @@ .header--group>div { height: 48px !important; - border-left: 1px solid #1A2E46 !important; - border-right: 1px solid #1A2E46 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 25px !important; diff --git a/src/styles/scss/_statuspage.scss b/src/styles/scss/_statuspage.scss index b2e0c495..729c583f 100644 --- a/src/styles/scss/_statuspage.scss +++ b/src/styles/scss/_statuspage.scss @@ -440,6 +440,25 @@ } } +.blocky--loading { + >div { + @extend .lds-dual-ring; + &:after { + content:" "; + position: relative; + top: 0; + left: 0; + border-color: #002247 #001B3A #002247 #001B3A; + border-width: 10px; + animation: lds-dual-ring 2s linear infinite; + width: 80px; + height: 80px; + margin-top : -105px; + line-height: 0; + } +} +} + .darknode-id { max-width: 300px; white-space: nowrap; diff --git a/yarn.lock b/yarn.lock index fd1ba2fa..28ed97e2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1291,10 +1291,10 @@ resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" integrity sha512-OWk811Ay63UdPxY5nEg4N99Goz6K9HLaeGfUN2q0uehhQ70hJDqDQq/vYl5rtE07mv7MYX7GYTpj5POlPbZNRg== -"@renproject/react-components@^1.0.25": - version "1.0.25" - resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.25.tgz#c4b75b65ac941788e9a3d0c465a0f9d777a33af5" - integrity sha512-3qvQ8Lw9DQmiB7fUXopDGbFK3hRfLn78EY5X4INPZJoG6lP3m4af6LUtDMASkp2pDvtMbrpv1339uB67nw33NQ== +"@renproject/react-components@^1.0.26": + version "1.0.26" + resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.26.tgz#9545b3e9a43593ef37c750ebb548dcfe68fe2f41" + integrity sha512-SaHSHGFBqlyu18ocNrlz+SPEFv+sw1NHTsWuJfCeNyduFZIgojntOZ5FYyH1LMzD+828lxRNNBR940cgNW3ItQ== dependencies: "@fortawesome/fontawesome-svg-core" "^1.2.18" "@fortawesome/free-brands-svg-icons" "^5.8.2" @@ -1660,6 +1660,13 @@ "@types/d3-geo" "*" "@types/react" "*" +"@types/react-transition-group@1.1": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-1.1.6.tgz#871079e586ba346edae3b2a1cd0614e9f4363bf7" + integrity sha512-zzoJIWFAqvI3EwDizpeJoShUEe6dVIw3EDRmnqLlpmQgfbaw6XUmJYFVOiAyZVnO/9L7zPSe3kN8aZ2q3JP2DA== + dependencies: + "@types/react" "*" + "@types/react@*", "@types/react@^16.8.23": version "16.8.23" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" @@ -3719,6 +3726,11 @@ chai@^4.2.0: pathval "^1.1.0" type-detect "^4.0.5" +chain-function@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.1.tgz#c63045e5b4b663fb86f1c6e186adaf1de402a1cc" + integrity sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg== + chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -5003,7 +5015,7 @@ dom-converter@^0.2: dependencies: utila "~0.4" -dom-helpers@^3.4.0: +dom-helpers@^3.2.0, dom-helpers@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== @@ -7276,6 +7288,11 @@ immediate@^3.2.3: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + immer@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" @@ -8793,6 +8810,13 @@ libnpmconfig@^1.2.1: find-up "^3.0.0" ini "^1.3.5" +lie@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= + dependencies: + immediate "~3.0.5" + liftoff@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" @@ -8860,6 +8884,13 @@ loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1. emojis-list "^2.0.0" json5 "^1.0.1" +localforage@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.7.3.tgz#0082b3ca9734679e1bd534995bdd3b24cf10f204" + integrity sha512-1TulyYfc4udS7ECSBT2vwJksWbkwwTX8BzeUIiq8Y07Riy7bDAAnxDaPU/tWyOVmQAcWJIEIFP9lPfBGqVoPgQ== + dependencies: + lie "3.1.1" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -9449,7 +9480,7 @@ nan@2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== -nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: +nan@^2.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -11316,7 +11347,7 @@ prompts@^2.0.1, prompts@^2.1.0: kleur "^3.0.2" sisteransi "^1.0.0" -prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -11739,6 +11770,17 @@ react-simple-maps@^0.12.1: d3-geo-projection "1.2.2" topojson-client "2.1.0" +react-transition-group@1.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-1.2.1.tgz#e11f72b257f921b213229a774df46612346c7ca6" + integrity sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q== + dependencies: + chain-function "^1.0.0" + dom-helpers "^3.2.0" + loose-envify "^1.3.1" + prop-types "^15.5.6" + warning "^3.0.0" + react-transition-group@^2.2.1: version "2.9.0" resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" @@ -12454,6 +12496,15 @@ scrypt.js@^0.3.0: integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== dependencies: scryptsy "^1.2.1" + optionalDependencies: + scrypt "^6.0.2" + +scrypt@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" + integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= + dependencies: + nan "^2.0.8" scryptsy@2.1.0: version "2.1.0" @@ -14295,6 +14346,13 @@ wallet-address-validator@^0.2.4: base-x "^3.0.4" jssha "2.3.1" +warning@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" + integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= + dependencies: + loose-envify "^1.0.0" + watchpack@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" From 35b2afd06eee04d06f6ef4af17792559d6c512d3 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 9 Aug 2019 16:24:36 +1000 Subject: [PATCH 046/117] Updated yarn.lock --- yarn.lock | 9 --------- 1 file changed, 9 deletions(-) diff --git a/yarn.lock b/yarn.lock index 28ed97e2..c5d6ab73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12496,15 +12496,6 @@ scrypt.js@^0.3.0: integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== dependencies: scryptsy "^1.2.1" - optionalDependencies: - scrypt "^6.0.2" - -scrypt@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" - integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= - dependencies: - nan "^2.0.8" scryptsy@2.1.0: version "2.1.0" From 8cebb40cc426694e6473105ea0b4ef403f4cac9c Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 12 Aug 2019 12:31:27 +1000 Subject: [PATCH 047/117] Improved hyperdrive page --- .../darknodeList/CardView.tsx | 2 +- src/components/common/BackgroundTasks.tsx | 2 +- src/components/common/sidebar/SidebarIcon.tsx | 2 +- .../darknodePage/statuspage/Registration.tsx | 1 - src/components/hyperdrivePage/Hyperdrive.tsx | 224 +++++++++++------- .../hyperdrivePage/_hyperdrive.scss | 169 +++++++++---- .../hyperdrivePage/hyperdriveContainer.ts | 43 +++- .../darknodeMap/_darknodeMap.scss | 10 +- .../overviewPage/darknodeMap/mapContainer.ts | 3 +- src/styles/scss/__general.scss | 38 +-- src/styles/scss/_header.scss | 69 +++--- 11 files changed, 352 insertions(+), 211 deletions(-) diff --git a/src/components/allDarknodesPage/darknodeList/CardView.tsx b/src/components/allDarknodesPage/darknodeList/CardView.tsx index 1d7c42cb..c0087c02 100644 --- a/src/components/allDarknodesPage/darknodeList/CardView.tsx +++ b/src/components/allDarknodesPage/darknodeList/CardView.tsx @@ -9,8 +9,8 @@ import { Link } from "react-router-dom"; import { Token } from "../../../lib/ethereum/tokens"; import { DarknodesState } from "../../../store/applicationState"; import { DarknodeID } from "../../common/DarknodeID"; -import { statusText } from "../../darknodePage/statuspage/Registration"; import { TokenBalance } from "../../common/TokenBalance"; +import { statusText } from "../../darknodePage/statuspage/Registration"; interface Props { darknodeID: string; diff --git a/src/components/common/BackgroundTasks.tsx b/src/components/common/BackgroundTasks.tsx index ee8c9c8c..f1444659 100644 --- a/src/components/common/BackgroundTasks.tsx +++ b/src/components/common/BackgroundTasks.tsx @@ -1,10 +1,10 @@ import * as qs from "query-string"; import * as React from "react"; +import { List } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; -import { List } from "immutable"; import { _captureBackgroundException_ } from "../../lib/react/errors"; import { lookForLogout, promptLogin } from "../../store/account/accountActions"; diff --git a/src/components/common/sidebar/SidebarIcon.tsx b/src/components/common/sidebar/SidebarIcon.tsx index 4cc019df..06f36afb 100644 --- a/src/components/common/sidebar/SidebarIcon.tsx +++ b/src/components/common/sidebar/SidebarIcon.tsx @@ -8,8 +8,8 @@ import BigNumber from "bignumber.js"; import { Link } from "react-router-dom"; import { Token } from "../../../lib/ethereum/tokens"; -import { DarknodeID } from "../DarknodeID"; import { darknodeIDHexToBase58 } from "../../darknodePage/Darknode"; +import { DarknodeID } from "../DarknodeID"; import { TokenBalance } from "../TokenBalance"; interface Props { diff --git a/src/components/darknodePage/statuspage/Registration.tsx b/src/components/darknodePage/statuspage/Registration.tsx index 74aebef9..3221f8ad 100644 --- a/src/components/darknodePage/statuspage/Registration.tsx +++ b/src/components/darknodePage/statuspage/Registration.tsx @@ -3,7 +3,6 @@ import * as React from "react"; import { Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { List } from "immutable"; import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; import { _captureInteractionException_ } from "../../../lib/react/errors"; diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index 7b54dfdc..e781421f 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -1,30 +1,49 @@ +import { Loading, TokenIcon } from "@renproject/react-components"; import React, { useState } from "react"; -import { CSSTransitionGroup } from "react-transition-group"; import { withRouter } from "react-router"; -import { Loading } from "@renproject/react-components"; -import { Link } from "react-router-dom"; +import { CSSTransitionGroup } from "react-transition-group"; import { Token } from "../../lib/ethereum/tokens"; import { naturalTime } from "../../lib/general/conversion"; import { TokenBalance } from "../common/TokenBalance"; -import { Block, HyperdriveContainer } from "./hyperdriveContainer"; +import { Block, HyperdriveContainer, Tx } from "./hyperdriveContainer"; let interval: NodeJS.Timeout; -export const Hyperdrive = withRouter(({ match: { params } }) => { +export const renderTransaction = (tx: Tx): React.ReactNode => { + // BTC + if (tx.to === "BTC0Btc2Eth") { + return <>Shift {tx.args[1].value / 10 ** 8} to ; + } + if (tx.to === "BTC0Eth2Btc") { + return <>Shift {tx.args[2].value / 10 ** 8} from ; + } + // ZEC + if (tx.to === "ZEC0Zec2Eth") { + return <>Shift {tx.args[1].value / 10 ** 8} to ; + } + if (tx.to === "ZEC0Eth2Zec") { + return <>Shift {tx.args[2].value / 10 ** 8} from ; + } + return <> + {tx.to} {tx.args.length} {tx.out ? tx.out.length : 0} + ; +}; + +export const Hyperdrive = withRouter(({ match: { params }, history }) => { const container = HyperdriveContainer.useContainer(); - const blockNumber = params.blockNumber ? parseInt(params.blockNumber, 10) : null; + const blockNumber = params.blockNumber + ? parseInt(params.blockNumber, 10) + : null; // tslint:disable-next-line: prefer-const let [initialized, setInitialized] = useState(false); React.useEffect(() => { - console.log(`initialized: ${initialized}`); if (initialized) { return; } const syncBlocks = () => { - console.log(`Syncing!`); container.updateBlocks().catch(console.error); }; @@ -33,7 +52,9 @@ export const Hyperdrive = withRouter(({ match: { params } }) => { } // Every 30 seconds - if (interval) { clearInterval(interval); } + if (interval) { + clearInterval(interval); + } interval = setInterval(syncBlocks, 10 * 1000); if (container.blocks.size === 0) { syncBlocks(); @@ -50,92 +71,127 @@ export const Hyperdrive = withRouter(({ match: { params } }) => { }, [initialized, blockNumber]); const blockTr = (block: Block) => { - return - {block.height} - - {naturalTime(block.timestamp, { - message: "Just now", - suffix: "ago", - countDown: false, - showingSeconds: true, - })} - - - {block.txs.length} TXs - - - sum + utxo.amount, 0))} - digits={4} - /> BTC - - - sum + utxo.amount, 0))} - digits={4} - /> ZEC - - ; + const trOnClick = () => { + container.getBlock(block.height).catch(console.error); + history.push(`/hyperdrive/${block.height}`); + }; + return ( + + {block.height} + + {naturalTime(block.timestamp, { + message: "Just now", + suffix: "ago", + countDown: false, + showingSeconds: true + })} + + {block.txs.length ?
    {block.txs.map((tx, index) => { + return
    + {renderTransaction(tx)} +
    ; + })}
    : No TXs} + + ); }; + const stat = (title: string, content: React.ReactNode) =>
    +
    +

    {title}

    + {content} +
    ; + + const firstBlock = container.blocks.first(); + return ( -
    - {blockNumber ? <> -
    -

    Block {blockNumber}

    - - - - - - - - - - {container.currentBlock ? blockTr(container.currentBlock) : } - -
    Block NumberTimestampNumber of TransactionsBTC lockedZEC locked
    - - - - - - - - - {container.currentBlock ? container.currentBlock.txs.map((tx) => { - return - - - - - ; - }) : <>} - -
    HashToArgsOut
    {tx.hash}{tx.to}{tx.args.length}{tx.out ? tx.out.length : 0}
    -
    -
    - : <> - } +
    +
    + {stat("Number of shards", 1)} + {stat("Block height", firstBlock ? firstBlock.height : 0)} + {stat("Locked BTC", <> + sum + utxo.amount, 0) : 0 + )} + digits={4} + />{" "} + BTC + )} + {stat("Locked ZEC", <> + sum + utxo.amount, 0) : 0 + )} + digits={4} + />{" "} + ZEC + )} +
    + {blockNumber ? ( + <> +
    +

    Block {blockNumber}

    + + + + + + + + {container.currentBlock && container.currentBlockNumber === blockNumber ? ( + blockTr(container.currentBlock) + ) : ( + + )} + +
    Block NumberTimestampTransactions
    + {/* + + + + + + + + {container.currentBlock ? ( + container.currentBlock.txs.map(tx => { + return ( + + + + + + + ); + }) + ) : ( + <> + )} + +
    HashToArgsOut
    {tx.hash}{tx.to}{tx.args.length}{tx.out ? tx.out.length : 0}
    */} +
    +
    + + ) : ( + <> + )}

    Latest Blocks

    - +
    - - - + - + {container.blocks.map(blockTr)}
    Block Number TimestampNumber of TransactionsBTC lockedZEC lockedTransactions
    ); -}); \ No newline at end of file +}); diff --git a/src/components/hyperdrivePage/_hyperdrive.scss b/src/components/hyperdrivePage/_hyperdrive.scss index 463fdfc4..b8678547 100644 --- a/src/components/hyperdrivePage/_hyperdrive.scss +++ b/src/components/hyperdrivePage/_hyperdrive.scss @@ -1,27 +1,6 @@ -.map { +.hyperdrive { // display: flex; - hr { - color: white; - margin-bottom: 10px; - border-width: 0.5px; - } - - .map--world--outer { - display: flex; - } - - .map--world { - width: 100%; - max-width: 980px; - margin: 0 auto; - } - - circle { - fill: #87C0FF; - filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); - } - h2 { font-family: Ubuntu; font-style: normal; @@ -32,9 +11,7 @@ /* identical to box height */ letter-spacing: 1.75px; text-transform: uppercase; - - color: #FFFFFF; - + color: #ffffff; } tr { @@ -42,12 +19,13 @@ } @keyframes highlight { - 0% { - background: rgba(255, 255, 255, 0.05);; - } - 100% { - background: none; - } + 0% { + background: rgba(255, 255, 255, 0.05); + } + + 100% { + background: none; + } } a { @@ -56,20 +34,117 @@ } .fade-enter { - opacity: 0.01; -} - -.fade-enter.fade-enter-active { - opacity: 1; - transition: opacity 0.6s ease-in-out; -} - -.fade-leave { - opacity: 1; -} - -.fade-leave.fade-leave-active { - opacity: 0.01; - transition: opacity 0.3s ease-in-out; -} + opacity: 0.01; + } + + .fade-enter.fade-enter-active { + opacity: 1; + transition: opacity 0.6s ease-in-out; + } + + .fade-leave { + opacity: 1; + } + + .fade-leave.fade-leave-active { + opacity: 0.01; + transition: opacity 0.3s ease-in-out; + } + + table { + font-size: 13px; + + thead>th { + text-transform: uppercase; + font-weight: bold; + font-size: 13px; + line-height: 15px; + color: #f9f9f9; + width: auto; + + min-width: 200px; + } + + .hyperdrive--table--txs { + width: 100%; + } + + tbody>tr { + cursor: pointer; + height: 40px; + border: none; + background-color: #00000000 !important; + + &:hover:nth-child(odd)>td, + &:hover>td { + background: rgba(255, 255, 255, 0.05); + } + + &:nth-child(odd)>td { + background: $blue-darker; + } + } + } + + .hyperdrive--row { + display: flex; + margin-bottom: 30px; + flex-wrap: wrap; + + >div { + flex-grow: 1; + min-width: 250px; + + &:not(:last-child) { + margin-right: 20px; + } + } + + .hyperdrive--stat { + font-size: 32px; + line-height: 37px; + color: #F9F9F9; + } + } + + .block--txs--td { + overflow: hidden; + max-width: 300px; + } + + .block--txs { + @extend .no-scrollbar; + display: flex; + overflow-y: scroll; + + &>div { + border-radius: 10px; + border: 1px solid white; + padding: 3px 10px; + display: flex; + justify-content: center; + align-items: center; + + &:not(:last-child) { + margin-right: 5px; + } + } + + .token--icon { + margin: 0 3px; + + &:last-child { + margin-right: 0; + } + } + + .token--icon>path { + width: 10px; + height: 10px; + } + } + + .block--txs--none { + opacity: 0.3; + } } \ No newline at end of file diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts index 04ea6975..ff751932 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -1,10 +1,10 @@ // tslint:disable: no-unused-variable +import { RenNetworkDetails, testnet } from "@renproject/contracts"; +import Axios from "axios"; import { List } from "immutable"; import { useState } from "react"; import { createContainer } from "unstated-next"; -import { RenNetworkDetails, testnet } from "@renproject/contracts"; -import Axios from "axios"; import { getLightnode } from "../overviewPage/darknodeMap/mapContainer"; @@ -40,7 +40,7 @@ interface Arg { type Args = Arg[]; -interface Tx { +export interface Tx { hash: B32; to: Addr; args: Args; @@ -86,7 +86,7 @@ interface ResponseQueryBlocks { blocks: Blocks; } -const N = 5; +const N = 8; const getBlocks = async (network: RenNetworkDetails, previousBlocks: List): Promise> => { const lightnode = getLightnode(network); @@ -99,7 +99,6 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List previousHeight = firstBlock.height; } if (previousHeight === null) { - console.log(`Requesting 5 blocks`); const request = { jsonrpc: "2.0", method: "ren_queryBlocks", params: { n: N }, id: 67 }; const response = (await Axios.post>(lightnode, request)).data.result; return List(response.blocks); @@ -107,12 +106,10 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List let currentHeight = null as number | null; let syncedHeight = null as number | null; let newBlocks = List(); - console.log(`Syncing with previousHeight: ${previousHeight}`); while ( currentHeight === null || syncedHeight === null || (syncedHeight > previousHeight + 1 && syncedHeight + N - 1 > currentHeight && syncedHeight > 0) ) { - console.log(`Requesting block ${syncedHeight && syncedHeight - 1}`); const request = { jsonrpc: "2.0", method: "ren_queryBlock", params: { blockHeight: syncedHeight && syncedHeight - 1 }, id: 67 }; const response = (await Axios.post>(lightnode, request)).data.result; const latestBlock = response.block; @@ -134,6 +131,8 @@ const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => let [blocks, setBlocks] = useState(List()); // tslint:disable-next-line: prefer-const let [currentBlock, setCurrentBlock] = useState(null); + // tslint:disable-next-line: prefer-const + let [currentBlockNumber, setCurrentBlockNumber] = useState(null); const updateBlocks = async () => { blocks = await getBlocks(network, blocks); @@ -145,13 +144,35 @@ const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => if (!lightnode) { return; } - const request = { jsonrpc: "2.0", method: "ren_queryBlock", params: { n: 5, blockHeight: blockNumber }, id: 67 }; - const response = (await Axios.post>(lightnode, request)).data.result; - currentBlock = response.block; + const first = blocks.first(null); + const last = blocks.last(null); + + let newCurrentBlock; + + // Check if we already have the block in the list of recent blocks. + if (first && last && first.height >= blockNumber && last.height <= blockNumber) { + for (const block of blocks.toArray()) { + if (block.height === blockNumber) { + newCurrentBlock = block; + break; + } + } + } + + // Fetch the block from the lightnode. + if (!newCurrentBlock) { + const request = { jsonrpc: "2.0", method: "ren_queryBlock", params: { n: 5, blockHeight: blockNumber }, id: 67 }; + const response = (await Axios.post>(lightnode, request)).data.result; + newCurrentBlock = response.block; + } + + currentBlock = newCurrentBlock; setCurrentBlock(currentBlock); + currentBlockNumber = currentBlock.height; + setCurrentBlockNumber(currentBlockNumber); }; - return { blocks, updateBlocks, getBlock, currentBlock }; + return { blocks, updateBlocks, getBlock, currentBlock, currentBlockNumber }; }; export const HyperdriveContainer = createContainer(useHyperdriveContainer); diff --git a/src/components/overviewPage/darknodeMap/_darknodeMap.scss b/src/components/overviewPage/darknodeMap/_darknodeMap.scss index e11a7567..79c5bdca 100644 --- a/src/components/overviewPage/darknodeMap/_darknodeMap.scss +++ b/src/components/overviewPage/darknodeMap/_darknodeMap.scss @@ -1,12 +1,6 @@ .map { // display: flex; - hr { - color: white; - margin-bottom: 10px; - border-width: 0.5px; - } - .map--world--outer { display: flex; } @@ -32,8 +26,6 @@ /* identical to box height */ letter-spacing: 1.75px; text-transform: uppercase; - color: #FFFFFF; - } -} \ No newline at end of file +} diff --git a/src/components/overviewPage/darknodeMap/mapContainer.ts b/src/components/overviewPage/darknodeMap/mapContainer.ts index 01d7c139..44d2f50e 100644 --- a/src/components/overviewPage/darknodeMap/mapContainer.ts +++ b/src/components/overviewPage/darknodeMap/mapContainer.ts @@ -1,10 +1,9 @@ // tslint:disable: no-unused-variable -import localforage from "localforage"; import { RenNetworkDetails, testnet } from "@renproject/contracts"; import { sleep } from "@renproject/react-components"; import Axios from "axios"; -import { Map } from "immutable"; +import localforage from "localforage"; import { useState } from "react"; import { MarkerType } from "react-simple-maps"; import { createContainer } from "unstated-next"; diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index bba9dac6..63ac48a9 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -17,16 +17,19 @@ html { width: 100%; overflow: hidden; } + + min-width: 100vw; + min-height: 100vh; + background: linear-gradient(180deg, #00162f 0%, #001b39 100%); } * { - font-family: 'PingFang SC', Helvetica, Arial, sans-serif; + font-family: "PingFang SC", Helvetica, Arial, sans-serif; } body { font-size: 12px; margin: 0; - background: $blue-darker; color: white; } @@ -57,9 +60,9 @@ label { display: block; } -input[type=number], -input[type=text], -input[type=password] { +input[type="number"], +input[type="text"], +input[type="password"] { border: 1px solid $light-grey; height: 35px; padding: 0 8px; @@ -73,7 +76,7 @@ input[type=password] { } } -input[type=checkbox] { +input[type="checkbox"] { margin: 0 5px 0 0; vertical-align: middle; } @@ -184,12 +187,13 @@ table th { .container { $spacing: 90px; + width: 100%; max-width: 1400px + $spacing * 2; margin: 0 auto; padding: 0 $spacing; - @media(max-width: $max-sm) { + @media (max-width: $max-sm) { padding: 0 10px; } } @@ -207,7 +211,7 @@ table th { } .monospace { - font-family: 'Courier New', Courier, monospace; + font-family: "Courier New", Courier, monospace; letter-spacing: 0.5px; } @@ -230,7 +234,7 @@ label { text-overflow: ellipsis; max-width: 250px; - @media(min-width: $min-sm) { + @media (min-width: $min-sm) { max-width: none; } } @@ -267,7 +271,6 @@ label { text-decoration: none; } - .checkbox { appearance: initial; width: 20px; @@ -282,7 +285,6 @@ label { .checkbox:checked:after { content: "✔"; color: $green; - position: absolute; left: 50%; top: 50%; @@ -314,25 +316,31 @@ label { } .mobile-only { - @media(min-width: $min-md) { + @media (min-width: $min-md) { display: none !important; } } .no-mobile { - @media(max-width: $max-sm) { + @media (max-width: $max-sm) { display: none !important; } } .large-only { - @media(max-width: $max-lg) { + @media (max-width: $max-lg) { display: none !important; } } .no-large { - @media(min-width: $min-xl) { + @media (min-width: $min-xl) { display: none !important; } +} + +hr { + color: #1A2E46; + margin-bottom: 10px; + border-width: 1px; } \ No newline at end of file diff --git a/src/styles/scss/_header.scss b/src/styles/scss/_header.scss index 53d6424c..82046573 100644 --- a/src/styles/scss/_header.scss +++ b/src/styles/scss/_header.scss @@ -1,15 +1,14 @@ .header { + background: $blue-darker; padding: 0 !important; margin-bottom: 20px; z-index: 6; - border-bottom: 1px solid #1A2E46; - + border-bottom: 1px solid #1a2e46; display: flex; justify-content: space-between; - padding-left: 80px !important; - @media(max-width: $max-sm) { + @media (max-width: $max-sm) { padding-left: 0 !important; } @@ -17,16 +16,15 @@ height: 48px !important; } -.header .container>a { +.header .container > a { align-self: center; text-decoration: none; } .header--logo { - border-right: 1px solid #1A2E46 !important; + border-right: 1px solid #1a2e46 !important; border-radius: 0 !important; - - background: url('images/logo.svg') center; + background: url("images/logo.svg") center; background-size: 30px 30px; background-repeat: no-repeat; height: 48px !important; @@ -39,12 +37,10 @@ list-style: none; margin: 20px 0 0; padding: 0; - justify-content: flex-end; - width: 200px; - @media(min-width: $min-md) { + @media (min-width: $min-md) { width: 500px; } @@ -52,38 +48,36 @@ } .header--menu li:hover { - @media(min-width: $min-sm) {} + @media (min-width: $min-sm) {} } -.header--menu>li a { +.header--menu > li a { color: white; } -.header--menu>li { +.header--menu > li { display: flex; position: relative; text-align: center; color: white; - display: flex; align-items: center; margin: 0 20px; - font-size: 16px; font-weight: 500; - @media(min-width: $min-sm) { + @media (min-width: $min-sm) { padding: 0 22px; margin: 0; } } .header--menu li { - @media(min-width: $min-sm) {} + @media (min-width: $min-sm) {} } .header--menu li:last-child { - @media(min-width: $min-sm) {} + @media (min-width: $min-sm) {} } .header--menu a { @@ -91,7 +85,7 @@ } .header--menu .header--logout { - @media(min-width: $min-sm) { + @media (min-width: $min-sm) { display: none; } } @@ -99,9 +93,7 @@ .header .blocky { height: 30px; border-radius: 25px; - vertical-align: middle; - margin-right: 15px; } @@ -115,11 +107,10 @@ .header--dropdown--alt li { padding: 9px 20px; cursor: pointer; - font-weight: 500; line-height: normal; font-size: 12px; - color: #58585B; + color: #58585b; } .header--dropdown--option { @@ -159,7 +150,7 @@ } .header--account--type::before { - content: ''; + content: ""; display: inline-block; width: 7px; height: 7px; @@ -167,15 +158,16 @@ -moz-border-radius: 3.5px; -webkit-border-radius: 3.5px; border-radius: 3.5px; - background-color: #F45532; + background-color: #f45532; margin-top: 5px; } .header--account--connected .header--account--type::before { - background-color: #3CBC98; + background-color: #3cbc98; } -.header--dropdown::after, .header--dropdown::before { +.header--dropdown::after, +.header--dropdown::before { bottom: calc(100% - 1px) !important; } @@ -190,14 +182,14 @@ color: white !important; border: 0 !important; font-weight: 500 !important; - border-left: 1px solid #1A2E46 !important; - border-right: 1px solid #1A2E46 !important; + border-left: 1px solid #1a2e46 !important; + border-right: 1px solid #1a2e46 !important; svg { opacity: 1 !important; path { - opacity: 1 !important; + opacity: 1 !important; fill: white !important; stroke: white !important; } @@ -206,6 +198,7 @@ .header--mobile-menu--button { @extend .mobile-only; + height: 100%; display: flex; align-items: center; @@ -218,9 +211,9 @@ min-width: 0; // Based on measurements for right side of menu - margin-left: 22px+15px; + margin-left: 22px + 15px; - @media(max-width: $max-xs) { + @media (max-width: $max-xs) { margin-left: 22px; } } @@ -230,7 +223,7 @@ width: 200px; } -.header--group>div { +.header--group > div { height: 48px !important; border-radius: 0 !important; margin: 0 !important; @@ -244,7 +237,6 @@ .transaction { margin-top: 10px; margin-bottom: 10px; - font-weight: 100; font-size: 14px; display: flex; @@ -256,17 +248,16 @@ margin-right: 10px; } - >.lds-dual-ring::after { + > .lds-dual-ring::after { border-width: 1px; } a.transaction--hash { color: $blue-bright; } - } -.transaction+.transaction { +.transaction + .transaction { margin-top: 0; } @@ -312,4 +303,4 @@ top: 15px; height: calc(100vh - 15px); } -} \ No newline at end of file +} From 1b6826fd8ae2632e839b2aa06218cfe8d40f08ae Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 12 Aug 2019 14:09:23 +1000 Subject: [PATCH 048/117] Improved hyperdrive block history & stats --- package.json | 4 +- .../statuspage/block/FeesBlock.tsx | 5 +- src/components/hyperdrivePage/Hyperdrive.tsx | 55 +++-- .../hyperdrivePage/hyperdriveContainer.ts | 26 ++- src/lib/ethereum/contractWrites.ts | 2 +- src/lib/general/conversion.ts | 48 ---- src/lib/react/errors.ts | 2 +- yarn.lock | 207 ++++++------------ 8 files changed, 128 insertions(+), 221 deletions(-) delete mode 100644 src/lib/general/conversion.ts diff --git a/package.json b/package.json index 3ccf8364..d6cb72d8 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,9 @@ "@fortawesome/free-regular-svg-icons": "^5.9.0", "@fortawesome/free-solid-svg-icons": "^5.9.0", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "0.3.9", + "@renproject/contracts": "^0.3.13", "@renproject/fonts": "^1.0.1", - "@renproject/react-components": "^1.0.26", + "@renproject/react-components": "1.0.28", "@sentry/browser": "^5.5.0", "@sentry/core": "^5.5.0", "@types/bs58": "^4.0.0", diff --git a/src/components/darknodePage/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx index 43959a32..982e616c 100644 --- a/src/components/darknodePage/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -3,7 +3,9 @@ import * as React from "react"; import { faStar } from "@fortawesome/free-regular-svg-icons"; import { faChevronRight, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { CurrencyIcon, Loading, TokenIcon } from "@renproject/react-components"; +import { + alreadyPast, CurrencyIcon, Loading, naturalTime, TokenIcon, +} from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings @@ -11,7 +13,6 @@ import { bindActionCreators } from "redux"; import { DarknodeFeeStatus, RegistrationStatus } from "../../../../lib/ethereum/contractReads"; import { OldToken, Token } from "../../../../lib/ethereum/tokens"; -import { alreadyPast, naturalTime } from "../../../../lib/general/conversion"; import { showClaimPopup } from "../../../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../../../store/applicationState"; import { diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index e781421f..097de06f 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -1,13 +1,28 @@ -import { Loading, TokenIcon } from "@renproject/react-components"; -import React, { useState } from "react"; +import { getTimeMagnitude, Loading, naturalTime, TokenIcon } from "@renproject/react-components"; +import React, { useCallback, useState } from "react"; import { withRouter } from "react-router"; import { CSSTransitionGroup } from "react-transition-group"; import { Token } from "../../lib/ethereum/tokens"; -import { naturalTime } from "../../lib/general/conversion"; import { TokenBalance } from "../common/TokenBalance"; import { Block, HyperdriveContainer, Tx } from "./hyperdriveContainer"; +// Returning a new object reference guarantees that a before-and-after +// equivalence check will always be false, resulting in a re-render, even +// when multiple calls to forceUpdate are batched. + +const useForceUpdate = () => { + const [, dispatch] = useState<{}>(Object.create(null)); + + // Turn dispatch(required_parameter) into dispatch(). + return useCallback( + (): void => { + dispatch(Object.create(null)); + }, + [dispatch], + ); +}; + let interval: NodeJS.Timeout; export const renderTransaction = (tx: Tx): React.ReactNode => { @@ -37,6 +52,8 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { ? parseInt(params.blockNumber, 10) : null; + const forceUpdate = useForceUpdate(); + // tslint:disable-next-line: prefer-const let [initialized, setInitialized] = useState(false); React.useEffect(() => { @@ -56,7 +73,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { clearInterval(interval); } interval = setInterval(syncBlocks, 10 * 1000); - if (container.blocks.size === 0) { + if (!container.blocks || container.blocks.size === 0) { syncBlocks(); } @@ -101,7 +118,13 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { {content}
    ; - const firstBlock = container.blocks.first(); + const firstBlock = container.blocks ? container.blocks.first(null) : null; + + if (firstBlock && getTimeMagnitude(firstBlock.timestamp, true)) { + setTimeout(() => { + forceUpdate(); + }, 1 * 1000); + } return (
    { Timestamp Transactions - - {container.currentBlock && container.currentBlockNumber === blockNumber ? ( - blockTr(container.currentBlock) - ) : ( - - )} - + {container.currentBlock && container.currentBlockNumber === blockNumber ? + + {blockTr(container.currentBlock)} + : + + } {/* @@ -188,9 +210,12 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { - - {container.blocks.map(blockTr)} - + {container.blocks ? + + {container.blocks.map(blockTr)} + : + + }
    Timestamp Transactions
    ); diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts index ff751932..2570bdf0 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -93,7 +93,7 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List if (!lightnode) { throw new Error(`No lightnode to fetch darknode locations.`); } - const firstBlock = previousBlocks.first(); + const firstBlock = previousBlocks.first(null); let previousHeight = null; if (firstBlock) { previousHeight = firstBlock.height; @@ -128,14 +128,14 @@ const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => // tslint:disable-next-line: whitespace const [network,] = useState(initialState); // tslint:disable-next-line: prefer-const - let [blocks, setBlocks] = useState(List()); + let [blocks, setBlocks] = useState | null>(null); // tslint:disable-next-line: prefer-const let [currentBlock, setCurrentBlock] = useState(null); // tslint:disable-next-line: prefer-const let [currentBlockNumber, setCurrentBlockNumber] = useState(null); const updateBlocks = async () => { - blocks = await getBlocks(network, blocks); + blocks = await getBlocks(network, blocks || List()); setBlocks(blocks); }; @@ -144,17 +144,19 @@ const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => if (!lightnode) { return; } - const first = blocks.first(null); - const last = blocks.last(null); - let newCurrentBlock; - // Check if we already have the block in the list of recent blocks. - if (first && last && first.height >= blockNumber && last.height <= blockNumber) { - for (const block of blocks.toArray()) { - if (block.height === blockNumber) { - newCurrentBlock = block; - break; + if (blocks) { + const first = blocks.first(null); + const last = blocks.last(null); + + // Check if we already have the block in the list of recent blocks. + if (first && last && first.height >= blockNumber && last.height <= blockNumber) { + for (const block of blocks.toArray()) { + if (block.height === blockNumber) { + newCurrentBlock = block; + break; + } } } } diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index 9e103efe..cea6db0f 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -1,9 +1,9 @@ import { mainnet, RenNetworkDetails } from "@renproject/contracts"; +import { alreadyPast } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import Web3 from "web3"; import { TransactionConfig } from "web3-core"; -import { alreadyPast } from "../general/conversion"; import { _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodeRegistry } from "./contract"; import { AllTokenDetails, OldToken, Token } from "./tokens"; diff --git a/src/lib/general/conversion.ts b/src/lib/general/conversion.ts deleted file mode 100644 index 75df1fe2..00000000 --- a/src/lib/general/conversion.ts +++ /dev/null @@ -1,48 +0,0 @@ -import moment from "moment"; - -export const alreadyPast = (expiry: number) => { - return moment.unix(expiry).isBefore(moment.now()); -}; - -/** - * Converts a timestamp to the number of hours, minutes or seconds from now, - * showing "Expired" if the timestamp has already passed. - * - * TODO: Make countdown schedule rerender (based on time unit) - * - * @param expiry the time to countdown to as a unix timestamp in seconds - * @returns a JSX span element with the time remaining and a unit - */ -export const naturalTime = (expiry: number, options: { message: string; prefix?: string; suffix?: string; countDown: boolean; showingSeconds?: boolean }): string => { - let diff; - if (!options.countDown) { - diff = moment.duration(moment().diff(moment.unix(expiry))); - } else { - diff = moment.duration(moment.unix(expiry).diff(moment())); - } - let days = diff.asDays(); - let hours = diff.asHours(); - let minutes = diff.asMinutes(); - let seconds = diff.asSeconds(); - - const suffix = options.suffix ? ` ${options.suffix}` : ""; - const prefix = options.prefix ? `${options.prefix} ` : ""; - - if (days > 2) { - days = Math.round(days); - return `${prefix}${days} ${days === 1 ? "day" : "days"}${suffix}`; - } - if (hours >= 1) { - // Round to the closest hour - hours = Math.round(hours); - return `${prefix}${hours} ${hours === 1 ? "hour" : "hours"}${suffix}`; - } else if (minutes >= 1) { - minutes = Math.round(minutes); - return `${prefix}${minutes} ${minutes === 1 ? "minute" : "minutes"}${suffix}`; - } else if (options.showingSeconds && seconds >= 0) { - seconds = Math.floor(seconds); - return `${prefix}${seconds} ${seconds === 1 ? "second" : "seconds"}${suffix}`; - } else { - return `${options.message}`; - } -}; diff --git a/src/lib/react/errors.ts b/src/lib/react/errors.ts index e26c6804..802e1032 100644 --- a/src/lib/react/errors.ts +++ b/src/lib/react/errors.ts @@ -3,8 +3,8 @@ import * as Sentry from "@sentry/browser"; import { RenNetwork } from "@renproject/contracts"; +import { naturalTime } from "@renproject/react-components"; -import { naturalTime } from "../general/conversion"; import { DEFAULT_REN_NETWORK, NODE_ENV } from "./environmentVariables"; interface Details { diff --git a/yarn.lock b/yarn.lock index 28ed97e2..a45c1322 100644 --- a/yarn.lock +++ b/yarn.lock @@ -881,7 +881,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== @@ -939,18 +939,6 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== -"@emotion/babel-utils@^0.6.4": - version "0.6.10" - resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.10.tgz#83dbf3dfa933fae9fc566e54fbb45f14674c6ccc" - integrity sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow== - dependencies: - "@emotion/hash" "^0.6.6" - "@emotion/memoize" "^0.6.6" - "@emotion/serialize" "^0.9.1" - convert-source-map "^1.5.1" - find-root "^1.1.0" - source-map "^0.7.2" - "@emotion/cache@^10.0.14": version "10.0.14" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.14.tgz#56093cff025c04b0330bdd92afe8335ed326dd18" @@ -961,26 +949,47 @@ "@emotion/utils" "0.11.2" "@emotion/weak-memoize" "0.2.3" +"@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": + version "10.0.15" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02" + integrity sha512-8VthgeKhlGeTXSW1JN7I14AnAaiFPbOrqNqg3dPoGCZ3bnMjkrmRU0zrx0BtBw9esBaPaQgDB9y0tVgAGT2Mrg== + dependencies: + "@emotion/sheet" "0.9.3" + "@emotion/stylis" "0.8.4" + "@emotion/utils" "0.11.2" + "@emotion/weak-memoize" "0.2.3" + +"@emotion/core@^10.0.9": + version "10.0.15" + resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.15.tgz#b8489d85d64b45bd03abdb8a3d9639ba8a0328d0" + integrity sha512-VHwwl3k/ddMfQOHYgOJryXOs2rGJ5AfKLQGm5AVolNonnr6tkmDI4nzIMNaPpveoXVs7sP0OrF24UunIPxveQw== + dependencies: + "@babel/runtime" "^7.4.3" + "@emotion/cache" "^10.0.15" + "@emotion/css" "^10.0.14" + "@emotion/serialize" "^0.11.9" + "@emotion/sheet" "0.9.3" + "@emotion/utils" "0.11.2" + +"@emotion/css@^10.0.14", "@emotion/css@^10.0.9": + version "10.0.14" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.14.tgz#95dacabdd0e22845d1a1b0b5968d9afa34011139" + integrity sha512-MozgPkBEWvorcdpqHZE5x1D/PLEHUitALQCQYt2wayf4UNhpgQs2tN0UwHYS4FMy5ROBH+0ALyCFVYJ/ywmwlg== + dependencies: + "@emotion/serialize" "^0.11.8" + "@emotion/utils" "0.11.2" + babel-plugin-emotion "^10.0.14" + "@emotion/hash@0.7.2": version "0.7.2" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.2.tgz#53211e564604beb9befa7a4400ebf8147473eeef" integrity sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q== -"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44" - integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ== - "@emotion/memoize@0.7.2": version "0.7.2" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30" integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w== -"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6": - version "0.6.6" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b" - integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ== - "@emotion/serialize@^0.11.8": version "0.11.8" resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.8.tgz#e41dcf7029e45286a3e0cf922933e670fe05402c" @@ -992,15 +1001,16 @@ "@emotion/utils" "0.11.2" csstype "^2.5.7" -"@emotion/serialize@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145" - integrity sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ== +"@emotion/serialize@^0.11.9": + version "0.11.9" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.9.tgz#123e0f51d2dee9693fae1057bd7fc27b021d6868" + integrity sha512-/Cn4V81z3ZyFiDQRw8nhGFaHkxHtmCSSBUit4vgTuLA1BqxfJUYiqSq97tq/vV8z9LfIoqs6a9v6QrUFWZpK7A== dependencies: - "@emotion/hash" "^0.6.6" - "@emotion/memoize" "^0.6.6" - "@emotion/unitless" "^0.6.7" - "@emotion/utils" "^0.8.2" + "@emotion/hash" "0.7.2" + "@emotion/memoize" "0.7.2" + "@emotion/unitless" "0.7.4" + "@emotion/utils" "0.11.2" + csstype "^2.5.7" "@emotion/sheet@0.9.3": version "0.9.3" @@ -1012,31 +1022,16 @@ resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.4.tgz#6c51afdf1dd0d73666ba09d2eb6c25c220d6fe4c" integrity sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ== -"@emotion/stylis@^0.7.0": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5" - integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ== - "@emotion/unitless@0.7.4": version "0.7.4" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.4.tgz#a87b4b04e5ae14a88d48ebef15015f6b7d1f5677" integrity sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ== -"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7": - version "0.6.7" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397" - integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg== - "@emotion/utils@0.11.2": version "0.11.2" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183" integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA== -"@emotion/utils@^0.8.2": - version "0.8.2" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc" - integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw== - "@emotion/weak-memoize@0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" @@ -1279,22 +1274,22 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.9.tgz#4b5ec09ee57946dab9a4a9fa9e8b163fc609c01a" - integrity sha512-PBHj5/HTWyYB0/SDtjZDP2Z0/WEIUXkOJRqRDcmOdncv6zdb2yQXy0VbItk2JoQaMiekLcqqbtrP48JEDDQ6zw== +"@renproject/contracts@^0.3.13": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.13.tgz#3bf288255c8efe7b4faaa2fa094e7dbe0f31b539" + integrity sha512-YZ6CM1DLymTm5tQ28RHgDiknYysQWHFL09nMuJF6oC9UesteFXDoFEy5NlVvGs4f8mjW2tVictTxZxnV7jSVtg== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#localnet" + darknode-sol "https://github.com/renproject/darknode-sol#be15db5d3720b8050a3a379c37260d87026e3626" "@renproject/fonts@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" integrity sha512-OWk811Ay63UdPxY5nEg4N99Goz6K9HLaeGfUN2q0uehhQ70hJDqDQq/vYl5rtE07mv7MYX7GYTpj5POlPbZNRg== -"@renproject/react-components@^1.0.26": - version "1.0.26" - resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.26.tgz#9545b3e9a43593ef37c750ebb548dcfe68fe2f41" - integrity sha512-SaHSHGFBqlyu18ocNrlz+SPEFv+sw1NHTsWuJfCeNyduFZIgojntOZ5FYyH1LMzD+828lxRNNBR940cgNW3ItQ== +"@renproject/react-components@1.0.28": + version "1.0.28" + resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.28.tgz#1a6a41d5ef68184744a2b7844d2004e4887b128b" + integrity sha512-omauV+0rBFKlW1y247quLNl+KjI4scELAAjDjkRvZ3fAQYJfGYBVmnpWTC/3+nJNuKlO9GdYndrLV3IzaJDxdg== dependencies: "@fortawesome/fontawesome-svg-core" "^1.2.18" "@fortawesome/free-brands-svg-icons" "^5.8.2" @@ -1306,7 +1301,7 @@ react-element-to-jsx-string "^14.0.2" react-router "^5.0.0" react-router-dom "^5.0.0" - react-select "^2.4.3" + react-select "^3.0.4" "@sentry/browser@^5.5.0": version "5.5.0" @@ -2666,24 +2661,6 @@ babel-plugin-emotion@^10.0.14: find-root "^1.1.0" source-map "^0.5.7" -babel-plugin-emotion@^9.2.11: - version "9.2.11" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz#319c005a9ee1d15bb447f59fe504c35fd5807728" - integrity sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@emotion/babel-utils" "^0.6.4" - "@emotion/hash" "^0.6.2" - "@emotion/memoize" "^0.6.1" - "@emotion/stylis" "^0.7.0" - babel-plugin-macros "^2.0.0" - babel-plugin-syntax-jsx "^6.18.0" - convert-source-map "^1.5.0" - find-root "^1.1.0" - mkdirp "^0.5.1" - source-map "^0.5.7" - touch "^2.0.1" - babel-plugin-istanbul@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" @@ -4287,19 +4264,6 @@ create-emotion@^10.0.14: "@emotion/sheet" "0.9.3" "@emotion/utils" "0.11.2" -create-emotion@^9.2.12: - version "9.2.12" - resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.12.tgz#0fc8e7f92c4f8bb924b0fef6781f66b1d07cb26f" - integrity sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA== - dependencies: - "@emotion/hash" "^0.6.2" - "@emotion/memoize" "^0.6.1" - "@emotion/stylis" "^0.7.0" - "@emotion/unitless" "^0.6.2" - csstype "^2.5.2" - stylis "^3.5.0" - stylis-rule-sheet "^0.0.10" - create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -4586,7 +4550,7 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: dependencies: cssom "0.3.x" -csstype@^2.2.0, csstype@^2.5.2, csstype@^2.5.7: +csstype@^2.2.0, csstype@^2.5.7: version "2.6.6" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== @@ -4644,6 +4608,12 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== +"darknode-sol@https://github.com/renproject/darknode-sol#be15db5d3720b8050a3a379c37260d87026e3626": + version "0.0.3" + resolved "https://github.com/renproject/darknode-sol#be15db5d3720b8050a3a379c37260d87026e3626" + dependencies: + openzeppelin-solidity "2.3.0" + "darknode-sol@https://github.com/renproject/darknode-sol#localnet": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#488a8b4367a2ce33fb0eae14c7bf90967d85e851" @@ -5188,14 +5158,6 @@ emotion@^10.0.9: babel-plugin-emotion "^10.0.14" create-emotion "^10.0.14" -emotion@^9.1.2: - version "9.2.12" - resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.12.tgz#53925aaa005614e65c6e43db8243c843574d1ea9" - integrity sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ== - dependencies: - babel-plugin-emotion "^9.2.11" - create-emotion "^9.2.12" - encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -9480,7 +9442,7 @@ nan@2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== -nan@^2.0.8, nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: +nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -9717,13 +9679,6 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -11748,13 +11703,16 @@ react-scripts@^3.0.1: optionalDependencies: fsevents "2.0.6" -react-select@^2.4.3: - version "2.4.4" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-2.4.4.tgz#ba72468ef1060c7d46fbb862b0748f96491f1f73" - integrity sha512-C4QPLgy9h42J/KkdrpVxNmkY6p4lb49fsrbDk/hRcZpX7JvZPNb6mGj+c5SzyEtBv1DmQ9oPH4NmhAFvCrg8Jw== +react-select@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.4.tgz#16bde37c24fd4f6444914d4681e78f15ffbc86d3" + integrity sha512-fbVISKa/lSUlLsltuatfUiKcWCNvdLXxFFyrzVQCBUsjxJZH/m7UMPdw/ywmRixAmwXAP++MdbNNZypOsiDEfA== dependencies: + "@babel/runtime" "^7.4.4" + "@emotion/cache" "^10.0.9" + "@emotion/core" "^10.0.9" + "@emotion/css" "^10.0.9" classnames "^2.2.5" - emotion "^9.1.2" memoize-one "^5.0.0" prop-types "^15.6.0" raf "^3.4.0" @@ -12496,15 +12454,6 @@ scrypt.js@^0.3.0: integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== dependencies: scryptsy "^1.2.1" - optionalDependencies: - scrypt "^6.0.2" - -scrypt@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/scrypt/-/scrypt-6.0.3.tgz#04e014a5682b53fa50c2d5cce167d719c06d870d" - integrity sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0= - dependencies: - nan "^2.0.8" scryptsy@2.1.0: version "2.1.0" @@ -12951,11 +12900,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - sparkles@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" @@ -13310,16 +13254,6 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylis-rule-sheet@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" - integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== - -stylis@^3.5.0: - version "3.5.4" - resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" - integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -13690,13 +13624,6 @@ topojson-client@2.1.0: dependencies: commander "2" -touch@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164" - integrity sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A== - dependencies: - nopt "~1.0.10" - tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" From ca51bd4171fb4e987d07efb0d95456e8f7cf7e39 Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 12 Aug 2019 16:43:21 +1000 Subject: [PATCH 049/117] Updated overview page stats --- src/components/App.tsx | 4 +- src/components/common/Connect.tsx | 2 +- src/components/common/Header.tsx | 53 +++++--- src/components/common/Stat.tsx | 17 +++ src/components/common/sidebar/Sidebar.tsx | 6 +- .../statuspage/block/FeesBlock.tsx | 2 +- src/components/hyperdrivePage/Hyperdrive.tsx | 68 +++++----- .../hyperdrivePage/hyperdriveContainer.ts | 2 +- src/components/overviewPage/Overview.tsx | 33 +++++ src/components/overviewPage/_overview.scss | 1 + .../overviewPage/darknodeMap/DarknodeMap.tsx | 124 +++++++++--------- .../darknodeMap/_darknodeMap.scss | 31 ++++- .../{darknodeMap => }/mapContainer.ts | 6 +- src/styles/images/Icon-Overview.svg | 5 + src/styles/images/icon-rewards.svg | 4 + src/styles/index.scss | 2 + src/styles/scss/__general.scss | 11 +- src/styles/scss/_block.scss | 5 + src/styles/scss/_darknodeList.scss | 4 +- src/styles/scss/_header.scss | 36 +++-- src/styles/scss/_sidebar.scss | 19 +-- src/styles/scss/_stat.scss | 73 +++++++++++ src/styles/scss/_statuspage.scss | 31 +++-- 23 files changed, 359 insertions(+), 180 deletions(-) create mode 100644 src/components/common/Stat.tsx create mode 100644 src/components/overviewPage/Overview.tsx create mode 100644 src/components/overviewPage/_overview.scss rename src/components/overviewPage/{darknodeMap => }/mapContainer.ts (95%) create mode 100644 src/styles/images/Icon-Overview.svg create mode 100644 src/styles/images/icon-rewards.svg create mode 100644 src/styles/scss/_stat.scss diff --git a/src/components/App.tsx b/src/components/App.tsx index 3d4a8a17..41aa9310 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -18,7 +18,7 @@ import { Sidebar } from "./common/sidebar/Sidebar"; import { Darknode, getDarknodeParam } from "./darknodePage/Darknode"; import { Hyperdrive } from "./hyperdrivePage/Hyperdrive"; import { LoggingIn } from "./LoggingIn"; -import { DarknodeMap } from "./overviewPage/darknodeMap/DarknodeMap"; +import { Overview } from "./overviewPage/Overview"; // Scroll restoration based on https://reacttraining.com/react-router/web/guides/scroll-restoration const ScrollToTop = withRouter( @@ -71,7 +71,7 @@ class AppClass extends React.Component { {/* tslint:disable-next-line: react-this-binding-issue jsx-no-lambda */} - + diff --git a/src/components/common/Connect.tsx b/src/components/common/Connect.tsx index 1c52a447..14de1017 100644 --- a/src/components/common/Connect.tsx +++ b/src/components/common/Connect.tsx @@ -4,7 +4,7 @@ import { connect } from "react-redux"; // Custom typings import { ApplicationState } from "../../store/applicationState"; import { HyperdriveContainer } from "../hyperdrivePage/hyperdriveContainer"; -import { MapContainer } from "../overviewPage/darknodeMap/mapContainer"; +import { MapContainer } from "../overviewPage/mapContainer"; class ConnectClass extends React.Component { public render = (): JSX.Element => { diff --git a/src/components/common/Header.tsx b/src/components/common/Header.tsx index 3cdc39e3..ff3cf9a3 100644 --- a/src/components/common/Header.tsx +++ b/src/components/common/Header.tsx @@ -13,13 +13,15 @@ import { ApplicationState } from "../../store/applicationState"; import { storeQuoteCurrency } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; import { showMobileMenu } from "../../store/ui/uiActions"; -import { ReactComponent as English } from "../../styles/images/rp-flag-uk.svg"; +import { ReactComponent as HyperdriveIcon } from "../../styles/images/Icon-HyperDrive.svg"; +import { ReactComponent as OverviewIcon } from "../../styles/images/Icon-Overview.svg"; +// import { ReactComponent as English } from "../../styles/images/rp-flag-uk.svg"; import { AccountDropdown } from "./AccountDropdown"; -const languageOptions = new Map() - .set("EN", - <> English - ); +// const languageOptions = new Map() +// .set("EN", +// <> English +// ); const networkOptions = new Map() .set(RenNetwork.Mainnet, <>Mainnet) @@ -48,17 +50,18 @@ const currencyOptions = getCurrencyOptions(); */ class HeaderClass extends React.Component { public render = (): JSX.Element => { + const { location } = this.props; const { address, quoteCurrency, renNetwork } = this.props.store; - const languageDropdownNode = ; + // const languageDropdownNode = ; const networkDropdownNode = {
    - {languageDropdownNode} + +
  • +
    +
    Overview
    +
    +
  • + + +
  • +
    +
    Hyperdrive
    +
    +
  • + + {/* {languageDropdownNode} */} {currencyDropdownNode} {networkDropdownNode} @@ -118,9 +135,9 @@ class HeaderClass extends React.Component { }, 100); } - private readonly setLanguage = (language: string): void => { - // NOT IMPLEMENTED - } + // private readonly setLanguage = (language: string): void => { + // // NOT IMPLEMENTED + // } } const mapStateToProps = (state: ApplicationState) => ({ diff --git a/src/components/common/Stat.tsx b/src/components/common/Stat.tsx new file mode 100644 index 00000000..8e1154fc --- /dev/null +++ b/src/components/common/Stat.tsx @@ -0,0 +1,17 @@ +import React from "react"; + +interface StatProps extends React.DetailedHTMLProps, HTMLDivElement> { + message: React.ReactNode; + highlight?: boolean; +} + +export const Stat = ({ message, highlight, children, className, ...props }: StatProps) => +
    +
    +

    {message}

    +
    {children}
    +
    ; + +interface StatsProps extends React.DetailedHTMLProps, HTMLDivElement> { } + +export const Stats = ({ children }: StatsProps) =>
    {children}
    ; diff --git a/src/components/common/sidebar/Sidebar.tsx b/src/components/common/sidebar/Sidebar.tsx index 65b66e59..35b51d1a 100644 --- a/src/components/common/sidebar/Sidebar.tsx +++ b/src/components/common/sidebar/Sidebar.tsx @@ -52,7 +52,7 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter(
    Close
    - +
  • @@ -61,8 +61,8 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter(
  • - -
  • + +
  • diff --git a/src/components/darknodePage/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx index 982e616c..129cc7f1 100644 --- a/src/components/darknodePage/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -221,7 +221,7 @@ class FeesBlockClass extends React.Component { : <> } -
    +
    { diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index 097de06f..fcc7efc5 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -4,6 +4,7 @@ import { withRouter } from "react-router"; import { CSSTransitionGroup } from "react-transition-group"; import { Token } from "../../lib/ethereum/tokens"; +import { Stat, Stats } from "../common/Stat"; import { TokenBalance } from "../common/TokenBalance"; import { Block, HyperdriveContainer, Tx } from "./hyperdriveContainer"; @@ -73,19 +74,18 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { clearInterval(interval); } interval = setInterval(syncBlocks, 10 * 1000); - if (!container.blocks || container.blocks.size === 0) { - syncBlocks(); - } + // if (!container.blocks || container.blocks.size === 0) { + syncBlocks(); + // } initialized = true; setInitialized(initialized); - // return () => { - // console.log(`No more syncing!`); - // clearInterval(interval); - // }; + return () => { + clearInterval(interval); + }; // tslint:disable-next-line:react-hooks/exhaustive-dep - }, [initialized, blockNumber]); + }, []); const blockTr = (block: Block) => { const trOnClick = () => { @@ -112,12 +112,6 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { ); }; - const stat = (title: string, content: React.ReactNode) =>
    -
    -

    {title}

    - {content} -
    ; - const firstBlock = container.blocks ? container.blocks.first(null) : null; if (firstBlock && getTimeMagnitude(firstBlock.timestamp, true)) { @@ -131,10 +125,10 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { className="hyperdrive container" key={blockNumber === null ? undefined : blockNumber} > -
    - {stat("Number of shards", 1)} - {stat("Block height", firstBlock ? firstBlock.height : 0)} - {stat("Locked BTC", <> + + 1 + {firstBlock ? firstBlock.height : 0} + { digits={4} />{" "} BTC - )} - {stat("Locked ZEC", <> + + { digits={4} />{" "} ZEC - )} -
    + + {blockNumber ? ( <>
    @@ -202,21 +196,21 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { ) : ( <> )} -
    -

    Latest Blocks

    -
    - - - - - - {container.blocks ? - - {container.blocks.map(blockTr)} - : - - } -
    Block NumberTimestampTransactions
    + + + + + + + + {container.blocks ? + + {container.blocks.map(blockTr)} + : + + } +
    Block NumberTimestampTransactions
    +
    ); }); diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts index 2570bdf0..bef8bb06 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -6,7 +6,7 @@ import { List } from "immutable"; import { useState } from "react"; import { createContainer } from "unstated-next"; -import { getLightnode } from "../overviewPage/darknodeMap/mapContainer"; +import { getLightnode } from "../overviewPage/mapContainer"; type Addr = string; type B = string; diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx new file mode 100644 index 00000000..bfd01327 --- /dev/null +++ b/src/components/overviewPage/Overview.tsx @@ -0,0 +1,33 @@ +import { Loading } from "@renproject/react-components"; +import React from "react"; + +import { Stat, Stats } from "../common/Stat"; +import { DarknodeMap } from "./darknodeMap/DarknodeMap"; +import { MapContainer } from "./mapContainer"; + +export const Overview = () => { + const container = MapContainer.useContainer(); + + return ( +
    + + + + {container.darknodeCount === null ? : container.darknodeCount} + ? + ?% + + + + + $? + $? + $? + + + + + +
    + ); +}; diff --git a/src/components/overviewPage/_overview.scss b/src/components/overviewPage/_overview.scss new file mode 100644 index 00000000..643f7498 --- /dev/null +++ b/src/components/overviewPage/_overview.scss @@ -0,0 +1 @@ +.overview {} \ No newline at end of file diff --git a/src/components/overviewPage/darknodeMap/DarknodeMap.tsx b/src/components/overviewPage/darknodeMap/DarknodeMap.tsx index c7d1fbb8..349b4963 100644 --- a/src/components/overviewPage/darknodeMap/DarknodeMap.tsx +++ b/src/components/overviewPage/darknodeMap/DarknodeMap.tsx @@ -4,7 +4,7 @@ import { ComposableMap, Geographies, Geography, Marker, Markers, ZoomableGroup, } from "react-simple-maps"; -import { MapContainer } from "./mapContainer"; +import { MapContainer } from "../mapContainer"; import MapJSON from "./world-50m.json"; export const DarknodeMap = () => { @@ -27,68 +27,62 @@ export const DarknodeMap = () => { // tslint:disable-next-line:react-hooks/exhaustive-dep }, []); - return ( -
    -
    -

    DARKNODES ONLINE

    -
    - - - - {(geographies, projection) => - geographies.map((geography, i) => - // Don't render Antarctica - (geography as { id: string }).id !== "ATA" && ( - - ))} - - - {container.darknodes.map((darknode, i) => - - - - )} - - - -
    -
    - ); + return
    + + + + {(geographies, projection) => + geographies.map((geography, i) => + // Don't render Antarctica + (geography as { id: string }).id !== "ATA" && ( + + ))} + + + {container.darknodes.map((darknode, i) => + + + + )} + + + +
    ; }; diff --git a/src/components/overviewPage/darknodeMap/_darknodeMap.scss b/src/components/overviewPage/darknodeMap/_darknodeMap.scss index 79c5bdca..3a773261 100644 --- a/src/components/overviewPage/darknodeMap/_darknodeMap.scss +++ b/src/components/overviewPage/darknodeMap/_darknodeMap.scss @@ -1,19 +1,18 @@ .map { - // display: flex; - - .map--world--outer { - display: flex; - } + display: flex; .map--world { width: 100%; - max-width: 980px; + max-width: 800px; margin: 0 auto; } circle { fill: #87C0FF; - filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); + } + + .rsm-markers { + animation: glow 5s infinite; } h2 { @@ -29,3 +28,21 @@ color: #FFFFFF; } } + +@keyframes glow { + 0% { + filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); + } + + 10% { + filter: drop-shadow(0px 0px 7px rgba(135, 192, 255, 1.0)); + } + + 20% { + filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); + } + + 100% { + filter: drop-shadow(0px 0px 5px rgba(135, 192, 255, 0.9)); + } +} \ No newline at end of file diff --git a/src/components/overviewPage/darknodeMap/mapContainer.ts b/src/components/overviewPage/mapContainer.ts similarity index 95% rename from src/components/overviewPage/darknodeMap/mapContainer.ts rename to src/components/overviewPage/mapContainer.ts index 44d2f50e..1cb6c166 100644 --- a/src/components/overviewPage/darknodeMap/mapContainer.ts +++ b/src/components/overviewPage/mapContainer.ts @@ -130,6 +130,8 @@ const readCache = async (ip: string) => { const useMapContainer = (initialState = testnet as RenNetworkDetails) => { // tslint:disable-next-line: prefer-const let [darknodes, setDarknodes] = useState(sampleDarknodes); + // tslint:disable-next-line: prefer-const + let [darknodeCount, setDarknodeCount] = useState(null); // tslint:disable-next-line: whitespace const [network,] = useState(initialState); const getLocation = async (ip: string): Promise => { @@ -162,13 +164,15 @@ const useMapContainer = (initialState = testnet as RenNetworkDetails) => { const fetchDarknodes = async () => { try { const darknodeIDs = await getAllDarknodes(network); + darknodeCount = darknodeIDs.length; + setDarknodeCount(darknodeCount); const updateDarknodes = darknodeIDs.map((darknodeID: string) => (() => addDarknodeID(darknodeID))); await parallelLimit(updateDarknodes, 4); } catch (error) { console.error(error); } }; - return { fetchDarknodes, darknodes }; + return { fetchDarknodes, darknodes, darknodeCount }; }; export const MapContainer = createContainer(useMapContainer); diff --git a/src/styles/images/Icon-Overview.svg b/src/styles/images/Icon-Overview.svg new file mode 100644 index 00000000..8090804d --- /dev/null +++ b/src/styles/images/Icon-Overview.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/styles/images/icon-rewards.svg b/src/styles/images/icon-rewards.svg new file mode 100644 index 00000000..9cafefbe --- /dev/null +++ b/src/styles/images/icon-rewards.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/styles/index.scss b/src/styles/index.scss index a44c8514..f823a6ba 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -20,12 +20,14 @@ @import 'scss/popup'; @import 'scss/section'; @import 'scss/sidebar'; +@import 'scss/stat'; @import 'scss/statuspage'; @import 'scss/view'; // Styles in src/components @import '../components/overviewPage/darknodeMap/darknodeMap'; @import '../components/hyperdrivePage/hyperdrive'; +@import '../components/overviewPage/overview'; // Styles for html, body, anchors etc. should go in _general @import 'scss/_general'; \ No newline at end of file diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index 63ac48a9..f4f35c9a 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -18,7 +18,6 @@ html { overflow: hidden; } - min-width: 100vw; min-height: 100vh; background: linear-gradient(180deg, #00162f 0%, #001b39 100%); } @@ -316,13 +315,13 @@ label { } .mobile-only { - @media (min-width: $min-md) { + @media (min-width: $min-lg) { display: none !important; } } .no-mobile { - @media (max-width: $max-sm) { + @media (max-width: $max-md) { display: none !important; } } @@ -337,10 +336,4 @@ label { @media (min-width: $min-xl) { display: none !important; } -} - -hr { - color: #1A2E46; - margin-bottom: 10px; - border-width: 1px; } \ No newline at end of file diff --git a/src/styles/scss/_block.scss b/src/styles/scss/_block.scss index 88237a0e..108419da 100644 --- a/src/styles/scss/_block.scss +++ b/src/styles/scss/_block.scss @@ -12,6 +12,9 @@ display: flex; flex-direction: column; + // box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.1); + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5); + &.basic { cursor: pointer; } @@ -113,6 +116,8 @@ } .block--advanced--bottom { + @extend .scrollable; + @extend .no-scrollbar; margin-top: 20px; width: 100%; } diff --git a/src/styles/scss/_darknodeList.scss b/src/styles/scss/_darknodeList.scss index aaae7c54..0473187b 100644 --- a/src/styles/scss/_darknodeList.scss +++ b/src/styles/scss/_darknodeList.scss @@ -24,7 +24,8 @@ $darknode-card-margin: 10px; width: $card-height; background-color: $blue-dark; - box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.1); + // box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.1); + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5); border-radius: 4px; text-align: center; @@ -195,6 +196,7 @@ $darknode-card-margin: 10px; justify-content: center; align-items: center; flex-direction: column; + >p { margin-top: 20px; opacity: 0.5; diff --git a/src/styles/scss/_header.scss b/src/styles/scss/_header.scss index 82046573..ebadc853 100644 --- a/src/styles/scss/_header.scss +++ b/src/styles/scss/_header.scss @@ -8,7 +8,7 @@ justify-content: space-between; padding-left: 80px !important; - @media (max-width: $max-sm) { + @media (max-width: $max-md) { padding-left: 0 !important; } @@ -16,13 +16,12 @@ height: 48px !important; } -.header .container > a { +.header .container>a { align-self: center; text-decoration: none; } .header--logo { - border-right: 1px solid #1a2e46 !important; border-radius: 0 !important; background: url("images/logo.svg") center; background-size: 30px 30px; @@ -30,6 +29,10 @@ height: 48px !important; width: 48px; padding: 9px 40px !important; + + @media (min-width: $min-lg) { + border-right: 1px solid #1a2e46 !important; + } } .header--menu { @@ -38,9 +41,9 @@ margin: 20px 0 0; padding: 0; justify-content: flex-end; - width: 200px; + width: 0 !important; - @media (min-width: $min-md) { + @media (min-width: $min-lg) { width: 500px; } @@ -51,11 +54,11 @@ @media (min-width: $min-sm) {} } -.header--menu > li a { +.header--menu>li a { color: white; } -.header--menu > li { +.header--menu>li { display: flex; position: relative; text-align: center; @@ -185,7 +188,7 @@ border-left: 1px solid #1a2e46 !important; border-right: 1px solid #1a2e46 !important; - svg { + :last-child { opacity: 1 !important; path { @@ -196,9 +199,14 @@ } } +.header--selected--icon { + margin-right: 8px; +} + .header--mobile-menu--button { @extend .mobile-only; + width: 0px; height: 100%; display: flex; align-items: center; @@ -223,7 +231,7 @@ width: 200px; } -.header--group > div { +.header--group>div { height: 48px !important; border-radius: 0 !important; margin: 0 !important; @@ -234,6 +242,10 @@ @extend .no-mobile; } +.header--group--active { + border-bottom: 3px solid $blue-bright !important; +} + .transaction { margin-top: 10px; margin-bottom: 10px; @@ -248,7 +260,7 @@ margin-right: 10px; } - > .lds-dual-ring::after { + >.lds-dual-ring::after { border-width: 1px; } @@ -257,7 +269,7 @@ } } -.transaction + .transaction { +.transaction+.transaction { margin-top: 0; } @@ -303,4 +315,4 @@ top: 15px; height: calc(100vh - 15px); } -} +} \ No newline at end of file diff --git a/src/styles/scss/_sidebar.scss b/src/styles/scss/_sidebar.scss index ea3f8107..030741f2 100644 --- a/src/styles/scss/_sidebar.scss +++ b/src/styles/scss/_sidebar.scss @@ -48,14 +48,17 @@ $mobile-full-width: 100vw; font-size: 20px; } +$max-sidebar: $max-md; +$min-header: $min-lg; + .sidebar.sidebar--mobile--active { - @media(max-width: $max-sm) { + @media(max-width: $max-sidebar) { width: $mobile-full-width; } } .sidebar:hover { - @media(min-width: $min-md) { + @media(min-width: $min-header) { width: $full-width; overflow-x: visible; } @@ -83,7 +86,7 @@ $mobile-full-width: 100vw; position: fixed; background-color: $blue-darker; border-right: 2px solid transparentize(#58585B, 1 - 0.2); - padding: 30px 0; + padding: 0; top: 0; bottom: 0; left: 0; @@ -93,11 +96,11 @@ $mobile-full-width: 100vw; height: 100vh; width: $collapsed-width; - @media(max-width: $max-sm) { + @media(max-width: $max-sidebar) { width: 0px; } - @media(max-width: $max-sm) { + @media(max-width: $max-sidebar) { // This sets the faTimes symbol to be aligned with the faBars symbol padding-top: 17px; } @@ -116,14 +119,14 @@ $mobile-full-width: 100vw; } .sidebar>ul { - margin: 7px 0; + margin: 0; } .sidebar li { position: relative; width: $full-width - 2px; - @media(max-width: $max-sm) { + @media(max-width: $max-sidebar) { // $mobile-full-width width: calc(100vw - 2px); } @@ -148,7 +151,7 @@ $mobile-full-width: 100vw; .sidebar .sidebar--text { width: $full-width - $collapsed-width; - @media(max-width: $max-sm) { + @media(max-width: $max-sidebar) { // $mobile-full-width - $collapsed-width width: calc(100vw - 80px); } diff --git a/src/styles/scss/_stat.scss b/src/styles/scss/_stat.scss new file mode 100644 index 00000000..1c9cc4b2 --- /dev/null +++ b/src/styles/scss/_stat.scss @@ -0,0 +1,73 @@ +.statistic--row { + display: flex; + margin-bottom: 30px; + flex-wrap: wrap; + margin-bottom: 50px; + + .statistic--row { + margin-bottom: 20px; + } +} + +.stat { + + hr { + color: #1A2E46; + margin-bottom: 10px; + border-width: 1px; + } + + flex-grow: 1; + min-width: 200px; + margin-bottom: 10px; + + &:not(:last-child) { + margin-right: 20px; + } +} + +.stat .stat { + hr { + border: none; + } + + .stat--title { + font-size: 12px; + line-height: 14px; + letter-spacing: 1.5px; + color: #F9F9F9; + } +} + +.stat--title { + font-size: 14px; + line-height: 16px; + + /* identical to box height */ + letter-spacing: 1.75px; + text-transform: uppercase; + + max-width: 200px; + + color: #FFFFFF; +} + +.stat--highlight { + background: #043D7D; + box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.5); + border-radius: 6px; + padding-left: 20px; + margin-left: -20px; + padding-bottom: 10px; + margin-bottom: -10px; +} + +.stat--children { + font-size: 32px; + line-height: 37px; + color: #F9F9F9; + + .loading { + float: left; + } +} \ No newline at end of file diff --git a/src/styles/scss/_statuspage.scss b/src/styles/scss/_statuspage.scss index 729c583f..2795e65a 100644 --- a/src/styles/scss/_statuspage.scss +++ b/src/styles/scss/_statuspage.scss @@ -312,6 +312,8 @@ flex-flow: column; justify-content: space-between; + box-shadow: none; + overflow: visible; background: none !important; padding: 0 !important; @@ -442,22 +444,23 @@ .blocky--loading { >div { - @extend .lds-dual-ring; - &:after { - content:" "; - position: relative; - top: 0; - left: 0; - border-color: #002247 #001B3A #002247 #001B3A; - border-width: 10px; - animation: lds-dual-ring 2s linear infinite; - width: 80px; - height: 80px; - margin-top : -105px; - line-height: 0; + @extend .lds-dual-ring; + + &:after { + content: " "; + position: relative; + top: 0; + left: 0; + border-color: #002247 #001B3A #002247 #001B3A; + border-width: 10px; + animation: lds-dual-ring 2s linear infinite; + width: 80px; + height: 80px; + margin-top: -105px; + line-height: 0; + } } } -} .darknode-id { max-width: 300px; From df06a85e1a813a4cb1488f0d736495a9c74fe75b Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 13 Aug 2019 10:52:38 +1000 Subject: [PATCH 050/117] Fixed stylings inside Stat --- src/components/App.tsx | 20 +------ .../darknodeList/DarknodeList.tsx | 2 +- src/components/common/AccountDropdown.tsx | 2 +- src/components/common/Stat.tsx | 5 +- .../common/popups/MultiStepPopup.tsx | 4 +- .../darknodePage/statuspage/FeesItem.tsx | 2 +- .../darknodePage/statuspage/OldFees.tsx | 2 +- .../darknodePage/statuspage/Registration.tsx | 6 +- .../darknodePage/statuspage/StatusPage.tsx | 2 +- .../statuspage/block/FeesBlock.tsx | 6 +- .../statuspage/block/GasGraph.tsx | 2 +- src/components/hyperdrivePage/Hyperdrive.tsx | 58 +++++++++---------- .../hyperdrivePage/_hyperdrive.scss | 24 +++++--- src/components/overviewPage/Overview.tsx | 12 ++-- src/store/account/accountActions.tsx | 2 +- src/store/account/operatorPopupActions.tsx | 4 +- src/styles/scss/_stat.scss | 3 +- 17 files changed, 73 insertions(+), 83 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index 41aa9310..db2f03c0 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1,5 +1,6 @@ import * as React from "react"; +import { ScrollToTop } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; @@ -20,22 +21,7 @@ import { Hyperdrive } from "./hyperdrivePage/Hyperdrive"; import { LoggingIn } from "./LoggingIn"; import { Overview } from "./overviewPage/Overview"; -// Scroll restoration based on https://reacttraining.com/react-router/web/guides/scroll-restoration -const ScrollToTop = withRouter( - // tslint:disable-next-line:no-any - class ScrollToTopWithoutRouter extends React.Component> { - // tslint:disable-next-line:no-any - public componentDidUpdate(prevProps: Readonly>): void { - if (this.props.location !== prevProps.location) { - window.scrollTo(0, 0); - } - } - - public render(): JSX.Element | null { - return null; - } - } -); +const ScrollToTopWithRouter = withRouter(ScrollToTop); /** * App is the main visual component responsible for displaying different routes @@ -53,7 +39,7 @@ class AppClass extends React.Component { return
    - + {/* * We set the key to be the address so that any sub-component state is reset after changing accounts * (e.g. if in diff --git a/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx b/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx index a11e30bf..f0bc0dd9 100644 --- a/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx +++ b/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx @@ -26,7 +26,7 @@ export const DarknodeList: React.StatelessComponent = ({ }) => { return
    {darknodeList === null ?
    - +

    Syncing Darknode Registry {registrySync.target !== 0 ? <>({registrySync.progress}/{registrySync.target}) : <>}

    : <> {darknodeList && darknodeList.map((darknodeID: string) => { diff --git a/src/components/common/AccountDropdown.tsx b/src/components/common/AccountDropdown.tsx index 8dac1410..88d1efb4 100644 --- a/src/components/common/AccountDropdown.tsx +++ b/src/components/common/AccountDropdown.tsx @@ -73,7 +73,7 @@ class AccountDropdownClass extends React.Component { "header--account--disconnected"}`} >
    - {web3BrowserName} {pendingTXs ? : <>} + {web3BrowserName} {pendingTXs ? : <>}
    {address ?
    diff --git a/src/components/common/Stat.tsx b/src/components/common/Stat.tsx index 8e1154fc..f02697e1 100644 --- a/src/components/common/Stat.tsx +++ b/src/components/common/Stat.tsx @@ -2,14 +2,15 @@ import React from "react"; interface StatProps extends React.DetailedHTMLProps, HTMLDivElement> { message: React.ReactNode; + big?: boolean; highlight?: boolean; } -export const Stat = ({ message, highlight, children, className, ...props }: StatProps) => +export const Stat = ({ message, big, highlight, children, className, ...props }: StatProps) =>

    {message}

    -
    {children}
    +
    {children}
    ; interface StatsProps extends React.DetailedHTMLProps, HTMLDivElement> { } diff --git a/src/components/common/popups/MultiStepPopup.tsx b/src/components/common/popups/MultiStepPopup.tsx index 11ed2cf7..2ad57b61 100644 --- a/src/components/common/popups/MultiStepPopup.tsx +++ b/src/components/common/popups/MultiStepPopup.tsx @@ -103,7 +103,7 @@ class MultiStepPopupClass extends React.Component { id="slideThree" name="check" checked={checked} - readOnly={true} + readOnly /> Step {index + 1}: {step.name} @@ -123,7 +123,7 @@ class MultiStepPopupClass extends React.Component {
    {running ? // Show spinning icon while running through steps - : + : complete ? // Get user to click Close instead of automatically closing popup <> diff --git a/src/components/darknodePage/statuspage/FeesItem.tsx b/src/components/darknodePage/statuspage/FeesItem.tsx index ceed574f..5d446da4 100644 --- a/src/components/darknodePage/statuspage/FeesItem.tsx +++ b/src/components/darknodePage/statuspage/FeesItem.tsx @@ -43,7 +43,7 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: disabled={isDisabled} onClick={isDisabled ? undefined : handleWithdraw} > - {loading ? : } + {loading ? : } ); }; diff --git a/src/components/darknodePage/statuspage/OldFees.tsx b/src/components/darknodePage/statuspage/OldFees.tsx index f1ba6db4..d7d9e16a 100644 --- a/src/components/darknodePage/statuspage/OldFees.tsx +++ b/src/components/darknodePage/statuspage/OldFees.tsx @@ -61,11 +61,11 @@ export const OldFees = connect(mapStateToProps, mapDispatchToProps)( {isOperator ? : <>} ); diff --git a/src/components/darknodePage/statuspage/Registration.tsx b/src/components/darknodePage/statuspage/Registration.tsx index 3221f8ad..7d861109 100644 --- a/src/components/darknodePage/statuspage/Registration.tsx +++ b/src/components/darknodePage/statuspage/Registration.tsx @@ -73,13 +73,13 @@ class RegistrationClass extends React.Component { {isOperator ? <> {registrationStatus === RegistrationStatus.Unregistered ? : null } {registrationStatus === RegistrationStatus.Registered ? : null } @@ -89,7 +89,7 @@ class RegistrationClass extends React.Component { className="status--button status--button--focus" onClick={this.handleRefund} > - {active ? <>Refunding : "Refund"} + {active ? <>Refunding : "Refund"} : null } diff --git a/src/components/darknodePage/statuspage/StatusPage.tsx b/src/components/darknodePage/statuspage/StatusPage.tsx index 73599b6f..78a4574d 100644 --- a/src/components/darknodePage/statuspage/StatusPage.tsx +++ b/src/components/darknodePage/statuspage/StatusPage.tsx @@ -91,7 +91,7 @@ class StatusPageClass extends React.Component { {action === DarknodeAction.Register ? { {quoteCurrency.toUpperCase()}
    {isOperator && darknodeDetails.registrationStatus === RegistrationStatus.Registered ? - cycleTimeout.isZero() || claiming || disableClaim ? : (showPreviousPending || showWhitelist) ? : - ; })}
    diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index fcc7efc5..27f1fd61 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -55,12 +55,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { const forceUpdate = useForceUpdate(); - // tslint:disable-next-line: prefer-const - let [initialized, setInitialized] = useState(false); React.useEffect(() => { - if (initialized) { - return; - } const syncBlocks = () => { container.updateBlocks().catch(console.error); }; @@ -78,9 +73,6 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { syncBlocks(); // } - initialized = true; - setInitialized(initialized); - return () => { clearInterval(interval); }; @@ -126,9 +118,9 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { key={blockNumber === null ? undefined : blockNumber} > - 1 - {firstBlock ? firstBlock.height : 0} - + 1 + {firstBlock ? firstBlock.height : 0} + { />{" "} BTC - + { {blockNumber ? ( - <> -
    -

    Block {blockNumber}

    - + +
    - - - + + + + + {container.currentBlock && container.currentBlockNumber === blockNumber ? - + {blockTr(container.currentBlock)} : }
    Block NumberTimestampTransactions
    Block NumberTimestampTransactions
    - {/* + {/*
    - - - - + + + + + + {container.currentBlock ? ( @@ -192,19 +186,21 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => {
    HashToArgsOut
    HashToArgsOut
    */}

    - + ) : ( <> )} - +
    - - - + + + + + {container.blocks ? - + {container.blocks.map(blockTr)} : diff --git a/src/components/hyperdrivePage/_hyperdrive.scss b/src/components/hyperdrivePage/_hyperdrive.scss index b8678547..6b92893a 100644 --- a/src/components/hyperdrivePage/_hyperdrive.scss +++ b/src/components/hyperdrivePage/_hyperdrive.scss @@ -54,15 +54,21 @@ table { font-size: 13px; - thead>th { - text-transform: uppercase; - font-weight: bold; - font-size: 13px; - line-height: 15px; - color: #f9f9f9; - width: auto; - - min-width: 200px; + thead { + tr { + border: none; + } + + th { + text-transform: uppercase; + font-weight: bold; + font-size: 13px; + line-height: 15px; + color: #f9f9f9; + width: auto; + + min-width: 200px; + } } .hyperdrive--table--txs { diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx index bfd01327..d1714494 100644 --- a/src/components/overviewPage/Overview.tsx +++ b/src/components/overviewPage/Overview.tsx @@ -13,16 +13,16 @@ export const Overview = () => { - {container.darknodeCount === null ? : container.darknodeCount} - ? - ?% + {container.darknodeCount === null ? : container.darknodeCount} + ? + ?% - $? - $? - $? + $? + $? + $? diff --git a/src/store/account/accountActions.tsx b/src/store/account/accountActions.tsx index 9a7d28e7..8b4fcd7f 100644 --- a/src/store/account/accountActions.tsx +++ b/src/store/account/accountActions.tsx @@ -52,7 +52,7 @@ export const promptLogin = ( if (options.showPopup && options.immediatePopup) { dispatch(setPopup( { - popup: , + popup: , onCancel, overlay: true, }, diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index f7e58b50..c07f155a 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -71,8 +71,8 @@ Are you sure you want to continue?`; steps={steps} onCancel={onCancel} title={title} - confirm={true} warning={warning} + confirm />, onCancel, dismissible: false, @@ -124,9 +124,9 @@ export const showDeregisterPopup = ( steps={steps} onCancel={onCancel} title={title} - confirm={true} ignoreWarning={ignoreWarning} warning={warning} + confirm />, onCancel, dismissible: false, diff --git a/src/styles/scss/_stat.scss b/src/styles/scss/_stat.scss index 1c9cc4b2..c10228e6 100644 --- a/src/styles/scss/_stat.scss +++ b/src/styles/scss/_stat.scss @@ -35,6 +35,7 @@ font-size: 12px; line-height: 14px; letter-spacing: 1.5px; + height: 28px; color: #F9F9F9; } } @@ -62,7 +63,7 @@ margin-bottom: -10px; } -.stat--children { +.stat--children--big { font-size: 32px; line-height: 37px; color: #F9F9F9; From 2c73225e8915639de228b7c10a7c32600732f687 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 13 Aug 2019 11:58:13 +1000 Subject: [PATCH 051/117] Updated dependencies --- .gitignore | 31 +- package.json | 36 +- src/styles/scss/_header.scss | 2 +- yarn.lock | 2570 +++++++++++++++++----------------- 4 files changed, 1299 insertions(+), 1340 deletions(-) diff --git a/.gitignore b/.gitignore index 6f436e3d..fe475221 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1,20 @@ -# See https://help.github.com/ignore-files/ for more about ignoring files. - -# dependencies +# Node / NPM / Yarn node_modules - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - npm-debug.log* yarn-debug.log* yarn-error.log* +# Build / test artifacts +coverage +build +dist +coverageEnv +coverage.json +.coveralls.yml + +# Configuration files +*.env .env* + +# OS files +.DS_Store diff --git a/package.json b/package.json index d6cb72d8..07982123 100644 --- a/package.json +++ b/package.json @@ -3,21 +3,21 @@ "version": "0.1.0", "private": true, "dependencies": { - "@fortawesome/fontawesome-svg-core": "^1.2.19", - "@fortawesome/free-brands-svg-icons": "^5.9.0", - "@fortawesome/free-regular-svg-icons": "^5.9.0", - "@fortawesome/free-solid-svg-icons": "^5.9.0", + "@fortawesome/fontawesome-svg-core": "^1.2.21", + "@fortawesome/free-brands-svg-icons": "^5.10.1", + "@fortawesome/free-regular-svg-icons": "^5.10.1", + "@fortawesome/free-solid-svg-icons": "^5.10.1", "@fortawesome/react-fontawesome": "^0.1.4", "@renproject/contracts": "^0.3.13", "@renproject/fonts": "^1.0.1", - "@renproject/react-components": "1.0.28", - "@sentry/browser": "^5.5.0", - "@sentry/core": "^5.5.0", + "@renproject/react-components": "1.0.29", + "@sentry/browser": "^5.6.1", + "@sentry/core": "^5.6.1", "@types/bs58": "^4.0.0", - "@types/jest": "^24.0.15", - "@types/node": "^12.6.8", + "@types/jest": "^24.0.17", + "@types/node": "^12.7.1", "@types/query-string": "^6.3.0", - "@types/react": "^16.8.23", + "@types/react": "^16.9.1", "@types/react-dom": "^16.8.5", "@types/react-redux": "^7.1.1", "@types/react-router-dom": "^4.3.4", @@ -33,13 +33,13 @@ "localforage": "^1.7.3", "moment": "^2.24.0", "node-sass": "^4.12.0", - "query-string": "^6.8.1", - "react": "^16.8.6", + "query-string": "^6.8.2", + "react": "^16.9.0", "react-chartjs-2": "^2.7.6", - "react-dom": "^16.8.6", + "react-dom": "^16.9.0", "react-redux": "^7.1.0", "react-router-dom": "^5.0.1", - "react-scripts": "^3.0.1", + "react-scripts": "^3.1.0", "react-simple-maps": "^0.12.1", "react-transition-group": "1.2", "redux": "^4.0.4", @@ -57,12 +57,12 @@ "web3-utils": "^2.0.0-alpha" }, "devDependencies": { - "@types/chai": "^4.1.7", + "@types/chai": "^4.2.0", "any-promise": "^1.3.0", "chai": "^4.2.0", - "darknode-sol": "https://github.com/renproject/darknode-sol#localnet", - "npm-check-updates": "^3.1.20", - "truffle-hdwallet-provider": "^1.0.15", + "darknode-sol": "https://github.com/renproject/darknode-sol#c1ac293144c0bcb7bd12abd562116e21b8d944cb", + "npm-check-updates": "^3.1.21", + "truffle-hdwallet-provider": "^1.0.16", "ts-unused-exports": "^2.0.11", "tslint": "^5.18.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/src/styles/scss/_header.scss b/src/styles/scss/_header.scss index ebadc853..1a8d3a66 100644 --- a/src/styles/scss/_header.scss +++ b/src/styles/scss/_header.scss @@ -23,7 +23,7 @@ .header--logo { border-radius: 0 !important; - background: url("images/logo.svg") center; + background: url("../images/logo.svg") center; background-size: 30px 30px; background-repeat: no-repeat; height: 48px !important; diff --git a/yarn.lock b/yarn.lock index a45c1322..efedb526 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,41 +2,14 @@ # yarn lockfile v1 -"@babel/code-frame@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": +"@babel/code-frame@7.5.5", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.3.tgz#198d6d3af4567be3989550d97e068de94503074f" - integrity sha512-oDpASqKFlbspQfzAE7yaeTmdljSH2ADIvBlb0RwbStltTuWa0+7CCI1fYVINNv9saHPa1W7oaKeuNuKj+RQCvA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.0" - "@babel/helpers" "^7.4.3" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.11" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.4.5": +"@babel/core@7.5.5", "@babel/core@^7.1.0", "@babel/core@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== @@ -99,7 +72,7 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.4.0", "@babel/helper-create-class-features-plugin@^7.5.5": +"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== @@ -111,7 +84,7 @@ "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" -"@babel/helper-define-map@^7.4.0", "@babel/helper-define-map@^7.5.5": +"@babel/helper-define-map@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== @@ -207,7 +180,7 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.4.0", "@babel/helper-replace-supers@^7.5.5": +"@babel/helper-replace-supers@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== @@ -225,7 +198,7 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-split-export-declaration@^7.4.0", "@babel/helper-split-export-declaration@^7.4.4": +"@babel/helper-split-export-declaration@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== @@ -242,7 +215,7 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.4.3", "@babel/helpers@^7.5.5": +"@babel/helpers@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== @@ -274,20 +247,20 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-class-properties@7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz#d70db61a2f1fd79de927eea91f6411c964e084b8" - integrity sha512-t2ECPNOXsIeK1JxJNKmgbzQtoG27KIlVE61vTqX0DKR9E9sZlVVxWUtEW9D5FlZ8b8j7SBNCHY47GgPKCKlpPg== +"@babel/plugin-proposal-class-properties@7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" + integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.0" + "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-decorators@7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.0.tgz#8e1bfd83efa54a5f662033afcc2b8e701f4bb3a9" - integrity sha512-d08TLmXeK/XbgCo7ZeZ+JaeZDtDai/2ctapTRsWWkkmy7G/cqz8DQN/HlWG7RR4YmfXxmExsbU3SuCjlM7AtUg== +"@babel/plugin-proposal-decorators@7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz#de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0" + integrity sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.0" + "@babel/helper-create-class-features-plugin" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-decorators" "^7.2.0" @@ -307,15 +280,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.3.tgz#be27cd416eceeba84141305b93c282f5de23bbb4" - integrity sha512-xC//6DNSSHVjq8O2ge0dyYlhshsH4T7XdCVoxbi5HzLYWfsC5ooFlJjrXk8RcAT+hjHAK9UjBXdylzSoDK3t4g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.4.3", "@babel/plugin-proposal-object-rest-spread@^7.5.5": +"@babel/plugin-proposal-object-rest-spread@7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== @@ -331,7 +296,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== @@ -410,7 +375,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.4.0", "@babel/plugin-transform-async-to-generator@^7.5.0": +"@babel/plugin-transform-async-to-generator@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== @@ -426,7 +391,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.4.0", "@babel/plugin-transform-block-scoping@^7.5.5": +"@babel/plugin-transform-block-scoping@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== @@ -434,21 +399,7 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" -"@babel/plugin-transform-classes@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.3.tgz#adc7a1137ab4287a555d429cc56ecde8f40c062c" - integrity sha512-PUaIKyFUDtG6jF5DUJOfkBdwAS/kFFV3XFk7Nn0a6vR7ZT8jYw5cGtIlat77wcnd0C6ViGqo/wyNf4ZHytF/nQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.4.0" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.0" - "@babel/helper-split-export-declaration" "^7.4.0" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.4.3", "@babel/plugin-transform-classes@^7.5.5": +"@babel/plugin-transform-classes@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== @@ -469,21 +420,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.3.tgz#1a95f5ca2bf2f91ef0648d5de38a8d472da4350f" - integrity sha512-rVTLLZpydDFDyN4qnXdzwoVpk1oaXHIvPEOkOLyr88o7oHxVc/LyrnDx+amuBWGOwUb7D1s/uLsKBNTx08htZg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@^7.4.3", "@babel/plugin-transform-destructuring@^7.5.0": +"@babel/plugin-transform-destructuring@7.5.0", "@babel/plugin-transform-destructuring@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@^7.4.3", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== @@ -492,7 +436,7 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" -"@babel/plugin-transform-duplicate-keys@^7.2.0", "@babel/plugin-transform-duplicate-keys@^7.5.0": +"@babel/plugin-transform-duplicate-keys@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== @@ -507,22 +451,22 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-flow-strip-types@7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.0.tgz#f3c59eecff68c99b9c96eaafe4fe9d1fa8947138" - integrity sha512-C4ZVNejHnfB22vI2TYN4RUp2oCmq6cSEAg4RygSvYZUECRqUu9O4PMEMNJ4wsemaRGg27BbgYctG4BZh+AgIHw== +"@babel/plugin-transform-flow-strip-types@7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz#d267a081f49a8705fc9146de0768c6b58dccd8f7" + integrity sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-flow" "^7.2.0" -"@babel/plugin-transform-for-of@^7.4.3", "@babel/plugin-transform-for-of@^7.4.4": +"@babel/plugin-transform-for-of@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.4.3", "@babel/plugin-transform-function-name@^7.4.4": +"@babel/plugin-transform-function-name@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== @@ -544,7 +488,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.5.0": +"@babel/plugin-transform-modules-amd@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== @@ -553,7 +497,7 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.4.3", "@babel/plugin-transform-modules-commonjs@^7.5.0": +"@babel/plugin-transform-modules-commonjs@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== @@ -563,7 +507,7 @@ "@babel/helper-simple-access" "^7.1.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-systemjs@^7.4.0", "@babel/plugin-transform-modules-systemjs@^7.5.0": +"@babel/plugin-transform-modules-systemjs@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== @@ -580,21 +524,21 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": +"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== dependencies: regexp-tree "^0.1.6" -"@babel/plugin-transform-new-target@^7.4.0", "@babel/plugin-transform-new-target@^7.4.4": +"@babel/plugin-transform-new-target@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-object-super@^7.2.0", "@babel/plugin-transform-object-super@^7.5.5": +"@babel/plugin-transform-object-super@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== @@ -602,7 +546,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.5.5" -"@babel/plugin-transform-parameters@^7.4.3", "@babel/plugin-transform-parameters@^7.4.4": +"@babel/plugin-transform-parameters@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== @@ -618,14 +562,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-constant-elements@7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.2.0.tgz#ed602dc2d8bff2f0cb1a5ce29263dbdec40779f7" - integrity sha512-YYQFg6giRFMsZPKUM9v+VcHOdfSQdz9jHCx3akAi3UYgyjndmdYGSXylQ/V+HswQt4fL8IklchD9HTsaOCrWQQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-constant-elements@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz#4d6ae4033bc38f8a65dfca2b6235c44522a422fc" @@ -666,7 +602,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.2.0" -"@babel/plugin-transform-regenerator@^7.4.3", "@babel/plugin-transform-regenerator@^7.4.5": +"@babel/plugin-transform-regenerator@^7.4.5": version "7.4.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== @@ -680,10 +616,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-runtime@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.3.tgz#4d6691690ecdc9f5cb8c3ab170a1576c1f556371" - integrity sha512-7Q61bU+uEI7bCUFReT1NKn7/X6sDQsZ7wL1sJ9IYMAO7cI+eg6x9re1cEw2fCRMbbTVyoeUKWSV1M6azEfKCfg== +"@babel/plugin-transform-runtime@7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz#a6331afbfc59189d2135b2e09474457a8e3d28bc" + integrity sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -712,7 +648,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.2.0", "@babel/plugin-transform-template-literals@^7.4.4": +"@babel/plugin-transform-template-literals@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== @@ -736,7 +672,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" -"@babel/plugin-transform-unicode-regex@^7.4.3", "@babel/plugin-transform-unicode-regex@^7.4.4": +"@babel/plugin-transform-unicode-regex@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== @@ -745,61 +681,7 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" -"@babel/preset-env@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.3.tgz#e71e16e123dc0fbf65a52cbcbcefd072fbd02880" - integrity sha512-FYbZdV12yHdJU5Z70cEg0f6lvtpZ8jFSDakTm7WXeJbLXh4R0ztGEu/SW7G1nJ2ZvKwDhz8YrbA84eYyprmGqw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.3" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.4.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.0" - "@babel/plugin-transform-classes" "^7.4.3" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.3" - "@babel/plugin-transform-dotall-regex" "^7.4.3" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.3" - "@babel/plugin-transform-function-name" "^7.4.3" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.3" - "@babel/plugin-transform-modules-systemjs" "^7.4.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.2" - "@babel/plugin-transform-new-target" "^7.4.0" - "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.4.3" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.3" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.3" - "@babel/types" "^7.4.0" - browserslist "^4.5.2" - core-js-compat "^3.0.0" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.3.4": +"@babel/preset-env@7.5.5", "@babel/preset-env@^7.3.4", "@babel/preset-env@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== @@ -874,14 +756,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.3.2" -"@babel/runtime@7.4.3": - version "7.4.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.3.tgz#79888e452034223ad9609187a0ad1fe0d2ad4bdc" - integrity sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": +"@babel/runtime@7.5.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== @@ -939,17 +814,7 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== -"@emotion/cache@^10.0.14": - version "10.0.14" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.14.tgz#56093cff025c04b0330bdd92afe8335ed326dd18" - integrity sha512-HNGEwWnPlNyy/WPXBXzbjzkzeZFV657Z99/xq2xs5yinJHbMfi3ioCvBJ6Y8Zc8DQzO9F5jDmVXJB41Ytx3QMw== - dependencies: - "@emotion/sheet" "0.9.3" - "@emotion/stylis" "0.8.4" - "@emotion/utils" "0.11.2" - "@emotion/weak-memoize" "0.2.3" - -"@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": +"@emotion/cache@^10.0.14", "@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": version "10.0.15" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02" integrity sha512-8VthgeKhlGeTXSW1JN7I14AnAaiFPbOrqNqg3dPoGCZ3bnMjkrmRU0zrx0BtBw9esBaPaQgDB9y0tVgAGT2Mrg== @@ -990,18 +855,7 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30" integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w== -"@emotion/serialize@^0.11.8": - version "0.11.8" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.8.tgz#e41dcf7029e45286a3e0cf922933e670fe05402c" - integrity sha512-Qb6Us2Yk1ZW8SOYH6s5z7qzXXb2iHwVeqc6FjXtac0vvxC416ki0eTtHNw4Q5smoyxdyZh3519NKGrQvvvrZ/Q== - dependencies: - "@emotion/hash" "0.7.2" - "@emotion/memoize" "0.7.2" - "@emotion/unitless" "0.7.4" - "@emotion/utils" "0.11.2" - csstype "^2.5.7" - -"@emotion/serialize@^0.11.9": +"@emotion/serialize@^0.11.8", "@emotion/serialize@^0.11.9": version "0.11.9" resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.9.tgz#123e0f51d2dee9693fae1057bd7fc27b021d6868" integrity sha512-/Cn4V81z3ZyFiDQRw8nhGFaHkxHtmCSSBUit4vgTuLA1BqxfJUYiqSq97tq/vV8z9LfIoqs6a9v6QrUFWZpK7A== @@ -1037,38 +891,38 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ== -"@fortawesome/fontawesome-common-types@^0.2.19": - version "0.2.19" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.19.tgz#754a0f85e1290858152e1c05700ab502b11197f1" - integrity sha512-nd2Ul/CUs8U9sjofQYAALzOGpgkVJQgEhIJnOHaoyVR/LeC3x2mVg4eB910a4kS6WgLPebAY0M2fApEI497raQ== +"@fortawesome/fontawesome-common-types@^0.2.21": + version "0.2.21" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.21.tgz#f1c26ae24761cca583de7cafd1273ab4c70a4d87" + integrity sha512-iJtcrU2BtF9Wyr0zm3tHEJy3HqA6sADExhCqCv3SKaJJKKp4ORJ40t4nyHvcWXSVFtd7r1gcdqcRsAfoREGTFA== -"@fortawesome/fontawesome-svg-core@^1.2.18", "@fortawesome/fontawesome-svg-core@^1.2.19": - version "1.2.19" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.19.tgz#0eca1ce9285c3d99e6e340633ee8f615f9d1a2e0" - integrity sha512-D4ICXg9oU08eF9o7Or392gPpjmwwgJu8ecCFusthbID95CLVXOgIyd4mOKD9Nud5Ckz+Ty59pqkNtThDKR0erA== +"@fortawesome/fontawesome-svg-core@^1.2.21": + version "1.2.21" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.21.tgz#5b08a28d6e1ea198e002447b158abba00fd12122" + integrity sha512-EhrgMZLJS0tTYZhUbodurZBqDgAFLDNdxJP/q5unrZJwiFo8Dd7xGvJdhAhY5WcX4khzkPQcbLTCMPHBtutD7Q== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.19" + "@fortawesome/fontawesome-common-types" "^0.2.21" -"@fortawesome/free-brands-svg-icons@^5.8.2", "@fortawesome/free-brands-svg-icons@^5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.9.0.tgz#4ebedba0ea026368f8c21f2c598b4458c32236e5" - integrity sha512-sOz1wFyslaHUak8tY6IEhSAV1mAWbCLssBR8yFQV6f065k8nUCkjyrcxW4RVl9+wiLXmeG1CJUABUJV9DiW+7Q== +"@fortawesome/free-brands-svg-icons@^5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.10.1.tgz#79e0928269e818a18ee19cec56dc8d767e65cd8f" + integrity sha512-xrq2+coLZUGcQsmbdoyyp5O5X4a6FhEQj3cGdlM14/bZ6lHCeKlZElsvr/ETtFtD8w2UgQpb3E7Eylo69utD1g== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.19" + "@fortawesome/fontawesome-common-types" "^0.2.21" -"@fortawesome/free-regular-svg-icons@^5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.9.0.tgz#b16b325bdcdf51abebc547313cb75c3ef722ca04" - integrity sha512-6ZO0jLhk/Yrso0u5pXeYYSfZiHCNoCF7SgtqStdlEX8WtWD4IOfAB1N+MlSnMo12P5KR4cmucX/K0NCOPrhJwg== +"@fortawesome/free-regular-svg-icons@^5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.10.1.tgz#4096d169520a5ed8ab31a34edb6d7710fefbe160" + integrity sha512-2qU3IE4PeqZjMrVuHsE5sjgK64HlpijMhBv66TEhFEGCLpB2bwRdGvies6vpUvmTRRHhUat4IcRayLUWuGbKXQ== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.19" + "@fortawesome/fontawesome-common-types" "^0.2.21" -"@fortawesome/free-solid-svg-icons@^5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.9.0.tgz#1c73e7bac17417d23f934d83f7fff5b100a7fda9" - integrity sha512-U8YXPfWcSozsCW0psCtlRGKjjRs5+Am5JJwLOUmVHFZbIEWzaz4YbP84EoPwUsVmSAKrisu3QeNcVOtmGml0Xw== +"@fortawesome/free-solid-svg-icons@^5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.10.1.tgz#535fd5429dbe99656de4f1a8ee42d9f8f5a7aef9" + integrity sha512-MKH+SCt0DnVoXdemxf6JEdTRtCPwYLMCWZcwgGccYU/ab6QcDtbAMn6Xm4Zub6YqQCcaiy0hU294YdHOldSBRA== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.19" + "@fortawesome/fontawesome-common-types" "^0.2.21" "@fortawesome/react-fontawesome@^0.1.4": version "0.1.4" @@ -1089,9 +943,9 @@ integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== "@hapi/hoek@8.x.x": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.1.0.tgz#8f7627b23ed9bf67088fc7f9669e48c63ad421bd" - integrity sha512-b1J4jxYnW+n6lC91V6Pqg9imP9BZq0HNCeM+3sbXg05rQsE9cGYrKFpZjyztVesGmNRE6R+QaEoWGATeIiUVjA== + version "8.2.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.1.tgz#924af04cbb22e17359c620d2a9c946e63f58eb77" + integrity sha512-JPiBy+oSmsq3St7XlipfN5pNA6bDJ1kpa73PrK/zR29CVClDVqy04AanM/M/qx5bSF+I61DdCfAvRrujau+zRg== "@hapi/joi@^15.0.0": version "15.1.0" @@ -1109,9 +963,9 @@ integrity sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA== "@hapi/topo@3.x.x": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.2.tgz#57cc1317be1a8c5f47c124f9b0e3c49cd78424d2" - integrity sha512-r+aumOqJ5QbD6aLPJWqVjMAPsx5pZKz+F5yPqXZ/WWG9JTtHbQqlzrJoknJ0iJxLj9vlXtmpSdjlkszseeG8OA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" + integrity sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ== dependencies: "@hapi/hoek" "8.x.x" @@ -1252,7 +1106,7 @@ source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.7.0", "@jest/types@^24.8.0": +"@jest/types@^24.8.0": version "24.8.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== @@ -1286,73 +1140,73 @@ resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" integrity sha512-OWk811Ay63UdPxY5nEg4N99Goz6K9HLaeGfUN2q0uehhQ70hJDqDQq/vYl5rtE07mv7MYX7GYTpj5POlPbZNRg== -"@renproject/react-components@1.0.28": - version "1.0.28" - resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.28.tgz#1a6a41d5ef68184744a2b7844d2004e4887b128b" - integrity sha512-omauV+0rBFKlW1y247quLNl+KjI4scELAAjDjkRvZ3fAQYJfGYBVmnpWTC/3+nJNuKlO9GdYndrLV3IzaJDxdg== +"@renproject/react-components@1.0.29": + version "1.0.29" + resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.29.tgz#9409fcceb3732e1712df5fc8442b5004ac2b74ce" + integrity sha512-K7IMB+fafi8W2huQkHTME/DLBO1yvGMkcNyVjT3IJhJkNF7IR87NjoBWWt3TFBjTUoobiyos3lNOvxovm5F63Q== dependencies: - "@fortawesome/fontawesome-svg-core" "^1.2.18" - "@fortawesome/free-brands-svg-icons" "^5.8.2" + "@fortawesome/fontawesome-svg-core" "^1.2.21" + "@fortawesome/free-brands-svg-icons" "^5.10.1" "@fortawesome/react-fontawesome" "^0.1.4" "@renproject/fonts" "^1.0.1" - emotion "^10.0.9" + emotion "^10.0.14" immutable "^4.0.0-rc.12" moment "^2.24.0" - react-element-to-jsx-string "^14.0.2" - react-router "^5.0.0" - react-router-dom "^5.0.0" + react-element-to-jsx-string "^14.0.3" + react-router "^5.0.1" + react-router-dom "^5.0.1" react-select "^3.0.4" -"@sentry/browser@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.5.0.tgz#ec99ea6897d23affc46d58e6ada32016b27721b5" - integrity sha512-QZw4EXK47Qp9Q+vNpL5H4P4tYyfAN8qpWWeLIM0RDiNLlOugTVUdkfkeNTEJZ9VlqJ5RLx/2G/PITG4R6pwh/A== +"@sentry/browser@^5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.6.1.tgz#9bb64d2b8371c70e3725b3f6a95835f3ca6ff8ee" + integrity sha512-EtuI3YUIXfSzbF2Z7c5UXcdkcjZj83Y0vj73kMXBxxYsmDkyU+KtJFFvonSUrLILMqYBNZXTgCrfglLfFkl7kA== dependencies: - "@sentry/core" "5.5.0" - "@sentry/types" "5.5.0" - "@sentry/utils" "5.5.0" + "@sentry/core" "5.6.1" + "@sentry/types" "5.6.1" + "@sentry/utils" "5.6.1" tslib "^1.9.3" -"@sentry/core@5.5.0", "@sentry/core@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.5.0.tgz#574fdc9228c8b4a909c0140eb0d8b098175c0f47" - integrity sha512-xOcBud0t5mfhFdyd2tQQti4uuWSrLiJihpXzxeRpdCfk2ic+xmpeQs3G4UqnluvQDc48ug/Igt7LXfSBRBx4eg== +"@sentry/core@5.6.1", "@sentry/core@^5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.6.1.tgz#946f064cc500bf4cd2a1bac580192fe440b614c7" + integrity sha512-gK8XfkJIZLsBEQehkr2q2fdHI50B3yo4RXiixSZiNBVIzQ+1z3JcMssDzGwhbY81NHUzHZ7of3oQ4Ab4OGRI/g== dependencies: - "@sentry/hub" "5.5.0" - "@sentry/minimal" "5.5.0" - "@sentry/types" "5.5.0" - "@sentry/utils" "5.5.0" + "@sentry/hub" "5.6.1" + "@sentry/minimal" "5.6.1" + "@sentry/types" "5.6.1" + "@sentry/utils" "5.6.1" tslib "^1.9.3" -"@sentry/hub@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.5.0.tgz#6b8eecf769fa693260d45e771f4bca15bdbc6f4b" - integrity sha512-+jKh5U1nv8ufoquGciWoZPOmKuEjFPH5m0VifCs6t3NcEbAq2qnfF26KUGqhUNznlUN/PkbWB4qMfKn14uNE2Q== +"@sentry/hub@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.6.1.tgz#9f355c0abcc92327fbd10b9b939608aa4967bece" + integrity sha512-m+OhkIV5yTAL3R1+XfCwzUQka0UF/xG4py8sEfPXyYIcoOJ2ZTX+1kQJLy8QQJ4RzOBwZA+DzRKP0cgzPJ3+oQ== dependencies: - "@sentry/types" "5.5.0" - "@sentry/utils" "5.5.0" + "@sentry/types" "5.6.1" + "@sentry/utils" "5.6.1" tslib "^1.9.3" -"@sentry/minimal@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.5.0.tgz#ea7939b8efe307d25775b23227a3f85dfb46b274" - integrity sha512-o6O30+/pNrO7fTgwKxgZynHB7cMScJlw9HXgnNXgLXS6LBiqjYCQfVnWAgV//SyyG0uUlcjH3P6PnV6TsJOmVQ== +"@sentry/minimal@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.6.1.tgz#09d92b26de0b24555cd50c3c33ba4c3e566009a1" + integrity sha512-ercCKuBWHog6aS6SsJRuKhJwNdJ2oRQVWT2UAx1zqvsbHT9mSa8ZRjdPHYOtqY3DoXKk/pLUFW/fkmAnpdMqRw== dependencies: - "@sentry/hub" "5.5.0" - "@sentry/types" "5.5.0" + "@sentry/hub" "5.6.1" + "@sentry/types" "5.6.1" tslib "^1.9.3" -"@sentry/types@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.5.0.tgz#0e7d8e8359c7af685258d92b23831072bb79f46a" - integrity sha512-3otF/miVDth91o+iign00x0o31McUPeyIFbMjLbgeTRRW9rXpu2jGrcRrvHfofECtoqCf5Y734hwvvlBvFZeIw== +"@sentry/types@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.6.1.tgz#5915e1ee4b7a678da3ac260c356b1cb91139a299" + integrity sha512-Kub8TETefHpdhvtnDj3kKfhCj0u/xn3Zi2zIC7PB11NJHvvPXENx97tciz4roJGp7cLRCJsFqCg4tHXniqDSnQ== -"@sentry/utils@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.5.0.tgz#5c516be0568f4d462ad550c723b78e3ad7776c4e" - integrity sha512-gO8Bs/QcKDn7ncc2f2fIOTPx2AiZKrGj4us1Yxu6mBU8JZqMQRl9XjDMFAUECJQvquBAta+TFJyYj71ZedeQUQ== +"@sentry/utils@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.6.1.tgz#69d9e151e50415bc91f2428e3bcca8beb9bc2815" + integrity sha512-rfgha+UsHW816GqlSRPlniKqAZylOmQWML2JsujoUP03nPu80zdN43DK9Poy/d9OxBxv0gd5K2n+bFdM2kqLQQ== dependencies: - "@sentry/types" "5.5.0" + "@sentry/types" "5.6.1" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -1414,7 +1268,7 @@ "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" "@svgr/babel-plugin-transform-svg-component" "^4.2.0" -"@svgr/core@^4.1.0": +"@svgr/core@^4.3.2": version "4.3.2" resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz#939c89be670ad79b762f4c063f213f0e02535f2e" integrity sha512-N+tP5CLFd1hP9RpO83QJPZY3NL8AtrdqNbuhRgBkjE/49RnMrrRsFm1wY8pueUfAGvzn6tSXUq29o6ah8RuR5w== @@ -1430,7 +1284,7 @@ dependencies: "@babel/types" "^7.4.4" -"@svgr/plugin-jsx@^4.1.0", "@svgr/plugin-jsx@^4.3.2": +"@svgr/plugin-jsx@^4.3.2": version "4.3.2" resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz#ce9ddafc8cdd74da884c9f7af014afcf37f93d3c" integrity sha512-+1GW32RvmNmCsOkMoclA/TppNjHPLMnNZG3/Ecscxawp051XJ2MkO09Hn11VcotdC2EPrDfT8pELGRo+kbZ1Eg== @@ -1440,7 +1294,7 @@ "@svgr/hast-util-to-babel-ast" "^4.3.2" svg-parser "^2.0.0" -"@svgr/plugin-svgo@^4.0.3": +"@svgr/plugin-svgo@^4.3.1": version "4.3.1" resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== @@ -1449,19 +1303,19 @@ merge-deep "^3.0.2" svgo "^1.2.2" -"@svgr/webpack@4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.1.0.tgz#20c88f32f731c7b1d4711045b2b993887d731c28" - integrity sha512-d09ehQWqLMywP/PT/5JvXwPskPK9QCXUjiSkAHehreB381qExXf5JFCBWhfEyNonRbkIneCeYM99w+Ud48YIQQ== +"@svgr/webpack@4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956" + integrity sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w== dependencies: - "@babel/core" "^7.1.6" + "@babel/core" "^7.4.5" "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.1.6" + "@babel/preset-env" "^7.4.5" "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.1.0" - "@svgr/plugin-jsx" "^4.1.0" - "@svgr/plugin-svgo" "^4.0.3" - loader-utils "^1.1.0" + "@svgr/core" "^4.3.2" + "@svgr/plugin-jsx" "^4.3.2" + "@svgr/plugin-svgo" "^4.3.1" + loader-utils "^1.2.3" "@szmarczak/http-timer@^1.1.2": version "1.1.2" @@ -1524,10 +1378,10 @@ dependencies: "@types/base-x" "*" -"@types/chai@^4.1.7": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a" - integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA== +"@types/chai@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.0.tgz#2478260021408dec32c123a7cad3414beb811a07" + integrity sha512-zw8UvoBEImn392tLjxoavuonblX/4Yb9ha4KBU10FirCfwgzhKO0dvyJSF9ByxV1xK1r2AgnAi/tvQaLgxQqxA== "@types/d3-geo@*": version "1.11.1" @@ -1536,6 +1390,11 @@ dependencies: "@types/geojson" "*" +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + "@types/geojson@*": version "7946.0.7" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad" @@ -1579,22 +1438,27 @@ resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -"@types/jest@^24.0.15": - version "24.0.15" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.15.tgz#6c42d5af7fe3b44ffff7cc65de7bf741e8fa427f" - integrity sha512-MU1HIvWUme74stAoc3mgAi+aMlgKOudgEvQDIm1v4RkrDudBh1T+NFp5sftpBAdXdx1J0PbdpJ+M2EsSOi1djA== +"@types/jest@^24.0.17": + version "24.0.17" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.17.tgz#b66ea026efb746eb5db1356ee28518aaff7af416" + integrity sha512-1cy3xkOAfSYn78dsBWy4M3h/QF/HeWPchNFDjysVtp3GHeTdSmtluNnELfCmfNRRHo0OWEcpf+NsEJQvwQfdqQ== dependencies: "@types/jest-diff" "*" -"@types/node@*", "@types/node@^12.6.1", "@types/node@^12.6.8": - version "12.6.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" - integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== +"@types/json-schema@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" + integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== + +"@types/node@*", "@types/node@^12.6.1", "@types/node@^12.7.1": + version "12.7.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.1.tgz#3b5c3a26393c19b400844ac422bd0f631a94d69d" + integrity sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw== "@types/node@^10.12.18", "@types/node@^10.3.2": - version "10.14.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.13.tgz#ac786d623860adf39a3f51d629480aacd6a6eec7" - integrity sha512-yN/FNNW1UYsRR1wwAoyOwqvDuLDtVXnaJTZ898XIw/Q5cCaeVAlVwvsmXLX5PuiScBYwZsZU4JYSHB3TvfdwvQ== + version "10.14.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" + integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== "@types/prop-types@*": version "15.7.1" @@ -1662,10 +1526,10 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^16.8.23": - version "16.8.23" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" - integrity sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA== +"@types/react@*", "@types/react@^16.9.1": + version "16.9.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.1.tgz#862c83b4c9d5cd116e42fd9a4f3694843cd2c051" + integrity sha512-jGM2x8F7m7/r+81N/BOaUKVwbC5Cdw6ExlWEUpr77XPwVeNvAppnPEnMMLMfxRDYL8FPEX8MHjwtD2NQMJ0yyQ== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -1685,29 +1549,40 @@ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== -"@typescript-eslint/eslint-plugin@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.6.0.tgz#a5ff3128c692393fb16efa403ec7c8a5593dab0f" - integrity sha512-U224c29E2lo861TQZs6GSmyC0OYeRNg6bE9UVIiFBxN2MlA0nq2dCrgIVyyRbC05UOcrgf2Wk/CF2gGOPQKUSQ== +"@typescript-eslint/eslint-plugin@1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz#22fed9b16ddfeb402fd7bcde56307820f6ebc49f" + integrity sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g== dependencies: - "@typescript-eslint/parser" "1.6.0" - "@typescript-eslint/typescript-estree" "1.6.0" - requireindex "^1.2.0" + "@typescript-eslint/experimental-utils" "1.13.0" + eslint-utils "^1.3.1" + functional-red-black-tree "^1.0.1" + regexpp "^2.0.1" tsutils "^3.7.0" -"@typescript-eslint/parser@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.6.0.tgz#f01189c8b90848e3b8e45a6cdad27870529d1804" - integrity sha512-VB9xmSbfafI+/kI4gUK3PfrkGmrJQfh0N4EScT1gZXSZyUxpsBirPL99EWZg9MmPG0pzq/gMtgkk7/rAHj4aQw== +"@typescript-eslint/experimental-utils@1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" + integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== dependencies: - "@typescript-eslint/typescript-estree" "1.6.0" + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "1.13.0" eslint-scope "^4.0.0" + +"@typescript-eslint/parser@1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.13.0.tgz#61ac7811ea52791c47dc9fd4dd4a184fae9ac355" + integrity sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "1.13.0" + "@typescript-eslint/typescript-estree" "1.13.0" eslint-visitor-keys "^1.0.0" -"@typescript-eslint/typescript-estree@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.6.0.tgz#6cf43a07fee08b8eb52e4513b428c8cdc9751ef0" - integrity sha512-A4CanUwfaG4oXobD5y7EXbsOHjCwn8tj1RDd820etpPAjH+Icjc2K9e/DQM1Hac5zH2BSy+u6bjvvF2wwREvYA== +"@typescript-eslint/typescript-estree@1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e" + integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw== dependencies: lodash.unescape "4.0.1" semver "5.5.0" @@ -1908,15 +1783,10 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - acorn-globals@^4.1.0, acorn-globals@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" - integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ== + version "4.3.3" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" + integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" @@ -1936,21 +1806,27 @@ acorn@^5.5.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.5, acorn@^6.0.7: - version "6.2.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" - integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== - -address@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" - integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.7, acorn@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" + integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== -address@^1.0.1: +address@1.1.0, address@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== +adjust-sourcemap-loader@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" + integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA== + dependencies: + assert "1.4.1" + camelcase "5.0.0" + loader-utils "1.2.3" + object-path "0.11.4" + regex-parser "2.2.10" + aes-js@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" @@ -1982,12 +1858,12 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0: +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== @@ -2031,6 +1907,13 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ansi-escapes@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" + integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q== + dependencies: + type-fest "^0.5.2" + ansi-gray@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" @@ -2128,6 +2011,11 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -2282,6 +2170,13 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +assert@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + dependencies: + util "0.10.3" + assert@^1.1.1: version "1.5.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" @@ -2338,9 +2233,9 @@ async-foreach@^0.1.3: integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= 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== + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async-settle@^1.0.0: version "1.0.0" @@ -2371,7 +2266,7 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^9.4.9: +autoprefixer@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== @@ -2448,10 +2343,10 @@ babel-core@^6.0.14, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.7" -babel-eslint@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed" - integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ== +babel-eslint@10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456" + integrity sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q== dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.0.0" @@ -2607,15 +2502,15 @@ babel-jest@^24.8.0: chalk "^2.4.2" slash "^2.0.0" -babel-loader@8.0.5: - version "8.0.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" - integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== +babel-loader@8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== dependencies: find-cache-dir "^2.0.0" loader-utils "^1.0.2" mkdirp "^0.5.1" - util.promisify "^1.0.0" + pify "^4.0.1" babel-messages@^6.23.0: version "6.23.0" @@ -2631,14 +2526,7 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-dynamic-import-node@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz#c0adfb07d95f4a4495e9aaac6ec386c4d7c2524e" - integrity sha512-fP899ELUnTaBcIzmrW7nniyqqdYWrWuJUyPWHxFa/c7r7hS6KC8FscNfLlBNIoPSc55kYMGEEKjPjJGCLbE1qA== - dependencies: - object.assign "^4.1.0" - -babel-plugin-dynamic-import-node@^2.3.0: +babel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== @@ -2646,14 +2534,14 @@ babel-plugin-dynamic-import-node@^2.3.0: object.assign "^4.1.0" babel-plugin-emotion@^10.0.14: - version "10.0.14" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.14.tgz#c1d0e4621e303507ea7da57daa3cd771939d6df4" - integrity sha512-T7hdxJ4xXkKW3OXcizK0pnUJlBeNj/emjQZPDIZvGOuwl2adIgicQWRNkz6BuwKdDTrqaXQn1vayaL6aL8QW5A== + version "10.0.15" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.15.tgz#2ce5bea191331ef65b3b9ae212a8f0e46ff97616" + integrity sha512-E3W68Zk8EcKpRUDW2tsFKi4gsavapMRjfr2/KKgG3l7l2zZpiKk0BxB59Ul9C0w0ekv6my/ylGOk2WroaqKXPw== dependencies: "@babel/helper-module-imports" "^7.0.0" "@emotion/hash" "0.7.2" "@emotion/memoize" "0.7.2" - "@emotion/serialize" "^0.11.8" + "@emotion/serialize" "^0.11.9" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -2678,16 +2566,7 @@ babel-plugin-jest-hoist@^24.6.0: dependencies: "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.5.1.tgz#4a119ac2c2e19b458c259b9accd7ee34fd57ec6f" - integrity sha512-xN3KhAxPzsJ6OQTktCanNpIFnnMsCV+t8OloKxIL72D6+SUZYFn9qfklPgef5HyyDtzYZqqb+fs1S12+gQY82Q== - dependencies: - "@babel/runtime" "^7.4.2" - cosmiconfig "^5.2.0" - resolve "^1.10.0" - -babel-plugin-macros@^2.0.0: +babel-plugin-macros@2.6.1, babel-plugin-macros@^2.0.0: version "2.6.1" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== @@ -2696,10 +2575,10 @@ babel-plugin-macros@^2.0.0: cosmiconfig "^5.2.0" resolve "^1.10.0" -babel-plugin-named-asset-import@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.2.tgz#20978ed446b8e1bf4a2f42d0a94c0ece85f75f4f" - integrity sha512-CxwvxrZ9OirpXQ201Ec57OmGhmI8/ui/GwTDy0hSp6CmRvgRC0pSair6Z04Ck+JStA0sMPZzSJ3uE4n17EXpPQ== +babel-plugin-named-asset-import@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.3.tgz#9ba2f3ac4dc78b042651654f07e847adfe50667c" + integrity sha512-1XDRysF4894BUdMChT+2HHbtJYiO7zx5Be7U6bT8dISy7OdyETMGIAQBMPQCsY1YRf0xcubwnKKaDr5bk15JTA== babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" @@ -3013,28 +2892,26 @@ babel-preset-jest@^24.6.0: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.6.0" -babel-preset-react-app@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.0.tgz#703108142bc9dd7173bde6a1a0138a762abc76f9" - integrity sha512-YVsDA8HpAKklhFLJtl9+AgaxrDaor8gGvDFlsg1ByOS0IPGUovumdv4/gJiAnLcDmZmKlH6+9sVOz4NVW7emAg== +babel-preset-react-app@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.1.tgz#16a2cf84363045b530b6a03460527a5c6eac42ba" + integrity sha512-v7MeY+QxdBhM9oU5uOQCIHLsErYkEbbjctXsb10II+KAnttbe0rvprvP785dRxfa9dI4ZbsGXsRU07Qdi5BtOw== dependencies: - "@babel/core" "7.4.3" - "@babel/plugin-proposal-class-properties" "7.4.0" - "@babel/plugin-proposal-decorators" "7.4.0" - "@babel/plugin-proposal-object-rest-spread" "7.4.3" + "@babel/core" "7.5.5" + "@babel/plugin-proposal-class-properties" "7.5.5" + "@babel/plugin-proposal-decorators" "7.4.4" + "@babel/plugin-proposal-object-rest-spread" "7.5.5" "@babel/plugin-syntax-dynamic-import" "7.2.0" - "@babel/plugin-transform-classes" "7.4.3" - "@babel/plugin-transform-destructuring" "7.4.3" - "@babel/plugin-transform-flow-strip-types" "7.4.0" - "@babel/plugin-transform-react-constant-elements" "7.2.0" + "@babel/plugin-transform-destructuring" "7.5.0" + "@babel/plugin-transform-flow-strip-types" "7.4.4" "@babel/plugin-transform-react-display-name" "7.2.0" - "@babel/plugin-transform-runtime" "7.4.3" - "@babel/preset-env" "7.4.3" + "@babel/plugin-transform-runtime" "7.5.5" + "@babel/preset-env" "7.5.5" "@babel/preset-react" "7.0.0" "@babel/preset-typescript" "7.3.3" - "@babel/runtime" "7.4.3" - babel-plugin-dynamic-import-node "2.2.0" - babel-plugin-macros "2.5.1" + "@babel/runtime" "7.5.5" + babel-plugin-dynamic-import-node "2.3.0" + babel-plugin-macros "2.6.1" babel-plugin-transform-react-remove-prop-types "0.4.24" babel-register@^6.26.0: @@ -3147,9 +3024,9 @@ base-x@^3.0.2, base-x@^3.0.4: safe-buffer "^5.0.1" base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== base@^0.11.1: version "0.11.2" @@ -3390,14 +3267,14 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.4.tgz#166c4ecef3b51737a42436ea8002aeea466ea2c7" - integrity sha512-rAjx494LMjqKnMPhFkuLmLp8JWEX0o8ADTGeAbOqaF+XCvYLreZrG5uVjnPBlAQ8REZK4pzXGvp0bWgrFtKaag== +browserslist@4.6.6, browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: + version "4.6.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" + integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== dependencies: - caniuse-lite "^1.0.30000955" - electron-to-chromium "^1.3.122" - node-releases "^1.1.13" + caniuse-lite "^1.0.30000984" + electron-to-chromium "^1.3.191" + node-releases "^1.1.25" browserslist@^3.2.6: version "3.2.8" @@ -3407,15 +3284,6 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.4.2, browserslist@^4.5.2, browserslist@^4.6.0, browserslist@^4.6.2, browserslist@^4.6.3: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== - dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" - bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" @@ -3493,9 +3361,9 @@ buffer@^4.3.0: isarray "^1.0.0" buffer@^5.0.5, buffer@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" - integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + version "5.3.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.3.0.tgz#5f9fa5fefe3939888d0fdbf7d964e2a8531fd69c" + integrity sha512-XykNc84nIOC32vZ9euOKbmGAP69JUkXDtBQfLq88c8/6J/gZi/t14A+l/p/9EM2TcT5xNC1MKPCrvO3LVUpVPw== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -3525,27 +3393,7 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.0.2, cacache@^11.3.2: - version "11.3.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" - integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^12.0.0: +cacache@^12.0.0, cacache@^12.0.2: version "12.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== @@ -3639,6 +3487,11 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== + camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -3669,10 +3522,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: - version "1.0.30000985" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f" - integrity sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000984: + version "1.0.30000989" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" + integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== capture-exit@^2.0.0: version "2.0.0" @@ -3792,7 +3645,7 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== -chrome-trace-event@^1.0.0: +chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== @@ -3851,6 +3704,13 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -3897,15 +3757,14 @@ clone-deep@^0.2.4: lazy-cache "^1.0.3" shallow-clone "^0.1.2" -clone-deep@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" - integrity sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ== +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: - for-own "^1.0.0" is-plain-object "^2.0.4" - kind-of "^6.0.0" - shallow-clone "^1.0.0" + kind-of "^6.0.2" + shallow-clone "^3.0.0" clone-response@^1.0.2: version "1.0.2" @@ -4024,7 +3883,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: +commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.20.0, commander@~2.20.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== @@ -4034,6 +3893,11 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== +commander@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.0.tgz#0641ea00838c7a964627f04cddc336a2deddd60a" + integrity sha512-pl3QrGOBa9RZaslQiqnnKX2J068wcQw7j9AIaBQ9/JEp5RY6je4jKTImg0Bd+rpoONSe7GUFSgkxLeo17m3Pow== + commander@~2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -4061,6 +3925,13 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= + dependencies: + arity-n "^1.0.4" + compressible@~2.0.16: version "2.0.17" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" @@ -4108,10 +3979,10 @@ configstore@^4.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -confusing-browser-globals@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.7.tgz#5ae852bd541a910e7ffb2dbb864a2d21a36ad29b" - integrity sha512-cgHI1azax5ATrZ8rJ+ODDML9Fvu67PimB6aNxBrc/QwSaDaM9eTfIEUHx3bBLJJ82ioSb+/5zfsMCCEJax3ByQ== +confusing-browser-globals@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz#93ffec1f82a6e2bf2bc36769cc3a92fa20e502f3" + integrity sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg== connect-history-api-fallback@^1.3.0: version "1.6.0" @@ -4152,13 +4023,18 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: +convert-source-map@1.6.0, convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== dependencies: safe-buffer "~5.1.1" +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -4199,24 +4075,18 @@ copy-props@^2.0.1: each-props "^1.3.0" is-plain-object "^2.0.1" -core-js-compat@^3.0.0, core-js-compat@^3.1.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" - integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg== +core-js-compat@^3.1.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" + integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== dependencies: - browserslist "^4.6.2" - core-js-pure "3.1.4" - semver "^6.1.1" + browserslist "^4.6.6" + semver "^6.3.0" -core-js-pure@3.1.4: +core-js@3.1.4: version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" - integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA== - -core-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.1.tgz#1343182634298f7f38622f95e73f54e48ddf4738" - integrity sha512-sco40rF+2KlE0ROMvydjkrVMMG1vYilP2ALoRXcYR4obqbYIuV3Bg+51GEDW+HF8n7NRA+iaA4qD0nD9lo9mew== + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" + integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== core-js@^2.4.0, core-js@^2.5.0: version "2.6.9" @@ -4448,7 +4318,17 @@ css-what@2.1, css-what@^2.1.2: resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== -cssdb@^4.3.0: +css@^2.0.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssdb@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== @@ -4521,7 +4401,7 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== -cssnano@^4.1.0: +cssnano@^4.1.10: version "4.1.10" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== @@ -4614,9 +4494,9 @@ damerau-levenshtein@^1.0.4: dependencies: openzeppelin-solidity "2.3.0" -"darknode-sol@https://github.com/renproject/darknode-sol#localnet": +"darknode-sol@https://github.com/renproject/darknode-sol#c1ac293144c0bcb7bd12abd562116e21b8d944cb": version "0.0.3" - resolved "https://github.com/renproject/darknode-sol#488a8b4367a2ce33fb0eae14c7bf90967d85e851" + resolved "https://github.com/renproject/darknode-sol#c1ac293144c0bcb7bd12abd562116e21b8d944cb" dependencies: openzeppelin-solidity "2.3.0" @@ -4993,12 +4873,12 @@ dom-helpers@^3.2.0, dom-helpers@^3.4.0: "@babel/runtime" "^7.1.2" dom-serializer@0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" - integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + version "0.2.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" + integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== dependencies: - domelementtype "^1.3.0" - entities "^1.1.1" + domelementtype "^2.0.1" + entities "^2.0.0" dom-walk@^0.1.0: version "0.1.1" @@ -5010,11 +4890,16 @@ domain-browser@^1.1.1: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: +domelementtype@1, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -5112,10 +4997,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.47: - version "1.3.200" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.200.tgz#78fb858b466269e8eb46d31a52562f00c865127f" - integrity sha512-PUurrpyDA74MuAjJRD+79ss5BqJlU3mdArRbuu4wO/dt6jc3Ic/6BDmFJxkdwbfq39cHf/XKm2vW98XSvut9Dg== +electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.47: + version "1.3.224" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.224.tgz#511abb2829a58c5ddb36c319094fe936bc82e3cd" + integrity sha512-vTH9UcMbi53x/pZKQrEcD83obE8agqQwUIx/G03/mpE1vzLm0KA3cHwuZXCysvxI1gXfNjV7Nu7Vjtp89kDzmg== elliptic@6.3.3: version "6.3.3" @@ -5145,12 +5030,17 @@ emoji-regex@^7.0.1, emoji-regex@^7.0.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= -emotion@^10.0.9: +emotion@^10.0.14: version "10.0.14" resolved "https://registry.yarnpkg.com/emotion/-/emotion-10.0.14.tgz#d7702a6147de6e8ce863dacde98418a467c5fed4" integrity sha512-6cTWfwqVGy9UinGSZQKRGyuRsRGkzlT0MaeH2pF4BvL7u6PnyTZeyHj4INwzpaXBLwA9C0JaFqS31J62RWUNNw== @@ -5191,6 +5081,11 @@ entities@^1.1.1: resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== +entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + err-code@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" @@ -5240,7 +5135,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: es6-symbol "~3.1.1" next-tick "^1.0.0" -es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: +es6-iterator@2.0.3, es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -5301,12 +5196,12 @@ escodegen@^1.11.0, escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-react-app@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-4.0.1.tgz#23fd0fd7ea89442ef1e733f66a7207674b23c8db" - integrity sha512-ZsaoXUIGsK8FCi/x4lT2bZR5mMkL/Kgj+Lnw690rbvvUr/uiwgFiD8FcfAhkCycm7Xte6O5lYz4EqMx2vX7jgw== +eslint-config-react-app@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.0.tgz#b3639e96fccc24eaaa63c92fc2f4358f79f22fb2" + integrity sha512-d3hbvu14J1Iy7N+XvrMOMXmw32iIGGIHqg7DK0RqA6UxKOix+Z53fuQ/uf2NqasSse3uHUNB1EvuZ8Iw2bzd3g== dependencies: - confusing-browser-globals "^1.0.7" + confusing-browser-globals "^1.0.8" eslint-import-resolver-node@^0.3.2: version "0.3.2" @@ -5316,10 +5211,10 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.5.0" -eslint-loader@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.2.tgz#453542a1230d6ffac90e4e7cb9cadba9d851be68" - integrity sha512-rA9XiXEOilLYPOIInvVH5S/hYfyTPyxag6DZhoQOduM+3TkghAEQ3VcFO8VnX4J4qg/UIBzp72aOf/xvYmpmsg== +eslint-loader@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" + integrity sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg== dependencies: loader-fs-cache "^1.0.0" loader-utils "^1.0.2" @@ -5327,7 +5222,7 @@ eslint-loader@2.1.2: object-hash "^1.1.4" rimraf "^2.6.1" -eslint-module-utils@^2.3.0: +eslint-module-utils@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== @@ -5335,34 +5230,36 @@ eslint-module-utils@^2.3.0: debug "^2.6.8" pkg-dir "^2.0.0" -eslint-plugin-flowtype@2.50.1: - version "2.50.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.1.tgz#36d4c961ac8b9e9e1dc091d3fba0537dad34ae8a" - integrity sha512-9kRxF9hfM/O6WGZcZPszOVPd2W0TLHBtceulLTsGfwMPtiCCLnCW0ssRiOOiXyqrCA20pm1iXdXm7gQeN306zQ== +eslint-plugin-flowtype@3.13.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" + integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== dependencies: - lodash "^4.17.10" + lodash "^4.17.15" -eslint-plugin-import@2.16.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" - integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== +eslint-plugin-import@2.18.2: + version "2.18.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" + integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== dependencies: + array-includes "^3.0.3" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.3.0" + eslint-module-utils "^2.4.0" has "^1.0.3" - lodash "^4.17.11" minimatch "^3.0.4" + object.values "^1.1.0" read-pkg-up "^2.0.0" - resolve "^1.9.0" + resolve "^1.11.0" -eslint-plugin-jsx-a11y@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c" - integrity sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w== +eslint-plugin-jsx-a11y@6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== dependencies: + "@babel/runtime" "^7.4.5" aria-query "^3.0.0" array-includes "^3.0.3" ast-types-flow "^0.0.7" @@ -5370,25 +5267,27 @@ eslint-plugin-jsx-a11y@6.2.1: damerau-levenshtein "^1.0.4" emoji-regex "^7.0.2" has "^1.0.3" - jsx-ast-utils "^2.0.1" + jsx-ast-utils "^2.2.1" -eslint-plugin-react-hooks@^1.5.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.6.1.tgz#3c66a5515ea3e0a221ffc5d4e75c971c217b1a4c" - integrity sha512-wHhmGJyVuijnYIJXZJHDUF2WM+rJYTjulUTqF9k61d3BTk8etydz+M4dXUVH7M76ZRS85rqBTCx0Es/lLsrjnA== +eslint-plugin-react-hooks@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== -eslint-plugin-react@7.12.4: - version "7.12.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== +eslint-plugin-react@7.14.3: + version "7.14.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" + integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA== dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.0.1" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" eslint-scope@3.7.1: version "3.7.1" @@ -5406,6 +5305,14 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" + integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + eslint-utils@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c" @@ -5418,52 +5325,53 @@ eslint-visitor-keys@^1.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@^5.16.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" - integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== +eslint@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646" + integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ== dependencies: "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" + ajv "^6.10.0" chalk "^2.1.0" cross-spawn "^6.0.5" debug "^4.0.1" doctrine "^3.0.0" - eslint-scope "^4.0.3" + eslint-scope "^5.0.0" eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^5.0.1" + espree "^6.0.0" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" - glob "^7.1.2" + glob-parent "^5.0.0" globals "^11.7.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^6.2.2" - js-yaml "^3.13.0" + inquirer "^6.4.1" + is-glob "^4.0.0" + js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.11" + lodash "^4.17.14" minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.2" progress "^2.0.0" regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" table "^5.2.3" text-table "^0.2.0" + v8-compile-cache "^2.0.3" -espree@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== +espree@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.0.0.tgz#716fc1f5a245ef5b9a7fdb1d7b0d3f02322e75f6" + integrity sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q== dependencies: acorn "^6.0.7" acorn-jsx "^5.0.0" @@ -5499,9 +5407,9 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= esutils@^2.0.0, esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" @@ -5664,7 +5572,7 @@ ethereum-common@^0.0.18: "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": version "0.6.7" - resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#8431eab7b3384e65e8126a4602520b78031666fb" + resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#d700d091f79c06f4e27872f4a1d7b153986cc3dd" dependencies: bn.js "^4.11.8" ethereumjs-util "^6.0.0" @@ -5701,9 +5609,9 @@ ethereumjs-block@~2.2.0: merkle-patricia-tree "^2.1.2" ethereumjs-common@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.0.tgz#ca7d152b615d5e1851fcf184d062bf14c62c18e6" - integrity sha512-/jdFHyHOIS3FiAnunwRZ+oNulFtNNSHyWii3PaNHReOUmBAxij7KMyZLKh0tE16JEsJtXOVz1ceYuq++ILzv+g== + version "1.3.1" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.1.tgz#a5cffac41beb7ad393283b2e5aa71fadf8a9cc73" + integrity sha512-kexqNgM2q29RKoZPPjehPREeqbr/vhYfT9Ho8FVeH3f7USjBuYp1iZ1qjqklk8FSMvEKPpMJFYSOunikw30Prw== ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.7: version "1.3.7" @@ -5809,11 +5717,16 @@ eventemitter3@3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== -eventemitter3@3.1.2, eventemitter3@^3.0.0, eventemitter3@^3.1.0: +eventemitter3@3.1.2, eventemitter3@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== +eventemitter3@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" + integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== + events@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" @@ -6087,6 +6000,13 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" +figures@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9" + integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g== + dependencies: + escape-string-regexp "^1.0.5" + file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -6159,7 +6079,7 @@ find-cache-dir@^0.1.1: mkdirp "^0.5.1" pkg-dir "^1.0.0" -find-cache-dir@^2.0.0: +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -6316,10 +6236,10 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.1.1.tgz#caf2a210778fb1e171b6993ca0a40f9b6589e3b7" - integrity sha512-gqWAEMLlae/oeVnN6RWCAhesOJMswAN1MaKNqhhjXHV5O0/rTUjWI4UbgQHdlrVbCnb+xLotXmJbBlC66QmpFw== +fork-ts-checker-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" + integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA== dependencies: babel-code-frame "^6.22.0" chalk "^2.4.1" @@ -6417,10 +6337,10 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.6.tgz#87b19df0bfb4a1a51d7ddb51b01b5f3bedb40c33" - integrity sha512-vfmKZp3XPM36DNF0qhW+Cdxk7xm7gTEHY1clv1Xq1arwRQuKZgAhw+NZNWbJBtuaNxzNXwhfdPYRrvIbjfS33A== +fsevents@2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" + integrity sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ== fsevents@^1.2.7: version "1.2.9" @@ -6548,6 +6468,13 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-parent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" + integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== + dependencies: + is-glob "^4.0.1" + glob-stream@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" @@ -6732,9 +6659,9 @@ got@^7.1.0: url-to-options "^1.0.1" graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.0" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" - integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== + version "4.2.1" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" + integrity sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw== "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -6792,13 +6719,13 @@ gulplog@^1.0.0: dependencies: glogg "^1.0.0" -gzip-size@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" - integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA== +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== dependencies: duplexer "^0.1.1" - pify "^3.0.0" + pify "^4.0.1" handle-thing@^2.0.0: version "2.0.0" @@ -6989,9 +6916,9 @@ homedir-polyfill@^1.0.1: parse-passwd "^1.0.0" hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + version "2.8.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" + integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== hpack.js@^2.1.6: version "2.1.6" @@ -7330,7 +7257,7 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -infer-owner@^1.0.3: +infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== @@ -7363,10 +7290,10 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" - integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== +inquirer@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" + integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -7374,30 +7301,30 @@ inquirer@6.2.2: cli-width "^2.0.0" external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.17.11" + lodash "^4.17.12" mute-stream "0.0.7" run-async "^2.2.0" rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^5.0.0" + strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^6.2.2: - version "6.5.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== +inquirer@^6.4.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.1.tgz#8bfb7a5ac02dac6ff641ac4c5ff17da112fcdb42" + integrity sha512-uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw== dependencies: - ansi-escapes "^3.2.0" + ansi-escapes "^4.2.1" chalk "^2.4.2" - cli-cursor "^2.1.0" + cli-cursor "^3.1.0" cli-width "^2.0.0" external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" run-async "^2.2.0" rxjs "^6.4.0" - string-width "^2.1.0" + string-width "^4.1.0" strip-ansi "^5.1.0" through "^2.3.6" @@ -7612,6 +7539,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" @@ -7629,7 +7561,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: +is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -7758,10 +7690,10 @@ is-retry-allowed@^1.0.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= -is-root@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019" - integrity sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg== +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" @@ -7918,7 +7850,7 @@ jest-changed-files@^24.8.0: execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.7.1: +jest-cli@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" integrity sha512-+p6J00jSMPQ116ZLlHJJvdf8wbjNbZdeSX9ptfHX06/MSNaXmKihQzx5vQcw0q2G6JsdVkUIdWbOWtSnaYs3yA== @@ -8123,18 +8055,7 @@ jest-resolve-dependencies@^24.8.0: jest-regex-util "^24.3.0" jest-snapshot "^24.8.0" -jest-resolve@24.7.1: - version "24.7.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.7.1.tgz#e4150198299298380a75a9fd55043fa3b9b17fde" - integrity sha512-Bgrc+/UUZpGJ4323sQyj85hV9d+ANyPNu6XfRDUcyFNX1QrZpSoM0kE4Mb2vZMAYTJZsBFzYe8X1UaOkOELSbw== - dependencies: - "@jest/types" "^24.7.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-resolve@^24.8.0: +jest-resolve@24.8.0, jest-resolve@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" integrity sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw== @@ -8252,10 +8173,10 @@ jest-validate@^24.8.0: leven "^2.1.0" pretty-format "^24.8.0" -jest-watch-typeahead@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.3.0.tgz#f56d9ee17ea71ecbf8253fed213df3185a1584c9" - integrity sha512-+uOtlppt9ysST6k6ZTqsPI0WNz2HLa8bowiZylZoQCQaAVn7XsVmHhZREkz73FhKelrFrpne4hQQjdq42nFEmA== +jest-watch-typeahead@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.3.1.tgz#47701024b64b444aa325d801b4b3a6d61ed70701" + integrity sha512-cDIko96c4Yqg/7mfye1eEYZ6Pvugo9mnOOhGQod3Es7/KptNv1b+9gFVaotzdqNqTlwbkA80BnWHtzV4dc+trA== dependencies: ansi-escapes "^3.0.0" chalk "^2.4.1" @@ -8285,13 +8206,13 @@ jest-worker@^24.6.0: merge-stream "^1.0.1" supports-color "^6.1.0" -jest@24.7.1: - version "24.7.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.7.1.tgz#0d94331cf510c75893ee32f87d7321d5bf8f2501" - integrity sha512-AbvRar5r++izmqo5gdbAjTeA6uNRGoNRuj5vHB0OnDXo2DXWZJVuaObiGgtlvhKb+cWy2oYbQSfxv7Q7GjnAtA== +jest@24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" + integrity sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg== dependencies: import-local "^2.0.0" - jest-cli "^24.7.1" + jest-cli "^24.8.0" jju@^1.1.0: version "1.4.0" @@ -8328,7 +8249,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.13.1: +js-yaml@^3.12.0, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -8555,7 +8476,7 @@ jssha@2.3.1: resolved "https://registry.yarnpkg.com/jssha/-/jssha-2.3.1.tgz#147b2125369035ca4b2f7d210dc539f009b3de9a" integrity sha1-FHshJTaQNcpLL30hDcU58Amz3po= -jsx-ast-utils@^2.0.1: +jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== @@ -8629,7 +8550,7 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== -kleur@^3.0.2: +kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== @@ -8832,7 +8753,7 @@ loader-fs-cache@^1.0.0: find-cache-dir "^0.1.1" mkdirp "0.5.1" -loader-runner@^2.3.0: +loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== @@ -8896,11 +8817,6 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.tail@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" - integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ= - lodash.template@^4.4.0, lodash.template@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" @@ -8926,7 +8842,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -9121,7 +9037,7 @@ memoize-one@^5.0.0: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e" integrity sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ== -memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: +memory-fs@^0.4.0, memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -9167,9 +9083,9 @@ merge-stream@^1.0.1: readable-stream "^2.0.1" merge2@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" - integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== + version "1.2.4" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" + integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A== merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: version "2.3.2" @@ -9195,7 +9111,7 @@ microevent.ts@~0.1.1: resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -9239,7 +9155,7 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.0.3, mime@^2.4.2: +mime@^2.4.2, mime@^2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== @@ -9249,7 +9165,7 @@ 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-fn@^2.0.0: +mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -9370,7 +9286,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -9437,12 +9353,17 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + 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== -nan@^2.11.0, nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1, nan@^2.3.3: +nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -9488,7 +9409,7 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0: +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== @@ -9573,7 +9494,7 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-libs-browser@^2.0.0: +node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== @@ -9608,9 +9529,9 @@ node-modules-regexp@^1.0.0: integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= node-notifier@^5.2.1: - version "5.4.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" - integrity sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ== + version "5.4.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.1.tgz#7c0192cc63aedb25cd99619174daa27902b10903" + integrity sha512-p52B+onAEHKW1OF9MGO/S7k/ahGEHfhP5/tvwYzog/5XLYOd8ZuD6vdNZdUuWMONRnKPneXV43v3s6Snx1wsCQ== dependencies: growly "^1.3.0" is-wsl "^1.1.0" @@ -9634,10 +9555,10 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.13, node-releases@^1.1.25: - version "1.1.26" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz#f30563edc5c7dc20cf524cc8652ffa7be0762937" - integrity sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ== +node-releases@^1.1.25: + version "1.1.27" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.27.tgz#b19ec8add2afe9a826a99dceccc516104c1edaf4" + integrity sha512-9iXUqHKSGo6ph/tdXVbHFbhRVQln4ZDTIBJCzsa90HimnBYc5jw8RWYt4wBYFHehGyC3koIz5O4mb2fHrbPOuA== dependencies: semver "^5.3.0" @@ -9728,28 +9649,28 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-check-updates@^3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.20.tgz#9dd719bc04af9c273b33b44a7d5368d5e85ae9c2" - integrity sha512-mc9BAoOYSTwP/IvoA+ofdkWSipwRvhgC0qop1PvlMZojgzi7N/dykdxOIWrw0OlZPnEKvXkKFEuPk97LrvXE1A== +npm-check-updates@^3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.21.tgz#3aa7bff3569784fce12b190d152d1dc632d2e37c" + integrity sha512-t7KygdHZ1cF2jS6kcOPiUg6s53Sq5jcOqHnddOe92qW7Xd4mh9AUT52OYYQ0YfAiP7VIdZ5379/G/atG6J0WDA== dependencies: chalk "^2.4.2" cint "^8.2.1" cli-table "^0.3.1" - commander "^2.20.0" + commander "^3.0.0" fast-diff "^1.2.0" find-up "4.1.0" get-stdin "^7.0.0" json-parse-helpfulerror "^1.0.3" libnpmconfig "^1.2.1" - lodash "^4.17.13" + lodash "^4.17.15" node-alias "^1.0.4" - pacote "^9.5.1" + pacote "^9.5.4" progress "^2.0.3" - prompts "^2.1.0" + prompts "^2.2.1" rc-config-loader "^2.0.4" requireg "^0.2.2" - semver "^6.2.0" + semver "^6.3.0" semver-utils "^1.1.4" spawn-please "^0.3.0" update-notifier "^3.0.1" @@ -9879,6 +9800,11 @@ object-keys@~0.4.0: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= +object-path@0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= + object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -9906,6 +9832,16 @@ object.defaults@^1.0.0, object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" +object.entries@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" + integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + object.fromentries@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" @@ -9995,18 +9931,25 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + openzeppelin-solidity@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz#1ab7b4cc3782a5472ed61eb740c56a8bfdd74119" integrity sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw== -opn@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" - integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== - dependencies: - is-wsl "^1.1.0" - opn@^5.1.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -10022,12 +9965,12 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optimize-css-assets-webpack-plugin@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz#9eb500711d35165b45e7fd60ba2df40cb3eb9159" - integrity sha512-Rqm6sSjWtx9FchdP0uzTQDc7GXDKnwVEGoSxjezPkzMewx7gEWE9IMUYKmigTRC4U3RaNSwYVnUDLuIdtTpm0A== +optimize-css-assets-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA== dependencies: - cssnano "^4.1.0" + cssnano "^4.1.10" last-call-webpack-plugin "^3.0.0" optionator@^0.8.1, optionator@^0.8.2: @@ -10199,16 +10142,17 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pacote@^9.5.1: - version "9.5.4" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.4.tgz#8baa26f3d1326d13dc2fe0fe84040a364ae30aad" - integrity sha512-nWr0ari6E+apbdoN0hToTKZElO5h4y8DGFa2pyNA5GQIdcP0imC96bA0bbPw1gpeguVIiUgHHaAlq/6xfPp8Qw== +pacote@^9.5.4: + version "9.5.5" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.5.tgz#63355a393614c3424e735820c3731e2cbbedaeeb" + integrity sha512-jAEP+Nqj4kyMWyNpfTU/Whx1jA7jEc5cCOlurm0/0oL+v8TAp1QSsK83N7bYe+2bEdFzMAtPG5TBebjzzGV0cA== dependencies: bluebird "^3.5.3" - cacache "^12.0.0" + cacache "^12.0.2" figgy-pudding "^3.5.1" get-stream "^4.1.0" glob "^7.1.3" + infer-owner "^1.0.4" lru-cache "^5.1.1" make-fetch-happen "^5.0.0" minimatch "^3.0.4" @@ -10366,7 +10310,7 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= @@ -10521,12 +10465,12 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -pnp-webpack-plugin@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.2.1.tgz#cd9d698df2a6fcf7255093c1c9511adf65b9421b" - integrity sha512-W6GctK7K2qQiVR+gYSv/Gyt6jwwIH4vwdviFqx+Y2jAtVf5eZyYIDf5Ac2NCDMBiX5yWscBLZElPTsyA1UtVVA== +pnp-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" + integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg== dependencies: - ts-pnp "^1.0.0" + ts-pnp "^1.1.2" portfinder@^1.0.9: version "1.0.21" @@ -10584,7 +10528,7 @@ postcss-color-gray@^5.0.0: postcss "^7.0.5" postcss-values-parser "^2.0.0" -postcss-color-hex-alpha@^5.0.2: +postcss-color-hex-alpha@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== @@ -10628,14 +10572,14 @@ postcss-convert-values@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" -postcss-custom-media@^7.0.7: +postcss-custom-media@^7.0.8: version "7.0.8" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== dependencies: postcss "^7.0.14" -postcss-custom-properties@^8.0.9: +postcss-custom-properties@^8.0.11: version "8.0.11" resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== @@ -10890,9 +10834,9 @@ postcss-modules-values@^2.0.0: postcss "^7.0.6" postcss-nesting@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.0.tgz#6e26a770a0c8fcba33782a6b6f350845e1a448f6" - integrity sha512-WSsbVd5Ampi3Y0nk/SKr5+K34n52PqMqEfswu6RtU4r7wA8vSD+gM8/D9qq4aJkHImwn1+9iEFTbjoWsQeqtaQ== + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== dependencies: postcss "^7.0.2" @@ -11018,27 +10962,27 @@ postcss-place@^4.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" -postcss-preset-env@6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.6.0.tgz#642e7d962e2bdc2e355db117c1eb63952690ed5b" - integrity sha512-I3zAiycfqXpPIFD6HXhLfWXIewAWO8emOKz+QSsxaUZb9Dp8HbF5kUf+4Wy/AxR33o+LRoO8blEWCHth0ZsCLA== +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== dependencies: - autoprefixer "^9.4.9" - browserslist "^4.4.2" - caniuse-lite "^1.0.30000939" + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" css-blank-pseudo "^0.1.4" css-has-pseudo "^0.10.0" css-prefers-color-scheme "^3.1.1" - cssdb "^4.3.0" - postcss "^7.0.14" + cssdb "^4.4.0" + postcss "^7.0.17" postcss-attribute-case-insensitive "^4.0.1" postcss-color-functional-notation "^2.0.1" postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.2" + postcss-color-hex-alpha "^5.0.3" postcss-color-mod-function "^3.0.3" postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.7" - postcss-custom-properties "^8.0.9" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" postcss-custom-selectors "^5.1.2" postcss-dir-pseudo-class "^5.0.0" postcss-double-position-gradients "^1.0.0" @@ -11171,9 +11115,9 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== postcss-value-parser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz#99a983d365f7b2ad8d0f9b8c3094926eab4b936d" - integrity sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" + integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" @@ -11184,6 +11128,15 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" +postcss@7.0.14: + version "7.0.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" + integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: version "7.0.17" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" @@ -11214,9 +11167,9 @@ prepend-http@^2.0.0: integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= pretty-bytes@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.2.0.tgz#96c92c6e95a0b35059253fb33c03e260d40f5a1f" - integrity sha512-ujANBhiUsl9AhREUDUEY1GPOharMGm8x8juS7qOHybcLi7XsKfrYQ88hSly1l2i0klXHTDYrlL8ihMCG55Dc3w== + version "5.3.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" + integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== pretty-error@^2.1.1: version "2.1.1" @@ -11287,20 +11240,20 @@ promise-to-callback@^1.0.0: is-fn "^1.0.0" set-immediate-shim "^1.0.1" -promise@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.2.tgz#9dcd0672192c589477d56891271bdc27547ae9f0" - integrity sha512-EIyzM39FpVOMbqgzEHhxdrEhtOSDOtjMZQ0M6iVfCE+kWNgCkAyOdnuCWqfmflylftfadU6FkiMgHZA2kUzwRw== +promise@8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz#f592e099c6cddc000d538ee7283bb190452b0bf6" + integrity sha512-HeRDUL1RJiLhyA0/grn+PTShlBAcLuh/1BJGtrvjwbvRDCTLLMEz9rOGCV+R3vHY4MixIuoMEd9Yq/XvsTPcjw== dependencies: asap "~2.0.6" -prompts@^2.0.1, prompts@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" - integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg== +prompts@^2.0.1, prompts@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" + integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== dependencies: - kleur "^3.0.2" - sisteransi "^1.0.0" + kleur "^3.0.3" + sisteransi "^1.0.3" prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" @@ -11337,9 +11290,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.2.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" - integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" + integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== public-encrypt@^4.0.0: version "4.0.3" @@ -11413,10 +11366,10 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@*, query-string@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.1.tgz#62c54a7ef37d01b538c8fd56f95740c81d438a26" - integrity sha512-g6y0Lbq10a5pPQpjlFuojfMfV1Pd2Jw9h75ypiYPPia3Gcq2rgkKiIwbkS6JxH7c5f5u/B/sB+d13PU+g1eu4Q== +query-string@*, query-string@^6.8.2: + version "6.8.2" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.2.tgz#36cb7e452ae11a4b5e9efee83375e0954407b2f6" + integrity sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -11511,16 +11464,16 @@ rc@^1.2.7, rc@^1.2.8, rc@~1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-app-polyfill@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.1.tgz#809a858e44f9564c7f4205e173076f90048274f1" - integrity sha512-LbVpT1NdzTdDDs7xEZdebjDrqsvKi5UyVKUQqtTYYNyC1JJYVAwNQWe4ybWvoT2V2WW9PGVO2u5Y6aVj4ER/Ow== +react-app-polyfill@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.2.tgz#2a51175885c88245a2a356dc46df29f38ec9f060" + integrity sha512-yZcpLnIr0FOIzrOOz9JC37NWAWEuCaQWmYn9EWjEzlCW4cOmA5MkT5L3iP8QuUeFnoqVCTJgjIWYbXEJgNXhGA== dependencies: - core-js "3.0.1" + core-js "3.1.4" object-assign "4.1.1" - promise "8.0.2" + promise "8.0.3" raf "3.4.1" - regenerator-runtime "0.13.2" + regenerator-runtime "0.13.3" whatwg-fetch "3.0.0" react-chartjs-2@^2.7.6: @@ -11531,48 +11484,48 @@ react-chartjs-2@^2.7.6: lodash "^4.17.4" prop-types "^15.5.8" -react-dev-utils@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.1.tgz#5c03d85a0b2537d0c46af7165c24a7dfb274bef2" - integrity sha512-pnaeMo/Pxel8aZpxk1WwxT3uXxM3tEwYvsjCYn5R7gNxjhN1auowdcLDzFB8kr7rafAj2rxmvfic/fbac5CzwQ== +react-dev-utils@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.2.tgz#14f9a75120513967e13599d4f66d43bced7a3fce" + integrity sha512-AHVfRepMzZJyJHCNFAsrAG4El1H5v+27c1XkeDoX6pSmdhT/ZDdAN3Mf7DKYcrbIFlubzVYof6NZDnPBjd0CNA== dependencies: - "@babel/code-frame" "7.0.0" - address "1.0.3" - browserslist "4.5.4" + "@babel/code-frame" "7.5.5" + address "1.1.0" + browserslist "4.6.6" chalk "2.4.2" cross-spawn "6.0.5" detect-port-alt "1.1.6" escape-string-regexp "1.0.5" filesize "3.6.1" find-up "3.0.0" - fork-ts-checker-webpack-plugin "1.1.1" + fork-ts-checker-webpack-plugin "1.5.0" global-modules "2.0.0" globby "8.0.2" - gzip-size "5.0.0" + gzip-size "5.1.1" immer "1.10.0" - inquirer "6.2.2" - is-root "2.0.0" + inquirer "6.5.0" + is-root "2.1.0" loader-utils "1.2.3" - opn "5.4.0" + open "^6.3.0" pkg-up "2.0.0" - react-error-overlay "^5.1.6" + react-error-overlay "^6.0.0" recursive-readdir "2.2.2" shell-quote "1.6.1" sockjs-client "1.3.0" strip-ansi "5.2.0" text-table "0.2.0" -react-dom@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" - integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== +react-dom@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962" + integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.6" + scheduler "^0.15.0" -react-element-to-jsx-string@^14.0.2: +react-element-to-jsx-string@^14.0.3: version "14.0.3" resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.3.tgz#64f50fdbf6ba154d6439da3d7307f79069b94d58" integrity sha512-ziZAm7OwEfFtyhCmQiFNI87KFu+G9EP8qVW4XtDHdKNqqprYifLzqXkzHqC1vnVsPhyp2znoPm0bJHAf1mUBZA== @@ -11580,10 +11533,10 @@ react-element-to-jsx-string@^14.0.2: is-plain-object "3.0.0" stringify-object "3.3.0" -react-error-overlay@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.6.tgz#0cd73407c5d141f9638ae1e0c63e7b2bf7e9929d" - integrity sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q== +react-error-overlay@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.0.tgz#485beca3db57e8ec2d934d4ee598754467229499" + integrity sha512-oHf3b1J2Pxu03apiHvP21qBCkj6fG6A3c3ahya3fX0VXEZUTzIRLwZI9eZ/6cuOO+kvnzdVdGBxZlo+Tjh+hfQ== react-input-autosize@^2.2.1: version "2.2.1" @@ -11593,9 +11546,9 @@ react-input-autosize@^2.2.1: prop-types "^15.5.8" react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" - integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" + integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -11614,7 +11567,7 @@ react-redux@^7.1.0: prop-types "^15.7.2" react-is "^16.8.6" -react-router-dom@^5.0.0, react-router-dom@^5.0.1: +react-router-dom@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.1.tgz#ee66f4a5d18b6089c361958e443489d6bab714be" integrity sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA== @@ -11627,7 +11580,7 @@ react-router-dom@^5.0.0, react-router-dom@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.0.1, react-router@^5.0.0: +react-router@5.0.1, react-router@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" integrity sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg== @@ -11643,65 +11596,66 @@ react-router@5.0.1, react-router@^5.0.0: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-scripts@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.0.1.tgz#e5565350d8069cc9966b5998d3fe3befe3d243ac" - integrity sha512-LKEjBhVpEB+c312NeJhzF+NATxF7JkHNr5GhtwMeRS1cMeLElMeIu8Ye7WGHtDP7iz7ra4ryy48Zpo6G/cwWUw== - dependencies: - "@babel/core" "7.4.3" - "@svgr/webpack" "4.1.0" - "@typescript-eslint/eslint-plugin" "1.6.0" - "@typescript-eslint/parser" "1.6.0" - babel-eslint "10.0.1" +react-scripts@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.0.tgz#f4c4133072908e709a23864ccb49076ccbeb766b" + integrity sha512-JuccnZ+mKYhufZSxNoikMMX7KKvpq4dhiyR4jzsKDMJIu0fcdcXvjnBWKNMzRKmeXnmbeCjo1K9N/I57ZYpp4w== + dependencies: + "@babel/core" "7.5.5" + "@svgr/webpack" "4.3.2" + "@typescript-eslint/eslint-plugin" "1.13.0" + "@typescript-eslint/parser" "1.13.0" + babel-eslint "10.0.2" babel-jest "^24.8.0" - babel-loader "8.0.5" - babel-plugin-named-asset-import "^0.3.2" - babel-preset-react-app "^9.0.0" + babel-loader "8.0.6" + babel-plugin-named-asset-import "^0.3.3" + babel-preset-react-app "^9.0.1" camelcase "^5.2.0" case-sensitive-paths-webpack-plugin "2.2.0" css-loader "2.1.1" dotenv "6.2.0" dotenv-expand "4.2.0" - eslint "^5.16.0" - eslint-config-react-app "^4.0.1" - eslint-loader "2.1.2" - eslint-plugin-flowtype "2.50.1" - eslint-plugin-import "2.16.0" - eslint-plugin-jsx-a11y "6.2.1" - eslint-plugin-react "7.12.4" - eslint-plugin-react-hooks "^1.5.0" + eslint "^6.1.0" + eslint-config-react-app "^5.0.0" + eslint-loader "2.2.1" + eslint-plugin-flowtype "3.13.0" + eslint-plugin-import "2.18.2" + eslint-plugin-jsx-a11y "6.2.3" + eslint-plugin-react "7.14.3" + eslint-plugin-react-hooks "^1.6.1" file-loader "3.0.1" fs-extra "7.0.1" html-webpack-plugin "4.0.0-beta.5" identity-obj-proxy "3.0.0" is-wsl "^1.1.0" - jest "24.7.1" + jest "24.8.0" jest-environment-jsdom-fourteen "0.1.0" - jest-resolve "24.7.1" - jest-watch-typeahead "0.3.0" + jest-resolve "24.8.0" + jest-watch-typeahead "0.3.1" mini-css-extract-plugin "0.5.0" - optimize-css-assets-webpack-plugin "5.0.1" - pnp-webpack-plugin "1.2.1" + optimize-css-assets-webpack-plugin "5.0.3" + pnp-webpack-plugin "1.5.0" postcss-flexbugs-fixes "4.1.0" postcss-loader "3.0.0" postcss-normalize "7.0.1" - postcss-preset-env "6.6.0" + postcss-preset-env "6.7.0" postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.1" - react-dev-utils "^9.0.1" - resolve "1.10.0" - sass-loader "7.1.0" - semver "6.0.0" - style-loader "0.23.1" - terser-webpack-plugin "1.2.3" + react-app-polyfill "^1.0.2" + react-dev-utils "^9.0.2" + resolve "1.12.0" + resolve-url-loader "3.1.0" + sass-loader "7.2.0" + semver "6.3.0" + style-loader "1.0.0" + terser-webpack-plugin "1.4.1" ts-pnp "1.1.2" - url-loader "1.1.2" - webpack "4.29.6" + url-loader "2.1.0" + webpack "4.39.1" webpack-dev-server "3.2.1" webpack-manifest-plugin "2.0.4" - workbox-webpack-plugin "4.2.0" + workbox-webpack-plugin "4.3.1" optionalDependencies: - fsevents "2.0.6" + fsevents "2.0.7" react-select@^3.0.4: version "3.0.4" @@ -11749,15 +11703,14 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.8.6: - version "16.8.6" - resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" - integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== +react@^16.9.0: + version "16.9.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" + integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.13.6" read-pkg-up@^1.0.1: version "1.0.1" @@ -11908,7 +11861,7 @@ redux@^4.0.0, redux@^4.0.4: loose-envify "^1.4.0" symbol-observable "^1.2.0" -regenerate-unicode-properties@^8.0.2: +regenerate-unicode-properties@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== @@ -11920,21 +11873,16 @@ regenerate@^1.2.1, regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== -regenerator-runtime@0.13.2: - version "0.13.2" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" - integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== +regenerator-runtime@0.13.3, regenerator-runtime@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - regenerator-transform@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" @@ -11959,6 +11907,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regex-parser@2.2.10: + version "2.2.10" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" + integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== + regexp-tree@^0.1.6: version "0.1.11" resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" @@ -11979,12 +11932,12 @@ regexpu-core@^2.0.0: regjsparser "^0.1.4" regexpu-core@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" - integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== + version "4.5.5" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" + integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^8.0.2" + regenerate-unicode-properties "^8.1.0" regjsgen "^0.5.0" regjsparser "^0.6.0" unicode-match-property-ecmascript "^1.0.4" @@ -12169,11 +12122,6 @@ requireg@^0.2.2: rc "~1.2.7" resolve "~1.7.1" -requireindex@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" - integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww== - requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -12216,6 +12164,22 @@ resolve-pathname@^2.2.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== +resolve-url-loader@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc" + integrity sha512-2QcrA+2QgVqsMJ1Hn5NnJXIGCX1clQ1F6QJTqOeiaDw9ACo1G2k+8/shq3mtqne03HOFyskAClqfxKyFBriXZg== + dependencies: + adjust-sourcemap-loader "2.0.0" + camelcase "5.0.0" + compose-function "3.0.3" + convert-source-map "1.6.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.14" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -12226,14 +12190,14 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" - integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== +resolve@1.12.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== dependencies: path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1, resolve@^1.9.0, resolve@~1.11.1: +resolve@~1.11.1: version "1.11.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== @@ -12262,6 +12226,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" @@ -12279,6 +12251,19 @@ retry@^0.10.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -12348,7 +12333,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== @@ -12397,16 +12382,15 @@ sass-graph@^2.2.4: scss-tokenizer "^0.2.3" yargs "^7.0.0" -sass-loader@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d" - integrity sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w== +sass-loader@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f" + integrity sha512-h8yUWaWtsbuIiOCgR9fd9c2lRXZ2uG+h8Dzg/AGNj+Hg/3TO8+BBAW9mEP+mh8ei+qBKqSJ0F1FLlYjNBc61OA== dependencies: - clone-deep "^2.0.1" + clone-deep "^4.0.1" loader-utils "^1.0.1" - lodash.tail "^4.1.1" neo-async "^2.5.0" - pify "^3.0.0" + pify "^4.0.1" semver "^5.5.0" sax@^1.2.4, sax@~1.2.4: @@ -12421,10 +12405,10 @@ saxes@^3.1.9: dependencies: xmlchars "^2.1.1" -scheduler@^0.13.6: - version "0.13.6" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" - integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ== +scheduler@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" + integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -12438,6 +12422,14 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +schema-utils@^2.0.0, schema-utils@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393" + integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw== + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + scrypt-js@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" @@ -12448,25 +12440,11 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== -scrypt.js@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" - integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== - dependencies: - scryptsy "^1.2.1" - scryptsy@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== -scryptsy@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" - integrity sha1-oyJfpLJST4AnAHYeKFW987LZIWM= - dependencies: - pbkdf2 "^3.0.3" - scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" @@ -12533,26 +12511,21 @@ semver-utils@^1.1.4: integrity sha512-EjnoLE5OGmDAVV/8YDoN5KiajNadjzIp9BAHOhYeQHt7j0UWxjmgsx4YD48wp4Ue1Qogq38F1GNUJNqF1kKKxA== "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== -semver@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.0.0.tgz#05e359ee571e5ad7ed641a6eec1e547ba52dea65" - integrity sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ== - semver@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== -semver@^6.0.0, semver@^6.1.1, semver@^6.2.0: +semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -12586,7 +12559,7 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^1.4.0, serialize-javascript@^1.7.0: +serialize-javascript@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== @@ -12690,14 +12663,12 @@ shallow-clone@^0.1.2: lazy-cache "^0.2.3" mixin-object "^2.0.1" -shallow-clone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" - integrity sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA== +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: - is-extendable "^0.1.1" - kind-of "^5.0.0" - mixin-object "^2.0.1" + kind-of "^6.0.2" shebang-command@^1.2.0: version "1.2.0" @@ -12752,10 +12723,10 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418" - integrity sha512-ZcYcZcT69nSLAR2oLN2JwNmLkJEKGooFMCdvOkFrToUt/WfcRWqhIg4P4KwY4dmLbuyXIx4o4YmPsvMRJYJd/w== +sisteransi@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" + integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== slash@^1.0.0: version "1.0.0" @@ -12852,7 +12823,7 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-resolve@^0.5.0: +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== @@ -12870,10 +12841,10 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.6, source-map-support@~0.5.10, source-map-support@~0.5.12: - version "0.5.12" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" - integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== +source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -12883,6 +12854,11 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + source-map@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" @@ -12895,11 +12871,6 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - sparkles@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" @@ -12949,9 +12920,9 @@ spdy-transport@^3.0.0: wbuf "^1.7.3" spdy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" - integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q== + version "4.0.1" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz#6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2" + integrity sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA== dependencies: debug "^4.1.0" handle-thing "^2.0.0" @@ -13119,6 +13090,15 @@ string-width@^3.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" + integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^5.2.0" + string.prototype.trim@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" @@ -13138,11 +13118,11 @@ string.prototype.trim@~1.1.2: function-bind "^1.0.2" string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - safe-buffer "~5.1.0" + safe-buffer "~5.2.0" string_decoder@~0.10.x: version "0.10.31" @@ -13165,7 +13145,7 @@ stringify-object@3.3.0, stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0: +strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -13237,13 +13217,18 @@ strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@0.23.1: - version "0.23.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" - integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== +strip-json-comments@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + +style-loader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" + integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" + loader-utils "^1.2.3" + schema-utils "^2.0.1" stylehacks@^4.0.0: version "4.0.3" @@ -13334,16 +13319,16 @@ symbol-tree@^3.2.2: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: - version "5.4.4" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.4.tgz#6e0f88fdae3692793d1077fd172a4667afe986a6" - integrity sha512-IIfEAUx5QlODLblLrGTTLJA7Tk0iLSGBvgY8essPRVNGHAzThujww1YqHLs6h3HfTg55h++RzLHH5Xw/rfv+mg== + version "5.4.5" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42" + integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA== dependencies: ajv "^6.10.2" lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^1.0.0, tapable@^1.1.0: +tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== @@ -13409,49 +13394,25 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -terser-webpack-plugin@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz#3f98bc902fac3e5d0de730869f50668561262ec8" - integrity sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA== - dependencies: - cacache "^11.0.2" - find-cache-dir "^2.0.0" - schema-utils "^1.0.0" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - terser "^3.16.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -terser-webpack-plugin@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" - integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== +terser-webpack-plugin@1.4.1, terser-webpack-plugin@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== dependencies: - cacache "^11.3.2" - find-cache-dir "^2.0.0" + cacache "^12.0.2" + find-cache-dir "^2.1.0" is-wsl "^1.1.0" - loader-utils "^1.2.3" schema-utils "^1.0.0" serialize-javascript "^1.7.0" source-map "^0.6.1" - terser "^4.0.0" - webpack-sources "^1.3.0" + terser "^4.1.2" + webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@^3.16.1: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== - dependencies: - commander "^2.19.0" - source-map "~0.6.1" - source-map-support "~0.5.10" - -terser@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391" - integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw== +terser@^4.1.2: + version "4.1.4" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.4.tgz#4478b6a08bb096a61e793fea1a4434408bab936c" + integrity sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -13514,9 +13475,9 @@ timed-out@^4.0.0, timed-out@^4.0.1: integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + version "2.0.11" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== dependencies: setimmediate "^1.0.4" @@ -13664,17 +13625,17 @@ trim-right@^1.0.1: dependencies: glob "^7.1.2" -truffle-hdwallet-provider@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.15.tgz#ba11ef86b23baf1b58940ad000ad5c335f2c2b6f" - integrity sha512-MAZQ5pcu4jW6JcAcO+qEig2e5iETyjIOingOnCIge15aGQdz8UZ2hjc8FPCnzKiQTPKu88YD5qM29fPQceBY5g== +truffle-hdwallet-provider@^1.0.16: + version "1.0.16" + resolved "https://registry.yarnpkg.com/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.16.tgz#c36955c8e1d74bdfa526a3170d3903f8f0b37b21" + integrity sha512-pEmCUZjdRBw8uMfEuuR+BXWMd6TZrcOo/G0V6N48IBzcJ+5YBvR/FjA803l+8ln10X97W2uSR0PaeVc6nxYHKQ== dependencies: any-promise "^1.3.0" bindings "^1.3.1" - web3 "^1.2.0" + web3 "1.2.1" websocket "^1.0.28" -ts-pnp@1.1.2, ts-pnp@^1.0.0: +ts-pnp@1.1.2, ts-pnp@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== @@ -13740,9 +13701,9 @@ tsutils@^2.29.0: tslib "^1.8.1" tsutils@^3.7.0, tsutils@^3.9.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.14.1.tgz#f1d2b93d2a0876481f2f1f98c25ba42bbd7ee860" - integrity sha512-kiuZzD1uUA5DxGj/uxbde+ymp6VVdAxdzOIlAFbYKrPyla8/uiJ9JLBm1QsPhOm4Muj0/+cWEDP99yoCUcSl6Q== + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== dependencies: tslib "^1.8.1" @@ -13780,6 +13741,11 @@ type-fest@^0.3.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +type-fest@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" + integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -13789,11 +13755,11 @@ type-is@~1.6.17, type-is@~1.6.18: mime-types "~2.1.24" type@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/type/-/type-1.0.1.tgz#084c9a17fcc9151a2cdb1459905c2e45e4bb7d61" - integrity sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/type/-/type-1.0.3.tgz#16f5d39f27a2d28d86e48f8981859e9d3296c179" + integrity sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg== -typedarray-to-buffer@^3.1.2, typedarray-to-buffer@^3.1.5: +typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== @@ -14019,14 +13985,14 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-loader@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" - integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== +url-loader@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961" + integrity sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A== dependencies: - loader-utils "^1.1.0" - mime "^2.0.3" - schema-utils "^1.0.0" + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.0.0" url-parse-lax@^1.0.0: version "1.0.0" @@ -14138,6 +14104,11 @@ uuid@3.3.2, uuid@^3.0.1, uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +v8-compile-cache@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + v8flags@^3.0.1: version "3.1.3" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" @@ -14280,7 +14251,7 @@ warning@^3.0.0: dependencies: loose-envify "^1.0.0" -watchpack@^1.5.0: +watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== @@ -14296,159 +14267,160 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web3-bzz@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.0.tgz#eab70a2cf6c437223f40fc069499fe70ff53feb0" - integrity sha512-QEIdvguSEpqBK9b815nzx4yvpfKv/SAvaFeCMjQ0vjIVqFhAwBHDxd+f+X3nWGVRGVeOTP7864tau26CPBtQ8Q== +web3-bzz@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.1.tgz#c3bd1e8f0c02a13cd6d4e3c3e9e1713f144f6f0d" + integrity sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw== dependencies: got "9.6.0" swarm-js "0.1.39" underscore "1.9.1" -web3-core-helpers@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.0.tgz#023947323cebd021e43a67145a5087627ce87fb3" - integrity sha512-KLCCP2FS1cMz23Y9l3ZaEDzaUky+GpsNavl4Hn1xX8lNaKcfgGEF+DgtAY/TfPQYAxLjLrSbIFUDzo9H/W1WAQ== +web3-core-helpers@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz#f5f32d71c60a4a3bd14786118e633ce7ca6d5d0d" + integrity sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw== dependencies: underscore "1.9.1" - web3-eth-iban "1.2.0" - web3-utils "1.2.0" + web3-eth-iban "1.2.1" + web3-utils "1.2.1" -web3-core-helpers@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-2.0.0-alpha.tgz#76d720e50a6d5fbf91761a350060cc155fa9e3d3" - integrity sha512-zTeVHIoa4ih7PWFWJX2giqivDMOoD/cX3XHlNcghgdfsyhuf17ktar6003c1QxrvRXmV8HMlBorcZjYzYuTsiA== +web3-core-helpers@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-2.0.0-alpha.1.tgz#d20db557fe8740578105fb6b5790eb22097d1974" + integrity sha512-YUDECwESRI2Bw3ijEaGGkYhEAyqQF17KFtul9Y6OZLtYx6W7bJCMKbSFigLl99F3zFLZ8E/dwzCizSrD+DuWIQ== dependencies: "@babel/runtime" "^7.3.1" lodash "^4.17.11" - web3-core "2.0.0-alpha" - web3-eth-iban "2.0.0-alpha" - web3-utils "2.0.0-alpha" + web3-core "2.0.0-alpha.1" + web3-eth-iban "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" -web3-core-method@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.0.tgz#9f6a6939d15f53bc74d086f280fbd62461546cd3" - integrity sha512-Iff5rCL+sgHe6zZVZijp818aRixKQf3ZAyQsT6ewER1r9yqXsH89DJtX33Xw8xiaYSwUFcpNs2j+Kluhv/eVAw== +web3-core-method@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.1.tgz#9df1bafa2cd8be9d9937e01c6a47fc768d15d90a" + integrity sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.0" - web3-core-promievent "1.2.0" - web3-core-subscriptions "1.2.0" - web3-utils "1.2.0" + web3-core-helpers "1.2.1" + web3-core-promievent "1.2.1" + web3-core-subscriptions "1.2.1" + web3-utils "1.2.1" -web3-core-method@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-2.0.0-alpha.tgz#453063885ab3cdd2bf63e5e586cdb3ee7d9cdfcb" - integrity sha512-BlOumHB4Guh5/c41v20EMlyjTBhgVPJ+dqZG5o7i42KOASgJ1ZqTTR2hq16F6zqgTuBAvJ8o/AjyWSBPsU2Twg== +web3-core-method@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-2.0.0-alpha.1.tgz#6fd59cd229550bd08cb8922c095870fc9bf35f66" + integrity sha512-RlKYn9spgKAbIU9IV5UCQBLAcblLf5O6LYCGacRk0Iyz2SE0bVMtd7CY1pcsIXegNFiT3CPk+XvcpOIehZBhVQ== dependencies: "@babel/runtime" "^7.3.1" eventemitter3 "3.1.0" lodash "^4.17.11" rxjs "^6.4.0" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-subscriptions "2.0.0-alpha" - web3-utils "2.0.0-alpha" + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-subscriptions "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" -web3-core-promievent@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.0.tgz#d6454837a307da5b453fe3077743fe25801a07a1" - integrity sha512-9THNYsZka91AX4LZGZvka5hio9+QlOY22hNgCiagmCmYytyKk3cXftL6CWefnNF7XgW8sy/ew5lzWLVsQW61Lw== +web3-core-promievent@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz#003e8a3eb82fb27b6164a6d5b9cad04acf733838" + integrity sha512-IVUqgpIKoeOYblwpex4Hye6npM0aMR+kU49VP06secPeN0rHMyhGF0ZGveWBrGvf8WDPI7jhqPBFIC6Jf3Q3zw== dependencies: any-promise "1.3.0" eventemitter3 "3.1.2" -web3-core-requestmanager@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.0.tgz#a7f9995495340037e7ac72792c1885c35c1e7616" - integrity sha512-hPe1jyESodXAiE7qJglu7ySo4GINCn5CgG+9G1ATLQbriZsir83QMSeKQekv/hckKFIf4SvZJRPEBhtAle+Dhw== +web3-core-requestmanager@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz#fa2e2206c3d738db38db7c8fe9c107006f5c6e3d" + integrity sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.0" - web3-providers-http "1.2.0" - web3-providers-ipc "1.2.0" - web3-providers-ws "1.2.0" + web3-core-helpers "1.2.1" + web3-providers-http "1.2.1" + web3-providers-ipc "1.2.1" + web3-providers-ws "1.2.1" -web3-core-subscriptions@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.0.tgz#d359b9b5fb6f6a700f1b383be11de7925cb7549f" - integrity sha512-DHipGH8It5E4HxxvymhkudcYhBVgGx6MwGWobIVKFgp6JRxtuvAbqwrMbuD/+78J6yXOa4y9zVXBk12dm2NXGg== +web3-core-subscriptions@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz#8c2368a839d4eec1c01a4b5650bbeb82d0e4a099" + integrity sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g== dependencies: eventemitter3 "3.1.2" underscore "1.9.1" - web3-core-helpers "1.2.0" + web3-core-helpers "1.2.1" -web3-core-subscriptions@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-2.0.0-alpha.tgz#f8cb496af6e56b76bc0718213b7d777eeeacc741" - integrity sha512-xvOVyIrm5mF1iioxU+MGGWYMFftMOw5ILTqX1HQns4BVYiP1oEQu/PJ6h8wMMERC1uNkE+owNwJLCpf3BDn3EA== +web3-core-subscriptions@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-2.0.0-alpha.1.tgz#5c2164ce8649645f6809dcdc34626ae12ec0d19b" + integrity sha512-fOr5DCz1QjwBPf/ssJ49Q0LVi5PUOkHmJ1y+5aSSJZmcuAZ9h1FJp7ANqAI7p7ssXnm9RpCDMg5vGa8tyYyAXA== dependencies: "@babel/runtime" "^7.3.1" - eventemitter3 "^3.1.0" + eventemitter3 "^4.0.0" lodash "^4.17.11" -web3-core@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.0.tgz#6f3c59f84b2af9ab0ee7617d3c5208a814d3953c" - integrity sha512-Vy+fargzx94COdihE79zIM5lb/XAl/LJlgGdmz2a6QhgGZrSL8K6DKKNS+OuORAcLJN2PWNMc4IdfknkOw1PhQ== +web3-core@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.1.tgz#7278b58fb6495065e73a77efbbce781a7fddf1a9" + integrity sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg== dependencies: - web3-core-helpers "1.2.0" - web3-core-method "1.2.0" - web3-core-requestmanager "1.2.0" - web3-utils "1.2.0" + web3-core-helpers "1.2.1" + web3-core-method "1.2.1" + web3-core-requestmanager "1.2.1" + web3-utils "1.2.1" -web3-core@2.0.0-alpha, web3-core@^2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-2.0.0-alpha.tgz#79722bd65e5d9e28b47e2f43638c8994ed3f2b8e" - integrity sha512-K3DVpEv1peu/KarD/oB1DGl9h8aGj5hBecFeY3prNYVF1Ho9+2J9kKYsArW3Bss6Pa/KEv5MsVHMEYpx5wto0w== +web3-core@2.0.0-alpha.1, web3-core@^2.0.0-alpha: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-2.0.0-alpha.1.tgz#4bb87b860a0bbf9fd19ae380a4773e12ac3b3010" + integrity sha512-7fBl1h9Z46q0n8ugjYWMZsBP1tLlt8Rp4dRDF11EUNFQo1ll60tHj9PdjQIcKqoTd9EKhjYeZUWIsLf7YuipqA== dependencies: "@babel/runtime" "^7.3.1" "@types/bn.js" "^4.11.4" "@types/node" "^12.6.1" lodash "^4.17.11" - web3-core-method "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" + web3-core-method "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" -web3-eth-abi@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.0.tgz#26b22261756ffbb3363bc37c1a6f5143bebb6469" - integrity sha512-FDuPq/tFeMg/D/f7cNSmvVYkMYb1z379gUUzSL8ZFtZrdHPkezq+lq/TmWmbCOMLYNXlhGJBzjGdLXRS4Upprg== +web3-eth-abi@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz#9b915b1c9ebf82f70cca631147035d5419064689" + integrity sha512-jI/KhU2a/DQPZXHjo2GW0myEljzfiKOn+h1qxK1+Y9OQfTcBMxrQJyH5AP89O6l6NZ1QvNdq99ThAxBFoy5L+g== dependencies: ethers "4.0.0-beta.3" underscore "1.9.1" - web3-utils "1.2.0" + web3-utils "1.2.1" -web3-eth-abi@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-2.0.0-alpha.tgz#a63ba52345e413c6477429792969303b88f9cfff" - integrity sha512-USCuprQPMldMbW0pNDmR9TN5j4ITuBK7eFiF0wUH67g4i8Hohq4gILkyAVx8h/hkx69GREbTB/0I7hVAMK7e4A== +web3-eth-abi@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-2.0.0-alpha.1.tgz#cdcafcb9681c9a5be7917efbae838df4121c623f" + integrity sha512-EcNgLm8dHqjGN5IjgAAPIGFgBowO2FKQbdLzk6Zc7WY5kpRA/EcJen4PzVZpH1THfqpIlmHAV2YimYUTIz6cDQ== dependencies: "@babel/runtime" "^7.3.1" ethers "^4.0.27" lodash "^4.17.11" - web3-utils "2.0.0-alpha" + web3-utils "2.0.0-alpha.1" -web3-eth-accounts@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.0.tgz#bb26d5446017700a13b75fc69a2b1226fe44f6bb" - integrity sha512-d/fUAL3F6HqstvEiBnZ1RwZ77/DytgF9d6A3mWVvPOUk2Pqi77PM0adRvsKvIWUaQ/k6OoCk/oXtbzaO7CyGpg== +web3-eth-accounts@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz#2741a8ef337a7219d57959ac8bd118b9d68d63cf" + integrity sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ== dependencies: any-promise "1.3.0" crypto-browserify "3.12.0" eth-lib "0.2.7" - scrypt.js "^0.3.0" + scryptsy "2.1.0" + semver "6.2.0" underscore "1.9.1" uuid "3.3.2" - web3-core "1.2.0" - web3-core-helpers "1.2.0" - web3-core-method "1.2.0" - web3-utils "1.2.0" + web3-core "1.2.1" + web3-core-helpers "1.2.1" + web3-core-method "1.2.1" + web3-utils "1.2.1" -web3-eth-accounts@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-2.0.0-alpha.tgz#b82a3be50a3438fe3c0867a0ade6332a90aef7a3" - integrity sha512-By0mVlTOeuouVLGiPRrLuRP3ntPTFIdXCvA2vP9kLwCNVCSRlCjmbHFNWXEQal4iipJ0wSFn5Ua+2rySKD+xow== +web3-eth-accounts@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-2.0.0-alpha.1.tgz#441363e6494d53219bc766ec1792f77c2c78f647" + integrity sha512-yvpF+PZFU3HP285lzq4QYglLny/1xJba+PbJmJ9NHepeZRrJj73jF172q3LlmpQh1CWjmWL8qlzdh/bwfdJIYA== dependencies: "@babel/runtime" "^7.3.1" browserify-cipher "^1.0.1" @@ -14459,179 +14431,179 @@ web3-eth-accounts@2.0.0-alpha: scryptsy "2.1.0" semver "6.2.0" uuid "3.3.2" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" -web3-eth-contract@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.0.tgz#8d1c235c6624b5df428969ea2e9c26337095f6f0" - integrity sha512-hfjozNbfsoMeR3QklfkwU0Mqcw6YRD4y1Cb1ghGWNhFy2+/sbvKcQNPPJDKFTde22PRzGQBWyh/nb422Sux4bQ== +web3-eth-contract@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz#3542424f3d341386fd9ff65e78060b85ac0ea8c4" + integrity sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g== dependencies: underscore "1.9.1" - web3-core "1.2.0" - web3-core-helpers "1.2.0" - web3-core-method "1.2.0" - web3-core-promievent "1.2.0" - web3-core-subscriptions "1.2.0" - web3-eth-abi "1.2.0" - web3-utils "1.2.0" - -web3-eth-contract@2.0.0-alpha, web3-eth-contract@^2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-2.0.0-alpha.tgz#d2fe9d34bf12db675ac1bcd891ed1be7a7b58fbb" - integrity sha512-Sdir/b4MnXqNBbbnE6LMTGT68dKzMEK3bfxExzPTNEc0rqMj0XPnxh1Kn9wH21u7r4hvIYnkCbUN49ekF0nX1A== + web3-core "1.2.1" + web3-core-helpers "1.2.1" + web3-core-method "1.2.1" + web3-core-promievent "1.2.1" + web3-core-subscriptions "1.2.1" + web3-eth-abi "1.2.1" + web3-utils "1.2.1" + +web3-eth-contract@2.0.0-alpha.1, web3-eth-contract@^2.0.0-alpha: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-2.0.0-alpha.1.tgz#803711aa7c8b8bccdc1b5f7a8e4dc07aa4dfb1aa" + integrity sha512-V/rzm0c0LopreTuGDCEwIQZ8lXTFjHV2XrGmIXfmUycyWVQ/Ulct/Ct9m7kRA/R/cfkf1ocSkyN8vj9i8a7Qag== dependencies: "@babel/runtime" "^7.3.1" "@types/bn.js" "^4.11.4" lodash "^4.17.11" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-core-subscriptions "2.0.0-alpha" - web3-eth-abi "2.0.0-alpha" - web3-eth-accounts "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" - -web3-eth-ens@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.0.tgz#af66308542f4acfa09ccd3ce370e3ad2de20ec30" - integrity sha512-kE6uHMLwH9dv+MZSKT7BcKXcQ6CcLP5m5mM44s2zg2e9Rl20F3J6R3Ik6sLc/w2ywdCwTe/Z22yEstHXQwu5ig== + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-core-subscriptions "2.0.0-alpha.1" + web3-eth-abi "2.0.0-alpha.1" + web3-eth-accounts "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" + +web3-eth-ens@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz#a0e52eee68c42a8b9865ceb04e5fb022c2d971d5" + integrity sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q== dependencies: eth-ens-namehash "2.0.8" underscore "1.9.1" - web3-core "1.2.0" - web3-core-helpers "1.2.0" - web3-core-promievent "1.2.0" - web3-eth-abi "1.2.0" - web3-eth-contract "1.2.0" - web3-utils "1.2.0" - -web3-eth-ens@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-2.0.0-alpha.tgz#6d7d93a732e350ee06286064a91c1a94c91274b9" - integrity sha512-oiRqLi2rPH1o1iU5xp+xUlS9Gxen7cL4xf6KOjpJ3dHOPkSlvVq1lSIWAGC7s4KoH11vRKQakdVJVUbq+ddxMg== + web3-core "1.2.1" + web3-core-helpers "1.2.1" + web3-core-promievent "1.2.1" + web3-eth-abi "1.2.1" + web3-eth-contract "1.2.1" + web3-utils "1.2.1" + +web3-eth-ens@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-2.0.0-alpha.1.tgz#fef85d964e7c580342e10b4ee0560c6a89527232" + integrity sha512-bf6o8yWxdkxb+AieUYRQe1n6R5UvInGkNZCDx2T955UrpLL5Xexgm/WBJVanRTn5//YK4o8Iudj9N3SgdfU0sA== dependencies: "@babel/runtime" "^7.3.1" eth-ens-namehash "2.0.8" lodash "^4.17.11" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-eth-abi "2.0.0-alpha" - web3-eth-accounts "2.0.0-alpha" - web3-eth-contract "2.0.0-alpha" - web3-net "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" - -web3-eth-iban@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.0.tgz#1bece9cebf817dca82fa03230203351f4f263866" - integrity sha512-6DzTx/cvIgEvxadhJjLGpsuDUARA4RKskNOuwWYUsUODcPb50rsfMmRkHhGtLss/sNXVE5gNjbT9rX3TDqy2tg== + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-eth-abi "2.0.0-alpha.1" + web3-eth-accounts "2.0.0-alpha.1" + web3-eth-contract "2.0.0-alpha.1" + web3-net "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" + +web3-eth-iban@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz#2c3801718946bea24e9296993a975c80b5acf880" + integrity sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ== dependencies: bn.js "4.11.8" - web3-utils "1.2.0" + web3-utils "1.2.1" -web3-eth-iban@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-2.0.0-alpha.tgz#87c164d964b50c000554b1c58e46dac8e2b04787" - integrity sha512-SDSaU5QEbxaVwP/B/xl0S4xfu0UBzBD0c+rRYtB/o9NWKkRhcpnGqPnzBN9TB6C1+zbKba6/QlAbIUQsNO9WJQ== +web3-eth-iban@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-2.0.0-alpha.1.tgz#79f1f6061b95b5bb64eb4243a6c65dadf542077c" + integrity sha512-I9oD+kjiF/RPYslndfr4UlhU/zdP67+LYG5dMx6zEM+KUmHdwQeMTp4w3NVZny7/pOtXA1w6dJJ2tL/OVfGkkw== dependencies: "@babel/runtime" "^7.3.1" bn.js "4.11.8" - web3-utils "2.0.0-alpha" + web3-utils "2.0.0-alpha.1" -web3-eth-personal@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.0.tgz#7194f519c870d720eee1349d867408004f0f78af" - integrity sha512-8QdcaT6dbdiMC8zEqvDuij8XeI34r2GGdQYGvYBP2UgCm15EZBHgewxO30A+O+j2oIW1/Hu60zP5upnhCuA1Dw== +web3-eth-personal@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz#244e9911b7b482dc17c02f23a061a627c6e47faf" + integrity sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg== dependencies: - web3-core "1.2.0" - web3-core-helpers "1.2.0" - web3-core-method "1.2.0" - web3-net "1.2.0" - web3-utils "1.2.0" + web3-core "1.2.1" + web3-core-helpers "1.2.1" + web3-core-method "1.2.1" + web3-net "1.2.1" + web3-utils "1.2.1" -web3-eth-personal@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-2.0.0-alpha.tgz#f14d816fb1953f49aa906e9959b5404ae631e84a" - integrity sha512-CBlC4VkOLVwyqfvBsxxGWXSwgJlWiAuDRV+j41fnwb735qV1uvZVvCy5Za8efiFY0jMLuPlfOoBcpc9KAS+XQQ== +web3-eth-personal@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-2.0.0-alpha.1.tgz#15da8f598411c2237c79699fb1e78fa1cf39db81" + integrity sha512-IqBerCcfYSmuRpzXki/M/FKVu+lNVGP+RvjeNoE5l6Qy5W1m5X2AeI+P3ekN/HAwUhLNRVlzO6fSlNy0UaQtgg== dependencies: "@babel/runtime" "^7.3.1" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-eth-accounts "2.0.0-alpha" - web3-net "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" - -web3-eth@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.0.tgz#ac8d3409356538d2fe1cb6151036b724eace76f6" - integrity sha512-GP1+hHS/IVW1tAOIDS44PxCpvSl9PBU/KAB40WgP27UMvSy43LjHxGlP6hQQOdIfmBLBTvGvn2n+Z5kW2gzAzg== + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-eth-accounts "2.0.0-alpha.1" + web3-net "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" + +web3-eth@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.1.tgz#b9989e2557c73a9e8ffdc107c6dafbe72c79c1b0" + integrity sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA== dependencies: underscore "1.9.1" - web3-core "1.2.0" - web3-core-helpers "1.2.0" - web3-core-method "1.2.0" - web3-core-subscriptions "1.2.0" - web3-eth-abi "1.2.0" - web3-eth-accounts "1.2.0" - web3-eth-contract "1.2.0" - web3-eth-ens "1.2.0" - web3-eth-iban "1.2.0" - web3-eth-personal "1.2.0" - web3-net "1.2.0" - web3-utils "1.2.0" - -web3-eth@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-2.0.0-alpha.tgz#415b8f4e5a4e6cf34fb96672c0cf1c7f6f8bbbec" - integrity sha512-KCbA2PYZfa7kcrpTROWPUIa7nGmAycUNHj9hkiVrLBJ5sDsPnvaZjGOplpazN1UIuJdHpvg8Rriqt8FBZ21UHw== + web3-core "1.2.1" + web3-core-helpers "1.2.1" + web3-core-method "1.2.1" + web3-core-subscriptions "1.2.1" + web3-eth-abi "1.2.1" + web3-eth-accounts "1.2.1" + web3-eth-contract "1.2.1" + web3-eth-ens "1.2.1" + web3-eth-iban "1.2.1" + web3-eth-personal "1.2.1" + web3-net "1.2.1" + web3-utils "1.2.1" + +web3-eth@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-2.0.0-alpha.1.tgz#d11ab4934a8b5d06de6823cebda2075510782139" + integrity sha512-XJro1RPdhxKLYaOhUsTU5TuEPVdGyWbuPOTuqGUFZjyVnJ2dd6ETQIwmz9q7A6cIoYy9XZhni99mJ3ILLZzrMg== dependencies: "@babel/runtime" "^7.3.1" ethereumjs-tx "^1.3.7" rxjs "^6.4.0" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-core-subscriptions "2.0.0-alpha" - web3-eth-abi "2.0.0-alpha" - web3-eth-accounts "2.0.0-alpha" - web3-eth-contract "2.0.0-alpha" - web3-eth-ens "2.0.0-alpha" - web3-eth-iban "2.0.0-alpha" - web3-eth-personal "2.0.0-alpha" - web3-net "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" - -web3-net@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.0.tgz#9e99c4326a28712451dc4d45f3acf26c1d4b3219" - integrity sha512-7iD8C6vvx8APXPMmlpPLGWjn4bsXHzd3BTdFzKjkoYjiiVFJdVAbY3j1BwN/6tVQu8Ay7sDpV2EdTNub7GKbyw== + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-core-subscriptions "2.0.0-alpha.1" + web3-eth-abi "2.0.0-alpha.1" + web3-eth-accounts "2.0.0-alpha.1" + web3-eth-contract "2.0.0-alpha.1" + web3-eth-ens "2.0.0-alpha.1" + web3-eth-iban "2.0.0-alpha.1" + web3-eth-personal "2.0.0-alpha.1" + web3-net "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" + +web3-net@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.1.tgz#edd249503315dd5ab4fa00220f6509d95bb7ab10" + integrity sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw== dependencies: - web3-core "1.2.0" - web3-core-method "1.2.0" - web3-utils "1.2.0" + web3-core "1.2.1" + web3-core-method "1.2.1" + web3-utils "1.2.1" -web3-net@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-2.0.0-alpha.tgz#158e87e3c84cb065d464c6d2f3e3d19956328d25" - integrity sha512-yPl7CEJgVvh/kT979d6YZfQfZ1GTbhFRrbf3XBhdM96g6BayfO64FYghHSP+RBuxzykL81PVioj0I02cMMU1pg== +web3-net@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-2.0.0-alpha.1.tgz#5b3d685b7d90734be27d00418648ed4d0f5d5bad" + integrity sha512-hdqGElUjLSiY3KRsy3YhtugSSCI22UA2p99BtD10GtYmziTEaQGnx5g+T/TWomOHW4wSMNy/QIFsiGL8ZVF5Ig== dependencies: "@babel/runtime" "^7.3.1" lodash "^4.17.11" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" web3-provider-engine@^15.0.0: version "15.0.0" @@ -14661,77 +14633,77 @@ web3-provider-engine@^15.0.0: xhr "^2.2.0" xtend "^4.0.1" -web3-providers-http@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.0.tgz#c6ebf9b6a23564439fa3c4a431cd6b405cc1ec0f" - integrity sha512-UrUn6JSz7NVCZ+0nZZtC4cmbl5JIi57w1flL1jN8jgkfdWDdErNvTkSwCt/QYdTQscMaUtWXDDOSAsVO6YC64g== +web3-providers-http@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.1.tgz#c93ea003a42e7b894556f7e19dd3540f947f5013" + integrity sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ== dependencies: - web3-core-helpers "1.2.0" + web3-core-helpers "1.2.1" xhr2-cookies "1.1.0" -web3-providers-ipc@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.0.tgz#98b8b8c9e77935dabfcf6d16e66c783f2429eac8" - integrity sha512-T2OSbiqu7+dahbGG5YFEQM5+FXdLVvaTCKmHXaQpw8IuL5hw7HELtyFOtHVudgDRyw0tJKxIfAiX/v2F1IL1fQ== +web3-providers-ipc@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz#017bfc687a8fc5398df2241eb98f135e3edd672c" + integrity sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA== dependencies: oboe "2.1.4" underscore "1.9.1" - web3-core-helpers "1.2.0" + web3-core-helpers "1.2.1" -web3-providers-ws@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.0.tgz#c45929f0d1e1743301372e6e604aab63e83f66e3" - integrity sha512-rnwGcCe6cev5A6eG5UBCQqPmkJVZMCrK+HN1AvUCco0OHD/0asGc9LuLbtkQIyznA6Lzetq/OOcaTOM4KeT11g== +web3-providers-ws@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz#2d941eaf3d5a8caa3214eff8dc16d96252b842cb" + integrity sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.0" - websocket "github:frozeman/WebSocket-Node#browserifyCompatible" + web3-core-helpers "1.2.1" + websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" -web3-providers@2.0.0-alpha, web3-providers@^2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-2.0.0-alpha.tgz#6bce7f6e6d08fa874bd78214c6c54251cd7a81da" - integrity sha512-29+2xv7CRY9HNyjSc/S2S4NfqrVqJzad2py2AIW+7HigAu+S40QKVKGx66h3KGA5NZrV5uGbMaNoNnlVNIrbDw== +web3-providers@2.0.0-alpha.1, web3-providers@^2.0.0-alpha: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-2.0.0-alpha.1.tgz#19486aed4b014ec5d7687fac4eef2042db8b338c" + integrity sha512-X7hDkLKVN1U5aWeNQeErev494VSgt4gHJpHTgXn2rxrdJYUf7+6e6Al7yvRHlDxoTzhycX+j11HQC+CZlA+uhQ== dependencies: "@babel/runtime" "^7.3.1" "@types/node" "^10.12.18" eventemitter3 "3.1.0" lodash "^4.17.11" url-parse "1.4.4" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-utils "2.0.0-alpha" - websocket "^1.0.28" + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" + websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" xhr2-cookies "1.1.0" -web3-shh@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.0.tgz#c07c306d761f70782c64e2b5b119db54e16f301f" - integrity sha512-VFjS8kvsQBodudFmIoVJWvDNZosONJZZnhvktngD3POu5dwbJmSCl6lzbLJ2C5XjR15dF+JvSstAkWbM+2sdPg== +web3-shh@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.1.tgz#4460e3c1e07faf73ddec24ccd00da46f89152b0c" + integrity sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA== dependencies: - web3-core "1.2.0" - web3-core-method "1.2.0" - web3-core-subscriptions "1.2.0" - web3-net "1.2.0" + web3-core "1.2.1" + web3-core-method "1.2.1" + web3-core-subscriptions "1.2.1" + web3-net "1.2.1" -web3-shh@2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-2.0.0-alpha.tgz#033d665962a308e68c25ead08b6501d6b5171773" - integrity sha512-GQIj1WCy33iTVcy5k2K6ZnGoGtbsLj9QL6wlguTy/4CZAsXUeE87YqcMIJi/m6/j7BfrlRJI1NjxrpZITUbw1A== +web3-shh@2.0.0-alpha.1: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-2.0.0-alpha.1.tgz#e555dd00f8600270ecdeff465ab54cc07b5d3e6e" + integrity sha512-Be6nizwB9ZQ/oCy1smPE30Y6rTDxjV+zmW+89kk1e9B6nLuTQwE/5DoHUU5+7AzfouKZcMI2QMH3Kf6M8BpalQ== dependencies: "@babel/runtime" "^7.3.1" - web3-core "2.0.0-alpha" - web3-core-helpers "2.0.0-alpha" - web3-core-method "2.0.0-alpha" - web3-core-subscriptions "2.0.0-alpha" - web3-net "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-utils "2.0.0-alpha" - -web3-utils@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.0.tgz#1f11b05d173b757d3f5ba32cb90b375a487d3bf0" - integrity sha512-tI1low8ICoaWU2c53cikH0rsksKuIskI2nycH5E5sEXxxl9/BOD3CeDDBFbxgNPQ+bpDevbR7gXNEDB7Ud4G9g== + web3-core "2.0.0-alpha.1" + web3-core-helpers "2.0.0-alpha.1" + web3-core-method "2.0.0-alpha.1" + web3-core-subscriptions "2.0.0-alpha.1" + web3-net "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" + +web3-utils@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.1.tgz#21466e38291551de0ab34558de21512ac4274534" + integrity sha512-Mrcn3l58L+yCKz3zBryM6JZpNruWuT0OCbag8w+reeNROSGVlXzUQkU+gtAwc9JCZ7tKUyg67+2YUGqUjVcyBA== dependencies: bn.js "4.11.8" eth-lib "0.2.7" @@ -14741,10 +14713,10 @@ web3-utils@1.2.0: underscore "1.9.1" utf8 "3.0.0" -web3-utils@2.0.0-alpha, web3-utils@^2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-2.0.0-alpha.tgz#2e8b91f4887380672a270f8045826d72b58c12a4" - integrity sha512-EXPxfLdezx9nyt3dO0O0a8Er1sOvVW+lELcwoBWa+A3HwGLyc09Re0Fer+yW/NUp9UGJ9pp45bHkYAZul8tWHw== +web3-utils@2.0.0-alpha.1, web3-utils@^2.0.0-alpha: + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-2.0.0-alpha.1.tgz#231442adea3b58bca0c7185ee5b7743c01938682" + integrity sha512-xZY9rPC/5S2utQV26x2oeWlBjs1cGwO+AAwv0smK2zjNi6UeTZjG9aZ/RJZJpToIapKhdtmQI6yZ8/ZQNDRGGg== dependencies: "@babel/runtime" "^7.3.1" "@types/bn.js" "^4.11.4" @@ -14757,33 +14729,33 @@ web3-utils@2.0.0-alpha, web3-utils@^2.0.0-alpha: randombytes "^2.1.0" utf8 "2.1.1" -web3@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.0.tgz#ef9c43a99eac348a85c09179690290d45a96a5f2" - integrity sha512-iFrVAexsopX97x0ofBU/7HrCxzovf624qBkjBUeHZDf/G3Sb4tMQtjkCRc5lgVvzureq5SCqDiFDcqnw7eJ0bA== +web3@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.1.tgz#5d8158bcca47838ab8c2b784a2dee4c3ceb4179b" + integrity sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw== dependencies: - web3-bzz "1.2.0" - web3-core "1.2.0" - web3-eth "1.2.0" - web3-eth-personal "1.2.0" - web3-net "1.2.0" - web3-shh "1.2.0" - web3-utils "1.2.0" + web3-bzz "1.2.1" + web3-core "1.2.1" + web3-eth "1.2.1" + web3-eth-personal "1.2.1" + web3-net "1.2.1" + web3-shh "1.2.1" + web3-utils "1.2.1" web3@^2.0.0-alpha: - version "2.0.0-alpha" - resolved "https://registry.yarnpkg.com/web3/-/web3-2.0.0-alpha.tgz#564f3dfc316a1bc9f45558f077746ef2b5a4d7f5" - integrity sha512-2GEX6o7aM8eBL4Aiij5TN4ThjxXgUFf6ycxiouObnhiK1I15ztl4e28NjNq9pknZv8Ntx8QH0DvJlzxZTlTAng== + version "2.0.0-alpha.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-2.0.0-alpha.1.tgz#cfc0cef8c94d312ae943f268d6b42ebada521150" + integrity sha512-njwdP8MsziYYu9BGXvq9326xViWe6Q4/I/sq/AKOqfLWgLhAJ9xYkP8U6v0AclNE8Ow447dV3b9eK3sOLS1/WQ== dependencies: "@babel/runtime" "^7.3.1" "@types/node" "^12.6.1" - web3-core "2.0.0-alpha" - web3-eth "2.0.0-alpha" - web3-eth-personal "2.0.0-alpha" - web3-net "2.0.0-alpha" - web3-providers "2.0.0-alpha" - web3-shh "2.0.0-alpha" - web3-utils "2.0.0-alpha" + web3-core "2.0.0-alpha.1" + web3-eth "2.0.0-alpha.1" + web3-eth-personal "2.0.0-alpha.1" + web3-net "2.0.0-alpha.1" + web3-providers "2.0.0-alpha.1" + web3-shh "2.0.0-alpha.1" + web3-utils "2.0.0-alpha.1" webidl-conversions@^4.0.2: version "4.0.2" @@ -14853,43 +14825,42 @@ webpack-manifest-plugin@2.0.4: lodash ">=3.5 <5" tapable "^1.0.0" -webpack-sources@^1.1.0, webpack-sources@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@4.29.6: - version "4.29.6" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.6.tgz#66bf0ec8beee4d469f8b598d3988ff9d8d90e955" - integrity sha512-MwBwpiE1BQpMDkbnUUaW6K8RFZjljJHArC6tWQJoFm0oQtfoSebtg4Y7/QHnJ/SddtjYLHaKGX64CFjG5rehJw== +webpack@4.39.1: + version "4.39.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.1.tgz#60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8" + integrity sha512-/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" "@webassemblyjs/wasm-edit" "1.8.5" "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.0.5" - acorn-dynamic-import "^4.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" + eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" schema-utils "^1.0.0" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" websocket-driver@>=0.5.1: version "0.7.3" @@ -14905,26 +14876,17 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== -websocket@^1.0.28: +websocket@^1.0.28, "websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": version "1.0.29" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.29.tgz#3f83e49d3279657c58b02a22d90749c806101b98" - integrity sha512-WhU8jKXC8sTh6ocLSqpZRlOKMNYGwUvjA5+XcIgIk/G3JCaDfkZUr0zA19sVSxJ0TEvm0i5IBzr54RZC4vzW7g== + resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/b134a75541b5db59668df81c03e926cd5f325077" dependencies: debug "^2.2.0" + es5-ext "^0.10.50" gulp "^4.0.2" - nan "^2.11.0" + nan "^2.14.0" typedarray-to-buffer "^3.1.5" yaeti "^0.0.6" -"websocket@github:frozeman/WebSocket-Node#browserifyCompatible": - version "1.0.26" - resolved "https://codeload.github.com/frozeman/WebSocket-Node/tar.gz/6c72925e3f8aaaea8dc8450f97627e85263999f2" - dependencies: - debug "^2.2.0" - nan "^2.3.3" - typedarray-to-buffer "^3.1.2" - yaeti "^0.0.6" - whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -15020,7 +14982,7 @@ workbox-broadcast-update@^4.3.1: dependencies: workbox-core "^4.3.1" -workbox-build@^4.2.0: +workbox-build@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== @@ -15125,14 +15087,14 @@ workbox-sw@^4.3.1: resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== -workbox-webpack-plugin@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.2.0.tgz#c94c3f69ff39c8a5b0c7e6bebc382cb53410a63d" - integrity sha512-YZsiA+y/ns/GdWRaBsfYv8dln1ebWtGnJcTOg1ppO0pO1tScAHX0yGtHIjndxz3L/UUhE8b0NQE9KeLNwJwA5A== +workbox-webpack-plugin@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== dependencies: "@babel/runtime" "^7.0.0" json-stable-stringify "^1.0.1" - workbox-build "^4.2.0" + workbox-build "^4.3.1" workbox-window@^4.3.1: version "4.3.1" @@ -15141,7 +15103,7 @@ workbox-window@^4.3.1: dependencies: workbox-core "^4.3.1" -worker-farm@^1.5.2, worker-farm@^1.7.0: +worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== From 60948f5e54f2cd2ff6a517db2c658067eaf9dd84 Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 14 Aug 2019 14:19:39 +1000 Subject: [PATCH 052/117] Use drizzle to synchronize with ethereum --- package.json | 4 +- src/components/App.tsx | 96 ++-- .../darknodeList/CardView.tsx | 4 +- .../darknodePage/statuspage/topup/TopUp.tsx | 4 +- src/components/hyperdrivePage/Hyperdrive.tsx | 2 +- src/components/overviewPage/Overview.tsx | 20 +- src/index.tsx | 29 +- src/lib/declarations/ethereum.d.ts | 2 + src/lib/ethereum/getWeb3.ts | 14 +- src/lib/react/environmentVariables.ts | 1 + src/lib/react/onLoad.ts | 2 +- src/store/account/accountActions.tsx | 3 +- src/store/drizzle.tsx | 66 +++ src/styles/scss/_stat.scss | 36 +- yarn.lock | 490 ++++++++++++++++-- 15 files changed, 651 insertions(+), 122 deletions(-) create mode 100644 src/store/drizzle.tsx diff --git a/package.json b/package.json index 07982123..594bbafc 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@fortawesome/free-regular-svg-icons": "^5.10.1", "@fortawesome/free-solid-svg-icons": "^5.10.1", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "^0.3.13", + "@renproject/contracts": "0.3.14", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.29", "@sentry/browser": "^5.6.1", @@ -28,6 +28,8 @@ "bignumber.js": "^9.0.0", "bs58": "^4.0.1", "chart.js": "^2.8.0", + "drizzle": "https://github.com/ren-forks/drizzle#build", + "drizzle-react": "^1.3.0", "history": "^4.9.0", "immutable": "^4.0.0-rc.12", "localforage": "^1.7.3", diff --git a/src/components/App.tsx b/src/components/App.tsx index db2f03c0..0bdbbe8b 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1,6 +1,7 @@ import * as React from "react"; -import { ScrollToTop } from "@renproject/react-components"; +import { Loading, ScrollToTop } from "@renproject/react-components"; +import { drizzleReactHooks } from "drizzle-react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; @@ -17,7 +18,7 @@ import { Header } from "./common/Header"; import { PopupController } from "./common/popups/PopupController"; import { Sidebar } from "./common/sidebar/Sidebar"; import { Darknode, getDarknodeParam } from "./darknodePage/Darknode"; -import { Hyperdrive } from "./hyperdrivePage/Hyperdrive"; +import { Hyperdrive, useForceUpdate } from "./hyperdrivePage/Hyperdrive"; import { LoggingIn } from "./LoggingIn"; import { Overview } from "./overviewPage/Overview"; @@ -27,51 +28,62 @@ const ScrollToTopWithRouter = withRouter(ScrollToTop); * App is the main visual component responsible for displaying different routes * and running background app loops */ -class AppClass extends React.Component { - public withAccount = (component: T): +const AppClass = ({ match: { params }, store: { address, renNetwork } }: Props) => { + const withAccount = React.useCallback((component: T): React.ComponentClass | React.StatelessComponent => - this.props.store.address ? component : LoggingIn + address ? component : LoggingIn, + [address], + ); - public render = (): JSX.Element => { - const { match: { params }, store: { address, renNetwork } } = this.props; - const darknodeID = getDarknodeParam(params); - const showNetworkBanner = renNetwork.name !== DEFAULT_REN_NETWORK; + const forceUpdate = useForceUpdate(); - return
    - - - {/* - * We set the key to be the address so that any sub-component state is reset after changing accounts - * (e.g. if in - * the middle of a transaction, etc.) - */} -
    - {showNetworkBanner ? -
    Using {renNetwork.label} RenVM network, {renNetwork.chainLabel} Ethereum network
    : - <> - } - - - {address ? _catch_() : null} -
    - - {/* tslint:disable-next-line: react-this-binding-issue jsx-no-lambda */} + const { drizzle } = drizzleReactHooks.useDrizzle(); + const drizzleState = drizzle.store.getState(); - - - - - - - -
    -
    -
    - {_catch_(
    )} -
    -
    ; + // React.useEffect(() => {}, [drizzleState.drizzleStatus.initialized]) + + if (!drizzleState.drizzleStatus.initialized) { + // tslint:disable-next-line: no-string-based-set-timeout + setTimeout(forceUpdate, 0.1 * 1000); + return ; } -} + + const darknodeID = getDarknodeParam(params); + const showNetworkBanner = renNetwork.name !== DEFAULT_REN_NETWORK; + + return
    + + + {/* + * We set the key to be the address so that any sub-component state is reset after changing accounts + * (e.g. if in + * the middle of a transaction, etc.) + */} +
    + {showNetworkBanner ? +
    Using {renNetwork.label} RenVM network, {renNetwork.chainLabel} Ethereum network
    : + <> + } + + + {address ? _catch_() : null} +
    + + {/* tslint:disable-next-line: react-this-binding-issue jsx-no-lambda */} + + + + + + + +
    +
    +
    + {_catch_(
    )} +
    +
    ; +}; const mapStateToProps = (state: ApplicationState) => ({ store: { diff --git a/src/components/allDarknodesPage/darknodeList/CardView.tsx b/src/components/allDarknodesPage/darknodeList/CardView.tsx index c0087c02..1453dc4e 100644 --- a/src/components/allDarknodesPage/darknodeList/CardView.tsx +++ b/src/components/allDarknodesPage/darknodeList/CardView.tsx @@ -26,11 +26,11 @@ interface Props { } export const CardView = ({ darknodeID, darknodeDetails, name, quoteCurrency, url, faded, hidable, confirmedRemove, removeDarknode, continuable }: Props) => { - const handleRemoveDarknode = (e: React.MouseEvent): void => { + const handleRemoveDarknode = React.useCallback((e: React.MouseEvent): void => { e.stopPropagation(); e.preventDefault(); removeDarknode(); - }; + }, [removeDarknode]); return
    diff --git a/src/components/darknodePage/statuspage/topup/TopUp.tsx b/src/components/darknodePage/statuspage/topup/TopUp.tsx index a1d23928..cd37e648 100644 --- a/src/components/darknodePage/statuspage/topup/TopUp.tsx +++ b/src/components/darknodePage/statuspage/topup/TopUp.tsx @@ -16,9 +16,9 @@ interface Props { export const TopUp = (props: Props) => { const { value, resultMessage, pending, disabled, handleChange, handleBlur, sendFunds } = props; - const handleChangeEvent = (event: React.ChangeEvent) => { + const handleChangeEvent = React.useCallback((event: React.ChangeEvent) => { handleChange(event.target.value); - }; + }, [handleChange]); return
    Block NumberTimestampTransactions
    Block NumberTimestampTransactions
    - } - + : null} ); } - private readonly handleInput = (event: React.FormEvent): void => { - const element = (event.target as HTMLInputElement); - this.setState((current: State) => ({ ...current, [element.name]: element.value })); - } - - private readonly toggleAdvanced = (): void => { - this.setState({ showAdvanced: !this.state.showAdvanced }); + private readonly setTab = (tab: string): void => { + this.setState({ tab: tab as Tab }); } private readonly onClaimAfterCycle = async () => { diff --git a/src/components/darknodePage/statuspage/block/GasBlock.tsx b/src/components/darknodePage/statuspage/block/GasBlock.tsx index d093d0f7..0d261474 100644 --- a/src/components/darknodePage/statuspage/block/GasBlock.tsx +++ b/src/components/darknodePage/statuspage/block/GasBlock.tsx @@ -1,16 +1,15 @@ import * as React from "react"; -import { faChevronRight, faFire, faTimes } from "@fortawesome/free-solid-svg-icons"; +import { faFire } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Currency, CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { DarknodesState } from "../../../../store/applicationState"; import { TopUpController } from "../topup/TopUpController"; -import { Block, BlockBody, BlockTitle } from "./Block"; +import { Block, BlockTitle } from "./Block"; const defaultState = { // Entries must be immutable - showAdvanced: false, + // showAdvanced: false, }; export class GasBlock extends React.Component { @@ -22,7 +21,7 @@ export class GasBlock extends React.Component { public render = (): JSX.Element => { const { darknodeDetails } = this.props; - const { showAdvanced } = this.state; + // const { showAdvanced } = this.state; const gasValue = darknodeDetails ? (darknodeDetails.ethBalance.div(new BigNumber(Math.pow(10, 18)))).toFixed(3) : @@ -31,13 +30,10 @@ export class GasBlock extends React.Component { return ( - {showAdvanced ?
    - -
    : null} -

    @@ -45,36 +41,24 @@ export class GasBlock extends React.Component {

    - {darknodeDetails ? - {!showAdvanced ? -
    -
    - - {gasValue} - ETH -
    -
    - -
    -
    : -
    -
    - {gasValue} - ETH -
    -
    - -
    + {darknodeDetails ? +
    +
    + {gasValue} + ETH +
    +
    +
    - } - : null} +
    + : null} ); } - private readonly toggleAdvanced = (): void => { - this.setState({ showAdvanced: !this.state.showAdvanced }); - } + // private readonly toggleAdvanced = (): void => { + // this.setState({ showAdvanced: !this.state.showAdvanced }); + // } } diff --git a/src/components/darknodePage/statuspage/block/GasGraph.tsx b/src/components/darknodePage/statuspage/block/GasGraph.tsx index 75069fb2..cb4dc24d 100644 --- a/src/components/darknodePage/statuspage/block/GasGraph.tsx +++ b/src/components/darknodePage/statuspage/block/GasGraph.tsx @@ -234,10 +234,6 @@ class GasGraphClass extends React.Component { return ( - {/* {showAdvanced ?
    - -
    : null} */} -

    diff --git a/src/components/darknodePage/statuspage/block/NetworkBlock.tsx b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx index 308a1c58..44bab3b4 100644 --- a/src/components/darknodePage/statuspage/block/NetworkBlock.tsx +++ b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx @@ -15,10 +15,6 @@ export const NetworkBlock = (props: Props): JSX.Element => { return ( - {/* {showAdvanced ?
    - -
    : null} */} -

    diff --git a/src/components/darknodePage/statuspage/topup/TopUp.tsx b/src/components/darknodePage/statuspage/topup/TopUp.tsx index cd37e648..7ba8c288 100644 --- a/src/components/darknodePage/statuspage/topup/TopUp.tsx +++ b/src/components/darknodePage/statuspage/topup/TopUp.tsx @@ -1,11 +1,13 @@ import * as React from "react"; +import { Tabs } from "../../../common/Tabs"; +import { BlockBody } from "../block/Block"; import { CONFIRMATION_MESSAGE } from "./TopUpController"; interface Props { darknodeID: string; value: string; - resultMessage: string | null; + resultMessage: React.ReactNode; pending: boolean; disabled: boolean; handleChange: (value: string) => void; @@ -21,33 +23,41 @@ export const TopUp = (props: Props) => { }, [handleChange]); return
    - - {resultMessage && -

    - {resultMessage} -

    - } + + + , + Withdraw: , + }} + />
    ; }; diff --git a/src/components/darknodePage/statuspage/topup/TopUpController.ts b/src/components/darknodePage/statuspage/topup/TopUpController.tsx similarity index 82% rename from src/components/darknodePage/statuspage/topup/TopUpController.ts rename to src/components/darknodePage/statuspage/topup/TopUpController.tsx index f9bd336d..6056cfa6 100644 --- a/src/components/darknodePage/statuspage/topup/TopUpController.ts +++ b/src/components/darknodePage/statuspage/topup/TopUpController.tsx @@ -1,20 +1,23 @@ +import { Currency, CurrencyIcon } from "@renproject/react-components"; import { BigNumber } from "bignumber.js"; -import { Component, createElement } from "react"; +import React, { Component } from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; +import { Token } from "../../../../lib/ethereum/tokens"; import { _captureBackgroundException_ } from "../../../../lib/react/errors"; import { showFundPopup } from "../../../../store/account/operatorPopupActions"; import { ApplicationState } from "../../../../store/applicationState"; import { updateDarknodeDetails } from "../../../../store/network/operatorActions"; import { AppDispatch } from "../../../../store/rootReducer"; +import { TokenBalance } from "../../../common/TokenBalance"; import { TopUp } from "./TopUp"; export const CONFIRMATION_MESSAGE = "Transaction confirmed."; const defaultState = { // Entries must be immutable - value: "0.1", - resultMessage: "", + value: "", + resultMessage: null as React.ReactNode, pending: false, disabled: false, accountBalance: new BigNumber(0), @@ -41,16 +44,16 @@ class TopUpControllerClass extends Component { this._isMounted = false; } - public render = (): JSX.Element => createElement(TopUp, { - darknodeID: this.props.darknodeID, - value: this.state.value, - resultMessage: this.state.resultMessage, - pending: this.state.pending, - disabled: this.state.disabled, - handleChange: this.handleChange, - handleBlur: this.handleBlur, - sendFunds: this.sendFunds, - }) + public render = (): JSX.Element => private readonly handleChange = (value: string): void => { this.setState({ value }); @@ -58,14 +61,14 @@ class TopUpControllerClass extends Component { const { accountBalance: traderBalance, resultMessage, disabled } = this.state; // If input is invalid, show an error. if (isNaN(parseFloat(value)) || parseFloat(value) <= 0) { - this.setState({ disabled: true }); + this.setState({ disabled: true, resultMessage: null }); } else if (traderBalance.isLessThan(value)) { this.setState({ - resultMessage: `Insufficient balance. Maximum deposit: ${traderBalance.toFixed()}`, + resultMessage: <>Insufficient balance. Maximum deposit: , disabled: true, }); } else if (resultMessage || disabled) { - this.setState({ resultMessage: "", disabled: false }); + this.setState({ resultMessage: null, disabled: false }); } } diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx index 073af4bf..2abb0e38 100644 --- a/src/components/overviewPage/Overview.tsx +++ b/src/components/overviewPage/Overview.tsx @@ -21,6 +21,12 @@ const mapStateToProps = (state: ApplicationState) => ({ }); const colors = [ + // Token colours + // "#d9a547", + // "#F09242", + // "#f4b728", + // "#627eea", + // Old colours "#B8DCFF", "#02BBFF", "#006FE8", diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index f4f35c9a..dac0653d 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -23,7 +23,7 @@ html { } * { - font-family: "PingFang SC", Helvetica, Arial, sans-serif; + font-family: "SuisseIntl", Helvetica, Arial, sans-serif; } body { @@ -336,4 +336,16 @@ label { @media (min-width: $min-xl) { display: none !important; } +} + +.no-spin-button { + -moz-appearance: textfield; + + &::-webkit-inner-spin-button, + &::-webkit-outer-spin-button { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + margin: 0; + } } \ No newline at end of file diff --git a/src/styles/scss/_block.scss b/src/styles/scss/_block.scss index 108419da..6ddf795d 100644 --- a/src/styles/scss/_block.scss +++ b/src/styles/scss/_block.scss @@ -20,7 +20,7 @@ } } -.block .svg-inline--fa { +.block--title .svg-inline--fa { margin-top: -2px; margin-right: 10px; font-size: 1.5em @@ -28,161 +28,84 @@ .block--body { flex-grow: 2; - display: flex; } .block--title { display: flex; - justify-content: center; + justify-content: left; margin-bottom: 20px; - margin-top: 30px; + margin-top: 15px; + padding: 0 22px; >h3 { text-transform: uppercase; - font-size: 18px; + font-size: 14px; font-weight: 500; margin: 0; - } -} - -.block--basic { - flex-grow: 2; - margin: 40px 0; - - display: flex; - flex-direction: column; - align-items: center; -} - -.block--advanced { - flex-grow: 2; - margin: 10px 0; - - display: flex; - flex-direction: column; - align-items: center; -} -.block--basic--top { - white-space: nowrap; - margin: 40px 10px; - margin-bottom: 0; -} + font-style: normal; + font-weight: bold; -.block--basic--pending { - opacity: 0.8; + /* identical to box height */ + letter-spacing: 1.75px; + text-transform: uppercase; - .fees-block--basic--value { - font-size: 30px; - } + color: #FFFFFF; - .fees-block--basic--sign { - font-size: 15px; - margin-right: 0; - } - .svg-inline--fa { - margin-right: 5px; - } - .fees-block--basic--unit { - font-size: 15px; + svg { + height: 18px; + } } } -.block--basic--show { - cursor: pointer; - width: 100%; +.block--advanced { flex-grow: 2; + margin: 10px 0; + display: flex; - justify-content: center; flex-direction: column; - font-size: 36px; } -.block--basic--hide { - cursor: pointer; - color: white; - font-size: 14px; - - // Position at top left corner - position: relative; - top: 20px; - left: 20px; - - // Don't shift other elements down - width: 0; - height: 0; +.block--advanced--top { + padding: 0 22px; } .block--advanced--bottom { @extend .scrollable; @extend .no-scrollbar; - margin-top: 20px; + margin-top: 10px; width: 100%; } /**** GAS BLOCK *****/ .gas-block { - color: $red; -} - -.gas-block--basic--sign { - font-size: 36px; - margin-right: 5px; - margin-left: 0; - color: transparentize($red, 1 - 0.6); -} - -.gas-block--basic--value { - font-size: 64px; -} - -.gas-block--basic--unit { - margin-left: 5px; - font-size: 36px; - color: transparentize($red, 1 - 0.6); + // color: $red; } .gas-block--advanced--value { - font-size: 48px; + font-size: 38px; } .gas-block--advanced--unit { margin-left: 3px; - font-size: 24px; - color: transparentize($red, 1 - 0.6); + font-size: 22px; + opacity: 0.6; } /**** FEES BLOCK *****/ .fees-block { - color: $green; + // color: $green; .block--title { margin-bottom: 5px; } } -.fees-block--basic--value { - font-size: 64px; -} - -.fees-block--basic--unit { - margin-left: 5px; - font-size: 36px; - color: transparentize($green, 1 - 0.6); -} - -.fees-block--basic--sign { - font-size: 36px; - color: transparentize($green, 1 - 0.6); - margin-right: 5px; - margin-left: 0; -} - .fees-block--advanced--value { font-size: 48px; } @@ -190,12 +113,12 @@ .fees-block--advanced--unit { margin-left: 3px; font-size: 24px; - color: transparentize($green, 1 - 0.6); + opacity: 0.6; } .fees-block--advanced--sign { font-size: 36px; - color: transparentize($green, 1 - 0.6); + opacity: 0.6; margin-right: 3px; margin-left: 0; } @@ -207,34 +130,8 @@ border: none; } -.block--advanced--tabs { - border-bottom: 1px solid $green; - display: flex; - flex-flow: row; +.tabs--outer { width: 100%; - margin-bottom: 20px; - - .block--advanced--tab { - background: none; - border: none; - width: 100%; - color: white; - font-weight: 100; - cursor: pointer; - text-align: center; - display: flex; - justify-content: center; - padding: 10px; - - &.selected { - color: $green; - font-weight: 900; - } - - &:focus { - outline: 0; - } - } } .block--advanced--claim { @@ -253,11 +150,6 @@ } .fees-block--table { - - tr { - height: 60px; - } - tr:hover td { background-color: rgba(255, 255, 255, 0.05); } @@ -327,7 +219,7 @@ } .fees-block--table--usd-symbol { - color: transparentize($green, 1 - 0.6); + opacity: 0.6; } .fees-block--table--icon { @@ -337,7 +229,6 @@ } .network-block { - .network-block--info { @extend .no-scrollbar; @@ -362,6 +253,11 @@ min-width: 0px; } + td { + padding: 0; + padding-right: 5px; + } + tr td:first-child { font-weight: 900; } @@ -375,18 +271,23 @@ } .network-block--info { - padding: 0 40px; + padding: 0 22px; // display: flex; // justify-content: center; // align-items: center; - width: 438px; // Measured in inspector } .gas-block .block--body { - padding: 0 40px; + padding: 0 22px; +} + +.fees-block .block--body { + display: flex; } + + /* Gas Graph */ .gas-graph { @@ -432,4 +333,48 @@ border-bottom: 5px solid $red; cursor: default; } +} + +.tabs { + @extend .no-scrollbar; + + border-bottom: 2px solid #001B3A; + display: flex; + flex-flow: row; + width: 100%; + margin-bottom: 20px; + padding: 0 22px; + + overflow-y: scroll; + margin-top: 10px; + + .tab { + margin-bottom: 0px; + background: none; + border: none; + font-weight: 100; + cursor: pointer; + text-align: center; + display: flex; + justify-content: center; + padding: 10px 20px; + + font-weight: bold; + font-size: 14px; + line-height: 16px; + + /* identical to box height */ + text-transform: uppercase; + + color: #FFFFFF66; + + &.selected { + color: white; + border-bottom: 2px solid #006FE8; + } + + &:focus { + outline: 0; + } + } } \ No newline at end of file diff --git a/src/styles/scss/_statuspage.scss b/src/styles/scss/_statuspage.scss index 2795e65a..e49629cd 100644 --- a/src/styles/scss/_statuspage.scss +++ b/src/styles/scss/_statuspage.scss @@ -111,7 +111,7 @@ } color: white; - margin-top: 24px; + margin-top: 16px; >div+div { margin-left: 22px; @@ -242,11 +242,15 @@ } .topup--title { - margin-bottom: 10px; - font-weight: bold; + font-weight: normal; font-size: 14px; + /* identical to box height, or 257% */ + color: #FFFFFF; + + mix-blend-mode: normal; + opacity: 0.6; } .topup--withdraw { @@ -274,11 +278,10 @@ display: inline-flex; align-items: center; - vertical-align: top; - background: #F5F5F5; - border-radius: 2px; - height: 42px; + >* { + flex-grow: 1; + } } .topup--input:not(.disabled):hover { @@ -286,11 +289,21 @@ } .topup--input>input[type=number] { - width: 100%; + @extend .no-spin-button; border: none; height: 42px; background: none; font-weight: 500; + font-size: 16px; + + background: #F5F5F5; + border-radius: 4px; + height: 32px; + + + &::placeholder { + color: #979797; + } } .topup--input>span { @@ -300,11 +313,28 @@ } .topup--input>button { + height: 32px; background: none; border: none; + border: 1px solid #FFFFFF; + box-sizing: border-box; + border-radius: 4px; + font-weight: 500; + font-size: 12px; + line-height: 14px; + + /* identical to box height */ + text-align: center; + + color: #F9F9F9; + transition: opacity 0.2s ease-in-out; + + &:disabled { + opacity: 0.6; + } } - .statuspage--graphs { + .block--column { flex-grow: 1; flex-basis: 0; @@ -451,7 +481,7 @@ position: relative; top: 0; left: 0; - border-color: #002247 #001B3A #002247 #001B3A; + border-color: rgba(0, 111, 232, 0.28) #00000000 rgba(0, 111, 232, 0.28) #00000000; border-width: 10px; animation: lds-dual-ring 2s linear infinite; width: 80px; @@ -468,4 +498,17 @@ overflow: hidden; text-overflow: ellipsis; min-width: 0px; +} + +.statuspage--banner--edit { + display: flex; + justify-content: center; + align-items: center; + + >div { + padding: 0; + margin-left: 10px; + height: 16px; + margin-top: -2px; + } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 123f6d7c..966f0449 100644 --- a/yarn.lock +++ b/yarn.lock @@ -814,7 +814,7 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== -"@emotion/cache@^10.0.14", "@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": +"@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": version "10.0.15" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02" integrity sha512-8VthgeKhlGeTXSW1JN7I14AnAaiFPbOrqNqg3dPoGCZ3bnMjkrmRU0zrx0BtBw9esBaPaQgDB9y0tVgAGT2Mrg== @@ -1140,16 +1140,16 @@ resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" integrity sha512-OWk811Ay63UdPxY5nEg4N99Goz6K9HLaeGfUN2q0uehhQ70hJDqDQq/vYl5rtE07mv7MYX7GYTpj5POlPbZNRg== -"@renproject/react-components@1.0.29": - version "1.0.29" - resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.29.tgz#9409fcceb3732e1712df5fc8442b5004ac2b74ce" - integrity sha512-K7IMB+fafi8W2huQkHTME/DLBO1yvGMkcNyVjT3IJhJkNF7IR87NjoBWWt3TFBjTUoobiyos3lNOvxovm5F63Q== +"@renproject/react-components@1.0.30": + version "1.0.30" + resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.30.tgz#03db55ebb06fc501b27a435ae6c189a3e2513974" + integrity sha512-Y5SOWCnjjDEsr1EB+8+8udgccJIdZCceX0K3lHsJPgcVkNIz1L2DHmrGzoxl0CmfFq+U8FskKtSZmUF14tzG6g== dependencies: "@fortawesome/fontawesome-svg-core" "^1.2.21" "@fortawesome/free-brands-svg-icons" "^5.10.1" "@fortawesome/react-fontawesome" "^0.1.4" "@renproject/fonts" "^1.0.1" - emotion "^10.0.14" + "@types/react-select" "^3.0.2" immutable "^4.0.0-rc.12" moment "^2.24.0" react-element-to-jsx-string "^14.0.3" @@ -1450,7 +1450,7 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== -"@types/node@*", "@types/node@^12.7.1": +"@types/node@*": version "12.7.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.1.tgz#3b5c3a26393c19b400844ac422bd0f631a94d69d" integrity sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw== @@ -1460,7 +1460,7 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== -"@types/node@^12.6.1": +"@types/node@^12.6.1", "@types/node@^12.7.2": version "12.7.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== @@ -1482,17 +1482,17 @@ dependencies: query-string "*" -"@types/react-dom@^16.8.5": +"@types/react-dom@*", "@types/react-dom@^16.8.5": version "16.8.5" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.5.tgz#3e3f4d99199391a7fb40aa3a155c8dd99b899cbd" integrity sha512-idCEjROZ2cqh29+trmTmZhsBAUNQuYrF92JHKzZ5+aiFM1mlSk3bb23CK7HhYuOY75Apgap5y2jTyHzaM2AJGA== dependencies: "@types/react" "*" -"@types/react-redux@^7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.1.tgz#eb01e89cf71cad77df9f442b819d5db692b997cb" - integrity sha512-owqNahzE8en/jR4NtrUJDJya3tKru7CIEGSRL/pVS84LtSCdSoT7qZTkrbBd3S4Lp11sAp+7LsvxIeONJVKMnw== +"@types/react-redux@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.2.tgz#02303b77d87e54f327c09507cf80ee3ca3063898" + integrity sha512-Iim6UCtD0mZX9U3jBuT6ZObBZ8UlakoOgefiRgi5wakfbNnXd3TUwwUMgi3Ijc0fxsPLZ5ULoz0oDy15YIaLmQ== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -1516,6 +1516,15 @@ "@types/history" "*" "@types/react" "*" +"@types/react-select@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.2.tgz#7b1f93967668e89f50fe00b48e6ee8bd8dea773c" + integrity sha512-9OrprBJqwJkFanyITQq65r36CjjDt+H5zJYh9C81MnUqH4Dulk5WZSLR77kwlw/yXd8jMii4Dz519amr6IMCfQ== + dependencies: + "@types/react" "*" + "@types/react-dom" "*" + "@types/react-transition-group" "*" + "@types/react-simple-maps@^0.12.2": version "0.12.2" resolved "https://registry.yarnpkg.com/@types/react-simple-maps/-/react-simple-maps-0.12.2.tgz#b139d7f909e2edee6f54b53c4adce9251ebf24fb" @@ -1524,6 +1533,13 @@ "@types/d3-geo" "*" "@types/react" "*" +"@types/react-transition-group@*": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.2.tgz#8c851c4598a23a3a34173069fb4c5c9e41c02e3f" + integrity sha512-YfoaTNqBwbIqpiJ5NNfxfgg5kyFP1Hqf/jqBtSWNv0E+EkkxmN+3VD6U2fu86tlQvdAc1o0SdWhnWFwcRMTn9A== + dependencies: + "@types/react" "*" + "@types/react-transition-group@1.1": version "1.1.6" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-1.1.6.tgz#871079e586ba346edae3b2a1cd0614e9f4363bf7" @@ -1531,7 +1547,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^16.9.1": +"@types/react@*": version "16.9.1" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.1.tgz#862c83b4c9d5cd116e42fd9a4f3694843cd2c051" integrity sha512-jGM2x8F7m7/r+81N/BOaUKVwbC5Cdw6ExlWEUpr77XPwVeNvAppnPEnMMLMfxRDYL8FPEX8MHjwtD2NQMJ0yyQ== @@ -1539,6 +1555,14 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/react@^16.9.2": + version "16.9.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz#6d1765431a1ad1877979013906731aae373de268" + integrity sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg== + dependencies: + "@types/prop-types" "*" + csstype "^2.2.0" + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -4134,16 +4158,6 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-emotion@^10.0.14: - version "10.0.14" - resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-10.0.14.tgz#4c140aaef6a9588ed47c926f9c4679e4719be43e" - integrity sha512-5G4naKMxokOur+94eDz7iPKBfwzy4wa/+0isnPhxXyosIQHBq7yvBy4jjdZw/nnRm7G3PM7P9Ug8mUmtoqcaHg== - dependencies: - "@emotion/cache" "^10.0.14" - "@emotion/serialize" "^0.11.8" - "@emotion/sheet" "0.9.3" - "@emotion/utils" "0.11.2" - create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -5082,14 +5096,6 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= -emotion@^10.0.14: - version "10.0.14" - resolved "https://registry.yarnpkg.com/emotion/-/emotion-10.0.14.tgz#d7702a6147de6e8ce863dacde98418a467c5fed4" - integrity sha512-6cTWfwqVGy9UinGSZQKRGyuRsRGkzlT0MaeH2pF4BvL7u6PnyTZeyHj4INwzpaXBLwA9C0JaFqS31J62RWUNNw== - dependencies: - babel-plugin-emotion "^10.0.14" - create-emotion "^10.0.14" - encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -5238,10 +5244,10 @@ escodegen@^1.11.0, escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-react-app@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.0.tgz#b3639e96fccc24eaaa63c92fc2f4358f79f22fb2" - integrity sha512-d3hbvu14J1Iy7N+XvrMOMXmw32iIGGIHqg7DK0RqA6UxKOix+Z53fuQ/uf2NqasSse3uHUNB1EvuZ8Iw2bzd3g== +eslint-config-react-app@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.1.tgz#5f3d666ba3ee3cb384eb943e260e868f6c72251b" + integrity sha512-GYXP3F/0PSHlYfGHhahqnJze8rYKxzXgrzXVqRRd4rDO40ga4NA3aHM7/HKbwceDN0/C1Ij3BoAWFawJgRbXEw== dependencies: confusing-browser-globals "^1.0.8" @@ -11591,10 +11597,10 @@ react-chartjs-2@^2.7.6: lodash "^4.17.4" prop-types "^15.5.8" -react-dev-utils@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.2.tgz#14f9a75120513967e13599d4f66d43bced7a3fce" - integrity sha512-AHVfRepMzZJyJHCNFAsrAG4El1H5v+27c1XkeDoX6pSmdhT/ZDdAN3Mf7DKYcrbIFlubzVYof6NZDnPBjd0CNA== +react-dev-utils@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.3.tgz#7607455587abb84599451460eb37cef0b684131a" + integrity sha512-OyInhcwsvycQ3Zr2pQN+HV4gtRXrky5mJXIy4HnqrWa+mI624xfYfqGuC9dYbxp4Qq3YZzP8GSGQjv0AgNU15w== dependencies: "@babel/code-frame" "7.5.5" address "1.1.0" @@ -11615,7 +11621,7 @@ react-dev-utils@^9.0.2: loader-utils "1.2.3" open "^6.3.0" pkg-up "2.0.0" - react-error-overlay "^6.0.0" + react-error-overlay "^6.0.1" recursive-readdir "2.2.2" shell-quote "1.6.1" sockjs-client "1.3.0" @@ -11640,10 +11646,10 @@ react-element-to-jsx-string@^14.0.3: is-plain-object "3.0.0" stringify-object "3.3.0" -react-error-overlay@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.0.tgz#485beca3db57e8ec2d934d4ee598754467229499" - integrity sha512-oHf3b1J2Pxu03apiHvP21qBCkj6fG6A3c3ahya3fX0VXEZUTzIRLwZI9eZ/6cuOO+kvnzdVdGBxZlo+Tjh+hfQ== +react-error-overlay@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.1.tgz#b8d3cf9bb991c02883225c48044cb3ee20413e0f" + integrity sha512-V9yoTr6MeZXPPd4nV/05eCBvGH9cGzc52FN8fs0O0TVQ3HYYf1n7EgZVtHbldRq5xU9zEzoXIITjYNIfxDDdUw== react-input-autosize@^2.2.1: version "2.2.1" @@ -11703,10 +11709,10 @@ react-router@5.0.1, react-router@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-scripts@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.0.tgz#f4c4133072908e709a23864ccb49076ccbeb766b" - integrity sha512-JuccnZ+mKYhufZSxNoikMMX7KKvpq4dhiyR4jzsKDMJIu0fcdcXvjnBWKNMzRKmeXnmbeCjo1K9N/I57ZYpp4w== +react-scripts@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.1.tgz#1796bc92447f3a2d3072c3b71ca99f88d099c48d" + integrity sha512-dbjTG9vJC61OI62hIswQYg5xHvwlxDTH6QXz6ICEuA5AqkFQWk1LKl76sk8fVL2WsyumbBc4FErALwKcEV2vNA== dependencies: "@babel/core" "7.5.5" "@svgr/webpack" "4.3.2" @@ -11723,7 +11729,7 @@ react-scripts@^3.1.0: dotenv "6.2.0" dotenv-expand "4.2.0" eslint "^6.1.0" - eslint-config-react-app "^5.0.0" + eslint-config-react-app "^5.0.1" eslint-loader "2.2.1" eslint-plugin-flowtype "3.13.0" eslint-plugin-import "2.18.2" @@ -11748,7 +11754,7 @@ react-scripts@^3.1.0: postcss-preset-env "6.7.0" postcss-safe-parser "4.0.1" react-app-polyfill "^1.0.2" - react-dev-utils "^9.0.2" + react-dev-utils "^9.0.3" resolve "1.12.0" resolve-url-loader "3.1.0" sass-loader "7.2.0" From 86ac6608e06e651f8959ea93c86676d135a255e6 Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 19 Aug 2019 15:55:04 +1000 Subject: [PATCH 056/117] Query stats from darknode for network tab --- package.json | 4 +- .../darknodeList/DarknodeCard.tsx | 4 +- src/components/common/DarknodeID.tsx | 2 +- src/components/common/sidebar/SidebarIcon.tsx | 2 +- src/components/darknodePage/Darknode.tsx | 11 +--- .../statuspage/block/NetworkBlock.tsx | 23 +++++++- src/components/hyperdrivePage/Hyperdrive.tsx | 2 +- .../hyperdrivePage/hyperdriveContainer.ts | 2 +- src/lib/darknode/darknodeID.ts | 11 ++++ src/lib/darknode/jsonrpc.ts | 56 +++++++++++++++++++ src/lib/ethereum/contractReads.ts | 13 +++++ src/store/applicationState.ts | 13 +++-- yarn.lock | 10 ++++ 13 files changed, 131 insertions(+), 22 deletions(-) create mode 100644 src/lib/darknode/darknodeID.ts create mode 100644 src/lib/darknode/jsonrpc.ts diff --git a/package.json b/package.json index afdbdb30..e28f7517 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@sentry/browser": "^5.6.1", "@sentry/core": "^5.6.1", "@types/bs58": "^4.0.0", + "@types/filesize": "^4.1.0", "@types/jest": "^24.0.17", "@types/node": "^12.7.2", "@types/query-string": "^6.3.0", @@ -42,6 +43,7 @@ "chart.js": "^2.8.0", "drizzle": "https://github.com/ren-forks/drizzle#build", "drizzle-react": "^1.3.0", + "filesize": "^4.1.2", "history": "^4.9.0", "immutable": "^4.0.0-rc.12", "localforage": "^1.7.3", @@ -96,4 +98,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} \ No newline at end of file +} diff --git a/src/components/allDarknodesPage/darknodeList/DarknodeCard.tsx b/src/components/allDarknodesPage/darknodeList/DarknodeCard.tsx index 95b28181..cbe84985 100644 --- a/src/components/allDarknodesPage/darknodeList/DarknodeCard.tsx +++ b/src/components/allDarknodesPage/darknodeList/DarknodeCard.tsx @@ -3,11 +3,11 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; +import { darknodeIDHexToBase58 } from "../../../lib/darknode/darknodeID"; import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; import { removeDarknode, removeRegisteringDarknode } from "../../../store/network/operatorActions"; import { AppDispatch } from "../../../store/rootReducer"; -import { darknodeIDHexToBase58 } from "../../darknodePage/Darknode"; import { CardView } from "./CardView"; const mapStateToProps = (state: ApplicationState) => ({ @@ -57,7 +57,7 @@ export const DarknodeCard = connect(mapStateToProps, mapDispatchToProps)((props: } else if (address) { actions.removeDarknode({ darknodeID, operator: address, network: renNetwork.name }); } - }, [confirmedRemove, continuable, actions, address, darknodeID]); + }, [confirmedRemove, continuable, actions, address, darknodeID, renNetwork.name]); const faded = darknodeDetails && darknodeDetails.registrationStatus === RegistrationStatus.Unregistered && diff --git a/src/components/common/DarknodeID.tsx b/src/components/common/DarknodeID.tsx index 42caf66b..8cbb9dd2 100644 --- a/src/components/common/DarknodeID.tsx +++ b/src/components/common/DarknodeID.tsx @@ -1,6 +1,6 @@ import * as React from "react"; -import { darknodeIDHexToBase58 } from "../darknodePage/Darknode"; +import { darknodeIDHexToBase58 } from "../../lib/darknode/darknodeID"; export const DarknodeID = (props: Props): JSX.Element => { const { darknodeID } = props; diff --git a/src/components/common/sidebar/SidebarIcon.tsx b/src/components/common/sidebar/SidebarIcon.tsx index 06f36afb..1adc0244 100644 --- a/src/components/common/sidebar/SidebarIcon.tsx +++ b/src/components/common/sidebar/SidebarIcon.tsx @@ -7,8 +7,8 @@ import { Blocky, Currency, CurrencyIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { Link } from "react-router-dom"; +import { darknodeIDHexToBase58 } from "../../../lib/darknode/darknodeID"; import { Token } from "../../../lib/ethereum/tokens"; -import { darknodeIDHexToBase58 } from "../../darknodePage/Darknode"; import { DarknodeID } from "../DarknodeID"; import { TokenBalance } from "../TokenBalance"; diff --git a/src/components/darknodePage/Darknode.tsx b/src/components/darknodePage/Darknode.tsx index b67e3623..cbec6ae0 100644 --- a/src/components/darknodePage/Darknode.tsx +++ b/src/components/darknodePage/Darknode.tsx @@ -4,10 +4,9 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router"; import { bindActionCreators } from "redux"; -import { toChecksumAddress } from "web3-utils"; +import { darknodeIDBase58ToHex } from "../../lib/darknode/darknodeID"; import { RegistrationStatus } from "../../lib/ethereum/contractReads"; -import { EncodedData, Encodings } from "../../lib/general/encodedData"; import { ApplicationState } from "../../store/applicationState"; import { addRegisteringDarknode, setDarknodeName } from "../../store/network/operatorActions"; import { AppDispatch } from "../../store/rootReducer"; @@ -21,14 +20,6 @@ export enum DarknodeAction { Deregister = "deregister", } -export const darknodeIDBase58ToHex = (darknodeID: string): string => - toChecksumAddress( - (`0x${new EncodedData(darknodeID, Encodings.BASE58).toHex("").slice(4)}`).toLowerCase() - ); - -export const darknodeIDHexToBase58 = (darknodeID: string): string => - new EncodedData(`0x1B14${darknodeID.slice(2)}`, Encodings.HEX).toBase58(); - export const getDarknodeParam = (params: unknown): string | undefined => { const { darknodeID: darknodeID58 } = params as { darknodeID: string | undefined }; let darknodeID; diff --git a/src/components/darknodePage/statuspage/block/NetworkBlock.tsx b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx index 44bab3b4..de412f3f 100644 --- a/src/components/darknodePage/statuspage/block/NetworkBlock.tsx +++ b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx @@ -2,9 +2,11 @@ import * as React from "react"; import { faServer } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { naturalTime } from "@renproject/react-components"; +import filesize from "filesize"; +import { darknodeIDHexToBase58 } from "../../../../lib/darknode/darknodeID"; import { DarknodesState } from "../../../../store/applicationState"; -import { darknodeIDHexToBase58 } from "../../Darknode"; import { Block, BlockBody, BlockTitle } from "./Block"; export const NetworkBlock = (props: Props): JSX.Element => { @@ -30,6 +32,25 @@ export const NetworkBlock = (props: Props): JSX.Element => { Address{darknodeDetails.ID} Public Key{darknodeDetails.publicKey} Operator{darknodeDetails.operator} + Version{darknodeDetails.nodeStatistics ? darknodeDetails.nodeStatistics.version : ""} + MultiAddress{darknodeDetails.nodeStatistics ? darknodeDetails.nodeStatistics.multiAddress : ""} + Memory{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.memory) : ""} + Memory Used{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.memoryUsed) : ""} + Memory Free{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.memoryFree) : ""} + Disk{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.disk) : ""} + Disk Used{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.diskUsed) : ""} + Disk Free{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.diskFree) : ""} + System Uptime{darknodeDetails.nodeStatistics ? naturalTime(Date.now() / 1000 - darknodeDetails.nodeStatistics.systemUptime, { + message: "Just now", + countDown: false, + showingSeconds: false + }) : ""} + Service Uptime{darknodeDetails.nodeStatistics ? naturalTime(Date.now() / 1000 - darknodeDetails.nodeStatistics.serviceUptime, { + message: "Just now", + countDown: false, + showingSeconds: false + }) : ""} + CPU Cores{darknodeDetails.nodeStatistics ? darknodeDetails.nodeStatistics.cores : ""}

    diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index aa197d4c..df2d5355 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -76,7 +76,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { return () => { clearInterval(interval); }; - // tslint:disable-next-line:react-hooks/exhaustive-dep + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const blockTr = (block: Block) => { diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts index bef8bb06..7a4105ed 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -72,7 +72,7 @@ export interface Block { type Blocks = Block[]; -interface RPCResponse { +export interface RPCResponse { jsonrpc: "2.0"; id: number; result: T; diff --git a/src/lib/darknode/darknodeID.ts b/src/lib/darknode/darknodeID.ts new file mode 100644 index 00000000..31a62617 --- /dev/null +++ b/src/lib/darknode/darknodeID.ts @@ -0,0 +1,11 @@ +import { toChecksumAddress } from "web3-utils"; + +import { EncodedData, Encodings } from "../../lib/general/encodedData"; + +export const darknodeIDBase58ToHex = (darknodeID: string): string => + toChecksumAddress( + (`0x${new EncodedData(darknodeID, Encodings.BASE58).toHex("").slice(4)}`).toLowerCase() + ); + +export const darknodeIDHexToBase58 = (darknodeID: string): string => + new EncodedData(`0x1B14${darknodeID.slice(2)}`, Encodings.HEX).toBase58(); diff --git a/src/lib/darknode/jsonrpc.ts b/src/lib/darknode/jsonrpc.ts new file mode 100644 index 00000000..396fe559 --- /dev/null +++ b/src/lib/darknode/jsonrpc.ts @@ -0,0 +1,56 @@ +import { Record } from "@renproject/react-components"; +import Axios from "axios"; + +import { RPCResponse } from "../../components/hyperdrivePage/hyperdriveContainer"; + +export interface ResponseQueryStat { + version: string; + multiAddress: string; + cpus: Array<{ + cores: number; + clockRate: number; + cacheSize: number; + modelName: string; + }>; + memory: number; + memoryUsed: number; + memoryFree: number; + disk: number; + diskUsed: number; + diskFree: number; + systemUptime: number; + serviceUptime: number; +} + +export class NodeStatistics extends Record({ + version: "", + multiAddress: "", + memory: 0, + memoryUsed: 0, + memoryFree: 0, + disk: 0, + diskUsed: 0, + diskFree: 0, + systemUptime: 0, + serviceUptime: 0, + + cores: 0, +}) { } + +export const queryStat = async (lightnode: string, darknodeID: string) => { + const request = { jsonrpc: "2.0", method: "ren_queryStat", params: {}, id: 67 }; + const result = (await Axios.post>(`${lightnode}?id=${darknodeID}`, request)).data.result; + return new NodeStatistics({ + version: result.version, + multiAddress: result.multiAddress, + memory: result.memory, + memoryUsed: result.memoryUsed, + memoryFree: result.memoryFree, + disk: result.disk, + diskUsed: result.diskUsed, + diskFree: result.diskFree, + systemUptime: result.systemUptime, + serviceUptime: result.serviceUptime, + cores: result.cpus.reduce((sum, cpu) => sum + cpu.cores, 0), + }); +}; diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 354f5c8e..3a5b8727 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -6,7 +6,10 @@ import Web3 from "web3"; import { Block } from "web3-eth"; import { sha3, toChecksumAddress } from "web3-utils"; +import { getLightnode } from "../../components/overviewPage/mapContainer"; import { DarknodesState } from "../../store/applicationState"; +import { darknodeIDHexToBase58 } from "../darknode/darknodeID"; +import { queryStat } from "../darknode/jsonrpc"; import { safePromiseAllList, safePromiseAllMap } from "../general/promiseAll"; import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodePaymentStore, getDarknodeRegistry } from "./contract"; @@ -731,6 +734,14 @@ export const fetchDarknodeDetails = async ( cycleStatus = cycleStatus.set(previousCycleBN.toString(), previousStatus); } + // Call queryStats + let nodeStatistics = null; + try { + nodeStatistics = await queryStat(getLightnode(renNetwork), darknodeIDHexToBase58(darknodeID)); + } catch (error) { + console.error(error); + } + // Store details /////////////////////////////////////////////////////////// return new DarknodesState({ @@ -749,5 +760,7 @@ export const fetchDarknodeDetails = async ( peers: 0, registrationStatus, operator, + + nodeStatistics, }); }; diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index a20dd384..1a0ecfad 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -6,6 +6,7 @@ import BigNumber from "bignumber.js"; import { List, Map, OrderedMap } from "immutable"; import { PromiEvent } from "web3-core"; +import { NodeStatistics } from "../lib/darknode/jsonrpc"; import { Web3Browser } from "../lib/ethereum/browsers"; import { DarknodeFeeStatus, RegistrationStatus } from "../lib/ethereum/contractReads"; import { getReadOnlyWeb3 } from "../lib/ethereum/getWeb3"; @@ -72,7 +73,6 @@ export class NetworkState extends Record({ secondsPerBlock: null as number | null, tokenPrices: null as TokenPrices | null, - quoteCurrency: Currency.USD, darknodeCount: null as BigNumber | null, orderCount: null as BigNumber | null, @@ -94,9 +94,10 @@ export class NetworkState extends Record({ pendingRewardsInEth: OrderedMap>(), cycleTimeout: new BigNumber(0), - /////////////////////////////////////////////////////// - // If these change, localstorage migration is needed // - /////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////// + // If these change, localstorage migration may be needed // + /////////////////////////////////////////////////////////// + quoteCurrency: Currency.USD, darknodeNames: Map(), darknodeRegisteringList: Map(), // Map from operator-address to list of darknodes. @@ -107,6 +108,7 @@ export class NetworkState extends Record({ public serialize(): string { const js = this.toJS(); return JSON.stringify({ + quoteCurrency: js.quoteCurrency, darknodeList: js.darknodeList, darknodeNames: js.darknodeNames, darknodeRegisteringList: js.darknodeRegisteringList, @@ -119,6 +121,7 @@ export class NetworkState extends Record({ try { const data = JSON.parse(str); return new NetworkState({ + quoteCurrency: data.quoteCurrency, darknodeList: data.darknodeList, darknodeNames: data.darknodeNames, darknodeRegisteringList: data.darknodeRegisteringList, @@ -151,4 +154,6 @@ export class DarknodesState extends Record({ peers: 0, registrationStatus: "" as RegistrationStatus, operator: "", + + nodeStatistics: null as NodeStatistics | null, }) { } diff --git a/yarn.lock b/yarn.lock index 966f0449..3a6476f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1395,6 +1395,11 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== +"@types/filesize@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-4.1.0.tgz#da49e71ccb6bf5b024ced2bcad30528a8eebd46d" + integrity sha512-PsogPt8wYP5406gh7hscvg3jdcEGeeHeG+qGpwSK3wUTgiT2WvKbT8la/SxSglfLTqxJcLwPcXvhenNGOAdHuw== + "@types/geojson@*": version "7946.0.7" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad" @@ -6114,6 +6119,11 @@ filesize@3.6.1: resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== +filesize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-4.1.2.tgz#fcd570af1353cea97897be64f56183adb995994b" + integrity sha512-iSWteWtfNcrWQTkQw8ble2bnonSl7YJImsn9OZKpE2E4IHhXI78eASpDYUljXZZdYj36QsEKjOs/CsiDqmKMJw== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" From 595b91bb891dc1ce3c3b01ff06e56d1b9e55662d Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 19 Aug 2019 16:54:51 +1000 Subject: [PATCH 057/117] Added resource charts --- .../darknodePage/statuspage/StatusPage.tsx | 2 + .../statuspage/block/NetworkBlock.tsx | 7 -- .../statuspage/block/ResourcesBlock.tsx | 77 +++++++++++++++++++ src/styles/scss/__general.scss | 2 +- src/styles/scss/_statuspage.scss | 36 +++++++++ 5 files changed, 116 insertions(+), 8 deletions(-) create mode 100644 src/components/darknodePage/statuspage/block/ResourcesBlock.tsx diff --git a/src/components/darknodePage/statuspage/StatusPage.tsx b/src/components/darknodePage/statuspage/StatusPage.tsx index 1e09bf67..3ca434c7 100644 --- a/src/components/darknodePage/statuspage/StatusPage.tsx +++ b/src/components/darknodePage/statuspage/StatusPage.tsx @@ -14,6 +14,7 @@ import { FeesBlock } from "./block/FeesBlock"; import { GasBlock } from "./block/GasBlock"; import { GasGraph } from "./block/GasGraph"; import { NetworkBlock } from "./block/NetworkBlock"; +import { ResourcesBlock } from "./block/ResourcesBlock"; import { Notifications } from "./Notifications"; import { Registration } from "./Registration"; @@ -126,6 +127,7 @@ class StatusPageClass extends React.Component {
    +
  • diff --git a/src/components/darknodePage/statuspage/block/NetworkBlock.tsx b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx index de412f3f..fa759128 100644 --- a/src/components/darknodePage/statuspage/block/NetworkBlock.tsx +++ b/src/components/darknodePage/statuspage/block/NetworkBlock.tsx @@ -3,7 +3,6 @@ import * as React from "react"; import { faServer } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { naturalTime } from "@renproject/react-components"; -import filesize from "filesize"; import { darknodeIDHexToBase58 } from "../../../../lib/darknode/darknodeID"; import { DarknodesState } from "../../../../store/applicationState"; @@ -34,12 +33,6 @@ export const NetworkBlock = (props: Props): JSX.Element => { Operator{darknodeDetails.operator} Version{darknodeDetails.nodeStatistics ? darknodeDetails.nodeStatistics.version : ""} MultiAddress{darknodeDetails.nodeStatistics ? darknodeDetails.nodeStatistics.multiAddress : ""} - Memory{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.memory) : ""} - Memory Used{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.memoryUsed) : ""} - Memory Free{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.memoryFree) : ""} - Disk{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.disk) : ""} - Disk Used{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.diskUsed) : ""} - Disk Free{darknodeDetails.nodeStatistics ? filesize(darknodeDetails.nodeStatistics.diskFree) : ""} System Uptime{darknodeDetails.nodeStatistics ? naturalTime(Date.now() / 1000 - darknodeDetails.nodeStatistics.systemUptime, { message: "Just now", countDown: false, diff --git a/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx b/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx new file mode 100644 index 00000000..7a252561 --- /dev/null +++ b/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx @@ -0,0 +1,77 @@ +import * as React from "react"; + +import { faServer } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import filesize from "filesize"; +import { Doughnut } from "react-chartjs-2"; + +import { DarknodesState } from "../../../../store/applicationState"; +import { Block, BlockBody, BlockTitle } from "./Block"; + +export const ResourcesBlock = (props: Props): JSX.Element => { + const { darknodeDetails } = props; + + return ( + + + +

    + + Resource Usage +

    +
    + + {darknodeDetails ? +
    +
    +
    + +
    +

    Memory Usage

    +
    +
    +
    + +
    +

    Disk Usage

    +
    +
    +
    : null} +
    + ); +}; + +// tslint:disable: react-unused-props-and-state +interface Props { + darknodeDetails: DarknodesState | null; +} diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index dac0653d..0d758a45 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -311,7 +311,7 @@ label { } .app--body { - margin-top: 120px; + margin-top: 100px; } .mobile-only { diff --git a/src/styles/scss/_statuspage.scss b/src/styles/scss/_statuspage.scss index e49629cd..69a41924 100644 --- a/src/styles/scss/_statuspage.scss +++ b/src/styles/scss/_statuspage.scss @@ -110,6 +110,7 @@ display: flex; } + min-height: 600px; color: white; margin-top: 16px; @@ -511,4 +512,39 @@ height: 16px; margin-top: -2px; } +} + +.network-block { + flex-grow: 2 !important; +} + +.resources--chart { + width: 100px; +} + +.resources--block--charts { + display: flex; + padding: 0 22px; + justify-content: center; + + >*+* { + margin-left: 40px; + } +} + +.resources--chart--and--label { + display: flex; + flex-flow: column; + align-items: center; + + >canvas { + height: 150px; + width: 150px; + } + + >p { + margin-top: 8px; + font-weight: 900; + text-transform: uppercase; + } } \ No newline at end of file From 00e2945af2b1add507bf3c3195bfebc5d99ce67d Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 21 Aug 2019 09:18:12 +1000 Subject: [PATCH 058/117] Small style changes --- src/components/common/Change.tsx | 11 ++ src/components/hyperdrivePage/Hyperdrive.tsx | 2 +- .../hyperdrivePage/_hyperdrive.scss | 4 +- src/components/overviewPage/Overview.tsx | 110 ++---------------- src/components/overviewPage/RewardChart.tsx | 80 +++++++++++++ src/styles/scss/__general.scss | 9 +- src/styles/scss/_grid.scss | 1 + src/styles/scss/_stat.scss | 25 ++-- 8 files changed, 125 insertions(+), 117 deletions(-) create mode 100644 src/components/common/Change.tsx create mode 100644 src/components/overviewPage/RewardChart.tsx diff --git a/src/components/common/Change.tsx b/src/components/common/Change.tsx new file mode 100644 index 00000000..2050ceb1 --- /dev/null +++ b/src/components/common/Change.tsx @@ -0,0 +1,11 @@ +import React from "react"; + +interface Props extends React.DetailedHTMLProps, HTMLDivElement> { + change: number; +} + +export const Change = ({ change, className, ...props }: Props) => { + return 0 ? "positive" : change < 0 ? "negative" : "neutral"].join(" ")}> + {change} + ; +}; diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index df2d5355..ee04a0b0 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -85,7 +85,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { history.push(`/hyperdrive/${block.height}`); }; return ( - + {block.height} {naturalTime(block.timestamp, { diff --git a/src/components/hyperdrivePage/_hyperdrive.scss b/src/components/hyperdrivePage/_hyperdrive.scss index 6b92893a..a4135247 100644 --- a/src/components/hyperdrivePage/_hyperdrive.scss +++ b/src/components/hyperdrivePage/_hyperdrive.scss @@ -14,13 +14,13 @@ color: #ffffff; } - tr { + .block--row { animation: highlight 1s; } @keyframes highlight { 0% { - background: rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.05) !important; } 100% { diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx index 2abb0e38..7f646391 100644 --- a/src/components/overviewPage/Overview.tsx +++ b/src/components/overviewPage/Overview.tsx @@ -1,41 +1,26 @@ -import { CurrencyIcon, Loading, TokenIcon } from "@renproject/react-components"; -import BigNumber from "bignumber.js"; +import { CurrencyIcon, Loading } from "@renproject/react-components"; import { drizzleReactHooks } from "drizzle-react"; import React from "react"; -import { Doughnut } from "react-chartjs-2"; import { connect } from "react-redux"; import { Token } from "../../lib/ethereum/tokens"; import { ApplicationState } from "../../store/applicationState"; +import { Change } from "../common/Change"; import { Stat, Stats } from "../common/Stat"; import { TokenBalance } from "../common/TokenBalance"; import { DarknodeMap } from "./darknodeMap/DarknodeMap"; import { MapContainer } from "./mapContainer"; +import { RewardChart } from "./RewardChart"; const mapStateToProps = (state: ApplicationState) => ({ currentCycle: state.network.currentCycle, previousCycle: state.network.previousCycle, pendingTotalInEth: state.network.pendingTotalInEth, quoteCurrency: state.network.quoteCurrency, - pendingRewardsInEth: state.network.pendingRewardsInEth, }); -const colors = [ - // Token colours - // "#d9a547", - // "#F09242", - // "#f4b728", - // "#627eea", - // Old colours - "#B8DCFF", - "#02BBFF", - "#006FE8", - "#1CDED2", - "91FFFE", -]; - export const Overview = connect(mapStateToProps)(({ - currentCycle, previousCycle, pendingTotalInEth, quoteCurrency, pendingRewardsInEth + currentCycle, previousCycle, pendingTotalInEth, quoteCurrency }: ReturnType) => { const container = MapContainer.useContainer(); const { useCacheCall } = drizzleReactHooks.useDrizzle(); @@ -44,44 +29,6 @@ export const Overview = connect(mapStateToProps)(({ // const shareCount = useCacheCall("DarknodePayment", "shareCount") || 0; const current = pendingTotalInEth.get(currentCycle, undefined); const previous = pendingTotalInEth.get(previousCycle, undefined); - const currentSplit = pendingRewardsInEth.get(previousCycle); - - // // tslint:disable-next-line: no-any - // const [totalRewards, rewardShare] = useCacheCall(["DarknodePayment"], (call: (contract: string, fnName: string, ...args: any[]) => any) => { - // // const tokens: string[] = []; - // // for (let limit = 11; limit >= 0; limit--) { - // // try { - // // const next = call("DarknodePayment", "registeredTokens", tokens.length); - // // if (next) { - // // tokens.push(next); - // // } else { - // // break; - // // } - // // } catch (error) { - // // break; - // // } - // // } - - // const previous = NewTokenDetails.map(async (_tokenDetails, token) => { - // try { - // const previousCycleRewardShareBN = call("DarknodePayment", "previousCycleRewardShare", token).call(); - // if (previousCycleRewardShareBN === null) { - // return new BigNumber(0); - // } - // return new BigNumber(previousCycleRewardShareBN.toString()); - // } catch (error) { - // return new BigNumber(0); - // } - // }).toOrderedMap(), - // ); - - // const rewardSum = tokens.reduce((sum, token) => { - // let reward = call("DarknodePayment", "currentCycleRewardPool", token); - // return reward ? sum + reward : sum; - // }, 0); - // const darknodeCount = call("DarknodePayment", "shareCount") || 0; - // return [rewardSum, darknodeCount ? rewardSum / darknodeCount : 0]; - // }); return (
    @@ -92,12 +39,12 @@ export const Overview = connect(mapStateToProps)(({ {container.darknodeCount === null ? : <> {container.darknodeCount} - = 0 ? "green" : "red"].join(" ")}> - {container.darknodeCount - numDarknodes} - + } - {numDarknodes - numDarknodesNextEpoch} + + + {100 * numDarknodes / 10000}% @@ -125,46 +72,7 @@ export const Overview = connect(mapStateToProps)(({
    -
    - {currentSplit ? <>
    - bn.toNumber()).toArray() : [], - backgroundColor: colors, - borderColor: "#001A38", - maintainAspectRation: true, - // hoverBackgroundColor: [], - }] - }} - /> -
    -
    -
    - {currentSplit ? currentSplit.toArray().map(([token, value], i) => { - return
    -
    - {token} -
    -
    - - -
    -
    ; - }) : <>} -
    -
    - : } -
    +
    ); diff --git a/src/components/overviewPage/RewardChart.tsx b/src/components/overviewPage/RewardChart.tsx new file mode 100644 index 00000000..a3a36cae --- /dev/null +++ b/src/components/overviewPage/RewardChart.tsx @@ -0,0 +1,80 @@ +import { CurrencyIcon, Loading, TokenIcon } from "@renproject/react-components"; +import BigNumber from "bignumber.js"; +import React from "react"; +import { Doughnut } from "react-chartjs-2"; +import { connect } from "react-redux"; + +import { Token } from "../../lib/ethereum/tokens"; +import { ApplicationState } from "../../store/applicationState"; +import { TokenBalance } from "../common/TokenBalance"; + +const mapStateToProps = (state: ApplicationState) => ({ + previousCycle: state.network.previousCycle, + quoteCurrency: state.network.quoteCurrency, + pendingRewardsInEth: state.network.pendingRewardsInEth, +}); + +const colors = [ + // Token colours + // "#d9a547", + // "#F09242", + // "#f4b728", + // "#627eea", + // Old colours + "#B8DCFF", + "#02BBFF", + "#006FE8", + "#1CDED2", + "91FFFE", +]; + +export const RewardChart = connect(mapStateToProps)(({ + previousCycle, quoteCurrency, pendingRewardsInEth +}: ReturnType) => { + const currentSplit = pendingRewardsInEth.get(previousCycle); + + const keys = React.useMemo(() => currentSplit ? currentSplit.keySeq().toArray() : [], [currentSplit]); + const values = React.useMemo(() => currentSplit ? currentSplit.valueSeq().map(bn => bn.toNumber()).toArray() : [], [currentSplit]); + const empty = React.useMemo(() => !!currentSplit && values.reduce((sum, value) => sum + value, 0) === 0, [currentSplit, values]); + + return
    + {currentSplit ? <>
    + +
    +
    +
    + {currentSplit ? currentSplit.toArray().map(([token, value], i) => { + return
    +
    + {token} +
    +
    + + +
    +
    ; + }) : <>} +
    +
    + : } +
    ; +}); diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index 0d758a45..213d3674 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -190,9 +190,14 @@ table th { width: 100%; max-width: 1400px + $spacing * 2; margin: 0 auto; - padding: 0 $spacing; + padding: 0 $spacing+10px; - @media (max-width: $max-sm) { + @media (max-width: $max-xl) { + padding-right: 10px; + padding-left: $spacing + 10px; + } + + @media (max-width: $max-md) { padding: 0 10px; } } diff --git a/src/styles/scss/_grid.scss b/src/styles/scss/_grid.scss index c5793b3a..7646c192 100644 --- a/src/styles/scss/_grid.scss +++ b/src/styles/scss/_grid.scss @@ -11,6 +11,7 @@ $max-xs: ($min-sm - 1px) !default; $max-sm: ($min-md - 1px) !default; $max-md: ($min-lg - 1px) !default; $max-lg: ($min-xl - 1px) !default; +$max-xl: ($min-xxl - 1px) !default; /* * Base flex classes and mixins diff --git a/src/styles/scss/_stat.scss b/src/styles/scss/_stat.scss index 62cc917f..f96fa554 100644 --- a/src/styles/scss/_stat.scss +++ b/src/styles/scss/_stat.scss @@ -78,27 +78,30 @@ } .stat--children--diff { + @extend .change-indicator; font-style: normal; font-weight: 500; font-size: 16.2px; line-height: 19px; margin-left: 10px; + } +} - &.green { - color: #3CBC98; +.change-indicator { + &.positive { + color: #3CBC98; - &::after { - content: "\25b2"; - } + &::after { + content: "\25b2"; } + } - &.red { - color: #FF4545; + &.negative { + color: #FF4545; - &::after { - content: "\25bc"; - ; - } + &::after { + content: "\25bc"; + ; } } } \ No newline at end of file From cddab808a3826c6ac08d93db7328997af4fd5e8e Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 21 Aug 2019 14:44:57 +1000 Subject: [PATCH 059/117] Show network rewards instead of darknode rewards --- package.json | 1 + src/components/common/Header.tsx | 3 ++- src/components/overviewPage/Overview.tsx | 15 +++++++++------ src/components/overviewPage/RewardChart.tsx | 7 ++++--- src/index.tsx | 1 + src/lib/ethereum/contractReads.ts | 8 +++----- src/store/applicationState.ts | 1 + src/store/network/networkActions.ts | 1 + src/store/network/networkReducer.ts | 3 +++ src/store/network/operatorActions.ts | 8 ++++++-- 10 files changed, 31 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index e28f7517..ae41d750 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "wallet-address-validator": "^0.2.4", "web3": "2.0.0-alpha.1", "web3-core": "2.0.0-alpha.1", + "web3-eth": "2.0.0-alpha.1", "web3-eth-contract": "2.0.0-alpha.1", "web3-provider-engine": "^15.0.0", "web3-providers": "2.0.0-alpha.1", diff --git a/src/components/common/Header.tsx b/src/components/common/Header.tsx index ff3cf9a3..4c18467c 100644 --- a/src/components/common/Header.tsx +++ b/src/components/common/Header.tsx @@ -24,7 +24,7 @@ import { AccountDropdown } from "./AccountDropdown"; // ); const networkOptions = new Map() - .set(RenNetwork.Mainnet, <>Mainnet) + // .set(RenNetwork.Mainnet, <>Mainnet) .set(RenNetwork.Testnet, <>Testnet) .set(RenNetwork.Devnet, <>Devnet) .set(RenNetwork.Localnet, <>Localnet) @@ -131,6 +131,7 @@ class HeaderClass extends React.Component { // history.push("/loading"); // Reload to clear all stores and cancel timeouts // (e.g. deposit/withdrawal confirmations) + console.log(`Reloading page (${currentLocation})`); window.location.replace(currentLocation); }, 100); } diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx index 7f646391..a09f060b 100644 --- a/src/components/overviewPage/Overview.tsx +++ b/src/components/overviewPage/Overview.tsx @@ -17,10 +17,11 @@ const mapStateToProps = (state: ApplicationState) => ({ previousCycle: state.network.previousCycle, pendingTotalInEth: state.network.pendingTotalInEth, quoteCurrency: state.network.quoteCurrency, + currentShareCount: state.network.currentShareCount, }); export const Overview = connect(mapStateToProps)(({ - currentCycle, previousCycle, pendingTotalInEth, quoteCurrency + currentCycle, previousCycle, pendingTotalInEth, quoteCurrency, currentShareCount }: ReturnType) => { const container = MapContainer.useContainer(); const { useCacheCall } = drizzleReactHooks.useDrizzle(); @@ -29,6 +30,8 @@ export const Overview = connect(mapStateToProps)(({ // const shareCount = useCacheCall("DarknodePayment", "shareCount") || 0; const current = pendingTotalInEth.get(currentCycle, undefined); const previous = pendingTotalInEth.get(previousCycle, undefined); + const currentSummed = current ? current.times(currentShareCount) : undefined; + const previousSummed = previous ? previous.times(currentShareCount) : undefined; return (
    @@ -48,22 +51,22 @@ export const Overview = connect(mapStateToProps)(({ {100 * numDarknodes / 10000}% - + {/* $? */} - {current ? <> + {currentSummed ? <> : } - {previous ? <> : } diff --git a/src/components/overviewPage/RewardChart.tsx b/src/components/overviewPage/RewardChart.tsx index a3a36cae..fad30eeb 100644 --- a/src/components/overviewPage/RewardChart.tsx +++ b/src/components/overviewPage/RewardChart.tsx @@ -12,6 +12,7 @@ const mapStateToProps = (state: ApplicationState) => ({ previousCycle: state.network.previousCycle, quoteCurrency: state.network.quoteCurrency, pendingRewardsInEth: state.network.pendingRewardsInEth, + currentShareCount: state.network.currentShareCount, }); const colors = [ @@ -29,12 +30,12 @@ const colors = [ ]; export const RewardChart = connect(mapStateToProps)(({ - previousCycle, quoteCurrency, pendingRewardsInEth + previousCycle, quoteCurrency, pendingRewardsInEth, currentShareCount, }: ReturnType) => { const currentSplit = pendingRewardsInEth.get(previousCycle); const keys = React.useMemo(() => currentSplit ? currentSplit.keySeq().toArray() : [], [currentSplit]); - const values = React.useMemo(() => currentSplit ? currentSplit.valueSeq().map(bn => bn.toNumber()).toArray() : [], [currentSplit]); + const values = React.useMemo(() => currentSplit ? currentSplit.valueSeq().map(bn => bn.multipliedBy(currentShareCount).toNumber()).toArray() : [], [currentSplit]); const empty = React.useMemo(() => !!currentSplit && values.reduce((sum, value) => sum + value, 0) === 0, [currentSplit, values]); return
    @@ -67,7 +68,7 @@ export const RewardChart = connect(mapStateToProps)(({
    diff --git a/src/index.tsx b/src/index.tsx index 2375afb7..4fee6397 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -20,6 +20,7 @@ if (NODE_ENV !== "development") { const loc = window.location.href + ""; // tslint:disable-next-line: no-http-string if (loc.indexOf("http://") === 0) { + console.log("Redirecting to use TLS"); // tslint:disable-next-line: no-http-string window.location.href = loc.replace("http://", "https://"); } diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 3a5b8727..101139af 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -462,16 +462,13 @@ export const fetchCycleAndPendingRewards = async ( } const currentShareCountBN = await darknodePayment.methods.shareCount().call(); + const currentShareCount = currentShareCountBN === null ? null : new BigNumber(currentShareCountBN.toString()); const current = await safePromiseAllMap( NewTokenDetails.map(async (_tokenDetails, token) => { - if (currentShareCountBN === null) { + if (currentShareCount === null || currentShareCount.isZero()) { return new BigNumber(0); } - const currentShareCount = new BigNumber(currentShareCountBN.toString()); try { - if (currentShareCount.isZero()) { - return new BigNumber(0); - } const address = token === Token.ETH ? "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" : renNetwork.addresses.tokens[token].address; const currentCycleRewardPool = await darknodePayment.methods.currentCycleRewardPool(address).call(); if (currentCycleRewardPool === null) { @@ -517,6 +514,7 @@ export const fetchCycleAndPendingRewards = async ( cycleTimeout, pendingTotalInEth, pendingRewardsInEth, + currentShareCount, }; }; diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 1a0ecfad..f559fb60 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -93,6 +93,7 @@ export class NetworkState extends Record({ pendingTotalInEth: OrderedMap(), pendingRewardsInEth: OrderedMap>(), cycleTimeout: new BigNumber(0), + currentShareCount: new BigNumber(1), /////////////////////////////////////////////////////////// // If these change, localstorage migration may be needed // diff --git a/src/store/network/networkActions.ts b/src/store/network/networkActions.ts index 7fa65402..6f7cacbf 100644 --- a/src/store/network/networkActions.ts +++ b/src/store/network/networkActions.ts @@ -16,6 +16,7 @@ export const updatePendingRewards = createStandardAction("UPDATE_PENDING_REWARDS export const updatePendingTotalInEth = createStandardAction("UPDATE_PENDING_TOTAL_IN_ETH")>(); export const updatePendingRewardsInEth = createStandardAction("UPDATE_PENDING_REWARDS_IN_ETH")>>(); export const updateCycleTimeout = createStandardAction("UPDATE_CYCLE_TIMEOUT")(); +export const updateCurrentShareCount = createStandardAction("UPDATE_CURRENT_SHARE_COUNT")(); export const updateTokenPrices = () => async (dispatch: AppDispatch) => { const tokenPrices = await getPrices(); diff --git a/src/store/network/networkReducer.ts b/src/store/network/networkReducer.ts index 8bacd885..7e67c095 100644 --- a/src/store/network/networkReducer.ts +++ b/src/store/network/networkReducer.ts @@ -32,6 +32,9 @@ export const networkReducer = ( case getType(networkActions.updateCycleTimeout): return state.set("cycleTimeout", action.payload); + case getType(networkActions.updateCurrentShareCount): + return state.set("currentShareCount", action.payload); + case getType(networkActions.storeTokenPrices): return state.set("tokenPrices", action.payload); diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index 1e00245c..08b1e51b 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -14,8 +14,8 @@ import { Token, TokenPrices } from "../../lib/ethereum/tokens"; import { DarknodesState } from "../applicationState"; import { AppDispatch } from "../rootReducer"; import { - updateCurrentCycle, updateCycleTimeout, updatePendingRewards, updatePendingRewardsInEth, - updatePendingTotalInEth, updatePreviousCycle, + updateCurrentCycle, updateCurrentShareCount, updateCycleTimeout, updatePendingRewards, + updatePendingRewardsInEth, updatePendingTotalInEth, updatePreviousCycle, } from "./networkActions"; export const addRegisteringDarknode = createStandardAction("ADD_REGISTERING_DARKNODE")<{ @@ -89,6 +89,7 @@ export const updateCycleAndPendingRewards = ( cycleTimeout, pendingTotalInEth, pendingRewardsInEth, + currentShareCount, } = await fetchCycleAndPendingRewards(web3, renNetwork, tokenPrices); if (pendingRewardsInEth !== null) { @@ -107,6 +108,9 @@ export const updateCycleAndPendingRewards = ( if (cycleTimeout !== null) { dispatch(updateCycleTimeout(cycleTimeout)); } + if (currentShareCount !== null) { + dispatch(updateCurrentShareCount(currentShareCount)); + } }; export const updateDarknodeDetails = ( From af492bbbb726ddf97a23882bbb3770461ef5486f Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 23 Aug 2019 11:35:53 +1000 Subject: [PATCH 060/117] Removed drizzle, fixed style issues, improved showing single block --- package.json | 5 +- src/components/App.tsx | 20 +---- src/components/common/AccountDropdown.tsx | 4 +- src/components/common/BackgroundTasks.tsx | 40 ++++----- src/components/common/Header.tsx | 2 +- .../statuspage/block/FeesBlock.tsx | 1 - src/components/hyperdrivePage/Hyperdrive.tsx | 82 +++++++++++-------- .../hyperdrivePage/_hyperdrive.scss | 56 ++++++++++--- src/components/overviewPage/Overview.tsx | 7 +- src/components/overviewPage/RewardChart.tsx | 2 +- .../darknodeMap/_darknodeMap.scss | 1 - src/index.tsx | 19 ++--- src/lib/declarations/ethereum.d.ts | 4 - src/store/drizzle.tsx | 66 --------------- src/styles/images/exit-black.svg | 3 + src/styles/images/exit.svg | 3 + src/styles/scss/__general.scss | 19 ++++- src/styles/scss/_header.scss | 4 + yarn.lock | 22 ----- 19 files changed, 157 insertions(+), 203 deletions(-) delete mode 100644 src/lib/declarations/ethereum.d.ts delete mode 100644 src/store/drizzle.tsx create mode 100644 src/styles/images/exit-black.svg create mode 100644 src/styles/images/exit.svg diff --git a/package.json b/package.json index ae41d750..e9b0a969 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,6 @@ "bignumber.js": "^9.0.0", "bs58": "^4.0.1", "chart.js": "^2.8.0", - "drizzle": "https://github.com/ren-forks/drizzle#build", - "drizzle-react": "^1.3.0", "filesize": "^4.1.2", "history": "^4.9.0", "immutable": "^4.0.0-rc.12", @@ -69,7 +67,6 @@ "web3-core": "2.0.0-alpha.1", "web3-eth": "2.0.0-alpha.1", "web3-eth-contract": "2.0.0-alpha.1", - "web3-provider-engine": "^15.0.0", "web3-providers": "2.0.0-alpha.1", "web3-utils": "2.0.0-alpha.1" }, @@ -99,4 +96,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} +} \ No newline at end of file diff --git a/src/components/App.tsx b/src/components/App.tsx index b7c8c380..01e56e5f 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1,7 +1,6 @@ import * as React from "react"; -import { Loading, ScrollToTop } from "@renproject/react-components"; -import { drizzleReactHooks } from "drizzle-react"; +import { ScrollToTop } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; @@ -19,7 +18,7 @@ import { LoggingIn } from "./common/LoggingIn"; import { PopupController } from "./common/popups/PopupController"; import { Sidebar } from "./common/sidebar/Sidebar"; import { Darknode, getDarknodeParam } from "./darknodePage/Darknode"; -import { Hyperdrive, useForceUpdate } from "./hyperdrivePage/Hyperdrive"; +import { Hyperdrive } from "./hyperdrivePage/Hyperdrive"; import { Overview } from "./overviewPage/Overview"; const ScrollToTopWithRouter = withRouter(ScrollToTop); @@ -35,19 +34,6 @@ const AppClass = ({ match: { params }, store: { address, renNetwork } }: Props) [address], ); - const forceUpdate = useForceUpdate(); - - const { drizzle } = drizzleReactHooks.useDrizzle(); - const drizzleState = drizzle.store.getState(); - - // React.useEffect(() => {}, [drizzleState.drizzleStatus.initialized]) - - if (!drizzleState.drizzleStatus.initialized) { - // tslint:disable-next-line: no-string-based-set-timeout - setTimeout(forceUpdate, 0.1 * 1000); - return ; - } - const darknodeID = getDarknodeParam(params); const showNetworkBanner = renNetwork.name !== DEFAULT_REN_NETWORK; @@ -59,7 +45,7 @@ const AppClass = ({ match: { params }, store: { address, renNetwork } }: Props) * (e.g. if in * the middle of a transaction, etc.) */} -
    +
    {showNetworkBanner ?
    Using {renNetwork.label} RenVM network, {renNetwork.chainLabel} Ethereum network
    : <> diff --git a/src/components/common/AccountDropdown.tsx b/src/components/common/AccountDropdown.tsx index 88d1efb4..afd8fd76 100644 --- a/src/components/common/AccountDropdown.tsx +++ b/src/components/common/AccountDropdown.tsx @@ -65,7 +65,7 @@ class AccountDropdownClass extends React.Component { className="header--group header--group--account" ref={this.setRef} > -
    +
    {address && }
    { private readonly handleLogin = async (): Promise => { const { address, renNetwork } = this.props.store; + this.setState({ shown: false }); if (!address) { await this.props.actions.login(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }); } } private readonly handleLogout = async (): Promise => { + this.setState({ shown: false }); this.props.actions.logout(); } diff --git a/src/components/common/BackgroundTasks.tsx b/src/components/common/BackgroundTasks.tsx index 31268a6e..b76db8fc 100644 --- a/src/components/common/BackgroundTasks.tsx +++ b/src/components/common/BackgroundTasks.tsx @@ -1,4 +1,4 @@ -import * as qs from "query-string"; +// import * as qs from "query-string"; import * as React from "react"; import { List } from "immutable"; @@ -28,31 +28,33 @@ class BackgroundTasksClass extends React.Component { private callUpdateSelectedDarknodeTimeout: NodeJS.Timer | undefined; public componentDidMount = async (): Promise => { - const { match: { params }, store: { renNetwork } } = this.props; + // const { match: { params }, store: { renNetwork } } = this.props; - const darknodeID = getDarknodeParam(params); + // const darknodeID = getDarknodeParam(params); - const queryParams = qs.parse(this.props.location.search); - const action = typeof queryParams.action === "string" ? queryParams.action : undefined; + // const queryParams = qs.parse(this.props.location.search); + // const action = typeof queryParams.action === "string" ? queryParams.action : undefined; // Sometimes, logging in seems to freeze, to we start loops that don't // rely on being logged in before attempting to log in this.setupLoops(); - try { - await this.props.actions.login( - renNetwork, - { - redirect: false, - showPopup: darknodeID === undefined || action !== undefined, - immediatePopup: false, - } - ); - } catch (error) { - _captureBackgroundException_(error, { - description: "Error logging in on load", - }); - } + // TODO: Detect if web3 is already connected + + // try { + // await this.props.actions.login( + // renNetwork, + // { + // redirect: false, + // showPopup: darknodeID === undefined || action !== undefined, + // immediatePopup: false, + // } + // ); + // } catch (error) { + // _captureBackgroundException_(error, { + // description: "Error logging in on load", + // }); + // } this.setupLoopsWithAccount(); } diff --git a/src/components/common/Header.tsx b/src/components/common/Header.tsx index 4c18467c..be68a34d 100644 --- a/src/components/common/Header.tsx +++ b/src/components/common/Header.tsx @@ -87,7 +87,7 @@ class HeaderClass extends React.Component { />; return ( -
    +
    {address ?
    {!ignoreWarning ? - : null @@ -97,7 +98,7 @@ class MultiStepPopupClass extends React.Component { const checked = (currentStep > index) || (currentStep === index && !!error); return
  • { Cancel
  • - +
    ; }; diff --git a/src/components/darknodePage/statuspage/block/Block.tsx b/src/components/darknodePage/statuspage/block/Block.tsx index 9254fc56..1eaecfbe 100644 --- a/src/components/darknodePage/statuspage/block/Block.tsx +++ b/src/components/darknodePage/statuspage/block/Block.tsx @@ -1,5 +1,7 @@ import * as React from "react"; +import { className } from "../../../../lib/react/className"; + // tslint:disable: react-unused-props-and-state interface Props { children: React.ReactNode; @@ -8,10 +10,10 @@ interface Props { } export const Block = (props: Props) => -
    {props.children}
    ; +
    {props.children}
    ; export const BlockBody = (props: Props) => -
    {props.children}
    ; +
    {props.children}
    ; export const BlockTitle = (props: Props) => -
    {props.children}
    ; +
    {props.children}
    ; diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index 275d6c19..56025d8b 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -149,7 +149,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { {blockNumber ? <>
    -
    +

    Block {blockNumber}

    diff --git a/src/lib/react/className.ts b/src/lib/react/className.ts new file mode 100644 index 00000000..ab313c38 --- /dev/null +++ b/src/lib/react/className.ts @@ -0,0 +1,3 @@ +export const className = (...args: string[]) => { + return args.join(" "); +}; diff --git a/src/styles/images/help.svg b/src/styles/images/help.svg new file mode 100644 index 00000000..bafb11d5 --- /dev/null +++ b/src/styles/images/help.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/styles/images/search.svg b/src/styles/images/search.svg new file mode 100644 index 00000000..75187963 --- /dev/null +++ b/src/styles/images/search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/styles/index.scss b/src/styles/index.scss index f823a6ba..9c91f922 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -9,6 +9,7 @@ @import 'scss/button'; @import 'scss/console'; @import 'scss/darknodeList'; +@import 'scss/footer'; @import 'scss/header'; @import 'scss/heading'; @import 'scss/home'; diff --git a/src/styles/scss/__general.scss b/src/styles/scss/__general.scss index 9aaef5b9..305f14a5 100644 --- a/src/styles/scss/__general.scss +++ b/src/styles/scss/__general.scss @@ -31,6 +31,7 @@ body { font-size: 12px; margin: 0; color: white; + margin-bottom: 60px !important; } h1 { @@ -191,7 +192,7 @@ $spacing: 90px; width: 100%; max-width: 1400px + $spacing * 2; margin: 0 auto; - padding: 0 $spacing+10px; + padding: 0 $spacing; @media (max-width: $max-xl) { padding-right: 10px; @@ -203,17 +204,17 @@ $spacing: 90px; } } -.without-account .container { - padding: 0 $spacing+10px; +// .without-account .container { +// padding: 0 $spacing+10px; - @media (max-width: $max-xl) { - padding-right: 0 $spacing+10px; - } +// @media (max-width: $max-xl) { +// padding-right: 0 $spacing+10px; +// } - @media (max-width: $max-md) { - padding: 0 10px; - } -} +// @media (max-width: $max-md) { +// padding: 0 10px; +// } +// } .section { padding: 60px 0; @@ -330,6 +331,7 @@ label { .app--body { margin-top: 100px; + margin-bottom: 60px; } .mobile-only { diff --git a/src/styles/scss/_darknodeList.scss b/src/styles/scss/_darknodeList.scss index 0473187b..52d02200 100644 --- a/src/styles/scss/_darknodeList.scss +++ b/src/styles/scss/_darknodeList.scss @@ -179,7 +179,7 @@ $darknode-card-margin: 10px; } } - &.fourth { + &.second { @media(max-width: 864px) { display: none; } diff --git a/src/styles/scss/_footer.scss b/src/styles/scss/_footer.scss new file mode 100644 index 00000000..6aa3a648 --- /dev/null +++ b/src/styles/scss/_footer.scss @@ -0,0 +1,61 @@ +.footer { + height: 60px; + width: calc(100% - 80px); + position: fixed; + bottom: 0; + left: 0; + margin-left: 80px; + padding: 0 30px; + + @media (max-width: $max-md) { + width: 100%; + margin-left: 0; + } + + border-top: 1px solid #1A2E46; + background: #001B3A; + + display: flex; + justify-content: space-between; + align-items: center; + + >div>div { + font-weight: bold; + font-size: 12px; + line-height: 14px; + + /* identical to box height */ + letter-spacing: 1.5px; + text-transform: uppercase; + + color: #FFFFFF; + + mix-blend-mode: normal; + opacity: 0.4; + + a { + color: #FFFFFF; + text-decoration: none; + } + } +} + +.footer--left {} + +.footer--right { + display: flex; + + >div+div { + margin-left: 40px; + } + + >div { + display: flex; + justify-content: center; + align-items: center; + } + + svg { + margin-right: 5px; + } +} \ No newline at end of file diff --git a/src/styles/scss/_header.scss b/src/styles/scss/_header.scss index 8be2585d..5ec21549 100644 --- a/src/styles/scss/_header.scss +++ b/src/styles/scss/_header.scss @@ -16,9 +16,9 @@ height: 48px !important; } -.without-account .header { - padding-left: 0 !important; -} +// .without-account .header { +// padding-left: 0 !important; +// } .header .container>a { align-self: center; diff --git a/src/styles/scss/_sidebar.scss b/src/styles/scss/_sidebar.scss index 030741f2..a441b06f 100644 --- a/src/styles/scss/_sidebar.scss +++ b/src/styles/scss/_sidebar.scss @@ -10,7 +10,7 @@ $mobile-full-width: 100vw; border-radius: 50%; } -.sidebar li { +.sidebar--row { height: 100px; border-left: 4px solid rgba(0, 0, 0, 0); display: flex; @@ -23,6 +23,13 @@ $mobile-full-width: 100vw; } } +.sidebar--darknodes { + @extend .no-scrollbar; + overflow-y: scroll; + height: 100%; + flex: 1; +} + .sidebar .sidebar--nav li { height: 50px; } @@ -31,7 +38,7 @@ $mobile-full-width: 100vw; margin-bottom: 50px; } -.sidebar--nav--icon { +.sidebar--nav--icon svg { color: #FFFFFF; mix-blend-mode: normal; opacity: 0.4; @@ -48,6 +55,16 @@ $mobile-full-width: 100vw; font-size: 20px; } +.sidebar--nav--icon--circle { + background: rgba(255, 255, 255, 0.08); + width: 30px; + height: 30px; + border-radius: 100%; + display: flex; + justify-content: center; + align-items: center; +} + $max-sidebar: $max-md; $min-header: $min-lg; @@ -64,11 +81,11 @@ $min-header: $min-lg; } } -.sidebar li.sidebar--active { +.sidebar--row.sidebar--active { border-left: 4px solid $blue-bright; } -.sidebar li.sidebar--faded { +.sidebar--row.sidebar--faded { >* { opacity: 0.4; } @@ -81,6 +98,13 @@ $min-header: $min-lg; justify-content: center; } +.sidebar--icon--empty { + width: 42px; + height: 42px; + border-radius: 100%; + background: rgba(0, 111, 232, 0.2); +} + .sidebar { @extend .no-scrollbar; position: fixed; @@ -95,6 +119,8 @@ $min-header: $min-lg; color: #FFFFFF; height: 100vh; width: $collapsed-width; + display: flex; + flex-flow: column; @media(max-width: $max-sidebar) { width: 0px; @@ -106,7 +132,6 @@ $min-header: $min-lg; } overflow-x: hidden; - overflow-y: scroll; -webkit-transition: width .1s linear; transition: width .1s linear; -webkit-transform: translateZ(0) scale(1, 1); @@ -118,11 +143,11 @@ $min-header: $min-lg; background: transparent; } -.sidebar>ul { +.sidebar--nav { margin: 0; } -.sidebar li { +.sidebar--row { position: relative; width: $full-width - 2px; @@ -132,7 +157,7 @@ $min-header: $min-lg; } } -.sidebar li a { +.sidebar--row a { position: relative; display: table; border-collapse: collapse; @@ -221,4 +246,45 @@ nav li { outline: 0; margin: 0; padding: 0; +} + + +.sidebar--search { + // position: fixed !important; + // bottom: 0; + background: #002247CC; +} + +input[type="text"].sidebar--search--input { + background: #F5F5F5; + border-radius: 15.5px; + + font-size: 12px; + line-height: 14px; + padding: 0 15px; + + &::placeholder { + font-weight: 600; + color: #979797; + } +} + +.search--filter--feedback { + visibility: hidden; + color: #979797; + padding: 0 30px; + margin-bottom: 5px; + text-overflow: ellipsis; + white-space: nowrap; + text-overflow: ellipsis; + white-space: pre; + overflow-x: hidden; +} + +.sidebar:hover { + @media(min-width: $min-header) { + .search--filter--feedback { + visibility: initial; + } + } } \ No newline at end of file From 7ae957fabec1a72dc0b3a5f628d15164f010e48f Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 9 Sep 2019 16:35:56 +1000 Subject: [PATCH 065/117] Added sidebar connect button --- src/components/common/AccountDropdown.tsx | 7 ++++- src/components/common/sidebar/Sidebar.tsx | 20 +++++++++--- src/styles/scss/_header.scss | 5 ++- src/styles/scss/_sidebar.scss | 37 ++++++++++++++++++++++- 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/src/components/common/AccountDropdown.tsx b/src/components/common/AccountDropdown.tsx index fe768175..95fed35b 100644 --- a/src/components/common/AccountDropdown.tsx +++ b/src/components/common/AccountDropdown.tsx @@ -4,6 +4,7 @@ import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators } from "redux"; +import { className } from "../../lib/react/className"; import { logout, promptLogin } from "../../store/account/accountActions"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; @@ -38,7 +39,11 @@ class AccountDropdownClass extends React.Component { className="header--group header--group--account" ref={this.setRef} > -
    +
    {address ? <> diff --git a/src/components/common/sidebar/Sidebar.tsx b/src/components/common/sidebar/Sidebar.tsx index a806c11a..8a271a39 100644 --- a/src/components/common/sidebar/Sidebar.tsx +++ b/src/components/common/sidebar/Sidebar.tsx @@ -8,6 +8,7 @@ import { bindActionCreators } from "redux"; import { darknodeIDHexToBase58 } from "../../../lib/darknode/darknodeID"; import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; +import { promptLogin } from "../../../store/account/accountActions"; import { ApplicationState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; import { hideMobileMenu } from "../../../store/ui/uiActions"; @@ -24,12 +25,15 @@ const mapStateToProps = (state: ApplicationState) => ({ darknodeNames: state.network.darknodeNames, quoteCurrency: state.network.quoteCurrency, mobileMenuActive: state.ui.mobileMenuActive, + web3BrowserName: state.account.web3BrowserName, + renNetwork: state.account.renNetwork, }, }); const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ hideMobileMenu, + promptLogin, }, dispatch), }); @@ -42,7 +46,7 @@ interface Props extends ReturnType, ConnectedReturnType< */ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter( ({ selectedDarknode, store, actions, location }: Props) => { - const { address, darknodeList, darknodeDetails, darknodeNames, quoteCurrency, mobileMenuActive } = store; + const { address, darknodeList, darknodeDetails, darknodeNames, quoteCurrency, renNetwork, mobileMenuActive, web3BrowserName } = store; const [searchFilter, setSearchFilter] = React.useState(""); @@ -51,8 +55,12 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter( setSearchFilter(String(element.value).toLowerCase()); }; - return ( -
    - + + - {container.currentBlock && container.currentBlockNumber === blockNumber ? - container.currentBlock.txs && container.currentBlock.txs.length > 0 ? - container.currentBlock.txs.map(tx => { + container.currentBlock.data && container.currentBlock.data.length > 0 && container.currentBlock.data.map ? + container.currentBlock.data.map(tx => { return ( {container.blocks ? - - {container.blocks.map(blockTr)} - : + + {container.blocks.map(blockTr).toArray()} + : }
    {block.txs.length ?
    {block.txs.map((tx, index) => { +
    {block.txs && block.txs.length ?
    {block.txs.map((tx, index) => { return
    {renderTransaction(tx)}
    ; @@ -130,7 +130,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { sum + utxo.amount, 0) : 0 + firstBlock && firstBlock.utxosForBtc ? firstBlock.utxosForBtc.reduce((sum, utxo) => sum + utxo.amount, 0) : 0 )} digits={4} />{" "} @@ -140,7 +140,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { sum + utxo.amount, 0) : 0 + firstBlock && firstBlock.utxosForZec ? firstBlock.utxosForZec.reduce((sum, utxo) => sum + utxo.amount, 0) : 0 )} digits={4} />{" "} diff --git a/src/store/configureStore.ts b/src/store/configureStore.ts index 4dd0ef43..609f1825 100644 --- a/src/store/configureStore.ts +++ b/src/store/configureStore.ts @@ -1,5 +1,6 @@ import { Action, applyMiddleware, createStore, Middleware, Reducer } from "redux"; -import { PersistConfig, PersistPartial, persistReducer, persistStore } from "redux-persist"; +import { PersistConfig, persistReducer, persistStore } from "redux-persist"; +import { PersistPartial } from "redux-persist/lib/persistReducer"; import thunk from "redux-thunk"; import { NODE_ENV } from "../lib/react/environmentVariables"; @@ -16,7 +17,7 @@ if (NODE_ENV === "development") { } // Workaround createStore not liking type of persistReducer -const typedPersistReducer = (config: PersistConfig, reducer: Reducer): +const typedPersistReducer = (config: PersistConfig, reducer: Reducer): Reducer => { return persistReducer( config, diff --git a/src/store/persistConfig.ts b/src/store/persistConfig.ts index 680739eb..2d91c25a 100644 --- a/src/store/persistConfig.ts +++ b/src/store/persistConfig.ts @@ -9,21 +9,21 @@ import { AccountState, ApplicationState, NetworkState } from "./applicationState // Local Storage: const accountTransform = createTransform( - (inboundState: AccountState, key: string): string => { + (inboundState: AccountState, key: string | number | symbol): string => { try { return inboundState.serialize(); } catch (error) { - console.error(`Error serializing ${key} in AccountState (${JSON.stringify(inboundState)}): ${error}`); + console.error(`Error serializing ${String(key)} in AccountState (${JSON.stringify(inboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. _captureBackgroundException_(error, { description: "Error serializing account storage" }); throw error; } }, - (outboundState: string, key: string): AccountState => { + (outboundState: string, key: string | number | symbol): AccountState => { try { return new AccountState().deserialize(outboundState); } catch (error) { - console.error(`Error deserializing ${key} in AccountState (${JSON.stringify(outboundState)}): ${error}`); + console.error(`Error deserializing ${String(key)} in AccountState (${JSON.stringify(outboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. _captureBackgroundException_(error, { description: "Error deserializing account storage" }); throw error; @@ -33,21 +33,21 @@ const accountTransform = createTransform( ); const networkTransform = createTransform( - (inboundState: NetworkState, key: string): string => { + (inboundState: NetworkState, key: string | number | symbol): string => { try { return inboundState.serialize(); } catch (error) { - console.error(`Error serializing ${key} in NetworkState (${JSON.stringify(inboundState)}): ${error}`); + console.error(`Error serializing ${String(key)} in NetworkState (${JSON.stringify(inboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. _captureBackgroundException_(error, { description: "Error serializing network storage" }); throw error; } }, - (outboundState: string, key: string): NetworkState => { + (outboundState: string, key: string | number | symbol): NetworkState => { try { return new NetworkState().deserialize(outboundState); } catch (error) { - console.error(`Error deserializing ${key} in NetworkState (${JSON.stringify(outboundState)}): ${error}`); + console.error(`Error deserializing ${String(key)} in NetworkState (${JSON.stringify(outboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. _captureBackgroundException_(error, { description: "Error deserializing network storage" }); throw error; @@ -56,7 +56,7 @@ const networkTransform = createTransform( { whitelist: ["network"] as Array, }, ); -export const persistConfig: PersistConfig = { +export const persistConfig: PersistConfig = { storage, key: "root", whitelist: ["account", "network"] as Array, diff --git a/yarn.lock b/yarn.lock index 3bed1c4c..19216644 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,7 +9,27 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@7.5.5", "@babel/core@^7.1.0", "@babel/core@^7.4.5": +"@babel/core@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.0.tgz#9b00f73554edd67bebc86df8303ef678be3d7b48" + integrity sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.0" + "@babel/helpers" "^7.6.0" + "@babel/parser" "^7.6.0" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.0" + "@babel/types" "^7.6.0" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== @@ -40,6 +60,16 @@ source-map "^0.5.0" trim-right "^1.0.1" +"@babel/generator@^7.6.0", "@babel/generator@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz#dac8a3c2df118334c2a29ff3446da1636a8f8c03" + integrity sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ== + dependencies: + "@babel/types" "^7.6.0" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" @@ -72,7 +102,7 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.5": +"@babel/helper-create-class-features-plugin@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== @@ -84,6 +114,18 @@ "@babel/helper-replace-supers" "^7.5.5" "@babel/helper-split-export-declaration" "^7.4.4" +"@babel/helper-create-class-features-plugin@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" + integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.5.5" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/helper-define-map@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" @@ -224,6 +266,15 @@ "@babel/traverse" "^7.5.5" "@babel/types" "^7.5.5" +"@babel/helpers@^7.6.0": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" + integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== + dependencies: + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.2" + "@babel/types" "^7.6.0" + "@babel/highlight@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" @@ -238,6 +289,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== +"@babel/parser@^7.6.0", "@babel/parser@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" + integrity sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg== + "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" @@ -255,12 +311,12 @@ "@babel/helper-create-class-features-plugin" "^7.5.5" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-decorators@7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz#de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0" - integrity sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw== +"@babel/plugin-proposal-decorators@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz#6659d2572a17d70abd68123e89a12a43d90aa30c" + integrity sha512-ZSyYw9trQI50sES6YxREXKu+4b7MAg6Qx2cvyDDYjP2Hpzd3FleOUwC9cqn1+za8d0A2ZU8SHujxFao956efUg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.4" + "@babel/helper-create-class-features-plugin" "^7.6.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-decorators" "^7.2.0" @@ -399,6 +455,14 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" +"@babel/plugin-transform-block-scoping@^7.6.0": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz#96c33ab97a9ae500cc6f5b19e04a7e6553360a79" + integrity sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.13" + "@babel/plugin-transform-classes@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" @@ -420,7 +484,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@7.5.0", "@babel/plugin-transform-destructuring@^7.5.0": +"@babel/plugin-transform-destructuring@7.6.0", "@babel/plugin-transform-destructuring@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz#44bbe08b57f4480094d57d9ffbcd96d309075ba6" + integrity sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-destructuring@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== @@ -507,6 +578,16 @@ "@babel/helper-simple-access" "^7.1.0" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-commonjs@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz#39dfe957de4420445f1fcf88b68a2e4aa4515486" + integrity sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g== + dependencies: + "@babel/helper-module-transforms" "^7.4.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-systemjs@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" @@ -531,6 +612,13 @@ dependencies: regexp-tree "^0.1.6" +"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz#c1ca0bb84b94f385ca302c3932e870b0fb0e522b" + integrity sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g== + dependencies: + regexpu-core "^4.6.0" + "@babel/plugin-transform-new-target@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" @@ -616,10 +704,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-runtime@7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz#a6331afbfc59189d2135b2e09474457a8e3d28bc" - integrity sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w== +"@babel/plugin-transform-runtime@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz#85a3cce402b28586138e368fce20ab3019b9713e" + integrity sha512-Da8tMf7uClzwUm/pnJ1S93m/aRXmoYNDD7TkHua8xBDdaAs54uZpTWvEt6NGwmoVMb9mZbntfTqmG2oSzN/7Vg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -663,12 +751,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-typescript@^7.3.2": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.5.5.tgz#6d862766f09b2da1cb1f7d505fe2aedab6b7d4b8" - integrity sha512-pehKf4m640myZu5B2ZviLaiBlxMCjSZ1qTEO459AXKX5GnPueyulJeCqZFs1nz/Ya2dDzXQ1NxZ/kKNWyD4h6w== +"@babel/plugin-transform-typescript@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz#48d78405f1aa856ebeea7288a48a19ed8da377a6" + integrity sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog== dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.5" + "@babel/helper-create-class-features-plugin" "^7.6.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" @@ -681,7 +769,63 @@ "@babel/helper-regex" "^7.4.4" regexpu-core "^4.5.4" -"@babel/preset-env@7.5.5", "@babel/preset-env@^7.4.5": +"@babel/preset-env@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.0.tgz#aae4141c506100bb2bfaa4ac2a5c12b395619e50" + integrity sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.2.0" + "@babel/plugin-proposal-dynamic-import" "^7.5.0" + "@babel/plugin-proposal-json-strings" "^7.2.0" + "@babel/plugin-proposal-object-rest-spread" "^7.5.5" + "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/plugin-syntax-dynamic-import" "^7.2.0" + "@babel/plugin-syntax-json-strings" "^7.2.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + "@babel/plugin-transform-arrow-functions" "^7.2.0" + "@babel/plugin-transform-async-to-generator" "^7.5.0" + "@babel/plugin-transform-block-scoped-functions" "^7.2.0" + "@babel/plugin-transform-block-scoping" "^7.6.0" + "@babel/plugin-transform-classes" "^7.5.5" + "@babel/plugin-transform-computed-properties" "^7.2.0" + "@babel/plugin-transform-destructuring" "^7.6.0" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/plugin-transform-duplicate-keys" "^7.5.0" + "@babel/plugin-transform-exponentiation-operator" "^7.2.0" + "@babel/plugin-transform-for-of" "^7.4.4" + "@babel/plugin-transform-function-name" "^7.4.4" + "@babel/plugin-transform-literals" "^7.2.0" + "@babel/plugin-transform-member-expression-literals" "^7.2.0" + "@babel/plugin-transform-modules-amd" "^7.5.0" + "@babel/plugin-transform-modules-commonjs" "^7.6.0" + "@babel/plugin-transform-modules-systemjs" "^7.5.0" + "@babel/plugin-transform-modules-umd" "^7.2.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.0" + "@babel/plugin-transform-new-target" "^7.4.4" + "@babel/plugin-transform-object-super" "^7.5.5" + "@babel/plugin-transform-parameters" "^7.4.4" + "@babel/plugin-transform-property-literals" "^7.2.0" + "@babel/plugin-transform-regenerator" "^7.4.5" + "@babel/plugin-transform-reserved-words" "^7.2.0" + "@babel/plugin-transform-shorthand-properties" "^7.2.0" + "@babel/plugin-transform-spread" "^7.2.0" + "@babel/plugin-transform-sticky-regex" "^7.2.0" + "@babel/plugin-transform-template-literals" "^7.4.4" + "@babel/plugin-transform-typeof-symbol" "^7.2.0" + "@babel/plugin-transform-unicode-regex" "^7.4.4" + "@babel/types" "^7.6.0" + browserslist "^4.6.0" + core-js-compat "^3.1.1" + invariant "^2.2.2" + js-levenshtein "^1.1.3" + semver "^5.5.0" + +"@babel/preset-env@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== @@ -748,21 +892,35 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/preset-typescript@7.3.3": - version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz#88669911053fa16b2b276ea2ede2ca603b3f307a" - integrity sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg== +"@babel/preset-typescript@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz#25768cb8830280baf47c45ab1a519a9977498c98" + integrity sha512-4xKw3tTcCm0qApyT6PqM9qniseCE79xGHiUnNdKGdxNsGUc2X7WwZybqIpnTmoukg3nhPceI5KPNzNqLNeIJww== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.3.2" + "@babel/plugin-transform-typescript" "^7.6.0" -"@babel/runtime@7.5.5", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": +"@babel/runtime@7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz#4fc1d642a9fd0299754e8b5de62c631cf5568205" + integrity sha512-89eSBLJsxNxOERC0Op4vd+0Bqm6wRMqMbFtV3i0/fbaWw/mJ8Q3eBvgX0G4SyrOOLCtbu98HspF8o09MRT+KzQ== + dependencies: + regenerator-runtime "^0.13.2" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.5.5": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz#c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd" + integrity sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" @@ -772,6 +930,15 @@ "@babel/parser" "^7.4.4" "@babel/types" "^7.4.4" +"@babel/template@^7.6.0": + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" + integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.0" + "@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" @@ -787,6 +954,21 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz#b0e2bfd401d339ce0e6c05690206d1e11502ce2c" + integrity sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.6.2" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.6.2" + "@babel/types" "^7.6.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + "@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" @@ -796,6 +978,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.6.0": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" + integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -896,10 +1087,10 @@ resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.21.tgz#f1c26ae24761cca583de7cafd1273ab4c70a4d87" integrity sha512-iJtcrU2BtF9Wyr0zm3tHEJy3HqA6sADExhCqCv3SKaJJKKp4ORJ40t4nyHvcWXSVFtd7r1gcdqcRsAfoREGTFA== -"@fortawesome/fontawesome-common-types@^0.2.22": - version "0.2.22" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.22.tgz#3f1328d232a0fd5de8484d833c8519426f39f016" - integrity sha512-QmEuZsipX5/cR9JOg0fsTN4Yr/9lieYWM8AQpmRa0eIfeOcl/HLYoEa366BCGRSrgNJEexuvOgbq9jnJ22IY5g== +"@fortawesome/fontawesome-common-types@^0.2.25": + version "0.2.25" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz#6df015905081f2762e5cfddeb7a20d2e9b16c786" + integrity sha512-3RuZPDuuPELd7RXtUqTCfed14fcny9UiPOkdr2i+cYxBoTOfQgxcDoq77fHiiHcgWuo1LoBUpvGxFF1H/y7s3Q== "@fortawesome/fontawesome-svg-core@^1.2.21": version "1.2.21" @@ -908,12 +1099,12 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.21" -"@fortawesome/fontawesome-svg-core@^1.2.22": - version "1.2.22" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.22.tgz#9a6117c96c8b823c7d531000568ac75c3c02e123" - integrity sha512-Q941E4x8UfnMH3308n0qrgoja+GoqyiV846JTLoCcCWAKokLKrixCkq6RDBs8r+TtAWaLUrBpI+JFxQNX/WNPQ== +"@fortawesome/fontawesome-svg-core@^1.2.25": + version "1.2.25" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz#24b03391d14f0c6171e8cad7057c687b74049790" + integrity sha512-MotKnn53JKqbkLQiwcZSBJVYtTgIKFbh7B8+kd05TSnfKYPFmjKKI59o2fpz5t0Hzl35vVGU6+N4twoOpZUrqA== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.22" + "@fortawesome/fontawesome-common-types" "^0.2.25" "@fortawesome/free-brands-svg-icons@^5.10.1": version "5.10.1" @@ -922,26 +1113,26 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.21" -"@fortawesome/free-brands-svg-icons@^5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.10.2.tgz#01a227e37ca96237a5a9e8681d926a36fd6195c0" - integrity sha512-r5Dxr2h8f9bEI7F/gj/2v1OX9S6DMif9ZKR2VFQCSXHwahojLlOWnFILYsrjhzOISESkh6WDL9IOdkdbKM7KPw== +"@fortawesome/free-brands-svg-icons@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.11.2.tgz#39d4296d03bf5719c579dea4bdcdd356ed2de0b4" + integrity sha512-wKK5znpHiZ2S0VgOvbeAnYuzkk3H86rxWajD9PVpfBj3s/kySEWTFKh/uLPyxiTOx8Tsd0OGN4En/s9XudVHLQ== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.22" + "@fortawesome/fontawesome-common-types" "^0.2.25" -"@fortawesome/free-regular-svg-icons@^5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.10.2.tgz#e4ada1c15f42133ad92761418a9b0e2d407fb022" - integrity sha512-Qk4FmwXuRDY5K2GyiKt7adCN204dTlTb0Ps3/JU4BfYoCrU43DResd1QZxfcoQJfV2kw29spZ4+BDL+9IRyj1Q== +"@fortawesome/free-regular-svg-icons@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.11.2.tgz#6edfc5c230094be3b9070fef048c01aa321a8428" + integrity sha512-k0vbThRv9AvnXYBWi1gn1rFW4X7co/aFkbm0ZNmAR5PoWb9vY9EDDDobg8Ay4ISaXtCPypvJ0W1FWkSpLQwZ6w== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.22" + "@fortawesome/fontawesome-common-types" "^0.2.25" -"@fortawesome/free-solid-svg-icons@^5.10.2": - version "5.10.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.10.2.tgz#61bcecce3aa5001fd154826238dfa840de4aa05a" - integrity sha512-9Os/GRUcy+iVaznlg8GKcPSQFpIQpAg14jF0DWsMdnpJfIftlvfaQCWniR/ex9FoOpSEOrlXqmUCFL+JGeciuA== +"@fortawesome/free-solid-svg-icons@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.11.2.tgz#2f2f1459743a27902b76655a0d0bc5ec4d945631" + integrity sha512-zBue4i0PAZJUXOmLBBvM7L0O7wmsDC8dFv9IhpW5QL4kT9xhhVUsYg/LX1+5KaukWq4/cbDcKT+RT1aRe543sg== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.22" + "@fortawesome/fontawesome-common-types" "^0.2.25" "@fortawesome/react-fontawesome@^0.1.4": version "0.1.4" @@ -997,48 +1188,58 @@ chalk "^2.0.1" slash "^2.0.0" -"@jest/core@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.8.0.tgz#fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b" - integrity sha512-R9rhAJwCBQzaRnrRgAdVfnglUuATXdwTRsYqs6NMdVcAl5euG8LtWDe+fVkN27YfKVBW61IojVsXKaOmSnqd/A== +"@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== dependencies: "@jest/console" "^24.7.1" - "@jest/reporters" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" ansi-escapes "^3.0.0" chalk "^2.0.1" exit "^0.1.2" graceful-fs "^4.1.15" - jest-changed-files "^24.8.0" - jest-config "^24.8.0" - jest-haste-map "^24.8.0" - jest-message-util "^24.8.0" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" jest-regex-util "^24.3.0" - jest-resolve-dependencies "^24.8.0" - jest-runner "^24.8.0" - jest-runtime "^24.8.0" - jest-snapshot "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" - jest-watcher "^24.8.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" micromatch "^3.1.10" p-each-series "^1.0.0" - pirates "^4.0.1" realpath-native "^1.1.0" rimraf "^2.5.4" + slash "^2.0.0" strip-ansi "^5.0.0" -"@jest/environment@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac" - integrity sha512-vlGt2HLg7qM+vtBrSkjDxk9K0YtRBi7HfRFaDxoRtyi+DyVChzhF20duvpdAnKVBV6W5tym8jm0U9EfXbDk1tw== +"@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== dependencies: - "@jest/fake-timers" "^24.8.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" - jest-mock "^24.8.0" + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" "@jest/fake-timers@^24.8.0": version "24.8.0" @@ -1049,15 +1250,24 @@ jest-message-util "^24.8.0" jest-mock "^24.8.0" -"@jest/reporters@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.8.0.tgz#075169cd029bddec54b8f2c0fc489fd0b9e05729" - integrity sha512-eZ9TyUYpyIIXfYCrw0UHUWUvE35vx5I92HGMgS93Pv7du+GHIzl+/vh8Qj9MCWFK/4TqyttVBPakWMOfZRIfxw== +"@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== dependencies: - "@jest/environment" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.2" @@ -1065,13 +1275,13 @@ istanbul-lib-instrument "^3.0.1" istanbul-lib-report "^2.0.4" istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.1.1" - jest-haste-map "^24.8.0" - jest-resolve "^24.8.0" - jest-runtime "^24.8.0" - jest-util "^24.8.0" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" jest-worker "^24.6.0" - node-notifier "^5.2.1" + node-notifier "^5.4.2" slash "^2.0.0" source-map "^0.6.0" string-length "^2.0.0" @@ -1085,6 +1295,15 @@ graceful-fs "^4.1.15" source-map "^0.6.0" +"@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + "@jest/test-result@^24.8.0": version "24.8.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" @@ -1094,32 +1313,42 @@ "@jest/types" "^24.8.0" "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/test-sequencer@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz#2f993bcf6ef5eb4e65e8233a95a3320248cf994b" - integrity sha512-OzL/2yHyPdCHXEzhoBuq37CE99nkme15eHkAzXRVqthreWZamEMA0WoetwstsQBCXABhczpK03JNbc4L01vvLg== +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== dependencies: - "@jest/test-result" "^24.8.0" - jest-haste-map "^24.8.0" - jest-runner "^24.8.0" - jest-runtime "^24.8.0" + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/transform@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5" - integrity sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA== +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" babel-plugin-istanbul "^5.1.0" chalk "^2.0.1" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.1.15" - jest-haste-map "^24.8.0" - jest-regex-util "^24.3.0" - jest-util "^24.8.0" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" micromatch "^3.1.10" + pirates "^4.0.1" realpath-native "^1.1.0" slash "^2.0.0" source-map "^0.6.1" @@ -1134,6 +1363,15 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^12.0.9" +"@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -1147,10 +1385,10 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.14": - version "0.3.14" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.14.tgz#fdd1562571ca2a6fd87dc8b233c9129b032793ad" - integrity sha512-WsDE99pffvAfOaADv1qekCWHTGvIxx7zWaq8Y7aWNNeeNlOO/LLi/I3ui+vqbUg6EtZCuXquPIAjGk/LIC8+CA== +"@renproject/contracts@0.3.16": + version "0.3.16" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.16.tgz#8ed095941ce35567a9a301fd5165249c6e200959" + integrity sha512-72O8pFCe6BxfI9MKr82IOxLYKUrvOa6XYZdE71ezSUDWhl1rlsZkAaS4fiLdmxa/f+syEfdMohyyrVEUvi3f0w== dependencies: darknode-sol "https://github.com/renproject/darknode-sol#be15db5d3720b8050a3a379c37260d87026e3626" @@ -1176,10 +1414,10 @@ react-router-dom "^5.0.1" react-select "^3.0.4" -"@sentry/browser@^5.6.2": - version "5.6.2" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.6.2.tgz#f39e95c3aff2d4b4fd5d0d4aa7192af73f20d24e" - integrity sha512-Nm/W/5ra6+OQCWQkdd86vHjcYUjHCVqCzQyPasd6HE7SNlWe5euGVfFfDuUFsiDrMAG5uKfGYw5u/AqoweiQkQ== +"@sentry/browser@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.6.3.tgz#5cc37b0443eba55ad13c13d34d6b95ff30dfbfe3" + integrity sha512-bP1LTbcKPOkkmfJOAM6c7WZ0Ov0ZEW6B9keVZ9wH9fw/lBPd9UyDMDCwJ+FAYKz9M9S5pxQeJ4Ebd7WUUrGVAQ== dependencies: "@sentry/core" "5.6.2" "@sentry/types" "5.6.1" @@ -1397,10 +1635,10 @@ dependencies: "@types/base-x" "*" -"@types/chai@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.0.tgz#2478260021408dec32c123a7cad3414beb811a07" - integrity sha512-zw8UvoBEImn392tLjxoavuonblX/4Yb9ha4KBU10FirCfwgzhKO0dvyJSF9ByxV1xK1r2AgnAi/tvQaLgxQqxA== +"@types/chai@^4.2.3": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.3.tgz#419477a3d5202bad19e14c787940a61dc9ea6407" + integrity sha512-VRw2xEGbll3ZiTQ4J02/hUjNqZoue1bMhoo2dgM2LXjDdyaq4q80HgBDHwpI0/VKlo4Eg+BavyQMv/NYgTetzA== "@types/d3-geo@*": version "1.11.1" @@ -1414,10 +1652,10 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== -"@types/filesize@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-4.1.0.tgz#da49e71ccb6bf5b024ced2bcad30528a8eebd46d" - integrity sha512-PsogPt8wYP5406gh7hscvg3jdcEGeeHeG+qGpwSK3wUTgiT2WvKbT8la/SxSglfLTqxJcLwPcXvhenNGOAdHuw== +"@types/filesize@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-4.2.0.tgz#5ef6403b33bc00c718bc6f88d2a0e172df0a110a" + integrity sha512-cGnXW1YH24LI6iCWFjaJ9nVX/WX3d1XzIjJuniZWMD+hpGBWDECCeh8H4MwTg17IMKRU1pfjwfI8crok7b2fEA== "@types/geojson@*": version "7946.0.7" @@ -1484,11 +1722,16 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== -"@types/node@^12.6.1", "@types/node@^12.7.2": +"@types/node@^12.6.1": version "12.7.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== +"@types/node@^12.7.5": + version "12.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f" + integrity sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w== + "@types/prop-types@*": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" @@ -1599,53 +1842,67 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== -"@types/underscore@^1.9.2": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.9.2.tgz#2c4f7743287218f5c2d9a83db3806672aa48530d" - integrity sha512-KgOKTAD+9X+qvZnB5S1+onqKc4E+PZ+T6CM/NA5ohRPLHJXb+yCJMVf8pWOnvuBuKFNUAJW8N97IA6lba6mZGg== +"@types/underscore@^1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.9.3.tgz#d7d9dc5a5ff76fa3d001b29bc7cc95ab0ccfe85e" + integrity sha512-SwbHKB2DPIDlvYqtK5O+0LFtZAyrUSw4c0q+HWwmH1Ve3KMQ0/5PlV3RX97+3dP7yMrnNQ8/bCWWvQpPl03Mug== + +"@types/yargs-parser@*": + version "13.1.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" + integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== -"@types/yargs@^12.0.2", "@types/yargs@^12.0.9": +"@types/yargs@^12.0.9": version "12.0.12" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== -"@typescript-eslint/eslint-plugin@1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.13.0.tgz#22fed9b16ddfeb402fd7bcde56307820f6ebc49f" - integrity sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g== +"@types/yargs@^13.0.0": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" + integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== dependencies: - "@typescript-eslint/experimental-utils" "1.13.0" - eslint-utils "^1.3.1" + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^2.2.0": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.1.tgz#b0b1e6b9b3f84b3e1afbdd338f4194c8ab92db21" + integrity sha512-VqVNEsvemviajlaWm03kVMabc6S3xCHGYuY0fReTrIIOZg+3WzB+wfw6fD3KYKerw5lYxmzogmHOZ0i7YKnuwA== + dependencies: + "@typescript-eslint/experimental-utils" "2.3.1" + eslint-utils "^1.4.2" functional-red-black-tree "^1.0.1" regexpp "^2.0.1" - tsutils "^3.7.0" + tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" - integrity sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== +"@typescript-eslint/experimental-utils@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.1.tgz#92f2531d3e7c22e64a2cc10cfe89935deaf00f7c" + integrity sha512-FaZEj73o4h6Wd0Lg+R4pZiJGdR0ZYbJr+O2+RbQ1aZjX8bZcfkVDtD+qm74Dv77rfSKkDKE64UTziLBo9UYHQA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "1.13.0" - eslint-scope "^4.0.0" + "@typescript-eslint/typescript-estree" "2.3.1" + eslint-scope "^5.0.0" -"@typescript-eslint/parser@1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.13.0.tgz#61ac7811ea52791c47dc9fd4dd4a184fae9ac355" - integrity sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ== +"@typescript-eslint/parser@^2.2.0": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.3.1.tgz#f2b93b614d9b338825c44e75552a433e2ebf8c33" + integrity sha512-ZlWdzhCJ2iZnSp/VBAJ/sowFbyHycIux8t0UEH0JsKgQvfSf7949hLYFMwTXdCMeEnpP1zRTHimrR+YHzs8LIw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "1.13.0" - "@typescript-eslint/typescript-estree" "1.13.0" - eslint-visitor-keys "^1.0.0" + "@typescript-eslint/experimental-utils" "2.3.1" + "@typescript-eslint/typescript-estree" "2.3.1" + eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@1.13.0": - version "1.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e" - integrity sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw== +"@typescript-eslint/typescript-estree@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.1.tgz#62c64f149948473d06a129dc33b4fc76e6c051f9" + integrity sha512-9SFhUgFuePJBB6jlLkOPPhMkZNiDCr+S8Ft7yAkkP2c5x5bxPhG3pe/exMiQaF8IGyVMDW6Ul0q4/cZ+uF3uog== dependencies: + glob "^7.1.4" + is-glob "^4.0.1" lodash.unescape "4.0.1" - semver "5.5.0" + semver "^6.3.0" "@webassemblyjs/ast@1.8.5": version "1.8.5" @@ -1857,7 +2114,12 @@ acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.7, acorn@^6.2.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== -address@1.1.0, address@^1.0.1: +address@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + +address@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== @@ -2101,11 +2363,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= - array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -2144,16 +2401,6 @@ array-last@^1.1.1: dependencies: is-number "^4.0.0" -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= - -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= - array-slice@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" @@ -2345,17 +2592,17 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-eslint@10.0.2: - version "10.0.2" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456" - integrity sha512-UdsurWPtgiPgpJ06ryUnuaSXC2s0WoSZnQmEpbAH65XZSdwowgN5MvyP7e88nW07FYXv72erVtpBkxyDVKhH1Q== +babel-eslint@10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" + integrity sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA== dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.0.0" "@babel/traverse" "^7.0.0" "@babel/types" "^7.0.0" - eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" babel-extract-comments@^1.0.0: version "1.0.0" @@ -2364,16 +2611,16 @@ babel-extract-comments@^1.0.0: dependencies: babylon "^6.18.0" -babel-jest@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589" - integrity sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw== +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== dependencies: - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" "@types/babel__core" "^7.1.0" babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.6.0" + babel-preset-jest "^24.9.0" chalk "^2.4.2" slash "^2.0.0" @@ -2420,10 +2667,10 @@ babel-plugin-istanbul@^5.1.0: istanbul-lib-instrument "^3.3.0" test-exclude "^5.2.3" -babel-plugin-jest-hoist@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" - integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w== +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== dependencies: "@types/babel__traverse" "^7.0.6" @@ -2436,10 +2683,10 @@ babel-plugin-macros@2.6.1, babel-plugin-macros@^2.0.0: cosmiconfig "^5.2.0" resolve "^1.10.0" -babel-plugin-named-asset-import@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.3.tgz#9ba2f3ac4dc78b042651654f07e847adfe50667c" - integrity sha512-1XDRysF4894BUdMChT+2HHbtJYiO7zx5Be7U6bT8dISy7OdyETMGIAQBMPQCsY1YRf0xcubwnKKaDr5bk15JTA== +babel-plugin-named-asset-import@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz#4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd" + integrity sha512-S6d+tEzc5Af1tKIMbsf2QirCcPdQ+mKUCY2H1nJj1DyA1ShwpsoxEOAwbWsG5gcXNV/olpvQd9vrUWRx4bnhpw== babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" @@ -2464,32 +2711,32 @@ babel-plugin-transform-react-remove-prop-types@0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== -babel-preset-jest@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" - integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw== +babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.6.0" + babel-plugin-jest-hoist "^24.9.0" -babel-preset-react-app@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.1.tgz#16a2cf84363045b530b6a03460527a5c6eac42ba" - integrity sha512-v7MeY+QxdBhM9oU5uOQCIHLsErYkEbbjctXsb10II+KAnttbe0rvprvP785dRxfa9dI4ZbsGXsRU07Qdi5BtOw== +babel-preset-react-app@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.2.tgz#247d37e883d6d6f4b4691e5f23711bb2dd80567d" + integrity sha512-aXD+CTH8Chn8sNJr4tO/trWKqe5sSE4hdO76j9fhVezJSzmpWYWUSc5JoPmdSxADwef5kQFNGKXd433vvkd2VQ== dependencies: - "@babel/core" "7.5.5" + "@babel/core" "7.6.0" "@babel/plugin-proposal-class-properties" "7.5.5" - "@babel/plugin-proposal-decorators" "7.4.4" + "@babel/plugin-proposal-decorators" "7.6.0" "@babel/plugin-proposal-object-rest-spread" "7.5.5" "@babel/plugin-syntax-dynamic-import" "7.2.0" - "@babel/plugin-transform-destructuring" "7.5.0" + "@babel/plugin-transform-destructuring" "7.6.0" "@babel/plugin-transform-flow-strip-types" "7.4.4" "@babel/plugin-transform-react-display-name" "7.2.0" - "@babel/plugin-transform-runtime" "7.5.5" - "@babel/preset-env" "7.5.5" + "@babel/plugin-transform-runtime" "7.6.0" + "@babel/preset-env" "7.6.0" "@babel/preset-react" "7.0.0" - "@babel/preset-typescript" "7.3.3" - "@babel/runtime" "7.5.5" + "@babel/preset-typescript" "7.6.0" + "@babel/runtime" "7.6.0" babel-plugin-dynamic-import-node "2.3.0" babel-plugin-macros "2.6.1" babel-plugin-transform-react-remove-prop-types "0.4.24" @@ -2778,7 +3025,16 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.6.6, browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: +browserslist@4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" + integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA== + dependencies: + caniuse-lite "^1.0.30000989" + electron-to-chromium "^1.3.247" + node-releases "^1.1.29" + +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: version "4.6.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== @@ -3020,7 +3276,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000984: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30000989: version "1.0.30000989" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== @@ -3131,7 +3387,7 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: optionalDependencies: fsevents "^1.2.7" -chownr@^1.1.1: +chownr@^1.1.1, chownr@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== @@ -3232,6 +3488,15 @@ cliui@^4.0.0: strip-ansi "^4.0.0" wrap-ansi "^2.0.0" +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" @@ -3384,10 +3649,10 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.0.tgz#0641ea00838c7a964627f04cddc336a2deddd60a" - integrity sha512-pl3QrGOBa9RZaslQiqnnKX2J068wcQw7j9AIaBQ9/JEp5RY6je4jKTImg0Bd+rpoONSe7GUFSgkxLeo17m3Pow== +commander@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.1.tgz#4595aec3530525e671fb6f85fb173df8ff8bf57a" + integrity sha512-UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ== commander@~2.19.0: version "2.19.0" @@ -3470,10 +3735,10 @@ configstore@^4.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -confusing-browser-globals@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz#93ffec1f82a6e2bf2bc36769cc3a92fa20e502f3" - integrity sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg== +confusing-browser-globals@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" + integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== connect-history-api-fallback@^1.3.0: version "1.6.0" @@ -3574,10 +3839,10 @@ core-js-compat@^3.1.1: browserslist "^4.6.6" semver "^6.3.0" -core-js@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.1.4.tgz#3a2837fc48e582e1ae25907afcd6cf03b0cc7a07" - integrity sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== +core-js@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" + integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== core-js@^2.4.0: version "2.6.9" @@ -3961,9 +4226,9 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== -"darknode-sol@https://github.com/renproject/darknode-sol#be15db5d3720b8050a3a379c37260d87026e3626": +"darknode-sol@git+https://github.com/renproject/darknode-sol.git#be15db5d3720b8050a3a379c37260d87026e3626": version "0.0.3" - resolved "https://github.com/renproject/darknode-sol#be15db5d3720b8050a3a379c37260d87026e3626" + resolved "git+https://github.com/renproject/darknode-sol.git#be15db5d3720b8050a3a379c37260d87026e3626" dependencies: openzeppelin-solidity "2.3.0" @@ -4243,15 +4508,15 @@ detect-port-alt@1.1.6: address "^1.0.1" debug "^2.6.0" -diff-sequences@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" - integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" + integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== diffie-hellman@^5.0.0: version "5.0.3" @@ -4391,10 +4656,10 @@ dot-prop@^4.1.0, dot-prop@^4.1.1: dependencies: is-obj "^1.0.0" -dotenv-expand@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275" - integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU= +dotenv-expand@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== dotenv@6.2.0: version "6.2.0" @@ -4456,6 +4721,11 @@ electron-to-chromium@^1.3.191: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.224.tgz#511abb2829a58c5ddb36c319094fe936bc82e3cd" integrity sha512-vTH9UcMbi53x/pZKQrEcD83obE8agqQwUIx/G03/mpE1vzLm0KA3cHwuZXCysvxI1gXfNjV7Nu7Vjtp89kDzmg== +electron-to-chromium@^1.3.247: + version "1.3.264" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.264.tgz#ed837f44524d0601a7b2b7b6efd86e35753d0e27" + integrity sha512-z8E7WkrrquCuGYv+kKyybuZIbdms+4PeHp7Zm2uIgEhAigP0bOwqXILItwj0YO73o+QyHY/7XtEfP5DsHOWQgQ== + elliptic@6.3.3: version "6.3.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" @@ -4642,12 +4912,12 @@ escodegen@^1.11.0, escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-react-app@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.1.tgz#5f3d666ba3ee3cb384eb943e260e868f6c72251b" - integrity sha512-GYXP3F/0PSHlYfGHhahqnJze8rYKxzXgrzXVqRRd4rDO40ga4NA3aHM7/HKbwceDN0/C1Ij3BoAWFawJgRbXEw== +eslint-config-react-app@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.2.tgz#df40d73a1402986030680c040bbee520db5a32a4" + integrity sha512-VhlESAQM83uULJ9jsvcKxx2Ab0yrmjUt8kDz5DyhTQufqWE0ssAnejlWri5LXv25xoXfdqOyeDPdfJS9dXKagQ== dependencies: - confusing-browser-globals "^1.0.8" + confusing-browser-globals "^1.0.9" eslint-import-resolver-node@^0.3.2: version "0.3.2" @@ -4657,16 +4927,15 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.5.0" -eslint-loader@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" - integrity sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg== +eslint-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.0.tgz#fb70bc2d552a674f43f07f5e6575083e565e790d" + integrity sha512-rdxyQ0i9VlhwVlR6oEzrIft8WNKYSD2/cOAJ1YVH/F76gAta7Zv1Dr5xJOUyx0fAsHB5cKNz9hwlUVLMFsQlPA== dependencies: - loader-fs-cache "^1.0.0" - loader-utils "^1.0.2" - object-assign "^4.0.1" - object-hash "^1.1.4" - rimraf "^2.6.1" + loader-fs-cache "^1.0.2" + loader-utils "^1.2.3" + object-hash "^1.3.1" + schema-utils "^2.1.0" eslint-module-utils@^2.4.0: version "2.4.1" @@ -4735,15 +5004,7 @@ eslint-plugin-react@7.14.3: prop-types "^15.7.2" resolve "^1.10.1" -eslint-scope@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^4.0.0, eslint-scope@^4.0.3: +eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== @@ -4766,11 +5027,23 @@ eslint-utils@^1.3.1: dependencies: eslint-visitor-keys "^1.0.0" +eslint-utils@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" + integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== + dependencies: + eslint-visitor-keys "^1.0.0" + eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== +eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + eslint@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646" @@ -5066,17 +5339,17 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" - integrity sha512-/zYvP8iMDrzaaxHVa724eJBCKqSHmO0FA7EDkBiRHxg6OipmMn1fN+C8T9L9K8yr7UONkOifu6+LLH+z76CnaA== +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" ansi-styles "^3.2.0" - jest-get-type "^24.8.0" - jest-matcher-utils "^24.8.0" - jest-message-util "^24.8.0" - jest-regex-util "^24.3.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" express@^4.14.0, express@^4.16.2: version "4.17.1" @@ -5296,10 +5569,10 @@ filesize@3.6.1: resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== -filesize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-4.1.2.tgz#fcd570af1353cea97897be64f56183adb995994b" - integrity sha512-iSWteWtfNcrWQTkQw8ble2bnonSl7YJImsn9OZKpE2E4IHhXI78eASpDYUljXZZdYj36QsEKjOs/CsiDqmKMJw== +filesize@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-4.2.0.tgz#a8c989a179ca3a895cc32eab4abc64ebf6d34d44" + integrity sha512-bdS2UP98MZzLyTZzhuSH5ctAWyDt81n5xMti9BSdmgPXjjENLDz5Bmbk2R7ATVw/HRysZzWA2JIPgcSAOimWpw== fill-range@^4.0.0: version "4.0.0" @@ -5655,6 +5928,11 @@ get-caller-file@^1.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + get-func-name@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" @@ -6121,6 +6399,18 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== +history@^4.10.1: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + history@^4.9.0: version "4.9.0" resolved "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz#84587c2068039ead8af769e9d6a6860a14fa1bca" @@ -6868,7 +7158,7 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-plain-obj@^1.1.0: +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= @@ -7057,7 +7347,7 @@ istanbul-lib-source-maps@^3.0.1: rimraf "^2.6.3" source-map "^0.6.1" -istanbul-reports@^2.1.1: +istanbul-reports@^2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== @@ -7072,66 +7362,66 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -jest-changed-files@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" - integrity sha512-qgANC1Yrivsq+UrLXsvJefBKVoCsKB0Hv+mBb6NMjjZ90wwxCDmU3hsCXBya30cH+LnPYjwgcU65i6yJ5Nfuug== +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" - integrity sha512-+p6J00jSMPQ116ZLlHJJvdf8wbjNbZdeSX9ptfHX06/MSNaXmKihQzx5vQcw0q2G6JsdVkUIdWbOWtSnaYs3yA== +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== dependencies: - "@jest/core" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" exit "^0.1.2" import-local "^2.0.0" is-ci "^2.0.0" - jest-config "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" prompts "^2.0.1" realpath-native "^1.1.0" - yargs "^12.0.2" + yargs "^13.3.0" -jest-config@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f" - integrity sha512-Czl3Nn2uEzVGsOeaewGWoDPD8GStxCpAe0zOYs2x2l0fZAgPbCr3uwUkgNKV3LwE13VXythM946cd5rdGkkBZw== +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.8.0" - "@jest/types" "^24.8.0" - babel-jest "^24.8.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^24.8.0" - jest-environment-node "^24.8.0" - jest-get-type "^24.8.0" - jest-jasmine2 "^24.8.0" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" jest-regex-util "^24.3.0" - jest-resolve "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" micromatch "^3.1.10" - pretty-format "^24.8.0" + pretty-format "^24.9.0" realpath-native "^1.1.0" -jest-diff@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" - integrity sha512-wxetCEl49zUpJ/bvUmIFjd/o52J+yWcoc5ZyPq4/W1LUKGEhRYDIbP1KcF6t+PvqNrGAFk4/JhtxDq/Nnzs66g== +jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== dependencies: chalk "^2.0.1" - diff-sequences "^24.3.0" - jest-get-type "^24.8.0" - pretty-format "^24.8.0" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" jest-docblock@^24.3.0: version "24.3.0" @@ -7140,16 +7430,16 @@ jest-docblock@^24.3.0: dependencies: detect-newline "^2.1.0" -jest-each@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" - integrity sha512-NrwK9gaL5+XgrgoCsd9svsoWdVkK4gnvyhcpzd6m487tXHqIdYeykgq3MKI1u4I+5Zf0tofr70at9dWJDeb+BA== +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" - jest-get-type "^24.8.0" - jest-util "^24.8.0" - pretty-format "^24.8.0" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" jest-environment-jsdom-fourteen@0.1.0: version "0.1.0" @@ -7160,91 +7450,92 @@ jest-environment-jsdom-fourteen@0.1.0: jest-util "^24.5.0" jsdom "^14.0.0" -jest-environment-jsdom@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857" - integrity sha512-qbvgLmR7PpwjoFjM/sbuqHJt/NCkviuq9vus9NBn/76hhSidO+Z6Bn9tU8friecegbJL8gzZQEMZBQlFWDCwAQ== +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== dependencies: - "@jest/environment" "^24.8.0" - "@jest/fake-timers" "^24.8.0" - "@jest/types" "^24.8.0" - jest-mock "^24.8.0" - jest-util "^24.8.0" + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" jsdom "^11.5.1" -jest-environment-node@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231" - integrity sha512-vIGUEScd1cdDgR6sqn2M08sJTRLQp6Dk/eIkCeO4PFHxZMOgy+uYLPMC4ix3PEfM5Au/x3uQ/5Tl0DpXXZsJ/Q== +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== dependencies: - "@jest/environment" "^24.8.0" - "@jest/fake-timers" "^24.8.0" - "@jest/types" "^24.8.0" - jest-mock "^24.8.0" - jest-util "^24.8.0" + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" -jest-get-type@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" - integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-haste-map@^24.8.0: - version "24.8.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.1.tgz#f39cc1d2b1d907e014165b4bd5a957afcb992982" - integrity sha512-SwaxMGVdAZk3ernAx2Uv2sorA7jm3Kx+lR0grp6rMmnY06Kn/urtKx1LPN2mGTea4fCT38impYT28FfcLUhX0g== +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" anymatch "^2.0.0" fb-watchman "^2.0.0" graceful-fs "^4.1.15" invariant "^2.2.4" - jest-serializer "^24.4.0" - jest-util "^24.8.0" - jest-worker "^24.6.0" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" micromatch "^3.1.10" sane "^4.0.3" walker "^1.0.7" optionalDependencies: fsevents "^1.2.7" -jest-jasmine2@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898" - integrity sha512-cEky88npEE5LKd5jPpTdDCLvKkdyklnaRycBXL6GNmpxe41F0WN44+i7lpQKa/hcbXaQ+rc9RMaM4dsebrYong== +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.8.0" + expect "^24.9.0" is-generator-fn "^2.0.0" - jest-each "^24.8.0" - jest-matcher-utils "^24.8.0" - jest-message-util "^24.8.0" - jest-runtime "^24.8.0" - jest-snapshot "^24.8.0" - jest-util "^24.8.0" - pretty-format "^24.8.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" throat "^4.0.0" -jest-leak-detector@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980" - integrity sha512-cG0yRSK8A831LN8lIHxI3AblB40uhv0z+SsQdW3GoMMVcK+sJwrIIyax5tu3eHHNJ8Fu6IMDpnLda2jhn2pD/g== +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== dependencies: - pretty-format "^24.8.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" -jest-matcher-utils@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" - integrity sha512-lex1yASY51FvUuHgm0GOVj7DCYEouWSlIYmCW7APSqB9v8mXmKSn5+sWVF0MhuASG0bnYY106/49JU1FZNl5hw== +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== dependencies: chalk "^2.0.1" - jest-diff "^24.8.0" - jest-get-type "^24.8.0" - pretty-format "^24.8.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" jest-message-util@^24.8.0: version "24.8.0" @@ -7260,6 +7551,20 @@ jest-message-util@^24.8.0: slash "^2.0.0" stack-utils "^1.0.1" +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + jest-mock@^24.5.0, jest-mock@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" @@ -7267,6 +7572,13 @@ jest-mock@^24.5.0, jest-mock@^24.8.0: dependencies: "@jest/types" "^24.8.0" +jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== + dependencies: + "@jest/types" "^24.9.0" + jest-pnp-resolver@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" @@ -7277,102 +7589,108 @@ jest-regex-util@^24.3.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== -jest-resolve-dependencies@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0" - integrity sha512-hyK1qfIf/krV+fSNyhyJeq3elVMhK9Eijlwy+j5jqmZ9QsxwKBiP6qukQxaHtK8k6zql/KYWwCTQ+fDGTIJauw== +jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== + +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" jest-regex-util "^24.3.0" - jest-snapshot "^24.8.0" + jest-snapshot "^24.9.0" -jest-resolve@24.8.0, jest-resolve@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" - integrity sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw== +jest-resolve@24.9.0, jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" browser-resolve "^1.11.3" chalk "^2.0.1" jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb" - integrity sha512-utFqC5BaA3JmznbissSs95X1ZF+d+4WuOWwpM9+Ak356YtMhHE/GXUondZdcyAAOTBEsRGAgH/0TwLzfI9h7ow== +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== dependencies: "@jest/console" "^24.7.1" - "@jest/environment" "^24.8.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.8.0" + jest-config "^24.9.0" jest-docblock "^24.3.0" - jest-haste-map "^24.8.0" - jest-jasmine2 "^24.8.0" - jest-leak-detector "^24.8.0" - jest-message-util "^24.8.0" - jest-resolve "^24.8.0" - jest-runtime "^24.8.0" - jest-util "^24.8.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" jest-worker "^24.6.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620" - integrity sha512-Mq0aIXhvO/3bX44ccT+czU1/57IgOMyy80oM0XR/nyD5zgBcesF84BPabZi39pJVA6UXw+fY2Q1N+4BiVUBWOA== +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== dependencies: "@jest/console" "^24.7.1" - "@jest/environment" "^24.8.0" + "@jest/environment" "^24.9.0" "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.8.0" - "@jest/types" "^24.8.0" - "@types/yargs" "^12.0.2" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.8.0" - jest-haste-map "^24.8.0" - jest-message-util "^24.8.0" - jest-mock "^24.8.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" jest-regex-util "^24.3.0" - jest-resolve "^24.8.0" - jest-snapshot "^24.8.0" - jest-util "^24.8.0" - jest-validate "^24.8.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" realpath-native "^1.1.0" slash "^2.0.0" strip-bom "^3.0.0" - yargs "^12.0.2" + yargs "^13.3.0" -jest-serializer@^24.4.0: - version "24.4.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" - integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== -jest-snapshot@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" - integrity sha512-5ehtWoc8oU9/cAPe6fez6QofVJLBKyqkY2+TlKTOf0VllBB/mqUNdARdcjlZrs9F1Cv+/HKoCS/BknT0+tmfPg== +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== dependencies: "@babel/types" "^7.0.0" - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" chalk "^2.0.1" - expect "^24.8.0" - jest-diff "^24.8.0" - jest-matcher-utils "^24.8.0" - jest-message-util "^24.8.0" - jest-resolve "^24.8.0" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^24.8.0" - semver "^5.5.0" + pretty-format "^24.9.0" + semver "^6.2.0" jest-util@^24.5.0, jest-util@^24.8.0: version "24.8.0" @@ -7392,31 +7710,49 @@ jest-util@^24.5.0, jest-util@^24.8.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" - integrity sha512-+/N7VOEMW1Vzsrk3UWBDYTExTPwf68tavEPKDnJzrC6UlHtUDU/fuEdXqFoHzv9XnQ+zW6X3qMZhJ3YexfeLDA== +jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== dependencies: - "@jest/types" "^24.8.0" - camelcase "^5.0.0" + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" chalk "^2.0.1" - jest-get-type "^24.8.0" - leven "^2.1.0" - pretty-format "^24.8.0" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" -jest-watch-typeahead@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.3.1.tgz#47701024b64b444aa325d801b4b3a6d61ed70701" - integrity sha512-cDIko96c4Yqg/7mfye1eEYZ6Pvugo9mnOOhGQod3Es7/KptNv1b+9gFVaotzdqNqTlwbkA80BnWHtzV4dc+trA== +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== dependencies: - ansi-escapes "^3.0.0" + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watch-typeahead@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz#4d5356839a85421588ce452d2440bf0d25308397" + integrity sha512-bJR/HPNgOQnkmttg1OkBIrYFAYuxFxExtgQh67N2qPvaWGVC8TCkedRNPKBfmZfVXFD3u2sCH+9OuS5ApBfCgA== + dependencies: + ansi-escapes "^4.2.1" chalk "^2.4.1" jest-watcher "^24.3.0" - slash "^2.0.0" - string-length "^2.0.0" + slash "^3.0.0" + string-length "^3.1.0" strip-ansi "^5.0.0" -jest-watcher@^24.3.0, jest-watcher@^24.8.0: +jest-watcher@^24.3.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw== @@ -7429,6 +7765,19 @@ jest-watcher@^24.3.0, jest-watcher@^24.8.0: jest-util "^24.8.0" string-length "^2.0.0" +jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + jest-worker@^24.6.0: version "24.6.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" @@ -7437,13 +7786,21 @@ jest-worker@^24.6.0: merge-stream "^1.0.1" supports-color "^6.1.0" -jest@24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" - integrity sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg== +jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest@24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== dependencies: import-local "^2.0.0" - jest-cli "^24.8.0" + jest-cli "^24.9.0" jju@^1.1.0: version "1.4.0" @@ -7807,10 +8164,10 @@ left-pad@^1.3.0: resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== -leven@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.3.0, levn@~0.3.0: version "0.3.0" @@ -7881,7 +8238,7 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-fs-cache@^1.0.0: +loader-fs-cache@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" integrity sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw== @@ -8196,6 +8553,11 @@ merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + merge2@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" @@ -8291,12 +8653,13 @@ mini-create-react-context@^0.3.0: gud "^1.0.0" tiny-warning "^1.0.2" -mini-css-extract-plugin@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" - integrity sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw== +mini-css-extract-plugin@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" + integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw== dependencies: loader-utils "^1.1.0" + normalize-url "1.9.1" schema-utils "^1.0.0" webpack-sources "^1.1.0" @@ -8340,6 +8703,14 @@ minipass@^2.2.1, minipass@^2.3.5: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^2.6.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.8.4.tgz#490fe62adeb620c4a3373f62ee1c31cf2ef36385" + integrity sha512-i97pKD0f0eZLlhcTTSa6b6QlxCD7cvh8t/5MyR/pqchD5GPAeDaUrXQCoYA+W/VmmCgWvS/ADbfW3FUc+iT51Q== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + minizlib@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" @@ -8615,10 +8986,10 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^5.2.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.1.tgz#7c0192cc63aedb25cd99619174daa27902b10903" - integrity sha512-p52B+onAEHKW1OF9MGO/S7k/ahGEHfhP5/tvwYzog/5XLYOd8ZuD6vdNZdUuWMONRnKPneXV43v3s6Snx1wsCQ== +node-notifier@^5.4.2: + version "5.4.3" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== dependencies: growly "^1.3.0" is-wsl "^1.1.0" @@ -8649,6 +9020,13 @@ node-releases@^1.1.25: dependencies: semver "^5.3.0" +node-releases@^1.1.29: + version "1.1.32" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.32.tgz#485b35c1bf9b4d8baa105d782f8ca731e518276e" + integrity sha512-VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A== + dependencies: + semver "^5.3.0" + node-sass@^4.12.0: version "4.12.0" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017" @@ -8714,6 +9092,16 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + normalize-url@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" @@ -8736,15 +9124,15 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-check-updates@^3.1.21: - version "3.1.21" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.21.tgz#3aa7bff3569784fce12b190d152d1dc632d2e37c" - integrity sha512-t7KygdHZ1cF2jS6kcOPiUg6s53Sq5jcOqHnddOe92qW7Xd4mh9AUT52OYYQ0YfAiP7VIdZ5379/G/atG6J0WDA== +npm-check-updates@^3.1.23: + version "3.1.23" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.23.tgz#9f2885665b1c7327d909558bdc65913927a7de12" + integrity sha512-Z2dkMdNgue6OPkQDPcAK62Qrwv+G1PaEmKrDrrSAiSP7pRD3u30xOVy1nLukS1XrJ2/zF8XTVxFe9/ubcvlcPQ== dependencies: chalk "^2.4.2" cint "^8.2.1" cli-table "^0.3.1" - commander "^3.0.0" + commander "^3.0.1" fast-diff "^1.2.0" find-up "4.1.0" get-stdin "^7.0.0" @@ -8752,7 +9140,7 @@ npm-check-updates@^3.1.21: libnpmconfig "^1.2.1" lodash "^4.17.15" node-alias "^1.0.4" - pacote "^9.5.4" + pacote "^9.5.8" progress "^2.0.3" prompts "^2.2.1" rc-config-loader "^2.0.4" @@ -8780,10 +9168,10 @@ npm-packlist@^1.1.12, npm-packlist@^1.1.6: ignore-walk "^3.0.1" npm-bundled "^1.0.1" -npm-pick-manifest@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz#32111d2a9562638bb2c8f2bf27f7f3092c8fae40" - integrity sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA== +npm-pick-manifest@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7" + integrity sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw== dependencies: figgy-pudding "^3.5.1" npm-package-arg "^6.0.0" @@ -8867,7 +9255,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-hash@^1.1.4: +object-hash@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== @@ -9219,13 +9607,14 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pacote@^9.5.4: - version "9.5.5" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.5.tgz#63355a393614c3424e735820c3731e2cbbedaeeb" - integrity sha512-jAEP+Nqj4kyMWyNpfTU/Whx1jA7jEc5cCOlurm0/0oL+v8TAp1QSsK83N7bYe+2bEdFzMAtPG5TBebjzzGV0cA== +pacote@^9.5.8: + version "9.5.8" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.8.tgz#23480efdc4fa74515855c9ecf39cf64078f99786" + integrity sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw== dependencies: bluebird "^3.5.3" cacache "^12.0.2" + chownr "^1.1.2" figgy-pudding "^3.5.1" get-stream "^4.1.0" glob "^7.1.3" @@ -9239,7 +9628,7 @@ pacote@^9.5.4: normalize-package-data "^2.4.0" npm-package-arg "^6.1.0" npm-packlist "^1.1.12" - npm-pick-manifest "^2.2.3" + npm-pick-manifest "^3.0.0" npm-registry-fetch "^4.0.0" osenv "^0.1.5" promise-inflight "^1.0.1" @@ -9249,7 +9638,7 @@ pacote@^9.5.4: safe-buffer "^5.1.2" semver "^5.6.0" ssri "^6.0.1" - tar "^4.4.8" + tar "^4.4.10" unique-filename "^1.1.1" which "^1.3.1" @@ -10228,7 +10617,7 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.1: +prepend-http@^1.0.0, prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= @@ -10251,12 +10640,12 @@ pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" - integrity sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw== +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== dependencies: - "@jest/types" "^24.8.0" + "@jest/types" "^24.9.0" ansi-regex "^4.0.0" ansi-styles "^3.2.0" react-is "^16.8.4" @@ -10430,7 +10819,7 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@*, query-string@^6.8.2: +query-string@*: version "6.8.2" resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.2.tgz#36cb7e452ae11a4b5e9efee83375e0954407b2f6" integrity sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw== @@ -10439,6 +10828,14 @@ query-string@*, query-string@^6.8.2: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + query-string@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" @@ -10448,6 +10845,15 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +query-string@^6.8.3: + version "6.8.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" + integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== + dependencies: + decode-uri-component "^0.2.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -10528,34 +10934,34 @@ rc@^1.2.7, rc@^1.2.8, rc@~1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-app-polyfill@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.2.tgz#2a51175885c88245a2a356dc46df29f38ec9f060" - integrity sha512-yZcpLnIr0FOIzrOOz9JC37NWAWEuCaQWmYn9EWjEzlCW4cOmA5MkT5L3iP8QuUeFnoqVCTJgjIWYbXEJgNXhGA== +react-app-polyfill@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.3.tgz#bd7030ebf66569f3aece03e39ab85ca700d8d0f6" + integrity sha512-ICvAU2vtO0k+kU0oCS7L7btUcAReTddvEiRiJDmAKc+d98Fy9Z1g6cjkdcKyfLWwopzBsUMcDwxoiNtrtLMs0Q== dependencies: - core-js "3.1.4" + core-js "3.2.1" object-assign "4.1.1" promise "8.0.3" raf "3.4.1" regenerator-runtime "0.13.3" whatwg-fetch "3.0.0" -react-chartjs-2@^2.7.6: - version "2.7.6" - resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-2.7.6.tgz#b8cd29bed00bf55b9e8172b06466b4ecf2b86bfb" - integrity sha512-xDr0jhgt/o26atftXxTVsepz+QYZI2GNKBYpxtLvYgwffLUm18a9n562reUJAHvuwKsy2v+qMlK5HyjFtSW0mg== +react-chartjs-2@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-2.8.0.tgz#1c24de91fb3755f8c4302675de7d66fdda339759" + integrity sha512-BPpC+qfnh37DkcXvxRwA1rdD9rX/0AQrwru4VZTLofCCuZBwRsc7PbfxjilvoB6YlHhorwZu40YDWEQkoz7xfQ== dependencies: lodash "^4.17.4" prop-types "^15.5.8" -react-dev-utils@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.3.tgz#7607455587abb84599451460eb37cef0b684131a" - integrity sha512-OyInhcwsvycQ3Zr2pQN+HV4gtRXrky5mJXIy4HnqrWa+mI624xfYfqGuC9dYbxp4Qq3YZzP8GSGQjv0AgNU15w== +react-dev-utils@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.4.tgz#5c71a8e8afdec0232c44d4e049d21baa437a92af" + integrity sha512-VwR+mBUXPLdYk/rOz6s6qpasIFGd7GW0KXd/3bih+/qGcMQvPG19XxtjDMtiAg0zWiFwp1ugCzAjLThbzFjVqw== dependencies: "@babel/code-frame" "7.5.5" - address "1.1.0" - browserslist "4.6.6" + address "1.1.2" + browserslist "4.7.0" chalk "2.4.2" cross-spawn "6.0.5" detect-port-alt "1.1.6" @@ -10572,10 +10978,10 @@ react-dev-utils@^9.0.3: loader-utils "1.2.3" open "^6.3.0" pkg-up "2.0.0" - react-error-overlay "^6.0.1" + react-error-overlay "^6.0.2" recursive-readdir "2.2.2" - shell-quote "1.6.1" - sockjs-client "1.3.0" + shell-quote "1.7.2" + sockjs-client "1.4.0" strip-ansi "5.2.0" text-table "0.2.0" @@ -10597,10 +11003,10 @@ react-element-to-jsx-string@^14.0.3: is-plain-object "3.0.0" stringify-object "3.3.0" -react-error-overlay@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.1.tgz#b8d3cf9bb991c02883225c48044cb3ee20413e0f" - integrity sha512-V9yoTr6MeZXPPd4nV/05eCBvGH9cGzc52FN8fs0O0TVQ3HYYf1n7EgZVtHbldRq5xU9zEzoXIITjYNIfxDDdUw== +react-error-overlay@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.2.tgz#642bd6157c6a4b6e9ca4a816f7ed30b868c47f81" + integrity sha512-DHRuRk3K4Lg9obI6J4Y+nKvtwjasYRU9CFL3ud42x9YJG1HbQjSNublapC/WBJOA726gNUbqbj0U2df9+uzspQ== react-input-autosize@^2.2.1: version "2.2.1" @@ -10609,7 +11015,7 @@ react-input-autosize@^2.2.1: dependencies: prop-types "^15.5.8" -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: version "16.9.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== @@ -10619,17 +11025,17 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-redux@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.0.tgz#72af7cf490a74acdc516ea9c1dd80e25af9ea0b2" - integrity sha512-hyu/PoFK3vZgdLTg9ozbt7WF3GgX5+Yn3pZm5/96/o4UueXA+zj08aiSC9Mfj2WtD1bvpIb3C5yvskzZySzzaw== +react-redux@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.1.tgz#ce6eee1b734a7a76e0788b3309bf78ff6b34fa0a" + integrity sha512-QsW0vcmVVdNQzEkrgzh2W3Ksvr8cqpAv5FhEk7tNEft+5pp7rXxAudTz3VOPawRkLIepItpkEIyLcN/VVXzjTg== dependencies: - "@babel/runtime" "^7.4.5" + "@babel/runtime" "^7.5.5" hoist-non-react-statics "^3.3.0" invariant "^2.2.4" loose-envify "^1.4.0" prop-types "^15.7.2" - react-is "^16.8.6" + react-is "^16.9.0" react-router-dom@^5.0.1: version "5.0.1" @@ -10660,28 +11066,28 @@ react-router@5.0.1, react-router@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-scripts@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.1.tgz#1796bc92447f3a2d3072c3b71ca99f88d099c48d" - integrity sha512-dbjTG9vJC61OI62hIswQYg5xHvwlxDTH6QXz6ICEuA5AqkFQWk1LKl76sk8fVL2WsyumbBc4FErALwKcEV2vNA== +react-scripts@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.2.tgz#40b166d380bfd8b425a41dee96e8e725c82bf9e6" + integrity sha512-aN9E1jn+Qii45/uLUzS7Hjfd/DXbcaAiRkoMwnJXAXShbpJiP2xwmr7yuVF0kR0cnvt0SI+IPZjsOH8MziSYQQ== dependencies: - "@babel/core" "7.5.5" + "@babel/core" "7.6.0" "@svgr/webpack" "4.3.2" - "@typescript-eslint/eslint-plugin" "1.13.0" - "@typescript-eslint/parser" "1.13.0" - babel-eslint "10.0.2" - babel-jest "^24.8.0" + "@typescript-eslint/eslint-plugin" "^2.2.0" + "@typescript-eslint/parser" "^2.2.0" + babel-eslint "10.0.3" + babel-jest "^24.9.0" babel-loader "8.0.6" - babel-plugin-named-asset-import "^0.3.3" - babel-preset-react-app "^9.0.1" + babel-plugin-named-asset-import "^0.3.4" + babel-preset-react-app "^9.0.2" camelcase "^5.2.0" case-sensitive-paths-webpack-plugin "2.2.0" css-loader "2.1.1" dotenv "6.2.0" - dotenv-expand "4.2.0" + dotenv-expand "5.1.0" eslint "^6.1.0" - eslint-config-react-app "^5.0.1" - eslint-loader "2.2.1" + eslint-config-react-app "^5.0.2" + eslint-loader "3.0.0" eslint-plugin-flowtype "3.13.0" eslint-plugin-import "2.18.2" eslint-plugin-jsx-a11y "6.2.3" @@ -10692,11 +11098,11 @@ react-scripts@^3.1.1: html-webpack-plugin "4.0.0-beta.5" identity-obj-proxy "3.0.0" is-wsl "^1.1.0" - jest "24.8.0" + jest "24.9.0" jest-environment-jsdom-fourteen "0.1.0" - jest-resolve "24.8.0" - jest-watch-typeahead "0.3.1" - mini-css-extract-plugin "0.5.0" + jest-resolve "24.9.0" + jest-watch-typeahead "0.4.0" + mini-css-extract-plugin "0.8.0" optimize-css-assets-webpack-plugin "5.0.3" pnp-webpack-plugin "1.5.0" postcss-flexbugs-fixes "4.1.0" @@ -10704,17 +11110,17 @@ react-scripts@^3.1.1: postcss-normalize "7.0.1" postcss-preset-env "6.7.0" postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.2" - react-dev-utils "^9.0.3" + react-app-polyfill "^1.0.3" + react-dev-utils "^9.0.4" resolve "1.12.0" resolve-url-loader "3.1.0" sass-loader "7.2.0" semver "6.3.0" style-loader "1.0.0" terser-webpack-plugin "1.4.1" - ts-pnp "1.1.2" + ts-pnp "1.1.4" url-loader "2.1.0" - webpack "4.39.1" + webpack "4.40.2" webpack-dev-server "3.2.1" webpack-manifest-plugin "2.0.4" workbox-webpack-plugin "4.3.1" @@ -10887,10 +11293,10 @@ redent@^1.0.0: indent-string "^2.1.0" strip-indent "^1.0.1" -redux-persist@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-5.10.0.tgz#5d8d802c5571e55924efc1c3a9b23575283be62b" - integrity sha512-sSJAzNq7zka3qVHKce1hbvqf0Vf5DuTVm7dr4GtsqQVOexnrvbV47RWFiPxQ8fscnyiuWyD2O92DOxPl0tGCRg== +redux-persist@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-6.0.0.tgz#b4d2972f9859597c130d40d4b146fecdab51b3a8" + integrity sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ== redux-thunk@^2.3.0: version "2.3.0" @@ -10969,6 +11375,18 @@ regexpu-core@^4.5.4: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" +regexpu-core@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" + integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.1.0" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.1.0" + registry-auth-token@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" @@ -11178,6 +11596,11 @@ resolve-pathname@^2.2.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + resolve-url-loader@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc" @@ -11204,7 +11627,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.12.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: +resolve@1.12.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: version "1.12.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== @@ -11418,6 +11841,14 @@ schema-utils@^2.0.0, schema-utils@^2.0.1: ajv "^6.1.0" ajv-keywords "^3.1.0" +schema-utils@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz#48a065ce219e0cacf4631473159037b2c1ae82da" + integrity sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA== + dependencies: + ajv "^6.10.2" + ajv-keywords "^3.4.1" + scrypt-js@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" @@ -11502,11 +11933,6 @@ semver-utils@^1.1.4: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== - semver@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" @@ -11659,15 +12085,10 @@ shebang-regex@^1.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -shell-quote@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== shellwords@^0.1.1: version "0.1.1" @@ -11715,6 +12136,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" @@ -11771,6 +12197,18 @@ sockjs-client@1.3.0: json3 "^3.3.2" url-parse "^1.4.3" +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + sockjs@0.3.19: version "0.3.19" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" @@ -11795,6 +12233,13 @@ socks@~2.3.2: ip "^1.1.5" smart-buffer "4.0.2" +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -12034,6 +12479,14 @@ string-length@^2.0.0: astral-regex "^1.0.0" strip-ansi "^4.0.0" +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -12051,7 +12504,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0: +string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -12311,7 +12764,7 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" -tar@^4, tar@^4.0.2, tar@^4.4.8: +tar@^4, tar@^4.0.2: version "4.4.10" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== @@ -12324,6 +12777,19 @@ tar@^4, tar@^4.0.2, tar@^4.4.8: safe-buffer "^5.1.2" yallist "^3.0.3" +tar@^4.4.10: + version "4.4.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.11.tgz#7ac09801445a3cf74445ed27499136b5240ffb73" + integrity sha512-iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.6.4" + minizlib "^1.2.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.3" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -12567,7 +13033,12 @@ truffle-hdwallet-provider@^1.0.17: web3 "1.2.1" websocket "^1.0.28" -ts-pnp@1.1.2, ts-pnp@^1.1.2: +ts-pnp@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" + integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== + +ts-pnp@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== @@ -12592,23 +13063,23 @@ tslint-microsoft-contrib@^6.2.0: dependencies: tsutils "^2.27.2 <2.29.0" -tslint-react@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-4.0.0.tgz#b4bb4c01c32448cb14d23f143a2f5e4989bb961e" - integrity sha512-9fNE0fm9zNDx1+b6hgy8rgDN2WsQLRiIrn3+fbqm0tazBVF6jiaCFAITxmU+WSFWYE03Xhp1joCircXOe1WVAQ== +tslint-react@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-4.1.0.tgz#7153b724a8cfbea52423d0ffa469e8eba3bcc834" + integrity sha512-Y7CbFn09X7Mpg6rc7t/WPbmjx9xPI8p1RsQyiGCLWgDR6sh3+IBSlT+bEkc0PSZcWwClOkqq2wPsID8Vep6szQ== dependencies: tsutils "^3.9.1" -tslint@^5.19.0: - version "5.19.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.19.0.tgz#a2cbd4a7699386da823f6b499b8394d6c47bb968" - integrity sha512-1LwwtBxfRJZnUvoS9c0uj8XQtAnyhWr9KlNvDIdB+oXyT+VpsOAaEhEgKi1HrZ8rq0ki/AAnbGSv4KM6/AfVZw== +tslint@^5.20.0: + version "5.20.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz#fac93bfa79568a5a24e7be9cdde5e02b02d00ec1" + integrity sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" chalk "^2.3.0" commander "^2.12.1" - diff "^3.2.0" + diff "^4.0.1" glob "^7.1.1" js-yaml "^3.13.1" minimatch "^3.0.4" @@ -12632,7 +13103,7 @@ tsutils@^2.29.0: dependencies: tslib "^1.8.1" -tsutils@^3.7.0, tsutils@^3.9.1: +tsutils@^3.17.1, tsutils@^3.9.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== @@ -12713,10 +13184,10 @@ typescript@^2.9.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== -typescript@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977" - integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g== +typescript@^3.6.3: + version "3.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da" + integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw== uglify-js@3.4.x: version "3.4.10" @@ -13068,6 +13539,11 @@ value-equal@^0.4.0: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + value-or-function@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" @@ -13737,10 +14213,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@4.39.1: - version "4.39.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.1.tgz#60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8" - integrity sha512-/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ== +webpack@4.40.2: + version "4.40.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.40.2.tgz#d21433d250f900bf0facbabe8f50d585b2dc30a7" + integrity sha512-5nIvteTDCUws2DVvP9Qe+JPla7kWPPIDFZv55To7IycHWZ+Z5qBdaBYPyuXWdhggTufZkQwfIK+5rKQTVovm2A== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" @@ -14024,6 +14500,15 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -14176,10 +14661,10 @@ yargs-parser@^10.1.0: dependencies: camelcase "^4.1.0" -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== +yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -14209,23 +14694,21 @@ yargs@12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" -yargs@^12.0.2: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== +yargs@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" + cliui "^5.0.0" find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" + get-caller-file "^2.0.1" require-directory "^2.1.1" - require-main-filename "^1.0.1" + require-main-filename "^2.0.0" set-blocking "^2.0.0" - string-width "^2.0.0" + string-width "^3.0.0" which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" + y18n "^4.0.0" + yargs-parser "^13.1.1" yargs@^7.0.0, yargs@^7.1.0: version "7.1.0" From 32c9f40552d55c5cd06c1cd0200a674a61cba7af Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 24 Sep 2019 12:28:16 +1000 Subject: [PATCH 070/117] Fixed test compilation error --- src/lib/ethereum/contractReads.spec.ts | 2 +- src/lib/ethereum/contractWrites.spec.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/ethereum/contractReads.spec.ts b/src/lib/ethereum/contractReads.spec.ts index 4b005190..3b43752c 100644 --- a/src/lib/ethereum/contractReads.spec.ts +++ b/src/lib/ethereum/contractReads.spec.ts @@ -1,8 +1,8 @@ import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; -import { darknodeIDBase58ToHex } from "../../components/darknodePage/Darknode"; import { createWeb3, Provider } from "../../test/globalSetup"; +import { darknodeIDBase58ToHex } from "../darknode/darknodeID"; import { getDarknodeStatus, RegistrationStatus } from "./contractReads"; let web3: Web3, network: RenNetworkDetails, provider: Provider; diff --git a/src/lib/ethereum/contractWrites.spec.ts b/src/lib/ethereum/contractWrites.spec.ts index bea5b815..51145ff5 100644 --- a/src/lib/ethereum/contractWrites.spec.ts +++ b/src/lib/ethereum/contractWrites.spec.ts @@ -1,8 +1,8 @@ import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; -import { darknodeIDBase58ToHex } from "../../components/darknodePage/Darknode"; import { createWeb3, Provider } from "../../test/globalSetup"; +import { darknodeIDBase58ToHex } from "../darknode/darknodeID"; import { getDarknodeStatus, getMinimumBond, getOperatorDarknodes, RegistrationStatus, } from "./contractReads"; From 992ea80e04f8369eaaad97a5bcc083c0bc2f1661 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 24 Sep 2019 12:32:49 +1000 Subject: [PATCH 071/117] Updated circleci config --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6e49d683..b1ca8cba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -21,10 +21,10 @@ commands: - v1-dependencies-{{ checksum "yarn.lock" }} - run: name: Install dependencies - command: sudo npm install --global yarn && yarn version && yarn cache clean && yarn install --network-concurrency 1 + command: sudo npm install --global yarn && yarn version && yarn cache clean && (yarn install --network-concurrency 1 || yarn install --network-concurrency 1) - run: name: Install darknode-sol dependencies - command: cd ./node_modules/darknode-sol && yarn install --network-concurrency 1 + command: cd ./node_modules/darknode-sol && (yarn install --network-concurrency 1 || yarn install --network-concurrency 1) - save_cache: name: Save node_modules paths: From adc47a6c518889e75917d22966ee6be1950f1c03 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 24 Sep 2019 12:56:21 +1000 Subject: [PATCH 072/117] Updated waiting calling epoch in tests --- src/lib/ethereum/contractWrites.spec.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/lib/ethereum/contractWrites.spec.ts b/src/lib/ethereum/contractWrites.spec.ts index 51145ff5..54f91a20 100644 --- a/src/lib/ethereum/contractWrites.spec.ts +++ b/src/lib/ethereum/contractWrites.spec.ts @@ -3,11 +3,12 @@ import Web3 from "web3"; import { createWeb3, Provider } from "../../test/globalSetup"; import { darknodeIDBase58ToHex } from "../darknode/darknodeID"; +import { getDarknodeRegistry } from "./contract"; import { getDarknodeStatus, getMinimumBond, getOperatorDarknodes, RegistrationStatus, } from "./contractReads"; import { approveNode, callEpoch, deregisterNode, refundNode, registerNode } from "./contractWrites"; -import { simpleWaitForTX } from "./waitForTX"; +import { simpleWaitForTX, waitForTX } from "./waitForTX"; let web3: Web3, network: RenNetworkDetails, provider: Provider, address: string; beforeAll(async () => { ({ web3, network, provider, address } = await createWeb3()); }); @@ -44,6 +45,15 @@ test("registering darknode", async () => { }); +const triggerBlock = async () => { + // tslint:disable-next-line: await-promise + await waitForTX( + // tslint:disable-next-line: no-any + (getDarknodeRegistry(web3, network).methods.minimumBond() as any) + .send({ from: address }) + ); +}; + test("deregistering darknode", async () => { // Deregister await new Promise((resolve) => deregisterNode(web3, network, address, darknodeID, () => null, resolve, simpleWaitForTX)); @@ -52,8 +62,8 @@ test("deregistering darknode", async () => { .should.equal(RegistrationStatus.DeregistrationPending); await callEpoch(web3, network, address, simpleWaitForTX); - try { await callEpoch(web3, network, address, simpleWaitForTX); } catch (error) { /* ignore */ } - await callEpoch(web3, network, address, simpleWaitForTX, { nonce: (await web3.eth.getTransactionCount(address)) }); + await triggerBlock(); + await callEpoch(web3, network, address, simpleWaitForTX); (await getDarknodeStatus(web3, network, darknodeID)) .should.equal(RegistrationStatus.Refundable); From ed97e8c769d9afc01751af55060dc467740331e7 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 24 Sep 2019 15:10:30 +1000 Subject: [PATCH 073/117] Updated block history types --- src/components/hyperdrivePage/Hyperdrive.tsx | 88 +++++++++---------- .../hyperdrivePage/hyperdriveContainer.ts | 55 ++++++++---- src/lib/ethereum/tokens.ts | 11 +++ 3 files changed, 92 insertions(+), 62 deletions(-) diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index 9b0ed634..fd496721 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -6,7 +6,7 @@ import { CSSTransitionGroup } from "react-transition-group"; import { Token } from "../../lib/ethereum/tokens"; import { Stat, Stats } from "../common/Stat"; import { TokenBalance } from "../common/TokenBalance"; -import { Block, HyperdriveContainer, Tx } from "./hyperdriveContainer"; +import { Block, HyperdriveContainer, Tx, Type } from "./hyperdriveContainer"; // Returning a new object reference guarantees that a before-and-after // equivalence check will always be false, resulting in a re-render, even @@ -27,19 +27,17 @@ export const useForceUpdate = () => { let interval: NodeJS.Timeout; export const renderTransaction = (tx: Tx): React.ReactNode => { - // BTC - if (tx.to === "BTC0Btc2Eth") { - return <>Shift {tx.args[1].value / 10 ** 8} to ; - } - if (tx.to === "BTC0Eth2Btc") { - return <>Shift {tx.args[2].value / 10 ** 8} from ; - } - // ZEC - if (tx.to === "ZEC0Zec2Eth") { - return <>Shift {tx.args[1].value / 10 ** 8} to ; - } - if (tx.to === "ZEC0Eth2Zec") { - return <>Shift {tx.args[2].value / 10 ** 8} from ; + const [match, _chain, _left, _right] = tx.to.match(/([A-Z0-9]*)0([A-Za-z0-0]*)2([A-Za-z0-0]*)/) || []; + + if (match) { + const [chain, left, right] = [_chain.toUpperCase() as Token, _left.toUpperCase() as Token, _right.toUpperCase() as Token]; + + if (chain === left) { + return <>Shift {tx.args[1].value / 10 ** 8} to ; + } else if (chain === right) { + return <>Shift {tx.args[2].value / 10 ** 8} from ; + } + return <>Shift {tx.args[1].value / 10 ** 8} to on ; } return <> {tx.to} {tx.args.length} {tx.out ? tx.out.length : 0} @@ -68,7 +66,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { if (interval) { clearInterval(interval); } - interval = setInterval(syncBlocks, 10 * 1000); + interval = setInterval(syncBlocks, 5 * 1000); // if (!container.blocks || container.blocks.size === 0) { syncBlocks(); // } @@ -80,8 +78,8 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { }, []); const onClick = useCallback((block: Block) => { - container.getBlock(block.height).catch(console.error); - history.push(`/hyperdrive/${block.height}`); + container.getBlock(block.header.height).catch(console.error); + history.push(`/hyperdrive/${block.header.height}`); }, [container, history]); const onClose = useCallback(() => { @@ -91,17 +89,17 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { const blockTr = (block: Block) => { const trOnClick = () => { onClick(block); }; return ( -
    {block.height}
    {block.header.height} - {naturalTime(block.timestamp, { + {naturalTime(block.header.timestamp, { message: "Just now", suffix: "ago", countDown: false, showingSeconds: true })} {block.txs && block.txs.length ?
    {block.txs.map((tx, index) => { +
    {block.data && block.data.length && block.data.map ?
    {block.data.map((tx, index) => { return
    {renderTransaction(tx)}
    ; @@ -112,7 +110,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { const firstBlock = container.blocks ? container.blocks.first(null) : null; - if (firstBlock && getTimeMagnitude(firstBlock.timestamp, true)) { + if (firstBlock && getTimeMagnitude(firstBlock.header.timestamp, true)) { setTimeout(() => { forceUpdate(); }, 1 * 1000); @@ -125,27 +123,27 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { > 1 - {firstBlock ? firstBlock.height : 0} - - sum + utxo.amount, 0) : 0 - )} - digits={4} - />{" "} - BTC - - - sum + utxo.amount, 0) : 0 - )} - digits={4} - />{" "} - ZEC - + {firstBlock ? firstBlock.header.height : 0} + {firstBlock && firstBlock.prevState && firstBlock.prevState.map ? + firstBlock.prevState.map((state) => { + if (state.type === Type.BTCCompatUTXOs && state.name.match(/.*UTXOs/)) { + const token = state.name.replace("UTXOs", "").toUpperCase(); + return + sum + utxo.amount, 0) : 0 + )} + digits={4} + />{" "} + BTC + ; + } else { + return <>; + } + }) + : <> + } {blockNumber ? <>
    @@ -179,8 +177,8 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => {
    diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts index 7a4105ed..0639ebf0 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -16,7 +16,7 @@ type U64 = number; // tslint:disable-next-line: no-any type Value = any; -enum Type { +export enum Type { Addr = "addr", Str = "str", B20 = "b20", @@ -30,6 +30,7 @@ enum Type { U16 = "u16", U32 = "u32", U64 = "u64", + BTCCompatUTXOs = "ext_btcCompatUTXOs", } interface Arg { @@ -60,14 +61,34 @@ interface ExtBtcCompatUTXO { type ExtBtcCompatUTXOs = ExtBtcCompatUTXO[]; export interface Block { - header: B32; - parentHeader: B32; - height: U64; - timestamp: U64; - txHeader: B32; - txs: Txs; - utxosForBtc: ExtBtcCompatUTXOs; - utxosForZec: ExtBtcCompatUTXOs; + hash: B32; + header: { + kind: 1; + parentHash: B32; + baseHash: B32; + height: U64; + round: U64; + timestamp: U64; + signatories: null; + }; + data: Txs; + prevState: [ + { + name: "bchUTXOs"; + type: "ext_btcCompatUTXOs"; + value: ExtBtcCompatUTXOs; + }, + { + name: "btcUTXOs"; + type: "ext_btcCompatUTXOs"; + value: ExtBtcCompatUTXOs; + }, + { + name: "zecUTXOs"; + type: "ext_btcCompatUTXOs"; + value: ExtBtcCompatUTXOs; + } + ]; } type Blocks = Block[]; @@ -96,12 +117,12 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List const firstBlock = previousBlocks.first(null); let previousHeight = null; if (firstBlock) { - previousHeight = firstBlock.height; + previousHeight = firstBlock.header.height; } if (previousHeight === null) { const request = { jsonrpc: "2.0", method: "ren_queryBlocks", params: { n: N }, id: 67 }; const response = (await Axios.post>(lightnode, request)).data.result; - return List(response.blocks); + return List(response.blocks).sort((a, b) => b.header.height - a.header.height); } else { let currentHeight = null as number | null; let syncedHeight = null as number | null; @@ -113,11 +134,11 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List const request = { jsonrpc: "2.0", method: "ren_queryBlock", params: { blockHeight: syncedHeight && syncedHeight - 1 }, id: 67 }; const response = (await Axios.post>(lightnode, request)).data.result; const latestBlock = response.block; - if (latestBlock.height === previousHeight) { + if (latestBlock.header.height === previousHeight) { break; } - currentHeight = currentHeight || latestBlock.height; - syncedHeight = latestBlock.height; + currentHeight = currentHeight || latestBlock.header.height; + syncedHeight = latestBlock.header.height; newBlocks = newBlocks.push(latestBlock); } return newBlocks.concat(previousBlocks).slice(0, N).toList(); @@ -151,9 +172,9 @@ const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => const last = blocks.last(null); // Check if we already have the block in the list of recent blocks. - if (first && last && first.height >= blockNumber && last.height <= blockNumber) { + if (first && last && first.header.height >= blockNumber && last.header.height <= blockNumber) { for (const block of blocks.toArray()) { - if (block.height === blockNumber) { + if (block.header.height === blockNumber) { newCurrentBlock = block; break; } @@ -170,7 +191,7 @@ const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => currentBlock = newCurrentBlock; setCurrentBlock(currentBlock); - currentBlockNumber = currentBlock.height; + currentBlockNumber = currentBlock.header.height; setCurrentBlockNumber(currentBlockNumber); }; diff --git a/src/lib/ethereum/tokens.ts b/src/lib/ethereum/tokens.ts index 9d968ff8..37f03130 100644 --- a/src/lib/ethereum/tokens.ts +++ b/src/lib/ethereum/tokens.ts @@ -7,6 +7,7 @@ export enum Token { ETH = "ETH", BTC = "BTC", ZEC = "ZEC", + BCH = "BCH", } export enum OldToken { @@ -72,6 +73,16 @@ export const AllTokenDetails = Map Date: Tue, 24 Sep 2019 16:13:30 +1000 Subject: [PATCH 074/117] Added locked BCH counter --- package.json | 4 +- src/components/hyperdrivePage/Hyperdrive.tsx | 49 +++++++++++--------- src/lib/ethereum/contractReads.ts | 4 +- yarn.lock | 16 ++----- 4 files changed, 37 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index 00735b1d..bbc6081a 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "0.3.16", + "@renproject/contracts": "0.3.18", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.31", "@sentry/browser": "^5.6.3", @@ -96,4 +96,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} \ No newline at end of file +} diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index fd496721..9f5a3026 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -66,7 +66,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { if (interval) { clearInterval(interval); } - interval = setInterval(syncBlocks, 5 * 1000); + interval = setInterval(syncBlocks, 7.5 * 1000); // Half the cache time // if (!container.blocks || container.blocks.size === 0) { syncBlocks(); // } @@ -116,6 +116,30 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { }, 1 * 1000); } + // For each locked token, create a element + // tslint:disable-next-line: no-any + const lockedBalances: any = {}; + if (firstBlock && firstBlock.prevState && firstBlock.prevState.map) { + firstBlock.prevState.map((state) => { + if (state.type === Type.BTCCompatUTXOs && state.name.match(/.*UTXOs/)) { + const token = state.name.replace("UTXOs", "").toUpperCase(); + lockedBalances[token] = + sum + utxo.amount, 0) : 0 + )} + digits={4} + />{" "} + {token} + ; + } + }); + } + + // Override the order of the tokens (returned back in alphabetical order) + const { [Token.BTC]: lockedBTC, [Token.ZEC]: lockedZEC, ...remainingLockedBalances } = lockedBalances; + return (
    { 1 {firstBlock ? firstBlock.header.height : 0} - {firstBlock && firstBlock.prevState && firstBlock.prevState.map ? - firstBlock.prevState.map((state) => { - if (state.type === Type.BTCCompatUTXOs && state.name.match(/.*UTXOs/)) { - const token = state.name.replace("UTXOs", "").toUpperCase(); - return - sum + utxo.amount, 0) : 0 - )} - digits={4} - />{" "} - BTC - ; - } else { - return <>; - } - }) - : <> - } + {lockedBTC} + {lockedZEC} + {remainingLockedBalances ? Object.values(remainingLockedBalances) : <>} {blockNumber ? <>
    diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 99d669d4..c75f8001 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -463,7 +463,7 @@ export const fetchCycleAndPendingRewards = async ( } return new BigNumber(previousCycleRewardShareBN.toString()); } catch (error) { - console.error(error); + console.error(`Error fetching rewards for ${token}`, error); return new BigNumber(0); } }).toOrderedMap(), @@ -488,7 +488,7 @@ export const fetchCycleAndPendingRewards = async ( } return new BigNumber((currentCycleRewardPool).toString()).div(currentShareCount); } catch (error) { - console.error(error); + console.error(`Error fetching rewards for ${token}`, error); return new BigNumber(0); } } diff --git a/yarn.lock b/yarn.lock index 19216644..52427f70 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1385,12 +1385,12 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.16": - version "0.3.16" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.16.tgz#8ed095941ce35567a9a301fd5165249c6e200959" - integrity sha512-72O8pFCe6BxfI9MKr82IOxLYKUrvOa6XYZdE71ezSUDWhl1rlsZkAaS4fiLdmxa/f+syEfdMohyyrVEUvi3f0w== +"@renproject/contracts@0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.18.tgz#a8fe77e0a2142ab7ea78ce4ec4d7aa3040c7d87d" + integrity sha512-41/LRvbw0zQksyD56o14fx4TN+XZVR+u1cTZTOXfp/d8G7I051NSKW9GpdEOvk32PA3dPRM0z6B754FNzvIJCg== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#be15db5d3720b8050a3a379c37260d87026e3626" + darknode-sol "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -4226,12 +4226,6 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== -"darknode-sol@git+https://github.com/renproject/darknode-sol.git#be15db5d3720b8050a3a379c37260d87026e3626": - version "0.0.3" - resolved "git+https://github.com/renproject/darknode-sol.git#be15db5d3720b8050a3a379c37260d87026e3626" - dependencies: - openzeppelin-solidity "2.3.0" - "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" From 2518e551d7d482f4349dd0e1ec9dbc67f4571499 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 24 Sep 2019 17:01:36 +1000 Subject: [PATCH 075/117] Updated tokens --- package.json | 2 +- src/styles/images/tokens/btc.svg | 6 ------ src/styles/images/tokens/dgx.svg | 12 ------------ src/styles/images/tokens/eth.svg | 13 ------------- src/styles/images/tokens/omg.svg | 6 ------ src/styles/images/tokens/ren.svg | 25 ------------------------- src/styles/images/tokens/tusd.svg | 1 - src/styles/images/tokens/zrx.svg | 6 ------ yarn.lock | 8 ++++---- 9 files changed, 5 insertions(+), 74 deletions(-) delete mode 100644 src/styles/images/tokens/btc.svg delete mode 100644 src/styles/images/tokens/dgx.svg delete mode 100644 src/styles/images/tokens/eth.svg delete mode 100644 src/styles/images/tokens/omg.svg delete mode 100644 src/styles/images/tokens/ren.svg delete mode 100644 src/styles/images/tokens/tusd.svg delete mode 100644 src/styles/images/tokens/zrx.svg diff --git a/package.json b/package.json index bbc6081a..ae286e10 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@fortawesome/react-fontawesome": "^0.1.4", "@renproject/contracts": "0.3.18", "@renproject/fonts": "^1.0.1", - "@renproject/react-components": "1.0.31", + "@renproject/react-components": "1.0.32", "@sentry/browser": "^5.6.3", "@sentry/core": "^5.6.2", "@types/bs58": "^4.0.0", diff --git a/src/styles/images/tokens/btc.svg b/src/styles/images/tokens/btc.svg deleted file mode 100644 index 18c15b3a..00000000 --- a/src/styles/images/tokens/btc.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/styles/images/tokens/dgx.svg b/src/styles/images/tokens/dgx.svg deleted file mode 100644 index 75b83ceb..00000000 --- a/src/styles/images/tokens/dgx.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/src/styles/images/tokens/eth.svg b/src/styles/images/tokens/eth.svg deleted file mode 100644 index e4bd7842..00000000 --- a/src/styles/images/tokens/eth.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/styles/images/tokens/omg.svg b/src/styles/images/tokens/omg.svg deleted file mode 100644 index bd8d6614..00000000 --- a/src/styles/images/tokens/omg.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/styles/images/tokens/ren.svg b/src/styles/images/tokens/ren.svg deleted file mode 100644 index 848fd37f..00000000 --- a/src/styles/images/tokens/ren.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/src/styles/images/tokens/tusd.svg b/src/styles/images/tokens/tusd.svg deleted file mode 100644 index 749be088..00000000 --- a/src/styles/images/tokens/tusd.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/styles/images/tokens/zrx.svg b/src/styles/images/tokens/zrx.svg deleted file mode 100644 index a0acc43a..00000000 --- a/src/styles/images/tokens/zrx.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/yarn.lock b/yarn.lock index 52427f70..d823cf72 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1397,10 +1397,10 @@ resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" integrity sha512-OWk811Ay63UdPxY5nEg4N99Goz6K9HLaeGfUN2q0uehhQ70hJDqDQq/vYl5rtE07mv7MYX7GYTpj5POlPbZNRg== -"@renproject/react-components@1.0.31": - version "1.0.31" - resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.31.tgz#21e6928d9e4ff5577392d294c1dee15b7b00d7be" - integrity sha512-wEasyu86Z913UKdbK4nbKL7wzPFlwhd1C10fh4aSpO6kM1q9bwZq/Ljcd1ThAPtPj1eJsTKRiGITlH6chOR1HA== +"@renproject/react-components@1.0.32": + version "1.0.32" + resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.32.tgz#4a6f1911e79a25eac80af4c868085e31f985d5c5" + integrity sha512-Lop1Io+PN5kEJG3FAYuoEFNE8HBVC6CeTjM/KWYek9b7Fof83OkyD8hRrxOt+3TxZJbgfsEaHl+IEXX7rtuGdQ== dependencies: "@fortawesome/fontawesome-svg-core" "^1.2.21" "@fortawesome/free-brands-svg-icons" "^5.10.1" From 75433e2792af491f91c614d508638c3621a3f2b8 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 17 Oct 2019 15:59:03 +1100 Subject: [PATCH 076/117] Added chasonet deployment --- package.json | 36 +- src/components/common/Header.tsx | 2 + src/components/common/sidebar/Sidebar.tsx | 16 +- src/components/darknodePage/Darknode.tsx | 2 +- src/components/hyperdrivePage/Hyperdrive.tsx | 2 +- src/components/overviewPage/mapContainer.ts | 1 + src/index.tsx | 12 +- src/lib/ethereum/contractReads.ts | 6 + src/lib/react/environmentVariables.ts | 1 - src/styles/scss/_darknodeList.scss | 4 +- src/styles/scss/_header.scss | 10 +- src/styles/scss/_sidebar.scss | 11 + yarn.lock | 329 +++++++++++-------- 13 files changed, 262 insertions(+), 170 deletions(-) diff --git a/package.json b/package.json index ae286e10..0eb565be 100644 --- a/package.json +++ b/package.json @@ -19,21 +19,21 @@ "@fortawesome/free-brands-svg-icons": "^5.11.2", "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", - "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "0.3.18", + "@fortawesome/react-fontawesome": "^0.1.6", + "@renproject/contracts": "0.3.23", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.32", - "@sentry/browser": "^5.6.3", - "@sentry/core": "^5.6.2", + "@sentry/browser": "^5.7.1", + "@sentry/core": "^5.7.1", "@types/bs58": "^4.0.0", "@types/filesize": "^4.2.0", - "@types/jest": "^24.0.18", - "@types/node": "^12.7.5", + "@types/jest": "^24.0.19", + "@types/node": "^12.11.1", "@types/query-string": "^6.3.0", - "@types/react": "^16.9.2", - "@types/react-dom": "^16.9.0", - "@types/react-redux": "^7.1.2", - "@types/react-router-dom": "^4.3.5", + "@types/react": "^16.9.9", + "@types/react-dom": "^16.9.2", + "@types/react-redux": "^7.1.4", + "@types/react-router-dom": "^5.1.0", "@types/react-simple-maps": "^0.12.2", "@types/react-transition-group": "1.1", "@types/underscore": "^1.9.3", @@ -41,26 +41,26 @@ "bignumber.js": "^9.0.0", "bs58": "^4.0.1", "chart.js": "^2.8.0", - "filesize": "^4.2.0", + "filesize": "^5.0.3", "history": "^4.10.1", "immutable": "^4.0.0-rc.12", "localforage": "^1.7.3", "moment": "^2.24.0", "node-sass": "^4.12.0", "query-string": "^6.8.3", - "react": "^16.9.0", + "react": "^16.10.2", "react-chartjs-2": "^2.8.0", - "react-dom": "^16.9.0", + "react-dom": "^16.10.2", "react-redux": "^7.1.1", - "react-router-dom": "^5.0.1", - "react-scripts": "^3.1.2", + "react-router-dom": "^5.1.2", + "react-scripts": "^3.2.0", "react-simple-maps": "^0.12.1", "react-transition-group": "1.2", "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-thunk": "^2.3.0", "typesafe-actions": "^4.4.2", - "typescript": "^3.6.3", + "typescript": "^3.6.4", "unstated-next": "^1.1.0", "wallet-address-validator": "^0.2.4", "web3": "2.0.0-alpha.1", @@ -75,7 +75,7 @@ "any-promise": "^1.3.0", "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095", - "npm-check-updates": "^3.1.23", + "npm-check-updates": "^3.1.24", "truffle-hdwallet-provider": "^1.0.17", "ts-unused-exports": "^2.0.11", "tslint": "^5.20.0", @@ -96,4 +96,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} +} \ No newline at end of file diff --git a/src/components/common/Header.tsx b/src/components/common/Header.tsx index be68a34d..b7d1abf3 100644 --- a/src/components/common/Header.tsx +++ b/src/components/common/Header.tsx @@ -25,6 +25,7 @@ import { AccountDropdown } from "./AccountDropdown"; const networkOptions = new Map() // .set(RenNetwork.Mainnet, <>Mainnet) + .set(RenNetwork.Chaosnet, <>Chaosnet) .set(RenNetwork.Testnet, <>Testnet) .set(RenNetwork.Devnet, <>Devnet) .set(RenNetwork.Localnet, <>Localnet) @@ -131,6 +132,7 @@ class HeaderClass extends React.Component { // history.push("/loading"); // Reload to clear all stores and cancel timeouts // (e.g. deposit/withdrawal confirmations) + // tslint:disable-next-line: no-console console.log(`Reloading page (${currentLocation})`); window.location.replace(currentLocation); }, 100); diff --git a/src/components/common/sidebar/Sidebar.tsx b/src/components/common/sidebar/Sidebar.tsx index 5801b6d8..f313d345 100644 --- a/src/components/common/sidebar/Sidebar.tsx +++ b/src/components/common/sidebar/Sidebar.tsx @@ -1,6 +1,8 @@ import * as React from "react"; -import { faGlobeAmericas, faThLarge, faTimes } from "@fortawesome/free-solid-svg-icons"; +import { + faExternalLinkAlt, faGlobeAmericas, faPlus, faThLarge, faTimes, +} from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { Link, RouteComponentProps, withRouter } from "react-router-dom"; @@ -102,7 +104,6 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter(
    - {address && darknodeList ? darknodeList .filter((darknodeID: string) => { if (!searchFilter) { @@ -127,6 +128,17 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter( />; }).toArray() : <> } + + {address ?
    +
    +
    + +
    +
    +
    +
    Create new Darknode
    +
    +
    : null}
    diff --git a/src/components/darknodePage/Darknode.tsx b/src/components/darknodePage/Darknode.tsx index cbec6ae0..625627d0 100644 --- a/src/components/darknodePage/Darknode.tsx +++ b/src/components/darknodePage/Darknode.tsx @@ -2,7 +2,7 @@ import * as qs from "query-string"; import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { RouteComponentProps, withRouter } from "react-router"; +import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; import { darknodeIDBase58ToHex } from "../../lib/darknode/darknodeID"; diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index 9f5a3026..780df0d4 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -1,6 +1,6 @@ import { getTimeMagnitude, Loading, naturalTime, TokenIcon } from "@renproject/react-components"; import React, { useCallback, useState } from "react"; -import { withRouter } from "react-router"; +import { withRouter } from "react-router-dom"; import { CSSTransitionGroup } from "react-transition-group"; import { Token } from "../../lib/ethereum/tokens"; diff --git a/src/components/overviewPage/mapContainer.ts b/src/components/overviewPage/mapContainer.ts index 1cb6c166..e26ed6c6 100644 --- a/src/components/overviewPage/mapContainer.ts +++ b/src/components/overviewPage/mapContainer.ts @@ -51,6 +51,7 @@ const parallelLimit = (promiseFactories: Array<() => Promise>, limit: numb export const getLightnode = (network: RenNetworkDetails): string => { switch (network.name) { case "mainnet": return ""; + case "chaosnet": return "https://lightnode-chaosnet.herokuapp.com"; case "testnet": return "https://lightnode-testnet.herokuapp.com"; case "devnet": return "https://lightnode-devnet.herokuapp.com"; case "localnet": return ""; diff --git a/src/index.tsx b/src/index.tsx index ca684aac..e80b9914 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -29,18 +29,18 @@ onLoad("Command Center"); ReactDOM.render( _catch_( - - - + + + {/* We add the routes here as well as in App so that App has access to the URL parameters */} {/* Don't add extra routes here - add them in App */} - - - , + + + , { popup: true }, ), document.getElementById("root") as HTMLElement diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index c75f8001..8718a7c9 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -68,8 +68,14 @@ export interface DarknodeCounts { } export const getDarknodeCounts = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { + console.log(`\nGetting darknode count...`); + console.log(renNetwork); const darknodeRegistry = getDarknodeRegistry(web3, renNetwork); + console.log(darknodeRegistry.address); + console.log(darknodeRegistry); + console.log(`\n`); const currentEpoch = await darknodeRegistry.methods.numDarknodes().call(); + console.log(`currentEpoch`, currentEpoch); if (currentEpoch === null) { throw _noCapture_(new Error("Unable to retrieve darknode count")); } const previousEpoch = await darknodeRegistry.methods.numDarknodesPreviousEpoch().call(); if (previousEpoch === null) { throw _noCapture_(new Error("Unable to retrieve darknode count")); } diff --git a/src/lib/react/environmentVariables.ts b/src/lib/react/environmentVariables.ts index d77bf98a..9cc0839d 100644 --- a/src/lib/react/environmentVariables.ts +++ b/src/lib/react/environmentVariables.ts @@ -5,7 +5,6 @@ export const NODE_ENV = process.env.NODE_ENV; export const SOURCE_VERSION = process.env.REACT_APP_SOURCE_VERSION || "local"; // Set in .env / settings page -export const INFURA_KEY = process.env.REACT_APP_INFURA_KEY || ""; export const PUBLIC_NODE = process.env.REACT_APP_PUBLIC_NODE || ""; export const SENTRY_DSN = process.env.REACT_APP_SENTRY_DSN || ""; export const DEFAULT_REN_NETWORK = (process.env.REACT_APP_NETWORK as RenNetwork) || RenNetwork.Testnet; diff --git a/src/styles/scss/_darknodeList.scss b/src/styles/scss/_darknodeList.scss index 52d02200..daff2815 100644 --- a/src/styles/scss/_darknodeList.scss +++ b/src/styles/scss/_darknodeList.scss @@ -139,12 +139,12 @@ $darknode-card-margin: 10px; position: absolute; width: 100%; // Position half way down screen - top: calc(50vh - calc(335px / 2)); // PS: calc can't contain SCSS variables + top: calc(50vh - calc(#{$card-height} / 2)); z-index: -1; align-items: center; - height: 335px; + height: $card-height; overflow: hidden; margin: 0; diff --git a/src/styles/scss/_header.scss b/src/styles/scss/_header.scss index e20c8c8f..8f304f25 100644 --- a/src/styles/scss/_header.scss +++ b/src/styles/scss/_header.scss @@ -297,17 +297,19 @@ } .with-banner { + $top: 22px; + .header { - margin-top: 15px; + margin-top: $top; } .popup--container { - top: 15px; + top: $top; } .sidebar { - top: 15px; - height: calc(100vh - 15px); + top: $top; + height: calc(100vh - #{$top}); } } diff --git a/src/styles/scss/_sidebar.scss b/src/styles/scss/_sidebar.scss index 628c1368..8d876d7c 100644 --- a/src/styles/scss/_sidebar.scss +++ b/src/styles/scss/_sidebar.scss @@ -74,6 +74,17 @@ $mobile-full-width: 100vw; align-items: center; } +.sidebar--plus { + background: none; + margin-top: -5px; +} + +.external-link { + opacity: 0.2; + margin-left: 5px; + margin-bottom: -1px; +} + $max-sidebar: $max-md; $min-header: $min-lg; diff --git a/yarn.lock b/yarn.lock index d823cf72..2215b829 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1142,6 +1142,13 @@ humps "^2.0.1" prop-types "^15.5.10" +"@fortawesome/react-fontawesome@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz#b798b96401e25d07c30bbe1b9ec0e6d8a33760a5" + integrity sha512-DNqt2t4JQ0YQKi832XzByk1wlQzgugwwCCNQHsFyz1z/zA9dtypSvsvVwMIaWXMljalYzKAA2zHX13C1DIxKAw== + dependencies: + prop-types "^15.5.10" + "@hapi/address@2.x.x": version "2.0.0" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" @@ -1385,12 +1392,13 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.18": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.18.tgz#a8fe77e0a2142ab7ea78ce4ec4d7aa3040c7d87d" - integrity sha512-41/LRvbw0zQksyD56o14fx4TN+XZVR+u1cTZTOXfp/d8G7I051NSKW9GpdEOvk32PA3dPRM0z6B754FNzvIJCg== +"@renproject/contracts@0.3.23": + version "0.3.23" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.23.tgz#2e8d983ba7b5837d769f7146c1c0066b91c4598f" + integrity sha512-vXlzbgC/hOJrM6qxCfjqJ6CJi9w/bUbj2CNuIK+wXcgju/eaOqBHXtdPa39J7WxX1vNcuf0Q/ukDaaVRzCs39g== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" + darknode-sol "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" + node-sass "^4.12.0" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -1414,56 +1422,56 @@ react-router-dom "^5.0.1" react-select "^3.0.4" -"@sentry/browser@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.6.3.tgz#5cc37b0443eba55ad13c13d34d6b95ff30dfbfe3" - integrity sha512-bP1LTbcKPOkkmfJOAM6c7WZ0Ov0ZEW6B9keVZ9wH9fw/lBPd9UyDMDCwJ+FAYKz9M9S5pxQeJ4Ebd7WUUrGVAQ== +"@sentry/browser@^5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.7.1.tgz#1f8435e2a325d7a09f830065ebce40a2b3c708a4" + integrity sha512-K0x1XhsHS8PPdtlVOLrKZyYvi5Vexs9WApdd214bO6KaGF296gJvH1mG8XOY0+7aA5i2A7T3ttcaJNDYS49lzw== dependencies: - "@sentry/core" "5.6.2" - "@sentry/types" "5.6.1" - "@sentry/utils" "5.6.1" + "@sentry/core" "5.7.1" + "@sentry/types" "5.7.1" + "@sentry/utils" "5.7.1" tslib "^1.9.3" -"@sentry/core@5.6.2", "@sentry/core@^5.6.2": - version "5.6.2" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.6.2.tgz#8c5477654a83ebe41a72e86a79215deb5025e418" - integrity sha512-grbjvNmyxP5WSPR6UobN2q+Nss7Hvz+BClBT8QTr7VTEG5q89TwNddn6Ej3bGkaUVbct/GpVlI3XflWYDsnU6Q== +"@sentry/core@5.7.1", "@sentry/core@^5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.7.1.tgz#3eb2b7662cac68245931ee939ec809bf7a639d0e" + integrity sha512-AOn3k3uVWh2VyajcHbV9Ta4ieDIeLckfo7UMLM+CTk2kt7C89SayDGayJMSsIrsZlL4qxBoLB9QY4W2FgAGJrg== dependencies: - "@sentry/hub" "5.6.1" - "@sentry/minimal" "5.6.1" - "@sentry/types" "5.6.1" - "@sentry/utils" "5.6.1" + "@sentry/hub" "5.7.1" + "@sentry/minimal" "5.7.1" + "@sentry/types" "5.7.1" + "@sentry/utils" "5.7.1" tslib "^1.9.3" -"@sentry/hub@5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.6.1.tgz#9f355c0abcc92327fbd10b9b939608aa4967bece" - integrity sha512-m+OhkIV5yTAL3R1+XfCwzUQka0UF/xG4py8sEfPXyYIcoOJ2ZTX+1kQJLy8QQJ4RzOBwZA+DzRKP0cgzPJ3+oQ== +"@sentry/hub@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.7.1.tgz#a52acd9fead7f3779d96e9965c6978aecc8b9cad" + integrity sha512-evGh323WR073WSBCg/RkhlUmCQyzU0xzBzCZPscvcoy5hd4SsLE6t9Zin+WACHB9JFsRQIDwNDn+D+pj3yKsig== dependencies: - "@sentry/types" "5.6.1" - "@sentry/utils" "5.6.1" + "@sentry/types" "5.7.1" + "@sentry/utils" "5.7.1" tslib "^1.9.3" -"@sentry/minimal@5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.6.1.tgz#09d92b26de0b24555cd50c3c33ba4c3e566009a1" - integrity sha512-ercCKuBWHog6aS6SsJRuKhJwNdJ2oRQVWT2UAx1zqvsbHT9mSa8ZRjdPHYOtqY3DoXKk/pLUFW/fkmAnpdMqRw== +"@sentry/minimal@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.7.1.tgz#56afc537737586929e25349765e37a367958c1e1" + integrity sha512-nS/Dg+jWAZtcxQW8wKbkkw4dYvF6uyY/vDiz/jFCaux0LX0uhgXAC9gMOJmgJ/tYBLJ64l0ca5LzpZa7BMJQ0g== dependencies: - "@sentry/hub" "5.6.1" - "@sentry/types" "5.6.1" + "@sentry/hub" "5.7.1" + "@sentry/types" "5.7.1" tslib "^1.9.3" -"@sentry/types@5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.6.1.tgz#5915e1ee4b7a678da3ac260c356b1cb91139a299" - integrity sha512-Kub8TETefHpdhvtnDj3kKfhCj0u/xn3Zi2zIC7PB11NJHvvPXENx97tciz4roJGp7cLRCJsFqCg4tHXniqDSnQ== +"@sentry/types@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.7.1.tgz#4c4c1d4d891b6b8c2c3c7b367d306a8b1350f090" + integrity sha512-tbUnTYlSliXvnou5D4C8Zr+7/wJrHLbpYX1YkLXuIJRU0NSi81bHMroAuHWILcQKWhVjaV/HZzr7Y/hhWtbXVQ== -"@sentry/utils@5.6.1": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.6.1.tgz#69d9e151e50415bc91f2428e3bcca8beb9bc2815" - integrity sha512-rfgha+UsHW816GqlSRPlniKqAZylOmQWML2JsujoUP03nPu80zdN43DK9Poy/d9OxBxv0gd5K2n+bFdM2kqLQQ== +"@sentry/utils@5.7.1": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.7.1.tgz#cf37ad55f78e317665cd8680f202d307fa77f1d0" + integrity sha512-nhirUKj/qFLsR1i9kJ5BRvNyzdx/E2vorIsukuDrbo8e3iZ11JMgCOVrmC8Eq9YkHBqgwX4UnrPumjFyvGMZ2Q== dependencies: - "@sentry/types" "5.6.1" + "@sentry/types" "5.7.1" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -1700,10 +1708,10 @@ resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -"@types/jest@^24.0.18": - version "24.0.18" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.18.tgz#9c7858d450c59e2164a8a9df0905fc5091944498" - integrity sha512-jcDDXdjTcrQzdN06+TSVsPPqxvsZA/5QkYfIZlq1JMw7FdP5AZylbOc+6B/cuDurctRe+MziUMtQ3xQdrbjqyQ== +"@types/jest@^24.0.19": + version "24.0.19" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.19.tgz#f7036058d2a5844fe922609187c0ad8be430aff5" + integrity sha512-YYiqfSjocv7lk5H/T+v5MjATYjaTMsUkbDnjGqSMoO88jWdtJXJV4ST/7DKZcoMHMBvB2SeSfyOzZfkxXHR5xg== dependencies: "@types/jest-diff" "*" @@ -1722,16 +1730,16 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== +"@types/node@^12.11.1": + version "12.11.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" + integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== + "@types/node@^12.6.1": version "12.7.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== -"@types/node@^12.7.5": - version "12.7.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f" - integrity sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w== - "@types/prop-types@*": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" @@ -1756,27 +1764,27 @@ dependencies: "@types/react" "*" -"@types/react-dom@^16.9.0": - version "16.9.0" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.0.tgz#ba6ddb00bf5de700b0eb91daa452081ffccbfdea" - integrity sha512-OL2lk7LYGjxn4b0efW3Pvf2KBVP0y1v3wip1Bp7nA79NkOpElH98q3WdCEdDj93b2b0zaeBG9DvriuKjIK5xDA== +"@types/react-dom@^16.9.2": + version "16.9.2" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz#90f9e6c161850be1feb31d2f448121be2a4f3b47" + integrity sha512-hgPbBoI1aTSTvZwo8HYw35UaTldW6n2ETLvHAcfcg1FaOuBV3olmyCe5eMpx2WybWMBPv0MdU2t5GOcQhP+3zA== dependencies: "@types/react" "*" -"@types/react-redux@^7.1.2": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.2.tgz#02303b77d87e54f327c09507cf80ee3ca3063898" - integrity sha512-Iim6UCtD0mZX9U3jBuT6ZObBZ8UlakoOgefiRgi5wakfbNnXd3TUwwUMgi3Ijc0fxsPLZ5ULoz0oDy15YIaLmQ== +"@types/react-redux@^7.1.4": + version "7.1.4" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.4.tgz#e0d02a073e730b8b58a6341bddca2ea692ff0bce" + integrity sha512-SUV/7d+4L7C1Db/D4pqASgN1V1U2HnDEhEol9lYpPSguS76xFboZzf5ha2hTz6v31cUewyC7WksMh1q8JxhebQ== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-router-dom@^4.3.5": - version "4.3.5" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.5.tgz#72f229967690c890d00f96e6b85e9ee5780db31f" - integrity sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA== +"@types/react-router-dom@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.0.tgz#8baa84a7fa8c8e7797fb3650ca51f93038cb4caf" + integrity sha512-YCh8r71pL5p8qDwQf59IU13hFy/41fDQG/GeOI3y+xmD4o0w3vEPxE8uBe+dvOgMoDl0W1WUZsWH0pxc1mcZyQ== dependencies: "@types/history" "*" "@types/react" "*" @@ -1829,10 +1837,10 @@ "@types/prop-types" "*" csstype "^2.2.0" -"@types/react@^16.9.2": - version "16.9.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz#6d1765431a1ad1877979013906731aae373de268" - integrity sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg== +"@types/react@^16.9.9": + version "16.9.9" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz#a62c6f40f04bc7681be5e20975503a64fe783c3a" + integrity sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -3649,10 +3657,10 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.1.tgz#4595aec3530525e671fb6f85fb173df8ff8bf57a" - integrity sha512-UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ== +commander@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" + integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== commander@~2.19.0: version "2.19.0" @@ -4226,6 +4234,12 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== +"darknode-sol@https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648": + version "0.0.3" + resolved "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" + dependencies: + openzeppelin-solidity "2.3.0" + "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" @@ -4921,15 +4935,16 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.5.0" -eslint-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.0.tgz#fb70bc2d552a674f43f07f5e6575083e565e790d" - integrity sha512-rdxyQ0i9VlhwVlR6oEzrIft8WNKYSD2/cOAJ1YVH/F76gAta7Zv1Dr5xJOUyx0fAsHB5cKNz9hwlUVLMFsQlPA== +eslint-loader@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e" + integrity sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw== dependencies: + fs-extra "^8.1.0" loader-fs-cache "^1.0.2" loader-utils "^1.2.3" object-hash "^1.3.1" - schema-utils "^2.1.0" + schema-utils "^2.2.0" eslint-module-utils@^2.4.0: version "2.4.1" @@ -5563,10 +5578,10 @@ filesize@3.6.1: resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== -filesize@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-4.2.0.tgz#a8c989a179ca3a895cc32eab4abc64ebf6d34d44" - integrity sha512-bdS2UP98MZzLyTZzhuSH5ctAWyDt81n5xMti9BSdmgPXjjENLDz5Bmbk2R7ATVw/HRysZzWA2JIPgcSAOimWpw== +filesize@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-5.0.3.tgz#2fa284185e9d2e8edbec2915b4dadce4043aac31" + integrity sha512-RM123v6KPqgZJmVCh4rLvCo8tLKr4sgD92DeZ+AuoUE8teGZJHKs1cTORwETcpIJSlGsz2WYdwKDQUXby5hNqQ== fill-range@^4.0.0: version "4.0.0" @@ -5828,6 +5843,15 @@ fs-extra@^4.0.2: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-minipass@^1.2.5: version "1.2.6" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" @@ -6184,6 +6208,11 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.1 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" integrity sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw== +graceful-fs@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" + integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -9118,15 +9147,15 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-check-updates@^3.1.23: - version "3.1.23" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.23.tgz#9f2885665b1c7327d909558bdc65913927a7de12" - integrity sha512-Z2dkMdNgue6OPkQDPcAK62Qrwv+G1PaEmKrDrrSAiSP7pRD3u30xOVy1nLukS1XrJ2/zF8XTVxFe9/ubcvlcPQ== +npm-check-updates@^3.1.24: + version "3.1.24" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.24.tgz#bbb27267c786aa4c052cfd6f5f45b02ae00c021f" + integrity sha512-8CxlXsSPo8RCAHHqycxU9gcDcSkoBI0I2bkh37HJry2VJhqGxeVnEVq8vtFcigzIRrUgbSOyKgSm+jvu3ookMw== dependencies: chalk "^2.4.2" cint "^8.2.1" cli-table "^0.3.1" - commander "^3.0.1" + commander "^3.0.2" fast-diff "^1.2.0" find-up "4.1.0" get-stdin "^7.0.0" @@ -10928,10 +10957,10 @@ rc@^1.2.7, rc@^1.2.8, rc@~1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-app-polyfill@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.3.tgz#bd7030ebf66569f3aece03e39ab85ca700d8d0f6" - integrity sha512-ICvAU2vtO0k+kU0oCS7L7btUcAReTddvEiRiJDmAKc+d98Fy9Z1g6cjkdcKyfLWwopzBsUMcDwxoiNtrtLMs0Q== +react-app-polyfill@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.4.tgz#4dd2636846b585c2d842b1e44e1bc29044345874" + integrity sha512-5Vte6ki7jpNsNCUKaboyofAhmURmCn2Y6Hu7ydJ6Iu4dct1CIGoh/1FT7gUZKAbowVX2lxVPlijvp1nKxfAl4w== dependencies: core-js "3.2.1" object-assign "4.1.1" @@ -10948,10 +10977,10 @@ react-chartjs-2@^2.8.0: lodash "^4.17.4" prop-types "^15.5.8" -react-dev-utils@^9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.4.tgz#5c71a8e8afdec0232c44d4e049d21baa437a92af" - integrity sha512-VwR+mBUXPLdYk/rOz6s6qpasIFGd7GW0KXd/3bih+/qGcMQvPG19XxtjDMtiAg0zWiFwp1ugCzAjLThbzFjVqw== +react-dev-utils@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" + integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg== dependencies: "@babel/code-frame" "7.5.5" address "1.1.2" @@ -10972,22 +11001,22 @@ react-dev-utils@^9.0.4: loader-utils "1.2.3" open "^6.3.0" pkg-up "2.0.0" - react-error-overlay "^6.0.2" + react-error-overlay "^6.0.3" recursive-readdir "2.2.2" shell-quote "1.7.2" sockjs-client "1.4.0" strip-ansi "5.2.0" text-table "0.2.0" -react-dom@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962" - integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ== +react-dom@^16.10.2: + version "16.10.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz#4840bce5409176bc3a1f2bd8cb10b92db452fda6" + integrity sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.15.0" + scheduler "^0.16.2" react-element-to-jsx-string@^14.0.3: version "14.0.3" @@ -10997,10 +11026,10 @@ react-element-to-jsx-string@^14.0.3: is-plain-object "3.0.0" stringify-object "3.3.0" -react-error-overlay@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.2.tgz#642bd6157c6a4b6e9ca4a816f7ed30b868c47f81" - integrity sha512-DHRuRk3K4Lg9obI6J4Y+nKvtwjasYRU9CFL3ud42x9YJG1HbQjSNublapC/WBJOA726gNUbqbj0U2df9+uzspQ== +react-error-overlay@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz#c378c4b0a21e88b2e159a3e62b2f531fd63bf60d" + integrity sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw== react-input-autosize@^2.2.1: version "2.2.1" @@ -11044,6 +11073,19 @@ react-router-dom@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" +react-router-dom@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" + integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.1.2" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-router@5.0.1, react-router@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" @@ -11060,10 +11102,26 @@ react-router@5.0.1, react-router@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-scripts@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.1.2.tgz#40b166d380bfd8b425a41dee96e8e725c82bf9e6" - integrity sha512-aN9E1jn+Qii45/uLUzS7Hjfd/DXbcaAiRkoMwnJXAXShbpJiP2xwmr7yuVF0kR0cnvt0SI+IPZjsOH8MziSYQQ== +react-router@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" + integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.3.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-scripts@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz#58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c" + integrity sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ/E3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA== dependencies: "@babel/core" "7.6.0" "@svgr/webpack" "4.3.2" @@ -11081,7 +11139,7 @@ react-scripts@^3.1.2: dotenv-expand "5.1.0" eslint "^6.1.0" eslint-config-react-app "^5.0.2" - eslint-loader "3.0.0" + eslint-loader "3.0.2" eslint-plugin-flowtype "3.13.0" eslint-plugin-import "2.18.2" eslint-plugin-jsx-a11y "6.2.3" @@ -11104,8 +11162,8 @@ react-scripts@^3.1.2: postcss-normalize "7.0.1" postcss-preset-env "6.7.0" postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.3" - react-dev-utils "^9.0.4" + react-app-polyfill "^1.0.4" + react-dev-utils "^9.1.0" resolve "1.12.0" resolve-url-loader "3.1.0" sass-loader "7.2.0" @@ -11114,9 +11172,9 @@ react-scripts@^3.1.2: terser-webpack-plugin "1.4.1" ts-pnp "1.1.4" url-loader "2.1.0" - webpack "4.40.2" + webpack "4.41.0" webpack-dev-server "3.2.1" - webpack-manifest-plugin "2.0.4" + webpack-manifest-plugin "2.1.1" workbox-webpack-plugin "4.3.1" optionalDependencies: fsevents "2.0.7" @@ -11167,10 +11225,10 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" - integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w== +react@^16.10.2: + version "16.10.2" + resolved "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz#a5ede5cdd5c536f745173c8da47bda64797a4cf0" + integrity sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -11810,10 +11868,10 @@ saxes@^3.1.9: dependencies: xmlchars "^2.1.1" -scheduler@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" - integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== +scheduler@^0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.16.2.tgz#f74cd9d33eff6fc554edfb79864868e4819132c1" + integrity sha512-BqYVWqwz6s1wZMhjFvLfVR5WXP7ZY32M/wYPo04CcuPM7XZEbV2TBNW7Z0UkguPTl0dWMA59VbNXxK6q+pHItg== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -11835,10 +11893,10 @@ schema-utils@^2.0.0, schema-utils@^2.0.1: ajv "^6.1.0" ajv-keywords "^3.1.0" -schema-utils@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.2.0.tgz#48a065ce219e0cacf4631473159037b2c1ae82da" - integrity sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA== +schema-utils@^2.2.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" + integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ== dependencies: ajv "^6.10.2" ajv-keywords "^3.4.1" @@ -13178,10 +13236,10 @@ typescript@^2.9.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== -typescript@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da" - integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw== +typescript@^3.6.4: + version "3.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" + integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== uglify-js@3.4.x: version "3.4.10" @@ -14190,13 +14248,14 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-manifest-plugin@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.4.tgz#e4ca2999b09557716b8ba4475fb79fab5986f0cd" - integrity sha512-nejhOHexXDBKQOj/5v5IZSfCeTO3x1Dt1RZEcGfBSul891X/eLIcIVH31gwxPDdsi2Z8LKKFGpM4w9+oTBOSCg== +webpack-manifest-plugin@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz#6b3e280327815b83152c79f42d0ca13b665773c4" + integrity sha512-2zqJ6mvc3yoiqfDjghAIpljhLSDh/G7vqGrzYcYqqRCd/ZZZCAuc/YPE5xG0LGpLgDJRhUNV1H+znyyhIxahzA== dependencies: fs-extra "^7.0.0" lodash ">=3.5 <5" + object.entries "^1.1.0" tapable "^1.0.0" webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: @@ -14207,10 +14266,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@4.40.2: - version "4.40.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.40.2.tgz#d21433d250f900bf0facbabe8f50d585b2dc30a7" - integrity sha512-5nIvteTDCUws2DVvP9Qe+JPla7kWPPIDFZv55To7IycHWZ+Z5qBdaBYPyuXWdhggTufZkQwfIK+5rKQTVovm2A== +webpack@4.41.0: + version "4.41.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.0.tgz#db6a254bde671769f7c14e90a1a55e73602fc70b" + integrity sha512-yNV98U4r7wX1VJAj5kyMsu36T8RPPQntcb5fJLOsMz/pt/WrKC0Vp1bAlqPLkA1LegSwQwf6P+kAbyhRKVQ72g== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" From ae552164d59a4c179477c2cecd0870862f273ee3 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 17 Oct 2019 16:36:30 +1100 Subject: [PATCH 077/117] Fixed deprecated dependency --- package.json | 2 +- yarn.lock | 1323 ++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 1276 insertions(+), 49 deletions(-) diff --git a/package.json b/package.json index 0eb565be..d77572e5 100644 --- a/package.json +++ b/package.json @@ -71,12 +71,12 @@ "web3-utils": "2.0.0-alpha.1" }, "devDependencies": { + "@truffle/hdwallet-provider": "^1.0.21", "@types/chai": "^4.2.3", "any-promise": "^1.3.0", "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095", "npm-check-updates": "^3.1.24", - "truffle-hdwallet-provider": "^1.0.17", "ts-unused-exports": "^2.0.11", "tslint": "^5.20.0", "tslint-microsoft-contrib": "^6.2.0", diff --git a/yarn.lock b/yarn.lock index 2215b829..916535c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1589,6 +1589,21 @@ dependencies: defer-to-connect "^1.0.1" +"@truffle/hdwallet-provider@^1.0.21": + version "1.0.21" + resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.21.tgz#c6ccd79a46ed362e18fc417e7525d65cb0af1cba" + integrity sha512-xYY0EhQczcZToaYjoO4q7raV5tN9rdpE8n0i7yiKI738biOzlvHpGKGctNiixByDq3juDE9k0yCF8QFdzGEf2Q== + dependencies: + any-promise "^1.3.0" + bindings "^1.5.0" + bip39 "^2.4.2" + ethereum-protocol "^1.0.1" + ethereumjs-tx "^1.0.0" + ethereumjs-util "^6.1.0" + ethereumjs-wallet "^0.6.3" + web3 "1.2.1" + web3-provider-engine "https://github.com/trufflesuite/provider-engine#web3-one" + "@types/babel__core@^7.1.0": version "7.1.2" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" @@ -2086,6 +2101,20 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abstract-leveldown@~2.6.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" + integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== + dependencies: + xtend "~4.0.0" + +abstract-leveldown@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" + integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== + dependencies: + xtend "~4.0.0" + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -2148,6 +2177,11 @@ aes-js@3.0.0: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= +aes-js@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" + integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== + agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" @@ -2521,6 +2555,13 @@ 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-eventemitter@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" + integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== + dependencies: + async "^2.4.0" + async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" @@ -2538,11 +2579,18 @@ async-settle@^1.0.0: dependencies: async-done "^1.2.2" -async@^1.5.2: +async@^1.4.2, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= +async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2591,7 +2639,7 @@ axobject-query@^2.0.2: dependencies: ast-types-flow "0.0.7" -babel-code-frame@^6.22.0: +babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= @@ -2600,6 +2648,31 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.2" +babel-core@^6.0.14, babel-core@^6.26.0: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + babel-eslint@10.0.3: version "10.0.3" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" @@ -2619,6 +2692,133 @@ babel-extract-comments@^1.0.0: dependencies: babylon "^6.18.0" +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-jest@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" @@ -2642,6 +2842,20 @@ babel-loader@8.0.6: mkdirp "^0.5.1" pify "^4.0.1" +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= + dependencies: + babel-runtime "^6.22.0" + babel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" @@ -2696,6 +2910,16 @@ babel-plugin-named-asset-import@^0.3.4: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz#4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd" integrity sha512-S6d+tEzc5Af1tKIMbsf2QirCcPdQ+mKUCY2H1nJj1DyA1ShwpsoxEOAwbWsG5gcXNV/olpvQd9vrUWRx4bnhpw== +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= + babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" @@ -2706,6 +2930,219 @@ babel-plugin-syntax-object-rest-spread@^6.8.0: resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= + +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.23.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.23.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + babel-plugin-transform-object-rest-spread@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" @@ -2719,6 +3156,57 @@ babel-plugin-transform-react-remove-prop-types@0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== +babel-plugin-transform-regenerator@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-env@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" + integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^3.2.6" + invariant "^2.2.2" + semver "^5.3.0" + babel-preset-jest@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" @@ -2749,7 +3237,20 @@ babel-preset-react-app@^9.0.2: babel-plugin-macros "2.6.1" babel-plugin-transform-react-remove-prop-types "0.4.24" -babel-runtime@^6.26.0: +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -2757,6 +3258,50 @@ babel-runtime@^6.26.0: core-js "^2.4.0" regenerator-runtime "^0.11.0" +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babelify@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" + integrity sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU= + dependencies: + babel-core "^6.0.14" + object-assign "^4.0.0" + babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -2777,6 +3322,13 @@ bach@^1.0.0: async-settle "^1.0.0" now-and-later "^2.0.0" +backoff@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" + integrity sha1-9hbtqdPktmuMp/ynn2lXIsX44m8= + dependencies: + precond "0.2" + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -2834,13 +3386,24 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -bindings@^1.2.1, bindings@^1.3.1, bindings@^1.5.0: +bindings@^1.2.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" +bip39@^2.4.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-2.6.0.tgz#9e3a720b42ec8b3fbe4038f1e445317b6a99321c" + integrity sha512-RrnQRG2EgEoqO24ea+Q/fftuPUZLmrEM3qNhhGsA3PbaXaCW791LTzPuVyx/VprXQcTbPJ3K3UeTna8ZnVl2sg== + dependencies: + create-hash "^1.1.0" + pbkdf2 "^3.0.9" + randombytes "^2.0.1" + safe-buffer "^5.0.1" + unorm "^1.3.3" + bip66@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" @@ -3042,6 +3605,14 @@ browserslist@4.7.0: electron-to-chromium "^1.3.247" node-releases "^1.1.29" +browserslist@^3.2.6: + version "3.2.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" + integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== + dependencies: + caniuse-lite "^1.0.30000844" + electron-to-chromium "^1.3.47" + browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: version "4.6.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" @@ -3051,13 +3622,27 @@ browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6 electron-to-chromium "^1.3.191" node-releases "^1.1.25" -bs58@^4.0.1: +bs58@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" + integrity sha1-VZCNWPGYKrogCPob7Y+RmYopv40= + +bs58@^4.0.0, bs58@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= dependencies: base-x "^3.0.2" +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + bser@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" @@ -3289,6 +3874,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== +caniuse-lite@^1.0.30000844: + version "1.0.30000999" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" + integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -3376,6 +3966,13 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= +checkpoint-store@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" + integrity sha1-BOTLUWuRQziTWB5tRgGnjpVS6gY= + dependencies: + functional-red-black-tree "^1.0.1" + chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: version "2.1.6" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" @@ -3542,7 +4139,7 @@ clone-stats@^1.0.0: resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= -clone@^2.1.1: +clone@^2.0.0, clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= @@ -3575,6 +4172,14 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +coinstring@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/coinstring/-/coinstring-2.3.0.tgz#cdb63363a961502404a25afb82c2e26d5ff627a4" + integrity sha1-zbYzY6lhUCQEolr7gsLibV/2J6Q= + dependencies: + bs58 "^2.0.1" + create-hash "^1.1.1" + collection-map@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" @@ -3721,7 +4326,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@^1.6.0: +concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -3787,7 +4392,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@1.6.0, convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0: +convert-source-map@1.6.0, convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== @@ -3857,6 +4462,11 @@ core-js@^2.4.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== +core-js@^2.5.0: + version "2.6.10" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" + integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3888,7 +4498,7 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: +create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -3911,6 +4521,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +cross-fetch@^2.1.0, cross-fetch@^2.1.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz#e8a0b3c54598136e037f8650f8e823ccdfac198e" + integrity sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw== + dependencies: + node-fetch "2.1.2" + whatwg-fetch "2.0.4" + cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -4379,7 +4997,7 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1: +deep-equal@^1.0.1, deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= @@ -4419,6 +5037,13 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" integrity sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw== +deferred-leveldown@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" + integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== + dependencies: + abstract-leveldown "~2.6.0" + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -4448,6 +5073,11 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +defined@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + del@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" @@ -4493,6 +5123,13 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + dependencies: + repeating "^2.0.0" + detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -4734,6 +5371,11 @@ electron-to-chromium@^1.3.247: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.264.tgz#ed837f44524d0601a7b2b7b6efd86e35753d0e27" integrity sha512-z8E7WkrrquCuGYv+kKyybuZIbdms+4PeHp7Zm2uIgEhAigP0bOwqXILItwj0YO73o+QyHY/7XtEfP5DsHOWQgQ== +electron-to-chromium@^1.3.47: + version "1.3.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.284.tgz#b24359fa4f49b3a7c52afc005d59ec3aa9f6796e" + integrity sha512-duOA4IWKH4R8ttiE8q/7xfg6eheRvMKlGqOOcGlDukdHEDJ26Wf7cMrCiK9Am11mswR6E/a23jXVA4UPDthTIw== + elliptic@6.3.3: version "6.3.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" @@ -4815,7 +5457,7 @@ err-code@^1.0.0: resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= -errno@^0.1.3, errno@~0.1.7: +errno@^0.1.3, errno@~0.1.1, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== @@ -4841,6 +5483,22 @@ es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.5. is-regex "^1.0.4" object-keys "^1.0.12" +es-abstract@^1.5.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" + integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.0" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-inspect "^1.6.0" + object-keys "^1.1.1" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" + es-to-primitive@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" @@ -5144,6 +5802,19 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +eth-block-tracker@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz#95cd5e763c7293e0b1b2790a2a39ac2ac188a5e1" + integrity sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug== + dependencies: + eth-query "^2.1.0" + ethereumjs-tx "^1.3.3" + ethereumjs-util "^5.1.3" + ethjs-util "^0.1.3" + json-rpc-engine "^3.6.0" + pify "^2.3.0" + tape "^4.6.3" + eth-ens-namehash@2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" @@ -5152,6 +5823,35 @@ eth-ens-namehash@2.0.8: idna-uts46-hx "^2.3.1" js-sha3 "^0.5.7" +eth-json-rpc-infura@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz#26702a821067862b72d979c016fd611502c6057f" + integrity sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw== + dependencies: + cross-fetch "^2.1.1" + eth-json-rpc-middleware "^1.5.0" + json-rpc-engine "^3.4.0" + json-rpc-error "^2.0.0" + +eth-json-rpc-middleware@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz#5c9d4c28f745ccb01630f0300ba945f4bef9593f" + integrity sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q== + dependencies: + async "^2.5.0" + eth-query "^2.1.2" + eth-tx-summary "^3.1.2" + ethereumjs-block "^1.6.0" + ethereumjs-tx "^1.3.3" + ethereumjs-util "^5.1.2" + ethereumjs-vm "^2.1.0" + fetch-ponyfill "^4.0.0" + json-rpc-engine "^3.6.0" + json-rpc-error "^2.0.0" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + tape "^4.6.3" + eth-lib@0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" @@ -5183,12 +5883,97 @@ eth-lib@^0.1.26: ws "^3.0.0" xhr-request-promise "^0.1.2" +eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" + integrity sha1-1nQdkAAQa1FRDHLbktY2VFam2l4= + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-sig-util@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" + integrity sha1-jZWCAsftuq6Dlwf7pvCf8ydgYhA= + dependencies: + ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" + ethereumjs-util "^5.1.1" + +eth-tx-summary@^3.1.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz#e10eb95eb57cdfe549bf29f97f1e4f1db679035c" + integrity sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg== + dependencies: + async "^2.1.2" + clone "^2.0.0" + concat-stream "^1.5.1" + end-of-stream "^1.1.0" + eth-query "^2.0.2" + ethereumjs-block "^1.4.1" + ethereumjs-tx "^1.1.1" + ethereumjs-util "^5.0.1" + ethereumjs-vm "^2.6.0" + through2 "^2.0.3" + +ethereum-common@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" + integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== + ethereum-common@^0.0.18: version "0.0.18" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" integrity sha1-L9w1dvIykDNYl26znaeDIT/5Uj8= -ethereumjs-tx@^1.3.7: +ethereum-protocol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ethereum-protocol/-/ethereum-protocol-1.0.1.tgz#b7d68142f4105e0ae7b5e178cf42f8d4dc4b93cf" + integrity sha512-3KLX1mHuEsBW0dKG+c6EOJS1NBNqdCICvZW9sInmZTt5aY0oxmHVggYRE0lJu1tcnMD1K+AKHdLi6U43Awm1Vg== + +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": + version "0.6.8" + resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#1cfbb13862f90f0b391d8a699544d5fe4dfb8c7b" + dependencies: + bn.js "^4.11.8" + ethereumjs-util "^6.0.0" + +ethereumjs-account@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" + integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== + dependencies: + ethereumjs-util "^5.0.0" + rlp "^2.0.0" + safe-buffer "^5.1.1" + +ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: + version "1.7.1" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" + integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== + dependencies: + async "^2.0.1" + ethereum-common "0.2.0" + ethereumjs-tx "^1.2.2" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-block@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" + integrity sha512-Ye+uG/L2wrp364Zihdlr/GfC3ft+zG8PdHcRtsBFNNH1CkOhxOwdB8friBU85n89uRZ9eIMAywCq0F4CwT1wAw== + dependencies: + async "^2.0.1" + ethereumjs-common "^1.1.0" + ethereumjs-tx "^1.2.2" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + +ethereumjs-common@^1.1.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.2.tgz#5a20831e52199a31ff4b68ef361e34c05c976ed0" + integrity sha512-GkltYRIqBLzaZLmF/K3E+g9lZ4O4FL+TtpisAlD3N+UVlR+mrtoG+TvxavqVa6PwOY4nKIEMe5pl6MrTio3Lww== + +ethereumjs-tx@^1.0.0, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== @@ -5196,7 +5981,7 @@ ethereumjs-tx@^1.3.7: ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" -ethereumjs-util@^5.0.0: +ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5: version "5.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== @@ -5209,6 +5994,51 @@ ethereumjs-util@^5.0.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" +ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" + integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== + dependencies: + bn.js "^4.11.0" + create-hash "^1.1.2" + ethjs-util "0.1.6" + keccak "^1.0.2" + rlp "^2.0.0" + safe-buffer "^5.1.1" + secp256k1 "^3.0.1" + +ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" + integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== + dependencies: + async "^2.1.2" + async-eventemitter "^0.2.2" + ethereumjs-account "^2.0.3" + ethereumjs-block "~2.2.0" + ethereumjs-common "^1.1.0" + ethereumjs-util "^6.0.0" + fake-merkle-patricia-tree "^1.0.1" + functional-red-black-tree "^1.0.1" + merkle-patricia-tree "^2.3.2" + rustbn.js "~0.2.0" + safe-buffer "^5.1.1" + +ethereumjs-wallet@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-0.6.3.tgz#b0eae6f327637c2aeb9ccb9047b982ac542e6ab1" + integrity sha512-qiXPiZOsStem+Dj/CQHbn5qex+FVkuPmGH7SvSnA9F3tdRDt8dLMyvIj3+U05QzVZNPYh4HXEdnzoYI4dZkr9w== + dependencies: + aes-js "^3.1.1" + bs58check "^2.1.2" + ethereumjs-util "^6.0.0" + hdkey "^1.1.0" + randombytes "^2.0.6" + safe-buffer "^5.1.2" + scrypt.js "^0.3.0" + utf8 "^3.0.0" + uuid "^3.3.2" + ethers@4.0.0-beta.3: version "4.0.0-beta.3" resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.0-beta.3.tgz#15bef14e57e94ecbeb7f9b39dd0a4bd435bc9066" @@ -5249,7 +6079,7 @@ ethjs-unit@0.1.6, ethjs-unit@^0.1.6: bn.js "4.11.6" number-to-bn "1.7.0" -ethjs-util@^0.1.3: +ethjs-util@0.1.6, ethjs-util@^0.1.3: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== @@ -5449,6 +6279,13 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= +fake-merkle-patricia-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" + integrity sha1-S4w6z7Ugr635hgsfFM2M40As3dM= + dependencies: + checkpoint-store "^1.1.0" + fancy-log@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" @@ -5519,6 +6356,13 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" +fetch-ponyfill@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" + integrity sha1-rjzl9zLGReq4fkroeTQUcJsjmJM= + dependencies: + node-fetch "~1.7.1" + figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" @@ -5736,7 +6580,7 @@ follow-redirects@^1.0.0: dependencies: debug "^3.2.6" -for-each@^0.3.3: +for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== @@ -5905,7 +6749,7 @@ fstream@^1.0.0, fstream@^1.0.12: mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.1.1: +function-bind@^1.0.2, function-bind@^1.1.1, function-bind@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== @@ -6058,7 +6902,7 @@ glob-watcher@^5.0.3: just-debounce "^1.0.0" object.defaults "^1.1.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1, glob@~7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -6126,6 +6970,11 @@ globals@^11.1.0, globals@^11.7.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + globby@8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" @@ -6381,7 +7230,7 @@ has-yarn@^2.1.0: resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== -has@^1.0.0, has@^1.0.1, has@^1.0.3: +has@^1.0.0, has@^1.0.1, has@^1.0.3, has@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -6412,6 +7261,15 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hdkey@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-1.1.1.tgz#c2b3bfd5883ff9529b72f2f08b28be0972a9f64a" + integrity sha512-DvHZ5OuavsfWs5yfVJZestsnc3wzPvLWNk6c2nRUfo6X+OtxypGt20vDDf7Ba+MJzjL3KS1og2nw2eBbLCOUTA== + dependencies: + coinstring "^2.0.0" + safe-buffer "^5.1.1" + secp256k1 "^3.0.1" + he@1.2.x: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -6462,6 +7320,14 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -6726,6 +7592,11 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +immediate@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" + integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= + immediate@~3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -6819,7 +7690,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -7071,6 +7942,11 @@ is-finite@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" + integrity sha1-lUPV3nvPWwiiLsiiC65uKG1RDYw= + is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -7239,7 +8115,7 @@ is-root@2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== -is-stream@^1.0.0, is-stream@^1.1.0: +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -7937,6 +8813,11 @@ jsdom@^14.0.0: ws "^6.1.2" xml-name-validator "^3.0.0" +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -7964,6 +8845,30 @@ json-parse-helpfulerror@^1.0.3: dependencies: jju "^1.1.0" +json-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz#9d4ff447241792e1d0a232f6ef927302bb0c62a9" + integrity sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA== + dependencies: + async "^2.0.1" + babel-preset-env "^1.7.0" + babelify "^7.3.0" + json-rpc-error "^2.0.0" + promise-to-callback "^1.0.0" + safe-event-emitter "^1.0.1" + +json-rpc-error@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/json-rpc-error/-/json-rpc-error-2.0.0.tgz#a7af9c202838b5e905c7250e547f1aff77258a02" + integrity sha1-p6+cICg4tekFxyUOVH8a/3cligI= + dependencies: + inherits "^2.0.1" + +json-rpc-random-id@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" + integrity sha1-uknZat7RRE27jaPSA3SKy7zeyMg= + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -7996,6 +8901,11 @@ json3@^3.3.2: resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -8187,6 +9097,56 @@ left-pad@^1.3.0: resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== +level-codec@~7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" + integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== + +level-errors@^1.0.3: + version "1.1.2" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" + integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== + dependencies: + errno "~0.1.1" + +level-errors@~1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" + integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== + dependencies: + errno "~0.1.1" + +level-iterator-stream@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" + integrity sha1-5Dt4sagUPm+pek9IXrjqUwNS8u0= + dependencies: + inherits "^2.0.1" + level-errors "^1.0.3" + readable-stream "^1.0.33" + xtend "^4.0.0" + +level-ws@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" + integrity sha1-Ny5RIXeSSgBCSwtDrvK7QkltIos= + dependencies: + readable-stream "~1.0.15" + xtend "~2.1.1" + +levelup@^1.2.1: + version "1.3.9" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" + integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== + dependencies: + deferred-leveldown "~1.2.1" + level-codec "~7.0.0" + level-errors "~1.0.3" + level-iterator-stream "~1.3.0" + prr "~1.0.1" + semver "~5.4.1" + xtend "~4.0.0" + leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -8408,6 +9368,11 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +ltgt@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -8526,6 +9491,18 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" +memdown@^1.0.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" + integrity sha1-tOThkhdGZP+65BNhqlAPMRnv4hU= + dependencies: + abstract-leveldown "~2.7.1" + functional-red-black-tree "^1.0.1" + immediate "^3.2.3" + inherits "~2.0.1" + ltgt "~2.2.0" + safe-buffer "~5.1.1" + memoize-one@^5.0.0: version "5.0.5" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e" @@ -8586,6 +9563,20 @@ merge2@^1.2.3: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A== +merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" + integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== + dependencies: + async "^1.4.2" + ethereumjs-util "^5.0.0" + level-ws "0.0.0" + levelup "^1.2.1" + memdown "^1.0.0" + readable-stream "^2.0.0" + rlp "^2.0.0" + semaphore ">=1.0.1" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -8708,7 +9699,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= @@ -8947,6 +9938,19 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" +node-fetch@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" + integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= + +node-fetch@~1.7.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-forge@0.7.5: version "0.7.5" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" @@ -9264,7 +10268,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@4.1.1, object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@4.1.1, object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -9283,11 +10287,21 @@ object-hash@^1.3.1: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== -object-keys@^1.0.11, object-keys@^1.0.12: +object-inspect@^1.6.0, object-inspect@~1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= + object-path@0.11.4: version "0.11.4" resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" @@ -9513,7 +10527,7 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= @@ -9794,7 +10808,7 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-is-absolute@^1.0.0: +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= @@ -9866,7 +10880,7 @@ pathval@^1.1.0: resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= -pbkdf2@^3.0.17, pbkdf2@^3.0.3: +pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== @@ -10635,6 +11649,11 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2 source-map "^0.6.1" supports-color "^6.1.0" +precond@0.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" + integrity sha1-qpWRvKokkj8eD0hJ0kD0fvwQdaw= + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -10678,7 +11697,7 @@ pretty-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -private@^0.1.6: +private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== @@ -10716,6 +11735,14 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" +promise-to-callback@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" + integrity sha1-XSp0kBC/tn2WNZj805YHRqaP7vc= + dependencies: + is-fn "^1.0.0" + set-immediate-shim "^1.0.1" + promise@8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz#f592e099c6cddc000d538ee7283bb190452b0bf6" @@ -10899,7 +11926,7 @@ raf@3.4.1, raf@^3.4.0: dependencies: performance-now "^2.1.0" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -11285,7 +12312,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -11298,6 +12325,16 @@ read-pkg@^3.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^1.0.33: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readable-stream@^3.0.6, readable-stream@^3.1.1: version "3.4.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" @@ -11307,6 +12344,16 @@ readable-stream@^3.0.6, readable-stream@^3.1.1: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readable-stream@~1.0.15: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -11370,7 +12417,7 @@ regenerate-unicode-properties@^8.1.0: dependencies: regenerate "^1.4.0" -regenerate@^1.4.0: +regenerate@^1.2.1, regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== @@ -11385,6 +12432,15 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + regenerator-transform@^0.14.0: version "0.14.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" @@ -11415,6 +12471,15 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + regexpu-core@^4.5.4: version "4.5.5" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" @@ -11454,11 +12519,23 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= + regjsgen@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= + dependencies: + jsesc "~0.5.0" + regjsparser@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" @@ -11551,7 +12628,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.79.0, request@^2.87.0, request@^2.88.0: +request@^2.79.0, request@^2.85.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -11686,6 +12763,13 @@ resolve@1.12.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1 dependencies: path-parse "^1.0.6" +resolve@~1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" + integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== + dependencies: + path-parse "^1.0.6" + resolve@~1.7.1: version "1.7.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" @@ -11716,6 +12800,13 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" +resumer@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" + integrity sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k= + dependencies: + through "~2.3.4" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -11791,6 +12882,11 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rustbn.js@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" + integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== + rxjs@^6.4.0: version "6.5.2" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" @@ -11808,6 +12904,13 @@ safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== +safe-event-emitter@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" + integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== + dependencies: + events "^3.0.0" + safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -11911,7 +13014,16 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== -"scrypt@https://github.com/ren-forks/node-scrypt": +scrypt.js@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" + integrity sha512-42LTc1nyFsyv/o0gcHtDztrn+aqpkaCNt5Qh7ATBZfhEZU7IC/0oT/qbBH+uRNoAPvs2fwiOId68FDEoSRA8/A== + dependencies: + scryptsy "^1.2.1" + optionalDependencies: + scrypt "^6.0.2" + +scrypt@^6.0.2, "scrypt@https://github.com/ren-forks/node-scrypt": version "0.0.0" resolved "https://github.com/ren-forks/node-scrypt#5348fac0c48de29ff77729032913ec0b78014793" @@ -11920,6 +13032,13 @@ scryptsy@2.1.0: resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== +scryptsy@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" + integrity sha1-oyJfpLJST4AnAHYeKFW987LZIWM= + dependencies: + pbkdf2 "^3.0.3" + scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" @@ -11961,6 +13080,11 @@ selfsigned@^1.9.1: dependencies: node-forge "0.7.5" +semaphore@>=1.0.1, semaphore@^1.0.3: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" + integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== + semver-diff@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" @@ -12000,6 +13124,11 @@ semver@~5.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= +semver@~5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -12063,6 +13192,11 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= + set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" @@ -12308,6 +13442,13 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + dependencies: + source-map "^0.5.6" + source-map-support@^0.5.6, source-map-support@~0.5.12: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" @@ -12583,6 +13724,31 @@ string.prototype.trim@^1.1.2: es-abstract "^1.13.0" function-bind "^1.1.1" +string.prototype.trim@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" + integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.0" + function-bind "^1.0.2" + +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -12590,6 +13756,11 @@ string_decoder@^1.0.0, string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -12794,6 +13965,25 @@ tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== +tape@^4.6.3: + version "4.11.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.11.0.tgz#63d41accd95e45a23a874473051c57fdbc58edc1" + integrity sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA== + dependencies: + deep-equal "~1.0.1" + defined "~1.0.0" + for-each "~0.3.3" + function-bind "~1.1.1" + glob "~7.1.4" + has "~1.0.3" + inherits "~2.0.4" + minimist "~1.2.0" + object-inspect "~1.6.0" + resolve "~1.11.1" + resumer "~0.0.0" + string.prototype.trim "~1.1.2" + through "~2.3.8" + tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" @@ -12909,7 +14099,7 @@ through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -"through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: +"through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -12981,6 +14171,11 @@ to-buffer@^1.1.1: resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -13075,16 +14270,6 @@ trim-right@^1.0.1: dependencies: glob "^7.1.2" -truffle-hdwallet-provider@^1.0.17: - version "1.0.17" - resolved "https://registry.yarnpkg.com/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.17.tgz#fe8edd0d6974eeb31af9959e41525fb19abd74ca" - integrity sha512-s6DvSP83jiIAc6TUcpr7Uqnja1+sLGJ8og3X7n41vfyC4OCaKmBtXL5HOHf+SsU3iblOvnbFDgmN6Y1VBL/fsg== - dependencies: - any-promise "^1.3.0" - bindings "^1.3.1" - web3 "1.2.1" - websocket "^1.0.28" - ts-pnp@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" @@ -13377,6 +14562,11 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +unorm@^1.3.3: + version "1.6.0" + resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" + integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -13507,7 +14697,7 @@ utf8@2.1.1: resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.1.tgz#2e01db02f7d8d0944f77104f1609eb0c304cf768" integrity sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g= -utf8@3.0.0: +utf8@3.0.0, utf8@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== @@ -14065,6 +15255,31 @@ web3-net@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" +"web3-provider-engine@git+https://github.com/trufflesuite/provider-engine.git#web3-one": + version "14.0.6" + resolved "git+https://github.com/trufflesuite/provider-engine.git#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" + dependencies: + async "^2.5.0" + backoff "^2.5.0" + clone "^2.0.0" + cross-fetch "^2.1.0" + eth-block-tracker "^3.0.0" + eth-json-rpc-infura "^3.1.0" + eth-sig-util "^1.4.2" + ethereumjs-block "^1.2.2" + ethereumjs-tx "^1.2.0" + ethereumjs-util "^5.1.5" + ethereumjs-vm "^2.3.4" + json-rpc-error "^2.0.0" + json-stable-stringify "^1.0.1" + promise-to-callback "^1.0.0" + readable-stream "^2.2.9" + request "^2.85.0" + semaphore "^1.0.3" + ws "^5.1.1" + xhr "^2.2.0" + xtend "^4.0.1" + web3-providers-http@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.1.tgz#c93ea003a42e7b894556f7e19dd3540f947f5013" @@ -14309,7 +15524,7 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== -websocket@^1.0.28, "websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": +"websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": version "1.0.29" resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/b134a75541b5db59668df81c03e926cd5f325077" dependencies: @@ -14327,6 +15542,11 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" +whatwg-fetch@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== + whatwg-fetch@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" @@ -14601,7 +15821,7 @@ ws@^3.0.0: safe-buffer "~5.1.0" ultron "~1.1.0" -ws@^5.2.0: +ws@^5.1.1, ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== @@ -14647,7 +15867,7 @@ xhr2-cookies@1.1.0: dependencies: cookiejar "^2.1.1" -xhr@^2.0.4, xhr@^2.3.3: +xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: version "2.5.0" resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== @@ -14677,11 +15897,18 @@ xregexp@4.0.0: resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== -xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +xtend@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= + dependencies: + object-keys "~0.4.0" + y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" From 0ea1949bab1ae11da43f302f811101372043c3b0 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 17 Oct 2019 16:51:50 +1100 Subject: [PATCH 078/117] Reverted dependency updates --- package.json | 32 ++++++++-------- yarn.lock | 103 +++++++++++++++------------------------------------ 2 files changed, 46 insertions(+), 89 deletions(-) diff --git a/package.json b/package.json index d77572e5..c4f410d9 100644 --- a/package.json +++ b/package.json @@ -19,21 +19,21 @@ "@fortawesome/free-brands-svg-icons": "^5.11.2", "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", - "@fortawesome/react-fontawesome": "^0.1.6", - "@renproject/contracts": "0.3.23", + "@fortawesome/react-fontawesome": "^0.1.4", + "@renproject/contracts": "0.3.18", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.32", - "@sentry/browser": "^5.7.1", - "@sentry/core": "^5.7.1", + "@sentry/browser": "^5.6.3", + "@sentry/core": "^5.6.2", "@types/bs58": "^4.0.0", "@types/filesize": "^4.2.0", - "@types/jest": "^24.0.19", - "@types/node": "^12.11.1", + "@types/jest": "^24.0.18", + "@types/node": "^12.7.5", "@types/query-string": "^6.3.0", - "@types/react": "^16.9.9", - "@types/react-dom": "^16.9.2", - "@types/react-redux": "^7.1.4", - "@types/react-router-dom": "^5.1.0", + "@types/react": "^16.9.2", + "@types/react-dom": "^16.9.0", + "@types/react-redux": "^7.1.2", + "@types/react-router-dom": "^4.3.5", "@types/react-simple-maps": "^0.12.2", "@types/react-transition-group": "1.1", "@types/underscore": "^1.9.3", @@ -41,26 +41,26 @@ "bignumber.js": "^9.0.0", "bs58": "^4.0.1", "chart.js": "^2.8.0", - "filesize": "^5.0.3", + "filesize": "^4.2.0", "history": "^4.10.1", "immutable": "^4.0.0-rc.12", "localforage": "^1.7.3", "moment": "^2.24.0", "node-sass": "^4.12.0", "query-string": "^6.8.3", - "react": "^16.10.2", + "react": "^16.9.0", "react-chartjs-2": "^2.8.0", - "react-dom": "^16.10.2", + "react-dom": "^16.9.0", "react-redux": "^7.1.1", - "react-router-dom": "^5.1.2", - "react-scripts": "^3.2.0", + "react-router-dom": "^5.0.1", + "react-scripts": "^3.1.2", "react-simple-maps": "^0.12.1", "react-transition-group": "1.2", "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-thunk": "^2.3.0", "typesafe-actions": "^4.4.2", - "typescript": "^3.6.4", + "typescript": "^3.6.3", "unstated-next": "^1.1.0", "wallet-address-validator": "^0.2.4", "web3": "2.0.0-alpha.1", diff --git a/yarn.lock b/yarn.lock index 916535c8..906f9d81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1142,13 +1142,6 @@ humps "^2.0.1" prop-types "^15.5.10" -"@fortawesome/react-fontawesome@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz#b798b96401e25d07c30bbe1b9ec0e6d8a33760a5" - integrity sha512-DNqt2t4JQ0YQKi832XzByk1wlQzgugwwCCNQHsFyz1z/zA9dtypSvsvVwMIaWXMljalYzKAA2zHX13C1DIxKAw== - dependencies: - prop-types "^15.5.10" - "@hapi/address@2.x.x": version "2.0.0" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" @@ -1392,13 +1385,12 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.23": - version "0.3.23" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.23.tgz#2e8d983ba7b5837d769f7146c1c0066b91c4598f" - integrity sha512-vXlzbgC/hOJrM6qxCfjqJ6CJi9w/bUbj2CNuIK+wXcgju/eaOqBHXtdPa39J7WxX1vNcuf0Q/ukDaaVRzCs39g== +"@renproject/contracts@0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.18.tgz#a8fe77e0a2142ab7ea78ce4ec4d7aa3040c7d87d" + integrity sha512-41/LRvbw0zQksyD56o14fx4TN+XZVR+u1cTZTOXfp/d8G7I051NSKW9GpdEOvk32PA3dPRM0z6B754FNzvIJCg== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" - node-sass "^4.12.0" + darknode-sol "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -1422,7 +1414,7 @@ react-router-dom "^5.0.1" react-select "^3.0.4" -"@sentry/browser@^5.7.1": +"@sentry/browser@^5.6.3": version "5.7.1" resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.7.1.tgz#1f8435e2a325d7a09f830065ebce40a2b3c708a4" integrity sha512-K0x1XhsHS8PPdtlVOLrKZyYvi5Vexs9WApdd214bO6KaGF296gJvH1mG8XOY0+7aA5i2A7T3ttcaJNDYS49lzw== @@ -1432,7 +1424,7 @@ "@sentry/utils" "5.7.1" tslib "^1.9.3" -"@sentry/core@5.7.1", "@sentry/core@^5.7.1": +"@sentry/core@5.7.1", "@sentry/core@^5.6.2": version "5.7.1" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.7.1.tgz#3eb2b7662cac68245931ee939ec809bf7a639d0e" integrity sha512-AOn3k3uVWh2VyajcHbV9Ta4ieDIeLckfo7UMLM+CTk2kt7C89SayDGayJMSsIrsZlL4qxBoLB9QY4W2FgAGJrg== @@ -1723,7 +1715,7 @@ resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -"@types/jest@^24.0.19": +"@types/jest@^24.0.18": version "24.0.19" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.19.tgz#f7036058d2a5844fe922609187c0ad8be430aff5" integrity sha512-YYiqfSjocv7lk5H/T+v5MjATYjaTMsUkbDnjGqSMoO88jWdtJXJV4ST/7DKZcoMHMBvB2SeSfyOzZfkxXHR5xg== @@ -1745,16 +1737,16 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== -"@types/node@^12.11.1": - version "12.11.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" - integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== - "@types/node@^12.6.1": version "12.7.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== +"@types/node@^12.7.5": + version "12.11.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" + integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== + "@types/prop-types@*": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" @@ -1779,14 +1771,14 @@ dependencies: "@types/react" "*" -"@types/react-dom@^16.9.2": +"@types/react-dom@^16.9.0": version "16.9.2" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz#90f9e6c161850be1feb31d2f448121be2a4f3b47" integrity sha512-hgPbBoI1aTSTvZwo8HYw35UaTldW6n2ETLvHAcfcg1FaOuBV3olmyCe5eMpx2WybWMBPv0MdU2t5GOcQhP+3zA== dependencies: "@types/react" "*" -"@types/react-redux@^7.1.4": +"@types/react-redux@^7.1.2": version "7.1.4" resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.4.tgz#e0d02a073e730b8b58a6341bddca2ea692ff0bce" integrity sha512-SUV/7d+4L7C1Db/D4pqASgN1V1U2HnDEhEol9lYpPSguS76xFboZzf5ha2hTz6v31cUewyC7WksMh1q8JxhebQ== @@ -1796,10 +1788,10 @@ hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-router-dom@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.0.tgz#8baa84a7fa8c8e7797fb3650ca51f93038cb4caf" - integrity sha512-YCh8r71pL5p8qDwQf59IU13hFy/41fDQG/GeOI3y+xmD4o0w3vEPxE8uBe+dvOgMoDl0W1WUZsWH0pxc1mcZyQ== +"@types/react-router-dom@^4.3.5": + version "4.3.5" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.5.tgz#72f229967690c890d00f96e6b85e9ee5780db31f" + integrity sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA== dependencies: "@types/history" "*" "@types/react" "*" @@ -1852,7 +1844,7 @@ "@types/prop-types" "*" csstype "^2.2.0" -"@types/react@^16.9.9": +"@types/react@^16.9.2": version "16.9.9" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz#a62c6f40f04bc7681be5e20975503a64fe783c3a" integrity sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg== @@ -4852,12 +4844,6 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== -"darknode-sol@https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648": - version "0.0.3" - resolved "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" - dependencies: - openzeppelin-solidity "2.3.0" - "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" @@ -6422,10 +6408,10 @@ filesize@3.6.1: resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== -filesize@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-5.0.3.tgz#2fa284185e9d2e8edbec2915b4dadce4043aac31" - integrity sha512-RM123v6KPqgZJmVCh4rLvCo8tLKr4sgD92DeZ+AuoUE8teGZJHKs1cTORwETcpIJSlGsz2WYdwKDQUXby5hNqQ== +filesize@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-4.2.1.tgz#ab1cb2069db5d415911c1a13e144c0e743bc89bc" + integrity sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA== fill-range@^4.0.0: version "4.0.0" @@ -12035,7 +12021,7 @@ react-dev-utils@^9.1.0: strip-ansi "5.2.0" text-table "0.2.0" -react-dom@^16.10.2: +react-dom@^16.9.0: version "16.10.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz#4840bce5409176bc3a1f2bd8cb10b92db452fda6" integrity sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw== @@ -12100,19 +12086,6 @@ react-router-dom@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router-dom@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" - integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.1.2" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - react-router@5.0.1, react-router@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" @@ -12129,23 +12102,7 @@ react-router@5.0.1, react-router@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" - integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.3.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-scripts@^3.2.0: +react-scripts@^3.1.2: version "3.2.0" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz#58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c" integrity sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ/E3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA== @@ -12252,7 +12209,7 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.10.2: +react@^16.9.0: version "16.10.2" resolved "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz#a5ede5cdd5c536f745173c8da47bda64797a4cf0" integrity sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw== @@ -14421,7 +14378,7 @@ typescript@^2.9.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== -typescript@^3.6.4: +typescript@^3.6.3: version "3.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== @@ -15255,9 +15212,9 @@ web3-net@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -"web3-provider-engine@git+https://github.com/trufflesuite/provider-engine.git#web3-one": +"web3-provider-engine@https://github.com/trufflesuite/provider-engine#web3-one": version "14.0.6" - resolved "git+https://github.com/trufflesuite/provider-engine.git#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" + resolved "https://github.com/trufflesuite/provider-engine#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" dependencies: async "^2.5.0" backoff "^2.5.0" From 66ed079c642f9d3e8dc44adeeaba22d16a62c348 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 18 Oct 2019 11:12:04 +1100 Subject: [PATCH 079/117] Fixed yarn.lock issue with icons --- package.json | 4 +- yarn.lock | 2545 +++++++++++++++----------------------------------- 2 files changed, 744 insertions(+), 1805 deletions(-) diff --git a/package.json b/package.json index c4f410d9..59756c1e 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "0.3.18", + "@renproject/contracts": "^0.3.23", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.32", "@sentry/browser": "^5.6.3", @@ -96,4 +96,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 906f9d81..8fabf810 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,17 +30,17 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz#6ebd9fe00925f6c3e177bb726a188b5f578088ff" + integrity sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" + "@babel/generator" "^7.6.4" + "@babel/helpers" "^7.6.2" + "@babel/parser" "^7.6.4" + "@babel/template" "^7.6.0" + "@babel/traverse" "^7.6.3" + "@babel/types" "^7.6.3" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" @@ -49,23 +49,12 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== +"@babel/generator@^7.4.0", "@babel/generator@^7.6.0", "@babel/generator@^7.6.3", "@babel/generator@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz#a4f8437287bf9671b07f483b76e3bb731bc97671" + integrity sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w== dependencies: - "@babel/types" "^7.5.5" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.6.0", "@babel/generator@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz#dac8a3c2df118334c2a29ff3446da1636a8f8c03" - integrity sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ== - dependencies: - "@babel/types" "^7.6.0" + "@babel/types" "^7.6.3" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" @@ -102,19 +91,7 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" - integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - -"@babel/helper-create-class-features-plugin@^7.6.0": +"@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng== @@ -257,16 +234,7 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helpers@^7.6.0": +"@babel/helpers@^7.6.0", "@babel/helpers@^7.6.2": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== @@ -284,15 +252,10 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== - -"@babel/parser@^7.6.0", "@babel/parser@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" - integrity sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4": + version "7.6.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" + integrity sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -336,7 +299,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.5.5": +"@babel/plugin-proposal-object-rest-spread@7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== @@ -344,6 +307,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" +"@babel/plugin-proposal-object-rest-spread@^7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" + integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/plugin-proposal-optional-catch-binding@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" @@ -352,14 +323,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" - integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== +"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz#05413762894f41bfe42b9a5e80919bd575dcc802" + integrity sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + regexpu-core "^4.6.0" "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" @@ -447,18 +418,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" - integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - -"@babel/plugin-transform-block-scoping@^7.6.0": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz#96c33ab97a9ae500cc6f5b19e04a7e6553360a79" - integrity sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ== +"@babel/plugin-transform-block-scoping@^7.6.0", "@babel/plugin-transform-block-scoping@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz#6e854e51fbbaa84351b15d4ddafe342f3a5d542a" + integrity sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" @@ -491,21 +454,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" - integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== +"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz#44abb948b88f0199a627024e1508acaf8dc9b2f9" + integrity sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + regexpu-core "^4.6.0" "@babel/plugin-transform-duplicate-keys@^7.5.0": version "7.5.0" @@ -568,16 +524,6 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" - integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== - dependencies: - "@babel/helper-module-transforms" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - babel-plugin-dynamic-import-node "^2.3.0" - "@babel/plugin-transform-modules-commonjs@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz#39dfe957de4420445f1fcf88b68a2e4aa4515486" @@ -605,17 +551,10 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" - integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== - dependencies: - regexp-tree "^0.1.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz#c1ca0bb84b94f385ca302c3932e870b0fb0e522b" - integrity sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g== +"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz#aaa6e409dd4fb2e50b6e2a91f7e3a3149dbce0cf" + integrity sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw== dependencies: regexpu-core "^4.6.0" @@ -651,9 +590,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz#4d6ae4033bc38f8a65dfca2b6235c44522a422fc" - integrity sha512-c5Ba8cpybZFp1Izkf2sWGuNjOxoQ32tFgBvvYvwGhi4+9f6vGiSK9Gex4uVuO/Va6YJFu41aAh1MzMjUWkp0IQ== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.3.tgz#9fc9ea060b983c7c035acbe481cbe1fb1245bfff" + integrity sha512-1/YogSSU7Tby9rq2VCmhuRg+6pxsHy2rI7w/oo8RKoBt6uBUFG+mk6x13kK+FY1/ggN92HAfg7ADd1v1+NCOKg== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -721,10 +660,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== +"@babel/plugin-transform-spread@^7.2.0", "@babel/plugin-transform-spread@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd" + integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -752,22 +691,22 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.6.0": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz#48d78405f1aa856ebeea7288a48a19ed8da377a6" - integrity sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz#dddb50cf3b8b2ef70b22e5326e9a91f05a1db13b" + integrity sha512-aiWINBrPMSC3xTXRNM/dfmyYuPNKY/aexYqBgh0HBI5Y+WO5oRAqW/oROYeYHrF4Zw12r9rK4fMk/ZlAmqx/FQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.6.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" -"@babel/plugin-transform-unicode-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" - integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== +"@babel/plugin-transform-unicode-regex@^7.4.4", "@babel/plugin-transform-unicode-regex@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz#b692aad888a7e8d8b1b214be6b9dc03d5031f698" + integrity sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + regexpu-core "^4.6.0" "@babel/preset-env@7.6.0": version "7.6.0" @@ -826,18 +765,18 @@ semver "^5.5.0" "@babel/preset-env@^7.4.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" - integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.3.tgz#9e1bf05a2e2d687036d24c40e4639dc46cef2271" + integrity sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" "@babel/plugin-proposal-dynamic-import" "^7.5.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.5.5" + "@babel/plugin-proposal-object-rest-spread" "^7.6.2" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.6.2" "@babel/plugin-syntax-async-generators" "^7.2.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-syntax-json-strings" "^7.2.0" @@ -846,11 +785,11 @@ "@babel/plugin-transform-arrow-functions" "^7.2.0" "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.5.5" + "@babel/plugin-transform-block-scoping" "^7.6.3" "@babel/plugin-transform-classes" "^7.5.5" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.5.0" - "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/plugin-transform-destructuring" "^7.6.0" + "@babel/plugin-transform-dotall-regex" "^7.6.2" "@babel/plugin-transform-duplicate-keys" "^7.5.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" "@babel/plugin-transform-for-of" "^7.4.4" @@ -858,10 +797,10 @@ "@babel/plugin-transform-literals" "^7.2.0" "@babel/plugin-transform-member-expression-literals" "^7.2.0" "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.5.0" + "@babel/plugin-transform-modules-commonjs" "^7.6.0" "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.3" "@babel/plugin-transform-new-target" "^7.4.4" "@babel/plugin-transform-object-super" "^7.5.5" "@babel/plugin-transform-parameters" "^7.4.4" @@ -869,19 +808,19 @@ "@babel/plugin-transform-regenerator" "^7.4.5" "@babel/plugin-transform-reserved-words" "^7.2.0" "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" + "@babel/plugin-transform-spread" "^7.6.2" "@babel/plugin-transform-sticky-regex" "^7.2.0" "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.5.5" + "@babel/plugin-transform-unicode-regex" "^7.6.2" + "@babel/types" "^7.6.3" browserslist "^4.6.0" core-js-compat "^3.1.1" invariant "^2.2.2" js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0": +"@babel/preset-react@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== @@ -892,6 +831,17 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" +"@babel/preset-react@^7.0.0": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.6.3.tgz#d5242c828322520205ae4eda5d4f4f618964e2f6" + integrity sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/preset-typescript@7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz#25768cb8830280baf47c45ab1a519a9977498c98" @@ -907,30 +857,14 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" - integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" + integrity sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA== dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.5.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz#c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd" - integrity sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/template@^7.6.0": +"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== @@ -939,53 +873,34 @@ "@babel/parser" "^7.6.0" "@babel/types" "^7.6.0" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz#b0e2bfd401d339ce0e6c05690206d1e11502ce2c" - integrity sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2", "@babel/traverse@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz#66d7dba146b086703c0fb10dd588b7364cec47f9" + integrity sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.2" + "@babel/generator" "^7.6.3" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.6.2" - "@babel/types" "^7.6.0" + "@babel/parser" "^7.6.3" + "@babel/types" "^7.6.3" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" + integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== dependencies: esutils "^2.0.2" lodash "^4.17.13" to-fast-properties "^2.0.0" -"@babel/types@^7.6.0": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" - integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" +"@base2/pretty-print-object@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" + integrity sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw== "@cnakazawa/watch@^1.0.3": version "1.0.3" @@ -1005,25 +920,25 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== -"@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": - version "10.0.15" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02" - integrity sha512-8VthgeKhlGeTXSW1JN7I14AnAaiFPbOrqNqg3dPoGCZ3bnMjkrmRU0zrx0BtBw9esBaPaQgDB9y0tVgAGT2Mrg== +"@emotion/cache@^10.0.17", "@emotion/cache@^10.0.9": + version "10.0.19" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.19.tgz#d258d94d9c707dcadaf1558def968b86bb87ad71" + integrity sha512-BoiLlk4vEsGBg2dAqGSJu0vJl/PgVtCYLBFJaEO8RmQzPugXewQCXZJNXTDFaRlfCs0W+quesayav4fvaif5WQ== dependencies: "@emotion/sheet" "0.9.3" "@emotion/stylis" "0.8.4" "@emotion/utils" "0.11.2" - "@emotion/weak-memoize" "0.2.3" + "@emotion/weak-memoize" "0.2.4" "@emotion/core@^10.0.9": - version "10.0.15" - resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.15.tgz#b8489d85d64b45bd03abdb8a3d9639ba8a0328d0" - integrity sha512-VHwwl3k/ddMfQOHYgOJryXOs2rGJ5AfKLQGm5AVolNonnr6tkmDI4nzIMNaPpveoXVs7sP0OrF24UunIPxveQw== + version "10.0.21" + resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.21.tgz#2e8398d2b92fd90d4ed6ac4d0b66214971de3458" + integrity sha512-U9zbc7ovZ2ceIwbLXYZPJy6wPgnOdTNT4jENZ31ee6v2lojetV5bTbCVk6ciT8G3wQRyVaTTfUCH9WCrMzpRIw== dependencies: - "@babel/runtime" "^7.4.3" - "@emotion/cache" "^10.0.15" + "@babel/runtime" "^7.5.5" + "@emotion/cache" "^10.0.17" "@emotion/css" "^10.0.14" - "@emotion/serialize" "^0.11.9" + "@emotion/serialize" "^0.11.10" "@emotion/sheet" "0.9.3" "@emotion/utils" "0.11.2" @@ -1036,23 +951,23 @@ "@emotion/utils" "0.11.2" babel-plugin-emotion "^10.0.14" -"@emotion/hash@0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.2.tgz#53211e564604beb9befa7a4400ebf8147473eeef" - integrity sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q== +"@emotion/hash@0.7.3": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.3.tgz#a166882c81c0c6040975dd30df24fae8549bd96f" + integrity sha512-14ZVlsB9akwvydAdaEnVnvqu6J2P6ySv39hYyl/aoB6w/V+bXX0tay8cF6paqbgZsN2n5Xh15uF4pE+GvE+itw== -"@emotion/memoize@0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30" - integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w== +"@emotion/memoize@0.7.3": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.3.tgz#5b6b1c11d6a6dddf1f2fc996f74cf3b219644d78" + integrity sha512-2Md9mH6mvo+ygq1trTeVp2uzAKwE2P7In0cRpD/M9Q70aH8L+rxMLbb3JCN2JoSWsV2O+DdFjfbbXoMoLBczow== -"@emotion/serialize@^0.11.8", "@emotion/serialize@^0.11.9": - version "0.11.9" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.9.tgz#123e0f51d2dee9693fae1057bd7fc27b021d6868" - integrity sha512-/Cn4V81z3ZyFiDQRw8nhGFaHkxHtmCSSBUit4vgTuLA1BqxfJUYiqSq97tq/vV8z9LfIoqs6a9v6QrUFWZpK7A== +"@emotion/serialize@^0.11.10", "@emotion/serialize@^0.11.11", "@emotion/serialize@^0.11.8": + version "0.11.11" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.11.tgz#c92a5e5b358070a7242d10508143306524e842a4" + integrity sha512-YG8wdCqoWtuoMxhHZCTA+egL0RSGdHEc+YCsmiSBPBEDNuVeMWtjEWtGrhUterSChxzwnWBXvzSxIFQI/3sHLw== dependencies: - "@emotion/hash" "0.7.2" - "@emotion/memoize" "0.7.2" + "@emotion/hash" "0.7.3" + "@emotion/memoize" "0.7.3" "@emotion/unitless" "0.7.4" "@emotion/utils" "0.11.2" csstype "^2.5.7" @@ -1077,43 +992,24 @@ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183" integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA== -"@emotion/weak-memoize@0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" - integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ== - -"@fortawesome/fontawesome-common-types@^0.2.21": - version "0.2.21" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.21.tgz#f1c26ae24761cca583de7cafd1273ab4c70a4d87" - integrity sha512-iJtcrU2BtF9Wyr0zm3tHEJy3HqA6sADExhCqCv3SKaJJKKp4ORJ40t4nyHvcWXSVFtd7r1gcdqcRsAfoREGTFA== +"@emotion/weak-memoize@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz#622a72bebd1e3f48d921563b4b60a762295a81fc" + integrity sha512-6PYY5DVdAY1ifaQW6XYTnOMihmBVT27elqSjEoodchsGjzYlEsTQMcEhSud99kVawatyTZRTiVkJ/c6lwbQ7nA== "@fortawesome/fontawesome-common-types@^0.2.25": version "0.2.25" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz#6df015905081f2762e5cfddeb7a20d2e9b16c786" integrity sha512-3RuZPDuuPELd7RXtUqTCfed14fcny9UiPOkdr2i+cYxBoTOfQgxcDoq77fHiiHcgWuo1LoBUpvGxFF1H/y7s3Q== -"@fortawesome/fontawesome-svg-core@^1.2.21": - version "1.2.21" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.21.tgz#5b08a28d6e1ea198e002447b158abba00fd12122" - integrity sha512-EhrgMZLJS0tTYZhUbodurZBqDgAFLDNdxJP/q5unrZJwiFo8Dd7xGvJdhAhY5WcX4khzkPQcbLTCMPHBtutD7Q== - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.21" - -"@fortawesome/fontawesome-svg-core@^1.2.25": +"@fortawesome/fontawesome-svg-core@^1.2.21", "@fortawesome/fontawesome-svg-core@^1.2.25": version "1.2.25" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz#24b03391d14f0c6171e8cad7057c687b74049790" integrity sha512-MotKnn53JKqbkLQiwcZSBJVYtTgIKFbh7B8+kd05TSnfKYPFmjKKI59o2fpz5t0Hzl35vVGU6+N4twoOpZUrqA== dependencies: "@fortawesome/fontawesome-common-types" "^0.2.25" -"@fortawesome/free-brands-svg-icons@^5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.10.1.tgz#79e0928269e818a18ee19cec56dc8d767e65cd8f" - integrity sha512-xrq2+coLZUGcQsmbdoyyp5O5X4a6FhEQj3cGdlM14/bZ6lHCeKlZElsvr/ETtFtD8w2UgQpb3E7Eylo69utD1g== - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.21" - -"@fortawesome/free-brands-svg-icons@^5.11.2": +"@fortawesome/free-brands-svg-icons@^5.10.1", "@fortawesome/free-brands-svg-icons@^5.11.2": version "5.11.2" resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.11.2.tgz#39d4296d03bf5719c579dea4bdcdd356ed2de0b4" integrity sha512-wKK5znpHiZ2S0VgOvbeAnYuzkk3H86rxWajD9PVpfBj3s/kySEWTFKh/uLPyxiTOx8Tsd0OGN4En/s9XudVHLQ== @@ -1135,60 +1031,45 @@ "@fortawesome/fontawesome-common-types" "^0.2.25" "@fortawesome/react-fontawesome@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.4.tgz#18d61d9b583ca289a61aa7dccc05bd164d6bc9ad" - integrity sha512-GwmxQ+TK7PEdfSwvxtGnMCqrfEm0/HbRHArbUudsYiy9KzVCwndxa2KMcfyTQ8El0vROrq8gOOff09RF1oQe8g== + version "0.1.6" + resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz#b798b96401e25d07c30bbe1b9ec0e6d8a33760a5" + integrity sha512-DNqt2t4JQ0YQKi832XzByk1wlQzgugwwCCNQHsFyz1z/zA9dtypSvsvVwMIaWXMljalYzKAA2zHX13C1DIxKAw== dependencies: - humps "^2.0.1" prop-types "^15.5.10" "@hapi/address@2.x.x": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" - integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw== + version "2.1.2" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222" + integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q== -"@hapi/hoek@6.x.x": - version "6.2.4" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" - integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== -"@hapi/hoek@8.x.x": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.1.tgz#924af04cbb22e17359c620d2a9c946e63f58eb77" - integrity sha512-JPiBy+oSmsq3St7XlipfN5pNA6bDJ1kpa73PrK/zR29CVClDVqy04AanM/M/qx5bSF+I61DdCfAvRrujau+zRg== +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.3.2.tgz#91e7188edebc5d876f0b91a860f555ff06f0782b" + integrity sha512-NP5SG4bzix+EtSMtcudp8TvI0lB46mXNo8uFpTDw6tqxGx4z5yx+giIunEFA0Z7oUO4DuWrOJV9xqR2tJVEdyA== "@hapi/joi@^15.0.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.0.tgz#940cb749b5c55c26ab3b34ce362e82b6162c8e7a" - integrity sha512-n6kaRQO8S+kepUTbXL9O/UOL788Odqs38/VOfoCrATDtTvyfiO3fgjlSRaNkHabpTLgM7qru9ifqXlXbXk8SeQ== + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== dependencies: "@hapi/address" "2.x.x" - "@hapi/hoek" "6.x.x" - "@hapi/marker" "1.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" "@hapi/topo" "3.x.x" -"@hapi/marker@1.x.x": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@hapi/marker/-/marker-1.0.0.tgz#65b0b2b01d1be06304886ce9b4b77b1bfb21a769" - integrity sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA== - "@hapi/topo@3.x.x": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" - integrity sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ== + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== dependencies: - "@hapi/hoek" "8.x.x" - -"@jest/console@^24.7.1": - version "24.7.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" - integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== - dependencies: - "@jest/source-map" "^24.3.0" - chalk "^2.0.1" - slash "^2.0.0" + "@hapi/hoek" "^8.3.0" -"@jest/console@^24.9.0": +"@jest/console@^24.7.1", "@jest/console@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== @@ -1241,15 +1122,6 @@ "@jest/types" "^24.9.0" jest-mock "^24.9.0" -"@jest/fake-timers@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" - integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw== - dependencies: - "@jest/types" "^24.8.0" - jest-message-util "^24.8.0" - jest-mock "^24.8.0" - "@jest/fake-timers@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" @@ -1286,16 +1158,7 @@ source-map "^0.6.0" string-length "^2.0.0" -"@jest/source-map@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" - integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/source-map@^24.9.0": +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== @@ -1304,15 +1167,6 @@ graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/test-result@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" - integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng== - dependencies: - "@jest/console" "^24.7.1" - "@jest/types" "^24.8.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@jest/test-result@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" @@ -1354,15 +1208,6 @@ source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" - integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^12.0.9" - "@jest/types@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" @@ -1385,12 +1230,13 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.18": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.18.tgz#a8fe77e0a2142ab7ea78ce4ec4d7aa3040c7d87d" - integrity sha512-41/LRvbw0zQksyD56o14fx4TN+XZVR+u1cTZTOXfp/d8G7I051NSKW9GpdEOvk32PA3dPRM0z6B754FNzvIJCg== +"@renproject/contracts@^0.3.23": + version "0.3.23" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.23.tgz#2e8d983ba7b5837d769f7146c1c0066b91c4598f" + integrity sha512-vXlzbgC/hOJrM6qxCfjqJ6CJi9w/bUbj2CNuIK+wXcgju/eaOqBHXtdPa39J7WxX1vNcuf0Q/ukDaaVRzCs39g== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" + darknode-sol "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" + node-sass "^4.12.0" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -1491,10 +1337,10 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== -"@svgr/babel-plugin-svg-dynamic-title@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz#646c2f5b5770c2fe318d6e51492344c3d62ddb63" - integrity sha512-p6z6JJroP989jHWcuraeWpzdejehTmLUpyC9smhTBWyPN0VVGe2phbYxpPTV7Vh8XzmFrcG55idrnfWn/2oQEw== +"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" + integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w== "@svgr/babel-plugin-svg-em-dimensions@^4.2.0": version "4.2.0" @@ -1511,26 +1357,26 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== -"@svgr/babel-preset@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.1.tgz#62ffcb85d756580e8ce608e9d2ac3b9063be9e28" - integrity sha512-rPFKLmyhlh6oeBv3j2vEAj2nd2QbWqpoJLKzBLjwQVt+d9aeXajVaPNEqrES2spjXKR4OxfgSs7U0NtmAEkr0Q== +"@svgr/babel-preset@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" + integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.3.1" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" "@svgr/babel-plugin-transform-svg-component" "^4.2.0" "@svgr/core@^4.3.2": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz#939c89be670ad79b762f4c063f213f0e02535f2e" - integrity sha512-N+tP5CLFd1hP9RpO83QJPZY3NL8AtrdqNbuhRgBkjE/49RnMrrRsFm1wY8pueUfAGvzn6tSXUq29o6ah8RuR5w== + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" + integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w== dependencies: - "@svgr/plugin-jsx" "^4.3.2" + "@svgr/plugin-jsx" "^4.3.3" camelcase "^5.3.1" cosmiconfig "^5.2.1" @@ -1541,13 +1387,13 @@ dependencies: "@babel/types" "^7.4.4" -"@svgr/plugin-jsx@^4.3.2": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz#ce9ddafc8cdd74da884c9f7af014afcf37f93d3c" - integrity sha512-+1GW32RvmNmCsOkMoclA/TppNjHPLMnNZG3/Ecscxawp051XJ2MkO09Hn11VcotdC2EPrDfT8pELGRo+kbZ1Eg== +"@svgr/plugin-jsx@^4.3.2", "@svgr/plugin-jsx@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" + integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w== dependencies: "@babel/core" "^7.4.5" - "@svgr/babel-preset" "^4.3.1" + "@svgr/babel-preset" "^4.3.3" "@svgr/hast-util-to-babel-ast" "^4.3.2" svg-parser "^2.0.0" @@ -1582,9 +1428,9 @@ defer-to-connect "^1.0.1" "@truffle/hdwallet-provider@^1.0.21": - version "1.0.21" - resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.21.tgz#c6ccd79a46ed362e18fc417e7525d65cb0af1cba" - integrity sha512-xYY0EhQczcZToaYjoO4q7raV5tN9rdpE8n0i7yiKI738biOzlvHpGKGctNiixByDq3juDE9k0yCF8QFdzGEf2Q== + version "1.0.22" + resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.22.tgz#213f90527c4ad1e91b4d81c8966525c8e96e90c8" + integrity sha512-V07zTK4KrD273EGEBSrpvkGyZnI0c5ttvOhHKjThu2KPN1xHDGj73GfEHr6Gt/PI+8U2LWSG0xWZcwxQNyT8vA== dependencies: any-promise "^1.3.0" bindings "^1.5.0" @@ -1597,9 +1443,9 @@ web3-provider-engine "https://github.com/trufflesuite/provider-engine#web3-one" "@types/babel__core@^7.1.0": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" - integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" + integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1608,9 +1454,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + version "7.6.0" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a" + integrity sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw== dependencies: "@babel/types" "^7.0.0" @@ -1678,9 +1524,9 @@ integrity sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ== "@types/history@*": - version "4.7.2" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" - integrity sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q== + version "4.7.3" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz#856c99cdc1551d22c22b18b5402719affec9839a" + integrity sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw== "@types/hoist-non-react-statics@^3.3.0": version "3.3.1" @@ -1727,30 +1573,20 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== -"@types/node@*": - version "12.7.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.1.tgz#3b5c3a26393c19b400844ac422bd0f631a94d69d" - integrity sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw== - -"@types/node@^10.12.18", "@types/node@^10.3.2": - version "10.14.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" - integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== - -"@types/node@^12.6.1": - version "12.7.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" - integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== - -"@types/node@^12.7.5": +"@types/node@*", "@types/node@^12.6.1", "@types/node@^12.7.5": version "12.11.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== +"@types/node@^10.12.18", "@types/node@^10.3.2": + version "10.14.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.22.tgz#34bcdf6b6cb5fc0db33d24816ad9d3ece22feea4" + integrity sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw== + "@types/prop-types@*": - version "15.7.1" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" - integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg== + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== "@types/q@^1.5.1": version "1.5.2" @@ -1764,14 +1600,7 @@ dependencies: query-string "*" -"@types/react-dom@*": - version "16.8.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.5.tgz#3e3f4d99199391a7fb40aa3a155c8dd99b899cbd" - integrity sha512-idCEjROZ2cqh29+trmTmZhsBAUNQuYrF92JHKzZ5+aiFM1mlSk3bb23CK7HhYuOY75Apgap5y2jTyHzaM2AJGA== - dependencies: - "@types/react" "*" - -"@types/react-dom@^16.9.0": +"@types/react-dom@*", "@types/react-dom@^16.9.0": version "16.9.2" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz#90f9e6c161850be1feb31d2f448121be2a4f3b47" integrity sha512-hgPbBoI1aTSTvZwo8HYw35UaTldW6n2ETLvHAcfcg1FaOuBV3olmyCe5eMpx2WybWMBPv0MdU2t5GOcQhP+3zA== @@ -1798,17 +1627,17 @@ "@types/react-router" "*" "@types/react-router@*": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" - integrity sha512-j2Gge5cvxca+5lK9wxovmGPgpVJMwjyu5lTA/Cd6fLGoPq7FXcUE1jFkEdxeyqGGz8VfHYSHCn5Lcn24BzaNKA== + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.2.tgz#41e5e6aa333a7b9a2bfdac753c04e1ca4b3e0d21" + integrity sha512-euC3SiwDg3NcjFdNmFL8uVuAFTpZJm0WMFUw+4eXMUnxa7M9RGFEG0szt0z+/Zgk4G2k9JBFhaEnY64RBiFmuw== dependencies: "@types/history" "*" "@types/react" "*" "@types/react-select@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.2.tgz#7b1f93967668e89f50fe00b48e6ee8bd8dea773c" - integrity sha512-9OrprBJqwJkFanyITQq65r36CjjDt+H5zJYh9C81MnUqH4Dulk5WZSLR77kwlw/yXd8jMii4Dz519amr6IMCfQ== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.5.tgz#c615c1f7a0ea98e828b469d0f5ddd39ba3f0d319" + integrity sha512-BodHwzj9WU1EWC1j8zx1iyAMDCrTURwdvMpOVvVFwDVU7fvs8Ks9fPTkUY3+BgYbpOJFr21bR3Jib/GonwanAQ== dependencies: "@types/react" "*" "@types/react-dom" "*" @@ -1823,9 +1652,9 @@ "@types/react" "*" "@types/react-transition-group@*": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.2.tgz#8c851c4598a23a3a34173069fb4c5c9e41c02e3f" - integrity sha512-YfoaTNqBwbIqpiJ5NNfxfgg5kyFP1Hqf/jqBtSWNv0E+EkkxmN+3VD6U2fu86tlQvdAc1o0SdWhnWFwcRMTn9A== + version "4.2.3" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.3.tgz#4924133f7268694058e415bf7aea2d4c21131470" + integrity sha512-Hk8jiuT7iLOHrcjKP/ZVSyCNXK73wJAUz60xm0mVhiRujrdiI++j4duLiL282VGxwAgxetHQFfqA29LgEeSkFA== dependencies: "@types/react" "*" @@ -1836,15 +1665,7 @@ dependencies: "@types/react" "*" -"@types/react@*": - version "16.9.1" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.1.tgz#862c83b4c9d5cd116e42fd9a4f3694843cd2c051" - integrity sha512-jGM2x8F7m7/r+81N/BOaUKVwbC5Cdw6ExlWEUpr77XPwVeNvAppnPEnMMLMfxRDYL8FPEX8MHjwtD2NQMJ0yyQ== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - -"@types/react@^16.9.2": +"@types/react@*", "@types/react@^16.9.2": version "16.9.9" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz#a62c6f40f04bc7681be5e20975503a64fe783c3a" integrity sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg== @@ -1867,53 +1688,49 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== -"@types/yargs@^12.0.9": - version "12.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" - integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== - "@types/yargs@^13.0.0": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" - integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== + version "13.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380" + integrity sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^2.2.0": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.1.tgz#b0b1e6b9b3f84b3e1afbdd338f4194c8ab92db21" - integrity sha512-VqVNEsvemviajlaWm03kVMabc6S3xCHGYuY0fReTrIIOZg+3WzB+wfw6fD3KYKerw5lYxmzogmHOZ0i7YKnuwA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.4.0.tgz#aaf6b542ff75b78f4191a8bf1c519184817caa24" + integrity sha512-se/YCk7PUoyMwSm/u3Ii9E+BgDUc736uw/lXCDpXEqRgPGsoBTtS8Mntue/vZX8EGyzGplYuePBuVyhZDM9EpQ== dependencies: - "@typescript-eslint/experimental-utils" "2.3.1" + "@typescript-eslint/experimental-utils" "2.4.0" eslint-utils "^1.4.2" functional-red-black-tree "^1.0.1" regexpp "^2.0.1" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.1.tgz#92f2531d3e7c22e64a2cc10cfe89935deaf00f7c" - integrity sha512-FaZEj73o4h6Wd0Lg+R4pZiJGdR0ZYbJr+O2+RbQ1aZjX8bZcfkVDtD+qm74Dv77rfSKkDKE64UTziLBo9UYHQA== +"@typescript-eslint/experimental-utils@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.4.0.tgz#dd8f3f466be25c3610a06fed22cfb6e6aa17f6d9" + integrity sha512-2cvhNaJoWavgTtnC7e1jUSPZQ7e4U2X9Yoy5sQmkS7lTESuyuZrlRcaoNuFfYEd6hgrmMU7+QoSp8Ad+kT1nfA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.3.1" + "@typescript-eslint/typescript-estree" "2.4.0" eslint-scope "^5.0.0" "@typescript-eslint/parser@^2.2.0": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.3.1.tgz#f2b93b614d9b338825c44e75552a433e2ebf8c33" - integrity sha512-ZlWdzhCJ2iZnSp/VBAJ/sowFbyHycIux8t0UEH0JsKgQvfSf7949hLYFMwTXdCMeEnpP1zRTHimrR+YHzs8LIw== + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.4.0.tgz#fe43ed5fec14af03d3594fce2c3b7ec4c8df0243" + integrity sha512-IouAKi/grJ4MFrwdXIJ1GHAwbPWYgkT3b/x8Q49F378c9nwgxVkO76e0rZeUVpwHMaUuoKG2sUeK0XGkwdlwkw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.3.1" - "@typescript-eslint/typescript-estree" "2.3.1" + "@typescript-eslint/experimental-utils" "2.4.0" + "@typescript-eslint/typescript-estree" "2.4.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.1.tgz#62c64f149948473d06a129dc33b4fc76e6c051f9" - integrity sha512-9SFhUgFuePJBB6jlLkOPPhMkZNiDCr+S8Ft7yAkkP2c5x5bxPhG3pe/exMiQaF8IGyVMDW6Ul0q4/cZ+uF3uog== +"@typescript-eslint/typescript-estree@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.4.0.tgz#722c95493e1b7682893edaaaec0e69f36917feef" + integrity sha512-/DzDAtMqF5d9IlXrrvu/Id/uoKjnSxf/3FbtKK679a/T7lbDM8qQuirtGvFy6Uh+x0hALuCMwnMfUf0P24/+Iw== dependencies: + chokidar "^3.0.2" glob "^7.1.4" is-glob "^4.0.1" lodash.unescape "4.0.1" @@ -2084,9 +1901,9 @@ JSONStream@^1.3.4: through ">=2.2.7 <3" abab@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz#a2fba1b122c69a85caa02d10f9270c7219709a9d" + integrity sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg== abbrev@1: version "1.1.1" @@ -2116,17 +1933,17 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: negotiator "0.6.2" acorn-globals@^4.1.0, acorn-globals@^4.3.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" - integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" -acorn-jsx@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== +acorn-jsx@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" + integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== acorn-walk@^6.0.1: version "6.2.0" @@ -2138,21 +1955,21 @@ acorn@^5.5.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.7, acorn@^6.2.1: +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: version "6.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== -address@1.1.2: +acorn@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" + integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== + +address@1.1.2, address@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== -address@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" - integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== - adjust-sourcemap-loader@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" @@ -2232,13 +2049,6 @@ ansi-align@^3.0.0: dependencies: string-width "^3.0.0" -ansi-colors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" - integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== - dependencies: - ansi-wrap "^0.1.0" - ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" @@ -2256,13 +2066,6 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.5.2" -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= - dependencies: - ansi-wrap "0.1.0" - ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -2295,11 +2098,6 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= - any-promise@1.3.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -2313,23 +2111,19 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" - integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== dependencies: - buffer-equal "^1.0.0" + normalize-path "^3.0.0" + picomatch "^2.0.4" aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -2363,35 +2157,16 @@ arr-diff@^4.0.0: resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -arr-filter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" - integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= - dependencies: - make-iterator "^1.0.0" - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: +arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== -arr-map@^2.0.0, arr-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" - integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= - dependencies: - make-iterator "^1.0.0" - arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= -array-each@^1.0.0, array-each@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" - integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= - array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -2420,35 +2195,6 @@ array-includes@^3.0.3: define-properties "^1.1.2" es-abstract "^1.7.0" -array-initial@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" - integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= - dependencies: - array-slice "^1.0.0" - is-number "^4.0.0" - -array-last@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" - integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== - dependencies: - is-number "^4.0.0" - -array-slice@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" - integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== - -array-sort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" - integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -2532,16 +2278,6 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -async-done@^1.2.0, async-done@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" - integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.2" - process-nextick-args "^2.0.0" - stream-exhaust "^1.0.1" - async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -2564,19 +2300,12 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async-settle@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" - integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= - dependencies: - async-done "^1.2.2" - -async@^1.4.2, async@^1.5.2: +async@^1.4.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: +async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -2594,17 +2323,17 @@ atob@^2.1.1: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" - integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== + version "9.6.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.5.tgz#98f4afe7e93cccf323287515d426019619775e5e" + integrity sha512-rGd50YV8LgwFQ2WQp4XzOTG69u1qQsXn0amww7tjqV5jJuNazgFKYEVItEBngyyvVITKOg20zr2V+9VsrXJQ2g== dependencies: - browserslist "^4.6.3" - caniuse-lite "^1.0.30000980" + browserslist "^4.7.0" + caniuse-lite "^1.0.30000999" chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.17" - postcss-value-parser "^4.0.0" + postcss "^7.0.18" + postcss-value-parser "^4.0.2" aws-sign2@~0.7.0: version "0.7.0" @@ -2856,14 +2585,14 @@ babel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0: object.assign "^4.1.0" babel-plugin-emotion@^10.0.14: - version "10.0.15" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.15.tgz#2ce5bea191331ef65b3b9ae212a8f0e46ff97616" - integrity sha512-E3W68Zk8EcKpRUDW2tsFKi4gsavapMRjfr2/KKgG3l7l2zZpiKk0BxB59Ul9C0w0ekv6my/ylGOk2WroaqKXPw== + version "10.0.21" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.21.tgz#9ebeb12edeea3e60a5476b0e07c9868605e65968" + integrity sha512-03o+T6sfVAJhNDcSdLapgv4IeewcFPzxlvBUVdSf7o5PI57ZSxoDvmy+ZulVWSu+rOWAWkEejNcsb29TuzJHbg== dependencies: "@babel/helper-module-imports" "^7.0.0" - "@emotion/hash" "0.7.2" - "@emotion/memoize" "0.7.2" - "@emotion/serialize" "^0.11.9" + "@emotion/hash" "0.7.3" + "@emotion/memoize" "0.7.3" + "@emotion/serialize" "^0.11.11" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -3299,21 +3028,6 @@ babylon@^6.18.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== -bach@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" - integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= - dependencies: - arr-filter "^1.1.1" - arr-flatten "^1.0.1" - arr-map "^2.0.0" - array-each "^1.0.0" - array-initial "^1.0.0" - array-last "^1.1.1" - async-done "^1.2.2" - async-settle "^1.0.0" - now-and-later "^2.0.0" - backoff@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" @@ -3327,9 +3041,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base-x@^3.0.2, base-x@^3.0.4: - version "3.0.6" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.6.tgz#de047ec95f5f7b99ae63d830a2a894c96538b2cd" - integrity sha512-4PaF8u2+AlViJxRVjurkLTxpp7CaFRD/jo5rPT9ONnKxyhQ8f59yzamEvq7EkriG56yn5On4ONyaG75HLqr46w== + version "3.0.7" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.7.tgz#1c5a7fafe8f66b4114063e8da102799d4e7c408f" + integrity sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw== dependencies: safe-buffer "^5.0.1" @@ -3378,6 +3092,11 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + bindings@^1.2.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -3419,9 +3138,9 @@ block-stream@*: inherits "~2.0.0" bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== + version "3.7.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" + integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== bn.js@4.11.6: version "4.11.6" @@ -3504,6 +3223,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -3605,14 +3331,14 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.4, browserslist@^4.7.0: + version "4.7.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz#bd400d1aea56538580e8c4d5f1c54ac11b5ab468" + integrity sha512-QtULFqKIAtiyNx7NhZ/p4rB8m3xDozVo/pi5VgTlADLF2tNigz/QH+v0m5qhn7XfHT7u+607NcCNOnC0HZAlMg== dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" + caniuse-lite "^1.0.30000999" + electron-to-chromium "^1.3.284" + node-releases "^1.1.36" bs58@^2.0.1: version "2.0.1" @@ -3660,11 +3386,6 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= -buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= - buffer-fill@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" @@ -3700,9 +3421,9 @@ buffer@^4.3.0: isarray "^1.0.0" buffer@^5.0.5, buffer@^5.2.1: - version "5.3.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.3.0.tgz#5f9fa5fefe3939888d0fdbf7d964e2a8531fd69c" - integrity sha512-XykNc84nIOC32vZ9euOKbmGAP69JUkXDtBQfLq88c8/6J/gZi/t14A+l/p/9EM2TcT5xNC1MKPCrvO3LVUpVPw== + version "5.4.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" + integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -3733,9 +3454,9 @@ bytes@3.1.0: integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== cacache@^12.0.0, cacache@^12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" - integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== + version "12.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== dependencies: bluebird "^3.5.5" chownr "^1.1.1" @@ -3861,12 +3582,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30000989: - version "1.0.30000989" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" - integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== - -caniuse-lite@^1.0.30000844: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30000999: version "1.0.30000999" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== @@ -3966,9 +3682,9 @@ checkpoint-store@^1.1.0: functional-red-black-tree "^1.0.1" chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: - version "2.1.6" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" - integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -3984,10 +3700,25 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.2.2.tgz#a433973350021e09f2b853a2287781022c0dc935" + integrity sha512-bw3pm7kZ2Wa6+jQWYP/c7bAZy3i4GwiIiMO2EeRjrE48l8vBqC/WvFhSF0xyM8fQiPEGvwMY/5bqDG7sSEOuhg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.2.0" + optionalDependencies: + fsevents "~2.1.1" + chownr@^1.1.1, chownr@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== + version "1.1.3" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" + integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== chrome-trace-event@^1.0.2: version "1.0.2" @@ -4024,11 +3755,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - clean-css@4.2.x: version "4.2.1" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" @@ -4048,13 +3774,6 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -4094,11 +3813,6 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - clone-deep@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" @@ -4126,25 +3840,11 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^2.0.0, clone@^2.1.1: +clone@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -4172,15 +3872,6 @@ coinstring@^2.0.0: bs58 "^2.0.1" create-hash "^1.1.1" -collection-map@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" - integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= - dependencies: - arr-map "^2.0.2" - for-own "^1.0.0" - make-iterator "^1.0.0" - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -4219,11 +3910,6 @@ color-string@^1.5.2: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - color@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" @@ -4244,16 +3930,21 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.20.0, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== +commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== +commander@2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== + commander@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" @@ -4318,7 +4009,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0: +concat-stream@^1.5.0, concat-stream@^1.5.1: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -4428,20 +4119,12 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-props@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" - integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== - dependencies: - each-props "^1.3.0" - is-plain-object "^2.0.1" - core-js-compat@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" - integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== + version "3.3.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.2.tgz#1096c989c1b929ede06b5b6b4768dc4439078c03" + integrity sha512-gfiK4QnNXhnnHVOIZst2XHdFfdMTPxtR0EGs0TdILMlGIft+087oH6/Sw2xTTIjpWXC9vEwsJA8VG3XTGcmO5g== dependencies: - browserslist "^4.6.6" + browserslist "^4.7.0" semver "^6.3.0" core-js@3.2.1: @@ -4449,12 +4132,7 @@ core-js@3.2.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== -core-js@^2.4.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== - -core-js@^2.5.0: +core-js@^2.4.0, core-js@^2.5.0: version "2.6.10" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== @@ -4787,9 +4465,9 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: cssom "0.3.x" csstype@^2.2.0, csstype@^2.5.7: - version "2.6.6" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" - integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== + version "2.6.7" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" + integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== currently-unhandled@^0.4.1: version "0.4.1" @@ -4798,10 +4476,10 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= d3-array@1: version "1.2.4" @@ -4831,7 +4509,7 @@ d3-geo@^1.1.0: dependencies: d3-array "1" -d@1: +d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== @@ -4844,6 +4522,12 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== +"darknode-sol@https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648": + version "0.0.3" + resolved "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" + dependencies: + openzeppelin-solidity "2.3.0" + "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" @@ -4885,7 +4569,7 @@ debug@3.1.0, debug@=3.1.0: dependencies: ms "2.0.0" -debug@^3.1.0, debug@^3.2.5, debug@^3.2.6: +debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -4983,7 +4667,19 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1, deep-equal@~1.0.1: +deep-equal@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz#3103cdf8ab6d32cf4a8df7865458f2b8d33f3745" + integrity sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= @@ -4998,13 +4694,6 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -default-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== - dependencies: - kind-of "^5.0.2" - default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" @@ -5013,11 +4702,6 @@ default-gateway@^4.2.0: execa "^1.0.0" ip-regex "^2.1.0" -default-resolution@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" - integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= - defer-to-connect@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" @@ -5104,11 +4788,6 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -5326,14 +5005,6 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -each-props@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" - integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== - dependencies: - is-plain-object "^2.0.1" - object.defaults "^1.1.0" - ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -5347,20 +5018,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.191: - version "1.3.224" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.224.tgz#511abb2829a58c5ddb36c319094fe936bc82e3cd" - integrity sha512-vTH9UcMbi53x/pZKQrEcD83obE8agqQwUIx/G03/mpE1vzLm0KA3cHwuZXCysvxI1gXfNjV7Nu7Vjtp89kDzmg== - -electron-to-chromium@^1.3.247: - version "1.3.264" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.264.tgz#ed837f44524d0601a7b2b7b6efd86e35753d0e27" - integrity sha512-z8E7WkrrquCuGYv+kKyybuZIbdms+4PeHp7Zm2uIgEhAigP0bOwqXILItwj0YO73o+QyHY/7XtEfP5DsHOWQgQ== - -electron-to-chromium@^1.3.47: - version "1.3.284" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.284.tgz#b24359fa4f49b3a7c52afc005d59ec3aa9f6796e" - integrity sha512-duOA4IWKH4R8ttiE8q/7xfg6eheRvMKlGqOOcGlDukdHEDJ26Wf7cMrCiK9Am11mswR6E/a23jXVA4UPDthTIw== +electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.284, electron-to-chromium@^1.3.47: + version "1.3.285" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.285.tgz#909576db2ee4dfec74a87aa30c92f66ebfc78748" + integrity sha512-DYR9KW723sUbGK++DCmCmM95AbNXT4Q0tlCFMcYijFjayhuDqlGYR68OemlP8MJj0gjkwdeItIUfd0oLCgw+4A== elliptic@6.3.3: version "6.3.3" @@ -5373,9 +5034,9 @@ elliptic@6.3.3: inherits "^2.0.1" elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" - integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== + version "6.5.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" + integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -5390,11 +5051,6 @@ emoji-regex@^7.0.1, emoji-regex@^7.0.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -5413,19 +5069,19 @@ encoding@^0.1.11: iconv-lite "~0.4.13" end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + version "4.1.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" + integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== dependencies: graceful-fs "^4.1.2" - memory-fs "^0.4.0" + memory-fs "^0.5.0" tapable "^1.0.0" entities@^1.1.1: @@ -5457,19 +5113,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-abstract@^1.5.0: +es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.15.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.15.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== @@ -5494,16 +5138,16 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: - version "0.10.50" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" - integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== +es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@^0.10.51: + version "0.10.51" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz#ed2d7d9d48a12df86e0299287e93a09ff478842f" + integrity sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ== dependencies: es6-iterator "~2.0.3" es6-symbol "~3.1.1" next-tick "^1.0.0" -es6-iterator@2.0.3, es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: +es6-iterator@2.0.3, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -5525,22 +5169,12 @@ es6-promisify@^5.0.0: es6-promise "^4.0.3" es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz#859fdd34f32e905ff06d752e7171ddd4444a7ed1" + integrity sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ== dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" + d "^1.0.1" + es5-ext "^0.10.51" escape-html@~1.0.3: version "1.0.3" @@ -5553,9 +5187,9 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@^1.11.0, escodegen@^1.9.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== + version "1.12.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" + integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== dependencies: esprima "^3.1.3" estraverse "^4.2.0" @@ -5673,13 +5307,6 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c" - integrity sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ== - dependencies: - eslint-visitor-keys "^1.0.0" - eslint-utils@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" @@ -5687,20 +5314,15 @@ eslint-utils@^1.4.2: dependencies: eslint-visitor-keys "^1.0.0" -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== - -eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== eslint@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646" - integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ== + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6" + integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -5709,9 +5331,9 @@ eslint@^6.1.0: debug "^4.0.1" doctrine "^3.0.0" eslint-scope "^5.0.0" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^6.0.0" + eslint-utils "^1.4.2" + eslint-visitor-keys "^1.1.0" + espree "^6.1.1" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -5740,14 +5362,14 @@ eslint@^6.1.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.0.0.tgz#716fc1f5a245ef5b9a7fdb1d7b0d3f02322e75f6" - integrity sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q== +espree@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" + integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== dependencies: - acorn "^6.0.7" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" + acorn "^7.0.0" + acorn-jsx "^5.0.2" + eslint-visitor-keys "^1.1.0" esprima@^3.1.3: version "3.1.3" @@ -5774,9 +5396,9 @@ esrecurse@^4.1.0: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== esutils@^2.0.0, esutils@^2.0.2: version "2.0.3" @@ -6042,9 +5664,9 @@ ethers@4.0.0-beta.3: xmlhttprequest "1.8.0" ethers@^4.0.27: - version "4.0.33" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.33.tgz#f7b88d2419d731a39aefc37843a3f293e396f918" - integrity sha512-lAHkSPzBe0Vj+JrhmkEHLtUEKEheVktIjGDyE9gbzF4zf1vibjYgB57LraDHu4/ItqWVkztgsm8GWqcDMN+6vQ== + version "4.0.38" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.38.tgz#3fabafb4f79c435205b143b66b4a1af035043e37" + integrity sha512-l7l7RIfk2/rIFgRRVLFY3H06S9dhXXPUdMlYm6SCelB6oG+ABmoRig7xSVOLcHLayBfSwssjAAYLKxf1jWhbuQ== dependencies: "@types/node" "^10.3.2" aes-js "3.0.0" @@ -6078,7 +5700,7 @@ eventemitter3@3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== -eventemitter3@3.1.2, eventemitter3@^3.0.0: +eventemitter3@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== @@ -6157,13 +5779,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - expect@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" @@ -6227,7 +5842,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.2: +extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -6272,16 +5887,6 @@ fake-merkle-patricia-tree@^1.0.1: dependencies: checkpoint-store "^1.1.0" -fancy-log@^1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" - integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - parse-node-version "^1.0.0" - time-stamp "^1.0.0" - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -6361,13 +5966,6 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9" - integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g== - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -6423,6 +6021,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -6489,42 +6094,6 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -findup-sync@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" - integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= - dependencies: - detect-file "^1.0.0" - is-glob "^3.1.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -fined@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" - integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== - dependencies: - expand-tilde "^2.0.2" - is-plain-object "^2.0.3" - object.defaults "^1.1.0" - object.pick "^1.2.0" - parse-filepath "^1.0.1" - -flagged-respawn@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" - integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== - flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -6544,7 +6113,7 @@ flatten@^1.0.2: resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= -flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: +flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== @@ -6560,11 +6129,11 @@ follow-redirects@1.5.10: debug "=3.1.0" follow-redirects@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" - integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" + integrity sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A== dependencies: - debug "^3.2.6" + debug "^3.0.0" for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -6590,13 +6159,6 @@ for-own@^0.1.3: dependencies: for-in "^1.0.1" -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= - dependencies: - for-in "^1.0.1" - forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -6683,19 +6245,11 @@ fs-extra@^8.1.0: universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== - dependencies: - minipass "^2.2.1" - -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" - integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" + minipass "^2.6.0" fs-write-stream-atomic@^1.0.8: version "1.0.10" @@ -6725,6 +6279,11 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" +fsevents@~2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz#74c64e21df71721845d0c44fe54b7f56b82995a9" + integrity sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw== + fstream@^1.0.0, fstream@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" @@ -6787,9 +6346,9 @@ get-func-name@^2.0.0: integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= get-own-enumerable-property-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" - integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4" + integrity sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA== get-stdin@^4.0.1: version "4.0.1" @@ -6848,46 +6407,18 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" - integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== dependencies: is-glob "^4.0.1" -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" - integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob-watcher@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" - integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== - dependencies: - anymatch "^2.0.0" - async-done "^1.2.0" - chokidar "^2.0.0" - is-negated-glob "^1.0.0" - just-debounce "^1.0.0" - object.defaults "^1.1.0" - glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1, glob@~7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -6914,26 +6445,6 @@ global-modules@2.0.0: dependencies: global-prefix "^3.0.0" -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - global-prefix@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" @@ -6994,13 +6505,6 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" -glogg@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" - integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== - dependencies: - sparkles "^1.0.0" - got@9.6.0, got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -7038,12 +6542,7 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.1" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" - integrity sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw== - -graceful-fs@^4.2.0: +graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== @@ -7063,47 +6562,6 @@ gud@^1.0.0: resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== -gulp-cli@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" - integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== - dependencies: - ansi-colors "^1.0.1" - archy "^1.0.0" - array-sort "^1.0.0" - color-support "^1.1.3" - concat-stream "^1.6.0" - copy-props "^2.0.1" - fancy-log "^1.3.2" - gulplog "^1.0.0" - interpret "^1.1.0" - isobject "^3.0.1" - liftoff "^3.1.0" - matchdep "^2.0.0" - mute-stdout "^1.0.0" - pretty-hrtime "^1.0.0" - replace-homedir "^1.0.0" - semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.0.1" - yargs "^7.1.0" - -gulp@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" - integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== - dependencies: - glob-watcher "^5.0.3" - gulp-cli "^2.2.0" - undertaker "^1.2.1" - vinyl-fs "^3.0.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= - dependencies: - glogg "^1.0.0" - gzip-size@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" @@ -7118,9 +6576,9 @@ handle-thing@^2.0.0: integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== handlebars@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" - integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== + version "4.4.3" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.3.tgz#180bae52c1d0e9ec0c15d7e82a4362d662762f6e" + integrity sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -7266,7 +6724,7 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -history@^4.10.1: +history@^4.10.1, history@^4.9.0: version "4.10.1" resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== @@ -7278,18 +6736,6 @@ history@^4.10.1: tiny-warning "^1.0.0" value-equal "^1.0.1" -history@^4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz#84587c2068039ead8af769e9d6a6860a14fa1bca" - integrity sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^2.2.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^0.4.0" - hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -7314,17 +6760,10 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== +hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== hpack.js@^2.1.6: version "2.1.6" @@ -7476,11 +6915,11 @@ http-proxy-middleware@^0.19.1: micromatch "^3.1.10" http-proxy@^1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" - integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g== + version "1.18.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" + integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== dependencies: - eventemitter3 "^3.0.0" + eventemitter3 "^4.0.0" follow-redirects "^1.0.0" requires-port "^1.0.0" @@ -7513,11 +6952,6 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -humps@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" - integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= - iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -7562,9 +6996,9 @@ iferr@^0.1.5: integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== dependencies: minimatch "^3.0.4" @@ -7716,21 +7150,21 @@ inquirer@6.5.0: through "^2.3.6" inquirer@^6.4.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.1.tgz#8bfb7a5ac02dac6ff641ac4c5ff17da112fcdb42" - integrity sha512-uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw== + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== dependencies: - ansi-escapes "^4.2.1" + ansi-escapes "^3.2.0" chalk "^2.4.2" - cli-cursor "^3.1.0" + cli-cursor "^2.1.0" cli-width "^2.0.0" external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" run-async "^2.2.0" rxjs "^6.4.0" - string-width "^4.1.0" + string-width "^2.1.0" strip-ansi "^5.1.0" through "^2.3.6" @@ -7742,11 +7176,6 @@ internal-ip@^4.2.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -interpret@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -7789,14 +7218,6 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -7811,6 +7232,11 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -7828,15 +7254,22 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-buffer@^1.0.2, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-buffer@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== is-callable@^1.1.3, is-callable@^1.1.4: version "1.1.4" @@ -7945,11 +7378,6 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" @@ -7967,7 +7395,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -7992,11 +7420,6 @@ is-natural-number@^4.0.1: resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= - is-npm@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" @@ -8009,10 +7432,10 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" @@ -8079,22 +7502,15 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== - dependencies: - is-unc-path "^1.0.0" - is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== is-root@2.1.0: version "2.1.0" @@ -8125,24 +7541,12 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== - dependencies: - unc-path-regex "^0.1.2" - -is-utf8@^0.2.0, is-utf8@^0.2.1: +is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= - -is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -8309,9 +7713,9 @@ jest-diff@^24.9.0: pretty-format "^24.9.0" jest-docblock@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== dependencies: detect-newline "^2.1.0" @@ -8422,20 +7826,6 @@ jest-matcher-utils@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-message-util@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" - integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - jest-message-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" @@ -8450,14 +7840,7 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.5.0, jest-mock@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" - integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A== - dependencies: - "@jest/types" "^24.8.0" - -jest-mock@^24.9.0: +jest-mock@^24.5.0, jest-mock@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== @@ -8469,12 +7852,7 @@ jest-pnp-resolver@^1.2.1: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== -jest-regex-util@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== - -jest-regex-util@^24.9.0: +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== @@ -8577,25 +7955,7 @@ jest-snapshot@^24.9.0: pretty-format "^24.9.0" semver "^6.2.0" -jest-util@^24.5.0, jest-util@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" - integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA== - dependencies: - "@jest/console" "^24.7.1" - "@jest/fake-timers" "^24.8.0" - "@jest/source-map" "^24.3.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-util@^24.9.0: +jest-util@^24.5.0, jest-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== @@ -8637,20 +7997,7 @@ jest-watch-typeahead@0.4.0: string-length "^3.1.0" strip-ansi "^5.0.0" -jest-watcher@^24.3.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" - integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw== - dependencies: - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" - "@types/yargs" "^12.0.9" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.8.0" - string-length "^2.0.0" - -jest-watcher@^24.9.0: +jest-watcher@^24.3.0, jest-watcher@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== @@ -8663,15 +8010,7 @@ jest-watcher@^24.9.0: jest-util "^24.9.0" string-length "^2.0.0" -jest-worker@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" - integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== - dependencies: - merge-stream "^1.0.1" - supports-color "^6.1.0" - -jest-worker@^24.9.0: +jest-worker@^24.6.0, jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== @@ -8900,9 +8239,9 @@ json5@^1.0.1: minimist "^1.2.0" json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== dependencies: minimist "^1.2.0" @@ -8946,11 +8285,6 @@ jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: array-includes "^3.0.3" object.assign "^4.1.0" -just-debounce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" - integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= - keccak@^1.0.2: version "1.4.0" resolved "https://registry.yarnpkg.com/keccak/-/keccak-1.4.0.tgz#572f8a6dbee8e7b3aa421550f9e6408ca2186f80" @@ -9002,7 +8336,7 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0, kind-of@^5.0.2: +kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== @@ -9025,14 +8359,6 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" -last-run@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" - integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= - dependencies: - default-resolution "^2.0.0" - es6-weak-map "^2.0.1" - latest-version@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" @@ -9050,13 +8376,6 @@ lazy-cache@^1.0.3: resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -9071,13 +8390,6 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" - integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= - dependencies: - flush-write-stream "^1.0.2" - left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" @@ -9162,20 +8474,6 @@ lie@3.1.1: dependencies: immediate "~3.0.5" -liftoff@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" - integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== - dependencies: - extend "^3.0.0" - findup-sync "^3.0.0" - fined "^1.0.1" - flagged-respawn "^1.0.0" - is-plain-object "^2.0.4" - object.map "^1.0.0" - rechoir "^0.6.2" - resolve "^1.1.7" - load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -9305,9 +8603,9 @@ lodash.uniq@^4.5.0: integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== loglevel@^1.4.1: - version "1.6.3" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" - integrity sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA== + version "1.6.4" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56" + integrity sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -9389,14 +8687,7 @@ make-fetch-happen@^5.0.0: node-fetch-npm "^2.0.2" promise-retry "^1.1.1" socks-proxy-agent "^4.0.0" - ssri "^6.0.0" - -make-iterator@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" - integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== - dependencies: - kind-of "^6.0.2" + ssri "^6.0.0" makeerror@1.0.x: version "1.0.11" @@ -9417,7 +8708,7 @@ map-age-cleaner@^0.1.1: dependencies: p-defer "^1.0.0" -map-cache@^0.2.0, map-cache@^0.2.2: +map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= @@ -9434,16 +8725,6 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -matchdep@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" - integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= - dependencies: - findup-sync "^2.0.0" - micromatch "^3.0.4" - resolve "^1.4.0" - stack-trace "0.0.10" - md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -9490,11 +8771,11 @@ memdown@^1.0.0: safe-buffer "~5.1.1" memoize-one@^5.0.0: - version "5.0.5" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e" - integrity sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ== + version "5.1.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" + integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== -memory-fs@^0.4.0, memory-fs@^0.4.1: +memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -9502,6 +8783,14 @@ memory-fs@^0.4.0, memory-fs@^0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -9532,22 +8821,15 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" - integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A== + version "1.3.0" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" + integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: version "2.3.2" @@ -9573,7 +8855,7 @@ microevent.ts@~0.1.1: resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -9600,11 +8882,16 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": +mime-db@1.40.0: version "1.40.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +"mime-db@>= 1.40.0 < 2": + version "1.42.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" + integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== + mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.24" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" @@ -9617,7 +8904,7 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.2, mime@^2.4.4: +mime@^2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== @@ -9627,7 +8914,7 @@ 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-fn@^2.0.0, mimic-fn@^2.1.0: +mimic-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -9695,28 +8982,20 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minipass@^2.6.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.8.4.tgz#490fe62adeb620c4a3373f62ee1c31cf2ef36385" - integrity sha512-i97pKD0f0eZLlhcTTSa6b6QlxCD7cvh8t/5MyR/pqchD5GPAeDaUrXQCoYA+W/VmmCgWvS/ADbfW3FUc+iT51Q== +minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== dependencies: - minipass "^2.2.1" + minipass "^2.9.0" mississippi@^3.0.0: version "3.0.0" @@ -9757,7 +9036,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@*, mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -9814,21 +9093,11 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -mute-stdout@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" - integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - nan@2.13.2: version "2.13.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" @@ -9937,10 +9206,10 @@ node-fetch@~1.7.1: encoding "^0.1.11" is-stream "^1.0.1" -node-forge@0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" - integrity sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ== +node-forge@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" + integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== node-gyp@^3.8.0: version "3.8.0" @@ -10026,19 +9295,12 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.25: - version "1.1.27" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.27.tgz#b19ec8add2afe9a826a99dceccc516104c1edaf4" - integrity sha512-9iXUqHKSGo6ph/tdXVbHFbhRVQln4ZDTIBJCzsa90HimnBYc5jw8RWYt4wBYFHehGyC3koIz5O4mb2fHrbPOuA== - dependencies: - semver "^5.3.0" - -node-releases@^1.1.29: - version "1.1.32" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.32.tgz#485b35c1bf9b4d8baa105d782f8ca731e518276e" - integrity sha512-VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A== +node-releases@^1.1.29, node-releases@^1.1.36: + version "1.1.36" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.36.tgz#44b7cb8254138e87bdbfa47761d0f825e20900b4" + integrity sha512-ggXhX6QGyJSjj3r+6ml2LqqC28XOWmKtpb+a15/Zpr9V3yoNazxJNlcQDS9bYaid5FReEWHEgToH1mwoUceWwg== dependencies: - semver "^5.3.0" + semver "^6.3.0" node-sass@^4.12.0: version "4.12.0" @@ -10095,7 +9357,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -10121,16 +9383,9 @@ normalize-url@^3.0.0: integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== normalize-url@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" - integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== - -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" - integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== - dependencies: - once "^1.3.2" + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== npm-bundled@^1.0.1: version "1.0.6" @@ -10164,19 +9419,19 @@ npm-check-updates@^3.1.24: update-notifier "^3.0.1" npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" - integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== + version "6.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" + integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== dependencies: - hosted-git-info "^2.6.0" + hosted-git-info "^2.7.1" osenv "^0.1.5" - semver "^5.5.0" + semver "^5.6.0" validate-npm-package-name "^3.0.0" npm-packlist@^1.1.12, npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== + version "1.4.6" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4" + integrity sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -10191,9 +9446,9 @@ npm-pick-manifest@^3.0.0: semver "^5.4.1" npm-registry-fetch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz#5ef75845b605855c7964472542c25da172af8677" - integrity sha512-Jllq35Jag8dtv0M17ue74XtdQTyqKzuAYGiX9mAjOhkmNjib3bBUgK6mUY61+AHnXeSRobQkpY3/xIOS/omptw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.2.tgz#2b1434f93ccbe6b6385f8e45f45db93e16921d7a" + integrity sha512-Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A== dependencies: JSONStream "^1.3.4" bluebird "^3.5.1" @@ -10201,6 +9456,7 @@ npm-registry-fetch@^4.0.0: lru-cache "^5.1.1" make-fetch-happen "^5.0.0" npm-package-arg "^6.1.0" + safe-buffer "^5.2.0" npm-run-path@^2.0.0: version "2.0.2" @@ -10278,6 +9534,11 @@ object-inspect@^1.6.0, object-inspect@~1.6.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== +object-is@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" + integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= + object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -10300,7 +9561,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4, object.assign@^4.1.0: +object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -10310,16 +9571,6 @@ object.assign@^4.0.4, object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.defaults@^1.0.0, object.defaults@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" - integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= - dependencies: - array-each "^1.0.1" - array-slice "^1.0.0" - for-own "^1.0.0" - isobject "^3.0.0" - object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" @@ -10331,14 +9582,14 @@ object.entries@^1.1.0: has "^1.0.3" object.fromentries@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704" + integrity sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA== dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" + define-properties "^1.1.3" + es-abstract "^1.15.0" function-bind "^1.1.1" - has "^1.0.1" + has "^1.0.3" object.getownpropertydescriptors@^2.0.3: version "2.0.3" @@ -10348,29 +9599,13 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.2" es-abstract "^1.5.1" -object.map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" - integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.pick@^1.2.0, object.pick@^1.3.0: +object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" -object.reduce@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" - integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - object.values@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" @@ -10405,7 +9640,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -10419,13 +9654,6 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - open@^6.3.0: version "6.4.0" resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" @@ -10473,13 +9701,6 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= - dependencies: - readable-stream "^2.0.1" - original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -10566,9 +9787,9 @@ p-limit@^1.1.0: p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + version "2.2.1" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" + integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== dependencies: p-try "^2.0.0" @@ -10671,11 +9892,11 @@ pako@~1.0.5: integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: - cyclist "~0.2.2" + cyclist "^1.0.1" inherits "^2.0.3" readable-stream "^2.1.5" @@ -10694,9 +9915,9 @@ parent-module@^1.0.0: callsites "^3.0.0" parse-asn1@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== + version "5.1.5" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -10705,15 +9926,6 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-filepath@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - parse-headers@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" @@ -10737,16 +9949,6 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-node-version@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -10814,18 +10016,6 @@ path-parse@^1.0.5, path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= - dependencies: - path-root-regex "^0.1.0" - path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -10887,6 +10077,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -10962,13 +10157,13 @@ pnp-webpack-plugin@1.5.0: ts-pnp "^1.1.2" portfinder@^1.0.9: - version "1.0.21" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.21.tgz#60e1397b95ac170749db70034ece306b9a27e324" - integrity sha512-ESabpDCzmBS3ekHbmpAIiESq3udRsCBGiBZLsC+HgBKv2ezb0R4oG+7RnYEVZ/ZCfhel5Tx3UzdNWA0Lox2QCA== + version "1.0.25" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" + integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== dependencies: - async "^1.5.2" - debug "^2.2.0" - mkdirp "0.5.x" + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.1" posix-character-classes@^0.1.0: version "0.1.1" @@ -11603,7 +10798,7 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0: +postcss-value-parser@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== @@ -11626,10 +10821,10 @@ postcss@7.0.14: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" - integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233" + integrity sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -11678,17 +10873,12 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: +process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== @@ -11779,9 +10969,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.3.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" - integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== + version "1.4.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" + integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== public-encrypt@^4.0.0: version "4.0.3" @@ -11811,7 +11001,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3, pumpify@^1.3.5: +pumpify@^1.3.3: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== @@ -11855,10 +11045,10 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@*: - version "6.8.2" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.2.tgz#36cb7e452ae11a4b5e9efee83375e0954407b2f6" - integrity sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw== +query-string@*, query-string@^6.8.3: + version "6.8.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" + integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -11881,15 +11071,6 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -query-string@^6.8.3: - version "6.8.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" - integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== - dependencies: - decode-uri-component "^0.2.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -11905,7 +11086,7 @@ querystringify@^2.0.0, querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== -raf@3.4.1, raf@^3.4.0: +raf@3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== @@ -12032,29 +11213,29 @@ react-dom@^16.9.0: scheduler "^0.16.2" react-element-to-jsx-string@^14.0.3: - version "14.0.3" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.3.tgz#64f50fdbf6ba154d6439da3d7307f79069b94d58" - integrity sha512-ziZAm7OwEfFtyhCmQiFNI87KFu+G9EP8qVW4XtDHdKNqqprYifLzqXkzHqC1vnVsPhyp2znoPm0bJHAf1mUBZA== + version "14.1.0" + resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.1.0.tgz#31fcc3a82459d5e57ef852aa6879bcd0a578a8cb" + integrity sha512-uvfAsY6bn2c8HMBkxwj+2MMXcvNIkKDl0aZg2Jhzp+c096hZaXUNivVCP2H4RBtmGSSJcfMqQA5oPk8YdqFOVw== dependencies: + "@base2/pretty-print-object" "^1.0.0" is-plain-object "3.0.0" - stringify-object "3.3.0" react-error-overlay@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz#c378c4b0a21e88b2e159a3e62b2f531fd63bf60d" integrity sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw== -react-input-autosize@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8" - integrity sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA== +react-input-autosize@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2" + integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw== dependencies: prop-types "^15.5.8" react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" - integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== + version "16.10.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz#984120fd4d16800e9a738208ab1fba422d23b5ab" + integrity sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA== react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -12074,22 +11255,22 @@ react-redux@^7.1.1: react-is "^16.9.0" react-router-dom@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.1.tgz#ee66f4a5d18b6089c361958e443489d6bab714be" - integrity sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA== + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" + integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew== dependencies: "@babel/runtime" "^7.1.2" history "^4.9.0" loose-envify "^1.3.1" prop-types "^15.6.2" - react-router "5.0.1" + react-router "5.1.2" tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.0.1, react-router@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" - integrity sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg== +react-router@5.1.2, react-router@^5.0.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" + integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== dependencies: "@babel/runtime" "^7.1.2" history "^4.9.0" @@ -12164,19 +11345,17 @@ react-scripts@^3.1.2: fsevents "2.0.7" react-select@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.4.tgz#16bde37c24fd4f6444914d4681e78f15ffbc86d3" - integrity sha512-fbVISKa/lSUlLsltuatfUiKcWCNvdLXxFFyrzVQCBUsjxJZH/m7UMPdw/ywmRixAmwXAP++MdbNNZypOsiDEfA== + version "3.0.8" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.8.tgz#06ff764e29db843bcec439ef13e196865242e0c1" + integrity sha512-v9LpOhckLlRmXN5A6/mGGEft4FMrfaBFTGAnuPHcUgVId7Je42kTq9y0Z+Ye5z8/j0XDT3zUqza8gaRaI1PZIg== dependencies: "@babel/runtime" "^7.4.4" "@emotion/cache" "^10.0.9" "@emotion/core" "^10.0.9" "@emotion/css" "^10.0.9" - classnames "^2.2.5" memoize-one "^5.0.0" prop-types "^15.6.0" - raf "^3.4.0" - react-input-autosize "^2.2.1" + react-input-autosize "^2.2.2" react-transition-group "^2.2.1" react-simple-maps@^0.12.1: @@ -12269,7 +11448,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -12320,6 +11499,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" + integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== + dependencies: + picomatch "^2.0.4" + realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -12327,13 +11513,6 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - recursive-readdir@2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" @@ -12418,10 +11597,12 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp-tree@^0.1.6: - version "0.1.11" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" - integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== +regexp.prototype.flags@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" + integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== + dependencies: + define-properties "^1.1.2" regexpp@^2.0.1: version "2.0.1" @@ -12437,18 +11618,6 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" -regexpu-core@^4.5.4: - version "4.5.5" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" - integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" - regexpu-core@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" @@ -12505,24 +11674,7 @@ relateurl@0.2.x: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: +remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= @@ -12555,20 +11707,6 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - -replace-homedir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" - integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= - dependencies: - homedir-polyfill "^1.0.1" - is-absolute "^1.0.0" - remove-trailing-separator "^1.1.0" - request-promise-core@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" @@ -12652,14 +11790,6 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -12670,18 +11800,6 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= - dependencies: - value-or-function "^3.0.0" - -resolve-pathname@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" - integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== - resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" @@ -12713,7 +11831,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.12.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: +resolve@1.12.0, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: version "1.12.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== @@ -12749,14 +11867,6 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" @@ -12797,7 +11907,14 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@2, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -12845,9 +11962,9 @@ rustbn.js@~0.2.0: integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== rxjs@^6.4.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" - integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== + version "6.5.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" + integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== dependencies: tslib "^1.9.0" @@ -12856,7 +11973,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== @@ -12945,15 +12062,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.0, schema-utils@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393" - integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.2.0: +schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.2.0: version "2.5.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ== @@ -13031,11 +12140,11 @@ select-hose@^2.0.0: integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= selfsigned@^1.9.1: - version "1.10.4" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" - integrity sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw== + version "1.10.7" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" + integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== dependencies: - node-forge "0.7.5" + node-forge "0.9.0" semaphore@>=1.0.1, semaphore@^1.0.3: version "1.1.0" @@ -13049,13 +12158,6 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -semver-greatest-satisfied-range@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" - integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= - dependencies: - sver-compat "^1.5.0" - semver-utils@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/semver-utils/-/semver-utils-1.1.4.tgz#cf0405e669a57488913909fc1c3f29bf2a4871e2" @@ -13106,9 +12208,9 @@ send@0.17.1: statuses "~1.5.0" serialize-javascript@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" - integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== + version "1.9.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== serve-index@^1.7.2: version "1.9.1" @@ -13436,11 +12538,6 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -sparkles@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" - integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== - spawn-please@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/spawn-please/-/spawn-please-0.3.0.tgz#db338ec4cff63abc69f1d0e08cee9eb8bebd9d11" @@ -13539,11 +12636,6 @@ stable@^0.1.8: resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== -stack-trace@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" @@ -13590,11 +12682,6 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" -stream-exhaust@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" - integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== - stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" @@ -13663,15 +12750,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" - integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^5.2.0" - string.prototype.trim@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" @@ -13725,7 +12803,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@3.3.0, stringify-object@^3.3.0: +stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -13847,14 +12925,6 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -sver-compat@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" - integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= - dependencies: - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - svg-parser@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" @@ -13908,9 +12978,9 @@ symbol-tree@^3.2.2: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: - version "5.4.5" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42" - integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA== + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: ajv "^6.10.2" lodash "^4.17.14" @@ -13963,27 +13033,14 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" -tar@^4, tar@^4.0.2: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.5" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - -tar@^4.4.10: - version "4.4.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.11.tgz#7ac09801445a3cf74445ed27499136b5240ffb73" - integrity sha512-iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA== +tar@^4, tar@^4.0.2, tar@^4.4.10: + version "4.4.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" + integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.6.4" + minipass "^2.8.6" minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" @@ -14012,9 +13069,9 @@ terser-webpack-plugin@1.4.1, terser-webpack-plugin@^1.4.1: worker-farm "^1.7.0" terser@^4.1.2: - version "4.1.4" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.4.tgz#4478b6a08bb096a61e793fea1a4434408bab936c" - integrity sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg== + version "4.3.9" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8" + integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -14040,15 +13097,7 @@ throat@^4.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: +through2@^2.0.0, through2@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -14062,14 +13111,9 @@ through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== - -time-stamp@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" @@ -14110,14 +13154,6 @@ tmpl@1.0.x: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -14158,6 +13194,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -14168,13 +13211,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= - dependencies: - through2 "^2.0.3" - toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" @@ -14227,16 +13263,11 @@ trim-right@^1.0.1: dependencies: glob "^7.1.2" -ts-pnp@1.1.4: +ts-pnp@1.1.4, ts-pnp@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== -ts-pnp@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" - integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== - ts-unused-exports@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-2.0.11.tgz#4c19c2a7d59662b51796a4eba1ce75681783fea1" @@ -14352,9 +13383,9 @@ type-is@~1.6.17, type-is@~1.6.18: mime-types "~2.1.24" type@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/type/-/type-1.0.3.tgz#16f5d39f27a2d28d86e48f8981859e9d3296c179" - integrity sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -14392,11 +13423,11 @@ uglify-js@3.4.x: source-map "~0.6.1" uglify-js@^3.1.4: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== + version "3.6.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.2.tgz#fd8048c86d990ddd29fe99d3300e0cb329103f4d" + integrity sha512-+gh/xFte41GPrgSMJ/oJVq15zYmqr74pY9VoM69UzMzq9NFk4YDylclb1/bhEzZSaUQjbW5RvniHeq1cdtRYjw== dependencies: - commander "~2.20.0" + commander "2.20.0" source-map "~0.6.1" ultron@~1.1.0: @@ -14412,36 +13443,11 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= - underscore@1.9.1, underscore@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== -undertaker-registry@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" - integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= - -undertaker@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" - integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== - dependencies: - arr-flatten "^1.0.1" - arr-map "^2.0.0" - bach "^1.0.0" - collection-map "^1.0.0" - es6-weak-map "^2.0.1" - last-run "^1.1.0" - object.defaults "^1.0.0" - object.reduce "^1.0.0" - undertaker-registry "^1.0.0" - unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -14499,14 +13505,6 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -14548,9 +13546,9 @@ unstated-next@^1.1.0: integrity sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA== upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== update-notifier@^3.0.1: version "3.0.1" @@ -14701,23 +13699,21 @@ uuid@2.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= -uuid@3.3.2, uuid@^3.0.1, uuid@^3.3.2: +uuid@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uuid@^3.0.1, uuid@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" + integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== -v8flags@^3.0.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" - integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== - dependencies: - homedir-polyfill "^1.0.1" - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -14733,21 +13729,11 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" -value-equal@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" - integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== - value-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= - vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -14767,54 +13753,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vinyl-fs@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - vm-browserify@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" @@ -15367,12 +14305,13 @@ webidl-conversions@^4.0.2: integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== webpack-dev-middleware@^3.5.1: - version "3.7.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff" - integrity sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA== + version "3.7.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== dependencies: memory-fs "^0.4.1" - mime "^2.4.2" + mime "^2.4.4" + mkdirp "^0.5.1" range-parser "^1.2.1" webpack-log "^2.0.0" @@ -15483,7 +14422,7 @@ websocket-extensions@>=0.1.1: "websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": version "1.0.29" - resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/b134a75541b5db59668df81c03e926cd5f325077" + resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/905deb4812572b344f5801f8c9ce8bb02799d82e" dependencies: debug "^2.2.0" es5-ext "^0.10.50" @@ -15542,7 +14481,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -15840,9 +14779,9 @@ xml-name-validator@^3.0.0: integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== xmlchars@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz#ef1a81c05bff629c2280007f12daca21bd6f6c93" - integrity sha512-7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w== + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== xmlhttprequest@1.8.0: version "1.8.0" @@ -15887,9 +14826,9 @@ yallist@^2.1.2: integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yargs-parser@^10.1.0: version "10.1.0" @@ -15947,7 +14886,7 @@ yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" -yargs@^7.0.0, yargs@^7.1.0: +yargs@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= From 7b8688c6391296e0e3e006fcd6fad74beb21cd3b Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 18 Oct 2019 11:26:29 +1100 Subject: [PATCH 080/117] Revert "Fixed yarn.lock issue with icons" This reverts commit 66ed079c642f9d3e8dc44adeeaba22d16a62c348. --- package.json | 4 +- yarn.lock | 2543 +++++++++++++++++++++++++++++++++++--------------- 2 files changed, 1804 insertions(+), 743 deletions(-) diff --git a/package.json b/package.json index 59756c1e..c4f410d9 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "^0.3.23", + "@renproject/contracts": "0.3.18", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.32", "@sentry/browser": "^5.6.3", @@ -96,4 +96,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 8fabf810..906f9d81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -30,17 +30,17 @@ source-map "^0.5.0" "@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz#6ebd9fe00925f6c3e177bb726a188b5f578088ff" - integrity sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" + integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.4" - "@babel/helpers" "^7.6.2" - "@babel/parser" "^7.6.4" - "@babel/template" "^7.6.0" - "@babel/traverse" "^7.6.3" - "@babel/types" "^7.6.3" + "@babel/generator" "^7.5.5" + "@babel/helpers" "^7.5.5" + "@babel/parser" "^7.5.5" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" convert-source-map "^1.1.0" debug "^4.1.0" json5 "^2.1.0" @@ -49,12 +49,23 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.6.0", "@babel/generator@^7.6.3", "@babel/generator@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz#a4f8437287bf9671b07f483b76e3bb731bc97671" - integrity sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w== +"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" + integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== dependencies: - "@babel/types" "^7.6.3" + "@babel/types" "^7.5.5" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + trim-right "^1.0.1" + +"@babel/generator@^7.6.0", "@babel/generator@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.2.tgz#dac8a3c2df118334c2a29ff3446da1636a8f8c03" + integrity sha512-j8iHaIW4gGPnViaIHI7e9t/Hl8qLjERI6DcV9kEpAIDJsAOrcnXqRS7t+QbhL76pwbtqP+QCQLL0z1CyVmtjjQ== + dependencies: + "@babel/types" "^7.6.0" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" @@ -91,7 +102,19 @@ "@babel/traverse" "^7.4.4" "@babel/types" "^7.4.4" -"@babel/helper-create-class-features-plugin@^7.5.5", "@babel/helper-create-class-features-plugin@^7.6.0": +"@babel/helper-create-class-features-plugin@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" + integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-member-expression-to-functions" "^7.5.5" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.5.5" + "@babel/helper-split-export-declaration" "^7.4.4" + +"@babel/helper-create-class-features-plugin@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz#769711acca889be371e9bc2eb68641d55218021f" integrity sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng== @@ -234,7 +257,16 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.2.0" -"@babel/helpers@^7.6.0", "@babel/helpers@^7.6.2": +"@babel/helpers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" + integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== + dependencies: + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" + +"@babel/helpers@^7.6.0": version "7.6.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz#681ffe489ea4dcc55f23ce469e58e59c1c045153" integrity sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA== @@ -252,10 +284,15 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.6.3", "@babel/parser@^7.6.4": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz#cb9b36a7482110282d5cb6dd424ec9262b473d81" - integrity sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" + integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== + +"@babel/parser@^7.6.0", "@babel/parser@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.2.tgz#205e9c95e16ba3b8b96090677a67c9d6075b70a1" + integrity sha512-mdFqWrSPCmikBoaBYMuBulzTIKuXVPtEISFbRRVNwMWpCms/hmE2kRq0bblUHaNRKrjRlmVbx1sDHmjmRgD2Xg== "@babel/plugin-proposal-async-generator-functions@^7.2.0": version "7.2.0" @@ -299,7 +336,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@7.5.5": +"@babel/plugin-proposal-object-rest-spread@7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== @@ -307,14 +344,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.5.5", "@babel/plugin-proposal-object-rest-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz#8ffccc8f3a6545e9f78988b6bf4fe881b88e8096" - integrity sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-proposal-optional-catch-binding@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" @@ -323,14 +352,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz#05413762894f41bfe42b9a5e80919bd575dcc802" - integrity sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw== +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" + integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" + regexpu-core "^4.5.4" "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" @@ -418,10 +447,18 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.6.0", "@babel/plugin-transform-block-scoping@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz#6e854e51fbbaa84351b15d4ddafe342f3a5d542a" - integrity sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw== +"@babel/plugin-transform-block-scoping@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" + integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.13" + +"@babel/plugin-transform-block-scoping@^7.6.0": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.2.tgz#96c33ab97a9ae500cc6f5b19e04a7e6553360a79" + integrity sha512-zZT8ivau9LOQQaOGC7bQLQOT4XPkPXgN2ERfUgk1X8ql+mVkLc4E8eKk+FO3o0154kxzqenWCorfmEXpEZcrSQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.13" @@ -454,14 +491,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz#44abb948b88f0199a627024e1508acaf8dc9b2f9" - integrity sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA== +"@babel/plugin-transform-destructuring@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" + integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" + integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" + regexpu-core "^4.5.4" "@babel/plugin-transform-duplicate-keys@^7.5.0": version "7.5.0" @@ -524,6 +568,16 @@ "@babel/helper-plugin-utils" "^7.0.0" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-commonjs@^7.5.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" + integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== + dependencies: + "@babel/helper-module-transforms" "^7.4.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-commonjs@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz#39dfe957de4420445f1fcf88b68a2e4aa4515486" @@ -551,10 +605,17 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz#aaa6e409dd4fb2e50b6e2a91f7e3a3149dbce0cf" - integrity sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" + integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== + dependencies: + regexp-tree "^0.1.6" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.6.0": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.2.tgz#c1ca0bb84b94f385ca302c3932e870b0fb0e522b" + integrity sha512-xBdB+XOs+lgbZc2/4F5BVDVcDNS4tcSKQc96KmlqLEAwz6tpYPEvPdmDfvVG0Ssn8lAhronaRs6Z6KSexIpK5g== dependencies: regexpu-core "^4.6.0" @@ -590,9 +651,9 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.3.tgz#9fc9ea060b983c7c035acbe481cbe1fb1245bfff" - integrity sha512-1/YogSSU7Tby9rq2VCmhuRg+6pxsHy2rI7w/oo8RKoBt6uBUFG+mk6x13kK+FY1/ggN92HAfg7ADd1v1+NCOKg== + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz#4d6ae4033bc38f8a65dfca2b6235c44522a422fc" + integrity sha512-c5Ba8cpybZFp1Izkf2sWGuNjOxoQ32tFgBvvYvwGhi4+9f6vGiSK9Gex4uVuO/Va6YJFu41aAh1MzMjUWkp0IQ== dependencies: "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" @@ -660,10 +721,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@^7.2.0", "@babel/plugin-transform-spread@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz#fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd" - integrity sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg== +"@babel/plugin-transform-spread@^7.2.0": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" + integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -691,22 +752,22 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript@^7.6.0": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz#dddb50cf3b8b2ef70b22e5326e9a91f05a1db13b" - integrity sha512-aiWINBrPMSC3xTXRNM/dfmyYuPNKY/aexYqBgh0HBI5Y+WO5oRAqW/oROYeYHrF4Zw12r9rK4fMk/ZlAmqx/FQ== + version "7.6.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.0.tgz#48d78405f1aa856ebeea7288a48a19ed8da377a6" + integrity sha512-yzw7EopOOr6saONZ3KA3lpizKnWRTe+rfBqg4AmQbSow7ik7fqmzrfIqt053osLwLE2AaTqGinLM2tl6+M/uog== dependencies: "@babel/helper-create-class-features-plugin" "^7.6.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-typescript" "^7.2.0" -"@babel/plugin-transform-unicode-regex@^7.4.4", "@babel/plugin-transform-unicode-regex@^7.6.2": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz#b692aad888a7e8d8b1b214be6b9dc03d5031f698" - integrity sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw== +"@babel/plugin-transform-unicode-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" + integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.6.0" + regexpu-core "^4.5.4" "@babel/preset-env@7.6.0": version "7.6.0" @@ -765,18 +826,18 @@ semver "^5.5.0" "@babel/preset-env@^7.4.5": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.3.tgz#9e1bf05a2e2d687036d24c40e4639dc46cef2271" - integrity sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ== + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" + integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-async-generator-functions" "^7.2.0" "@babel/plugin-proposal-dynamic-import" "^7.5.0" "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.6.2" + "@babel/plugin-proposal-object-rest-spread" "^7.5.5" "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.6.2" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-syntax-async-generators" "^7.2.0" "@babel/plugin-syntax-dynamic-import" "^7.2.0" "@babel/plugin-syntax-json-strings" "^7.2.0" @@ -785,11 +846,11 @@ "@babel/plugin-transform-arrow-functions" "^7.2.0" "@babel/plugin-transform-async-to-generator" "^7.5.0" "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.6.3" + "@babel/plugin-transform-block-scoping" "^7.5.5" "@babel/plugin-transform-classes" "^7.5.5" "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.6.0" - "@babel/plugin-transform-dotall-regex" "^7.6.2" + "@babel/plugin-transform-destructuring" "^7.5.0" + "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/plugin-transform-duplicate-keys" "^7.5.0" "@babel/plugin-transform-exponentiation-operator" "^7.2.0" "@babel/plugin-transform-for-of" "^7.4.4" @@ -797,10 +858,10 @@ "@babel/plugin-transform-literals" "^7.2.0" "@babel/plugin-transform-member-expression-literals" "^7.2.0" "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.6.0" + "@babel/plugin-transform-modules-commonjs" "^7.5.0" "@babel/plugin-transform-modules-systemjs" "^7.5.0" "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.6.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" "@babel/plugin-transform-new-target" "^7.4.4" "@babel/plugin-transform-object-super" "^7.5.5" "@babel/plugin-transform-parameters" "^7.4.4" @@ -808,19 +869,19 @@ "@babel/plugin-transform-regenerator" "^7.4.5" "@babel/plugin-transform-reserved-words" "^7.2.0" "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.6.2" + "@babel/plugin-transform-spread" "^7.2.0" "@babel/plugin-transform-sticky-regex" "^7.2.0" "@babel/plugin-transform-template-literals" "^7.4.4" "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.6.2" - "@babel/types" "^7.6.3" + "@babel/plugin-transform-unicode-regex" "^7.4.4" + "@babel/types" "^7.5.5" browserslist "^4.6.0" core-js-compat "^3.1.1" invariant "^2.2.2" js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-react@7.0.0": +"@babel/preset-react@7.0.0", "@babel/preset-react@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== @@ -831,17 +892,6 @@ "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/preset-react@^7.0.0": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.6.3.tgz#d5242c828322520205ae4eda5d4f4f618964e2f6" - integrity sha512-07yQhmkZmRAfwREYIQgW0HEwMY9GBJVuPY4Q12UC72AbfaawuupVWa8zQs2tlL+yun45Nv/1KreII/0PLfEsgA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - "@babel/preset-typescript@7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz#25768cb8830280baf47c45ab1a519a9977498c98" @@ -857,14 +907,30 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz#935122c74c73d2240cafd32ddb5fc2a6cd35cf1f" - integrity sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" + integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== dependencies: regenerator-runtime "^0.13.2" -"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.6.0": +"@babel/runtime@^7.5.5": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz#c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd" + integrity sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg== + dependencies: + regenerator-runtime "^0.13.2" + +"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" + integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.4.4" + "@babel/types" "^7.4.4" + +"@babel/template@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" integrity sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ== @@ -873,34 +939,53 @@ "@babel/parser" "^7.6.0" "@babel/types" "^7.6.0" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5", "@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2", "@babel/traverse@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz#66d7dba146b086703c0fb10dd588b7364cec47f9" - integrity sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" + integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.5.5" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.5.5" + "@babel/types" "^7.5.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/traverse@^7.6.0", "@babel/traverse@^7.6.2": + version "7.6.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.2.tgz#b0e2bfd401d339ce0e6c05690206d1e11502ce2c" + integrity sha512-8fRE76xNwNttVEF2TwxJDGBLWthUkHWSldmfuBzVRmEDWOtu4XdINTgN7TDWzuLg4bbeIMLvfMFD9we5YcWkRQ== dependencies: "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.6.3" + "@babel/generator" "^7.6.2" "@babel/helper-function-name" "^7.1.0" "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.6.3" - "@babel/types" "^7.6.3" + "@babel/parser" "^7.6.2" + "@babel/types" "^7.6.0" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.6.0", "@babel/types@^7.6.3": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz#3f07d96f854f98e2fbd45c64b0cb942d11e8ba09" - integrity sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA== +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" + integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== dependencies: esutils "^2.0.2" lodash "^4.17.13" to-fast-properties "^2.0.0" -"@base2/pretty-print-object@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" - integrity sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw== +"@babel/types@^7.6.0": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" + integrity sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g== + dependencies: + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" "@cnakazawa/watch@^1.0.3": version "1.0.3" @@ -920,25 +1005,25 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA== -"@emotion/cache@^10.0.17", "@emotion/cache@^10.0.9": - version "10.0.19" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.19.tgz#d258d94d9c707dcadaf1558def968b86bb87ad71" - integrity sha512-BoiLlk4vEsGBg2dAqGSJu0vJl/PgVtCYLBFJaEO8RmQzPugXewQCXZJNXTDFaRlfCs0W+quesayav4fvaif5WQ== +"@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": + version "10.0.15" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02" + integrity sha512-8VthgeKhlGeTXSW1JN7I14AnAaiFPbOrqNqg3dPoGCZ3bnMjkrmRU0zrx0BtBw9esBaPaQgDB9y0tVgAGT2Mrg== dependencies: "@emotion/sheet" "0.9.3" "@emotion/stylis" "0.8.4" "@emotion/utils" "0.11.2" - "@emotion/weak-memoize" "0.2.4" + "@emotion/weak-memoize" "0.2.3" "@emotion/core@^10.0.9": - version "10.0.21" - resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.21.tgz#2e8398d2b92fd90d4ed6ac4d0b66214971de3458" - integrity sha512-U9zbc7ovZ2ceIwbLXYZPJy6wPgnOdTNT4jENZ31ee6v2lojetV5bTbCVk6ciT8G3wQRyVaTTfUCH9WCrMzpRIw== + version "10.0.15" + resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.15.tgz#b8489d85d64b45bd03abdb8a3d9639ba8a0328d0" + integrity sha512-VHwwl3k/ddMfQOHYgOJryXOs2rGJ5AfKLQGm5AVolNonnr6tkmDI4nzIMNaPpveoXVs7sP0OrF24UunIPxveQw== dependencies: - "@babel/runtime" "^7.5.5" - "@emotion/cache" "^10.0.17" + "@babel/runtime" "^7.4.3" + "@emotion/cache" "^10.0.15" "@emotion/css" "^10.0.14" - "@emotion/serialize" "^0.11.10" + "@emotion/serialize" "^0.11.9" "@emotion/sheet" "0.9.3" "@emotion/utils" "0.11.2" @@ -951,23 +1036,23 @@ "@emotion/utils" "0.11.2" babel-plugin-emotion "^10.0.14" -"@emotion/hash@0.7.3": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.3.tgz#a166882c81c0c6040975dd30df24fae8549bd96f" - integrity sha512-14ZVlsB9akwvydAdaEnVnvqu6J2P6ySv39hYyl/aoB6w/V+bXX0tay8cF6paqbgZsN2n5Xh15uF4pE+GvE+itw== +"@emotion/hash@0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.2.tgz#53211e564604beb9befa7a4400ebf8147473eeef" + integrity sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q== -"@emotion/memoize@0.7.3": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.3.tgz#5b6b1c11d6a6dddf1f2fc996f74cf3b219644d78" - integrity sha512-2Md9mH6mvo+ygq1trTeVp2uzAKwE2P7In0cRpD/M9Q70aH8L+rxMLbb3JCN2JoSWsV2O+DdFjfbbXoMoLBczow== +"@emotion/memoize@0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30" + integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w== -"@emotion/serialize@^0.11.10", "@emotion/serialize@^0.11.11", "@emotion/serialize@^0.11.8": - version "0.11.11" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.11.tgz#c92a5e5b358070a7242d10508143306524e842a4" - integrity sha512-YG8wdCqoWtuoMxhHZCTA+egL0RSGdHEc+YCsmiSBPBEDNuVeMWtjEWtGrhUterSChxzwnWBXvzSxIFQI/3sHLw== +"@emotion/serialize@^0.11.8", "@emotion/serialize@^0.11.9": + version "0.11.9" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.9.tgz#123e0f51d2dee9693fae1057bd7fc27b021d6868" + integrity sha512-/Cn4V81z3ZyFiDQRw8nhGFaHkxHtmCSSBUit4vgTuLA1BqxfJUYiqSq97tq/vV8z9LfIoqs6a9v6QrUFWZpK7A== dependencies: - "@emotion/hash" "0.7.3" - "@emotion/memoize" "0.7.3" + "@emotion/hash" "0.7.2" + "@emotion/memoize" "0.7.2" "@emotion/unitless" "0.7.4" "@emotion/utils" "0.11.2" csstype "^2.5.7" @@ -992,24 +1077,43 @@ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183" integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA== -"@emotion/weak-memoize@0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz#622a72bebd1e3f48d921563b4b60a762295a81fc" - integrity sha512-6PYY5DVdAY1ifaQW6XYTnOMihmBVT27elqSjEoodchsGjzYlEsTQMcEhSud99kVawatyTZRTiVkJ/c6lwbQ7nA== +"@emotion/weak-memoize@0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" + integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ== + +"@fortawesome/fontawesome-common-types@^0.2.21": + version "0.2.21" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.21.tgz#f1c26ae24761cca583de7cafd1273ab4c70a4d87" + integrity sha512-iJtcrU2BtF9Wyr0zm3tHEJy3HqA6sADExhCqCv3SKaJJKKp4ORJ40t4nyHvcWXSVFtd7r1gcdqcRsAfoREGTFA== "@fortawesome/fontawesome-common-types@^0.2.25": version "0.2.25" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz#6df015905081f2762e5cfddeb7a20d2e9b16c786" integrity sha512-3RuZPDuuPELd7RXtUqTCfed14fcny9UiPOkdr2i+cYxBoTOfQgxcDoq77fHiiHcgWuo1LoBUpvGxFF1H/y7s3Q== -"@fortawesome/fontawesome-svg-core@^1.2.21", "@fortawesome/fontawesome-svg-core@^1.2.25": +"@fortawesome/fontawesome-svg-core@^1.2.21": + version "1.2.21" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.21.tgz#5b08a28d6e1ea198e002447b158abba00fd12122" + integrity sha512-EhrgMZLJS0tTYZhUbodurZBqDgAFLDNdxJP/q5unrZJwiFo8Dd7xGvJdhAhY5WcX4khzkPQcbLTCMPHBtutD7Q== + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.21" + +"@fortawesome/fontawesome-svg-core@^1.2.25": version "1.2.25" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz#24b03391d14f0c6171e8cad7057c687b74049790" integrity sha512-MotKnn53JKqbkLQiwcZSBJVYtTgIKFbh7B8+kd05TSnfKYPFmjKKI59o2fpz5t0Hzl35vVGU6+N4twoOpZUrqA== dependencies: "@fortawesome/fontawesome-common-types" "^0.2.25" -"@fortawesome/free-brands-svg-icons@^5.10.1", "@fortawesome/free-brands-svg-icons@^5.11.2": +"@fortawesome/free-brands-svg-icons@^5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.10.1.tgz#79e0928269e818a18ee19cec56dc8d767e65cd8f" + integrity sha512-xrq2+coLZUGcQsmbdoyyp5O5X4a6FhEQj3cGdlM14/bZ6lHCeKlZElsvr/ETtFtD8w2UgQpb3E7Eylo69utD1g== + dependencies: + "@fortawesome/fontawesome-common-types" "^0.2.21" + +"@fortawesome/free-brands-svg-icons@^5.11.2": version "5.11.2" resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.11.2.tgz#39d4296d03bf5719c579dea4bdcdd356ed2de0b4" integrity sha512-wKK5znpHiZ2S0VgOvbeAnYuzkk3H86rxWajD9PVpfBj3s/kySEWTFKh/uLPyxiTOx8Tsd0OGN4En/s9XudVHLQ== @@ -1031,45 +1135,60 @@ "@fortawesome/fontawesome-common-types" "^0.2.25" "@fortawesome/react-fontawesome@^0.1.4": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz#b798b96401e25d07c30bbe1b9ec0e6d8a33760a5" - integrity sha512-DNqt2t4JQ0YQKi832XzByk1wlQzgugwwCCNQHsFyz1z/zA9dtypSvsvVwMIaWXMljalYzKAA2zHX13C1DIxKAw== + version "0.1.4" + resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.4.tgz#18d61d9b583ca289a61aa7dccc05bd164d6bc9ad" + integrity sha512-GwmxQ+TK7PEdfSwvxtGnMCqrfEm0/HbRHArbUudsYiy9KzVCwndxa2KMcfyTQ8El0vROrq8gOOff09RF1oQe8g== dependencies: + humps "^2.0.1" prop-types "^15.5.10" "@hapi/address@2.x.x": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222" - integrity sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q== + version "2.0.0" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" + integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw== -"@hapi/bourne@1.x.x": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" - integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== +"@hapi/hoek@6.x.x": + version "6.2.4" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" + integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== -"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": - version "8.3.2" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.3.2.tgz#91e7188edebc5d876f0b91a860f555ff06f0782b" - integrity sha512-NP5SG4bzix+EtSMtcudp8TvI0lB46mXNo8uFpTDw6tqxGx4z5yx+giIunEFA0Z7oUO4DuWrOJV9xqR2tJVEdyA== +"@hapi/hoek@8.x.x": + version "8.2.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.1.tgz#924af04cbb22e17359c620d2a9c946e63f58eb77" + integrity sha512-JPiBy+oSmsq3St7XlipfN5pNA6bDJ1kpa73PrK/zR29CVClDVqy04AanM/M/qx5bSF+I61DdCfAvRrujau+zRg== "@hapi/joi@^15.0.0": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" - integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + version "15.1.0" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.0.tgz#940cb749b5c55c26ab3b34ce362e82b6162c8e7a" + integrity sha512-n6kaRQO8S+kepUTbXL9O/UOL788Odqs38/VOfoCrATDtTvyfiO3fgjlSRaNkHabpTLgM7qru9ifqXlXbXk8SeQ== dependencies: "@hapi/address" "2.x.x" - "@hapi/bourne" "1.x.x" - "@hapi/hoek" "8.x.x" + "@hapi/hoek" "6.x.x" + "@hapi/marker" "1.x.x" "@hapi/topo" "3.x.x" +"@hapi/marker@1.x.x": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@hapi/marker/-/marker-1.0.0.tgz#65b0b2b01d1be06304886ce9b4b77b1bfb21a769" + integrity sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA== + "@hapi/topo@3.x.x": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" - integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" + integrity sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ== dependencies: - "@hapi/hoek" "^8.3.0" + "@hapi/hoek" "8.x.x" + +"@jest/console@^24.7.1": + version "24.7.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" + integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== + dependencies: + "@jest/source-map" "^24.3.0" + chalk "^2.0.1" + slash "^2.0.0" -"@jest/console@^24.7.1", "@jest/console@^24.9.0": +"@jest/console@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== @@ -1122,6 +1241,15 @@ "@jest/types" "^24.9.0" jest-mock "^24.9.0" +"@jest/fake-timers@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" + integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw== + dependencies: + "@jest/types" "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" + "@jest/fake-timers@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" @@ -1158,7 +1286,16 @@ source-map "^0.6.0" string-length "^2.0.0" -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": +"@jest/source-map@^24.3.0": + version "24.3.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" + integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/source-map@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== @@ -1167,6 +1304,15 @@ graceful-fs "^4.1.15" source-map "^0.6.0" +"@jest/test-result@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" + integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng== + dependencies: + "@jest/console" "^24.7.1" + "@jest/types" "^24.8.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@jest/test-result@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" @@ -1208,6 +1354,15 @@ source-map "^0.6.1" write-file-atomic "2.4.1" +"@jest/types@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" + integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^12.0.9" + "@jest/types@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" @@ -1230,13 +1385,12 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@^0.3.23": - version "0.3.23" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.23.tgz#2e8d983ba7b5837d769f7146c1c0066b91c4598f" - integrity sha512-vXlzbgC/hOJrM6qxCfjqJ6CJi9w/bUbj2CNuIK+wXcgju/eaOqBHXtdPa39J7WxX1vNcuf0Q/ukDaaVRzCs39g== +"@renproject/contracts@0.3.18": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.18.tgz#a8fe77e0a2142ab7ea78ce4ec4d7aa3040c7d87d" + integrity sha512-41/LRvbw0zQksyD56o14fx4TN+XZVR+u1cTZTOXfp/d8G7I051NSKW9GpdEOvk32PA3dPRM0z6B754FNzvIJCg== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" - node-sass "^4.12.0" + darknode-sol "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -1337,10 +1491,10 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== -"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" - integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w== +"@svgr/babel-plugin-svg-dynamic-title@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.1.tgz#646c2f5b5770c2fe318d6e51492344c3d62ddb63" + integrity sha512-p6z6JJroP989jHWcuraeWpzdejehTmLUpyC9smhTBWyPN0VVGe2phbYxpPTV7Vh8XzmFrcG55idrnfWn/2oQEw== "@svgr/babel-plugin-svg-em-dimensions@^4.2.0": version "4.2.0" @@ -1357,26 +1511,26 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== -"@svgr/babel-preset@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" - integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A== +"@svgr/babel-preset@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.1.tgz#62ffcb85d756580e8ce608e9d2ac3b9063be9e28" + integrity sha512-rPFKLmyhlh6oeBv3j2vEAj2nd2QbWqpoJLKzBLjwQVt+d9aeXajVaPNEqrES2spjXKR4OxfgSs7U0NtmAEkr0Q== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.1" "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" "@svgr/babel-plugin-transform-svg-component" "^4.2.0" "@svgr/core@^4.3.2": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" - integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w== + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.2.tgz#939c89be670ad79b762f4c063f213f0e02535f2e" + integrity sha512-N+tP5CLFd1hP9RpO83QJPZY3NL8AtrdqNbuhRgBkjE/49RnMrrRsFm1wY8pueUfAGvzn6tSXUq29o6ah8RuR5w== dependencies: - "@svgr/plugin-jsx" "^4.3.3" + "@svgr/plugin-jsx" "^4.3.2" camelcase "^5.3.1" cosmiconfig "^5.2.1" @@ -1387,13 +1541,13 @@ dependencies: "@babel/types" "^7.4.4" -"@svgr/plugin-jsx@^4.3.2", "@svgr/plugin-jsx@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" - integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w== +"@svgr/plugin-jsx@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.2.tgz#ce9ddafc8cdd74da884c9f7af014afcf37f93d3c" + integrity sha512-+1GW32RvmNmCsOkMoclA/TppNjHPLMnNZG3/Ecscxawp051XJ2MkO09Hn11VcotdC2EPrDfT8pELGRo+kbZ1Eg== dependencies: "@babel/core" "^7.4.5" - "@svgr/babel-preset" "^4.3.3" + "@svgr/babel-preset" "^4.3.1" "@svgr/hast-util-to-babel-ast" "^4.3.2" svg-parser "^2.0.0" @@ -1428,9 +1582,9 @@ defer-to-connect "^1.0.1" "@truffle/hdwallet-provider@^1.0.21": - version "1.0.22" - resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.22.tgz#213f90527c4ad1e91b4d81c8966525c8e96e90c8" - integrity sha512-V07zTK4KrD273EGEBSrpvkGyZnI0c5ttvOhHKjThu2KPN1xHDGj73GfEHr6Gt/PI+8U2LWSG0xWZcwxQNyT8vA== + version "1.0.21" + resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.21.tgz#c6ccd79a46ed362e18fc417e7525d65cb0af1cba" + integrity sha512-xYY0EhQczcZToaYjoO4q7raV5tN9rdpE8n0i7yiKI738biOzlvHpGKGctNiixByDq3juDE9k0yCF8QFdzGEf2Q== dependencies: any-promise "^1.3.0" bindings "^1.5.0" @@ -1443,9 +1597,9 @@ web3-provider-engine "https://github.com/trufflesuite/provider-engine#web3-one" "@types/babel__core@^7.1.0": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" - integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== + version "7.1.2" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" + integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1454,9 +1608,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz#f1ec1c104d1bb463556ecb724018ab788d0c172a" - integrity sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw== + version "7.0.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" + integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== dependencies: "@babel/types" "^7.0.0" @@ -1524,9 +1678,9 @@ integrity sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ== "@types/history@*": - version "4.7.3" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz#856c99cdc1551d22c22b18b5402719affec9839a" - integrity sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw== + version "4.7.2" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" + integrity sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q== "@types/hoist-non-react-statics@^3.3.0": version "3.3.1" @@ -1573,20 +1727,30 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== -"@types/node@*", "@types/node@^12.6.1", "@types/node@^12.7.5": +"@types/node@*": + version "12.7.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.1.tgz#3b5c3a26393c19b400844ac422bd0f631a94d69d" + integrity sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw== + +"@types/node@^10.12.18", "@types/node@^10.3.2": + version "10.14.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" + integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== + +"@types/node@^12.6.1": + version "12.7.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" + integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== + +"@types/node@^12.7.5": version "12.11.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== -"@types/node@^10.12.18", "@types/node@^10.3.2": - version "10.14.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.22.tgz#34bcdf6b6cb5fc0db33d24816ad9d3ece22feea4" - integrity sha512-9taxKC944BqoTVjE+UT3pQH0nHZlTvITwfsOZqyc+R3sfJuxaTtxWjfn1K2UlxyPcKHf0rnaXcVFrS9F9vf0bw== - "@types/prop-types@*": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + version "15.7.1" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" + integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg== "@types/q@^1.5.1": version "1.5.2" @@ -1600,7 +1764,14 @@ dependencies: query-string "*" -"@types/react-dom@*", "@types/react-dom@^16.9.0": +"@types/react-dom@*": + version "16.8.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.5.tgz#3e3f4d99199391a7fb40aa3a155c8dd99b899cbd" + integrity sha512-idCEjROZ2cqh29+trmTmZhsBAUNQuYrF92JHKzZ5+aiFM1mlSk3bb23CK7HhYuOY75Apgap5y2jTyHzaM2AJGA== + dependencies: + "@types/react" "*" + +"@types/react-dom@^16.9.0": version "16.9.2" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz#90f9e6c161850be1feb31d2f448121be2a4f3b47" integrity sha512-hgPbBoI1aTSTvZwo8HYw35UaTldW6n2ETLvHAcfcg1FaOuBV3olmyCe5eMpx2WybWMBPv0MdU2t5GOcQhP+3zA== @@ -1627,17 +1798,17 @@ "@types/react-router" "*" "@types/react-router@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.2.tgz#41e5e6aa333a7b9a2bfdac753c04e1ca4b3e0d21" - integrity sha512-euC3SiwDg3NcjFdNmFL8uVuAFTpZJm0WMFUw+4eXMUnxa7M9RGFEG0szt0z+/Zgk4G2k9JBFhaEnY64RBiFmuw== + version "5.0.3" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" + integrity sha512-j2Gge5cvxca+5lK9wxovmGPgpVJMwjyu5lTA/Cd6fLGoPq7FXcUE1jFkEdxeyqGGz8VfHYSHCn5Lcn24BzaNKA== dependencies: "@types/history" "*" "@types/react" "*" "@types/react-select@^3.0.2": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.5.tgz#c615c1f7a0ea98e828b469d0f5ddd39ba3f0d319" - integrity sha512-BodHwzj9WU1EWC1j8zx1iyAMDCrTURwdvMpOVvVFwDVU7fvs8Ks9fPTkUY3+BgYbpOJFr21bR3Jib/GonwanAQ== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.2.tgz#7b1f93967668e89f50fe00b48e6ee8bd8dea773c" + integrity sha512-9OrprBJqwJkFanyITQq65r36CjjDt+H5zJYh9C81MnUqH4Dulk5WZSLR77kwlw/yXd8jMii4Dz519amr6IMCfQ== dependencies: "@types/react" "*" "@types/react-dom" "*" @@ -1652,9 +1823,9 @@ "@types/react" "*" "@types/react-transition-group@*": - version "4.2.3" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.3.tgz#4924133f7268694058e415bf7aea2d4c21131470" - integrity sha512-Hk8jiuT7iLOHrcjKP/ZVSyCNXK73wJAUz60xm0mVhiRujrdiI++j4duLiL282VGxwAgxetHQFfqA29LgEeSkFA== + version "4.2.2" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.2.tgz#8c851c4598a23a3a34173069fb4c5c9e41c02e3f" + integrity sha512-YfoaTNqBwbIqpiJ5NNfxfgg5kyFP1Hqf/jqBtSWNv0E+EkkxmN+3VD6U2fu86tlQvdAc1o0SdWhnWFwcRMTn9A== dependencies: "@types/react" "*" @@ -1665,7 +1836,15 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^16.9.2": +"@types/react@*": + version "16.9.1" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.1.tgz#862c83b4c9d5cd116e42fd9a4f3694843cd2c051" + integrity sha512-jGM2x8F7m7/r+81N/BOaUKVwbC5Cdw6ExlWEUpr77XPwVeNvAppnPEnMMLMfxRDYL8FPEX8MHjwtD2NQMJ0yyQ== + dependencies: + "@types/prop-types" "*" + csstype "^2.2.0" + +"@types/react@^16.9.2": version "16.9.9" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz#a62c6f40f04bc7681be5e20975503a64fe783c3a" integrity sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg== @@ -1688,49 +1867,53 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== +"@types/yargs@^12.0.9": + version "12.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" + integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== + "@types/yargs@^13.0.0": - version "13.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz#76482af3981d4412d65371a318f992d33464a380" - integrity sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ== + version "13.0.2" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" + integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^2.2.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.4.0.tgz#aaf6b542ff75b78f4191a8bf1c519184817caa24" - integrity sha512-se/YCk7PUoyMwSm/u3Ii9E+BgDUc736uw/lXCDpXEqRgPGsoBTtS8Mntue/vZX8EGyzGplYuePBuVyhZDM9EpQ== + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.1.tgz#b0b1e6b9b3f84b3e1afbdd338f4194c8ab92db21" + integrity sha512-VqVNEsvemviajlaWm03kVMabc6S3xCHGYuY0fReTrIIOZg+3WzB+wfw6fD3KYKerw5lYxmzogmHOZ0i7YKnuwA== dependencies: - "@typescript-eslint/experimental-utils" "2.4.0" + "@typescript-eslint/experimental-utils" "2.3.1" eslint-utils "^1.4.2" functional-red-black-tree "^1.0.1" regexpp "^2.0.1" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.4.0.tgz#dd8f3f466be25c3610a06fed22cfb6e6aa17f6d9" - integrity sha512-2cvhNaJoWavgTtnC7e1jUSPZQ7e4U2X9Yoy5sQmkS7lTESuyuZrlRcaoNuFfYEd6hgrmMU7+QoSp8Ad+kT1nfA== +"@typescript-eslint/experimental-utils@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.1.tgz#92f2531d3e7c22e64a2cc10cfe89935deaf00f7c" + integrity sha512-FaZEj73o4h6Wd0Lg+R4pZiJGdR0ZYbJr+O2+RbQ1aZjX8bZcfkVDtD+qm74Dv77rfSKkDKE64UTziLBo9UYHQA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.4.0" + "@typescript-eslint/typescript-estree" "2.3.1" eslint-scope "^5.0.0" "@typescript-eslint/parser@^2.2.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.4.0.tgz#fe43ed5fec14af03d3594fce2c3b7ec4c8df0243" - integrity sha512-IouAKi/grJ4MFrwdXIJ1GHAwbPWYgkT3b/x8Q49F378c9nwgxVkO76e0rZeUVpwHMaUuoKG2sUeK0XGkwdlwkw== + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.3.1.tgz#f2b93b614d9b338825c44e75552a433e2ebf8c33" + integrity sha512-ZlWdzhCJ2iZnSp/VBAJ/sowFbyHycIux8t0UEH0JsKgQvfSf7949hLYFMwTXdCMeEnpP1zRTHimrR+YHzs8LIw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.4.0" - "@typescript-eslint/typescript-estree" "2.4.0" + "@typescript-eslint/experimental-utils" "2.3.1" + "@typescript-eslint/typescript-estree" "2.3.1" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.4.0.tgz#722c95493e1b7682893edaaaec0e69f36917feef" - integrity sha512-/DzDAtMqF5d9IlXrrvu/Id/uoKjnSxf/3FbtKK679a/T7lbDM8qQuirtGvFy6Uh+x0hALuCMwnMfUf0P24/+Iw== +"@typescript-eslint/typescript-estree@2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.1.tgz#62c64f149948473d06a129dc33b4fc76e6c051f9" + integrity sha512-9SFhUgFuePJBB6jlLkOPPhMkZNiDCr+S8Ft7yAkkP2c5x5bxPhG3pe/exMiQaF8IGyVMDW6Ul0q4/cZ+uF3uog== dependencies: - chokidar "^3.0.2" glob "^7.1.4" is-glob "^4.0.1" lodash.unescape "4.0.1" @@ -1901,9 +2084,9 @@ JSONStream@^1.3.4: through ">=2.2.7 <3" abab@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz#a2fba1b122c69a85caa02d10f9270c7219709a9d" - integrity sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg== + version "2.0.0" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== abbrev@1: version "1.1.1" @@ -1933,17 +2116,17 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: negotiator "0.6.2" acorn-globals@^4.1.0, acorn-globals@^4.3.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + version "4.3.3" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" + integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" -acorn-jsx@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" - integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== +acorn-jsx@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" + integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== acorn-walk@^6.0.1: version "6.2.0" @@ -1955,21 +2138,21 @@ acorn@^5.5.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.0.7, acorn@^6.2.1: version "6.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== -acorn@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" - integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== - -address@1.1.2, address@^1.0.1: +address@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== +address@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" + integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== + adjust-sourcemap-loader@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" @@ -2049,6 +2232,13 @@ ansi-align@^3.0.0: dependencies: string-width "^3.0.0" +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA== + dependencies: + ansi-wrap "^0.1.0" + ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" @@ -2066,6 +2256,13 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.5.2" +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -2098,6 +2295,11 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + any-promise@1.3.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -2111,19 +2313,23 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" + buffer-equal "^1.0.0" aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + are-we-there-yet@~1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" @@ -2157,16 +2363,35 @@ arr-diff@^4.0.0: resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -arr-flatten@^1.1.0: +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= + dependencies: + make-iterator "^1.0.0" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= + dependencies: + make-iterator "^1.0.0" + arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-each@^1.0.0, array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -2195,6 +2420,35 @@ array-includes@^3.0.3: define-properties "^1.1.2" es-abstract "^1.7.0" +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== + dependencies: + is-number "^4.0.0" + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -2278,6 +2532,16 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2" + integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^2.0.0" + stream-exhaust "^1.0.1" + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -2300,12 +2564,19 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@^1.4.2: +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= + dependencies: + async-done "^1.2.2" + +async@^1.4.2, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0, async@^2.6.2: +async@^2.0.1, async@^2.1.2, async@^2.4.0, async@^2.5.0: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -2323,17 +2594,17 @@ atob@^2.1.1: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.6.1: - version "9.6.5" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.5.tgz#98f4afe7e93cccf323287515d426019619775e5e" - integrity sha512-rGd50YV8LgwFQ2WQp4XzOTG69u1qQsXn0amww7tjqV5jJuNazgFKYEVItEBngyyvVITKOg20zr2V+9VsrXJQ2g== + version "9.6.1" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" + integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== dependencies: - browserslist "^4.7.0" - caniuse-lite "^1.0.30000999" + browserslist "^4.6.3" + caniuse-lite "^1.0.30000980" chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.18" - postcss-value-parser "^4.0.2" + postcss "^7.0.17" + postcss-value-parser "^4.0.0" aws-sign2@~0.7.0: version "0.7.0" @@ -2585,14 +2856,14 @@ babel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0: object.assign "^4.1.0" babel-plugin-emotion@^10.0.14: - version "10.0.21" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.21.tgz#9ebeb12edeea3e60a5476b0e07c9868605e65968" - integrity sha512-03o+T6sfVAJhNDcSdLapgv4IeewcFPzxlvBUVdSf7o5PI57ZSxoDvmy+ZulVWSu+rOWAWkEejNcsb29TuzJHbg== + version "10.0.15" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.15.tgz#2ce5bea191331ef65b3b9ae212a8f0e46ff97616" + integrity sha512-E3W68Zk8EcKpRUDW2tsFKi4gsavapMRjfr2/KKgG3l7l2zZpiKk0BxB59Ul9C0w0ekv6my/ylGOk2WroaqKXPw== dependencies: "@babel/helper-module-imports" "^7.0.0" - "@emotion/hash" "0.7.3" - "@emotion/memoize" "0.7.3" - "@emotion/serialize" "^0.11.11" + "@emotion/hash" "0.7.2" + "@emotion/memoize" "0.7.2" + "@emotion/serialize" "^0.11.9" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -3028,6 +3299,21 @@ babylon@^6.18.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + backoff@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" @@ -3041,9 +3327,9 @@ balanced-match@^1.0.0: integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base-x@^3.0.2, base-x@^3.0.4: - version "3.0.7" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.7.tgz#1c5a7fafe8f66b4114063e8da102799d4e7c408f" - integrity sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw== + version "3.0.6" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.6.tgz#de047ec95f5f7b99ae63d830a2a894c96538b2cd" + integrity sha512-4PaF8u2+AlViJxRVjurkLTxpp7CaFRD/jo5rPT9ONnKxyhQ8f59yzamEvq7EkriG56yn5On4ONyaG75HLqr46w== dependencies: safe-buffer "^5.0.1" @@ -3092,11 +3378,6 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== - bindings@^1.2.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -3138,9 +3419,9 @@ block-stream@*: inherits "~2.0.0" bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: - version "3.7.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" - integrity sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg== + version "3.5.5" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== bn.js@4.11.6: version "4.11.6" @@ -3223,13 +3504,6 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -3331,14 +3605,14 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.4, browserslist@^4.7.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz#bd400d1aea56538580e8c4d5f1c54ac11b5ab468" - integrity sha512-QtULFqKIAtiyNx7NhZ/p4rB8m3xDozVo/pi5VgTlADLF2tNigz/QH+v0m5qhn7XfHT7u+607NcCNOnC0HZAlMg== +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: + version "4.6.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" + integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== dependencies: - caniuse-lite "^1.0.30000999" - electron-to-chromium "^1.3.284" - node-releases "^1.1.36" + caniuse-lite "^1.0.30000984" + electron-to-chromium "^1.3.191" + node-releases "^1.1.25" bs58@^2.0.1: version "2.0.1" @@ -3386,6 +3660,11 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= +buffer-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + buffer-fill@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" @@ -3421,9 +3700,9 @@ buffer@^4.3.0: isarray "^1.0.0" buffer@^5.0.5, buffer@^5.2.1: - version "5.4.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" - integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== + version "5.3.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.3.0.tgz#5f9fa5fefe3939888d0fdbf7d964e2a8531fd69c" + integrity sha512-XykNc84nIOC32vZ9euOKbmGAP69JUkXDtBQfLq88c8/6J/gZi/t14A+l/p/9EM2TcT5xNC1MKPCrvO3LVUpVPw== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -3454,9 +3733,9 @@ bytes@3.1.0: integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== cacache@^12.0.0, cacache@^12.0.2: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== + version "12.0.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" + integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== dependencies: bluebird "^3.5.5" chownr "^1.1.1" @@ -3582,7 +3861,12 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30000999: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30000989: + version "1.0.30000989" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" + integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== + +caniuse-lite@^1.0.30000844: version "1.0.30000999" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== @@ -3682,9 +3966,9 @@ checkpoint-store@^1.1.0: functional-red-black-tree "^1.0.1" chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + version "2.1.6" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" + integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -3700,25 +3984,10 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.2.2.tgz#a433973350021e09f2b853a2287781022c0dc935" - integrity sha512-bw3pm7kZ2Wa6+jQWYP/c7bAZy3i4GwiIiMO2EeRjrE48l8vBqC/WvFhSF0xyM8fQiPEGvwMY/5bqDG7sSEOuhg== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.2.0" - optionalDependencies: - fsevents "~2.1.1" - chownr@^1.1.1, chownr@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== chrome-trace-event@^1.0.2: version "1.0.2" @@ -3755,6 +4024,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@^2.2.5: + version "2.2.6" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + clean-css@4.2.x: version "4.2.1" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" @@ -3774,6 +4048,13 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -3813,6 +4094,11 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + clone-deep@^0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" @@ -3840,11 +4126,25 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -clone@^2.0.0: +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@^2.0.0, clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3872,6 +4172,15 @@ coinstring@^2.0.0: bs58 "^2.0.1" create-hash "^1.1.1" +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -3910,6 +4219,11 @@ color-string@^1.5.2: color-name "^1.0.0" simple-swizzle "^0.2.2" +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + color@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" @@ -3930,21 +4244,16 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.20.0, commander@~2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - commander@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" @@ -4009,7 +4318,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@^1.5.1: +concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -4119,12 +4428,20 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +copy-props@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" + integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== + dependencies: + each-props "^1.3.0" + is-plain-object "^2.0.1" + core-js-compat@^3.1.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.2.tgz#1096c989c1b929ede06b5b6b4768dc4439078c03" - integrity sha512-gfiK4QnNXhnnHVOIZst2XHdFfdMTPxtR0EGs0TdILMlGIft+087oH6/Sw2xTTIjpWXC9vEwsJA8VG3XTGcmO5g== + version "3.2.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" + integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== dependencies: - browserslist "^4.7.0" + browserslist "^4.6.6" semver "^6.3.0" core-js@3.2.1: @@ -4132,7 +4449,12 @@ core-js@3.2.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== -core-js@^2.4.0, core-js@^2.5.0: +core-js@^2.4.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" + integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== + +core-js@^2.5.0: version "2.6.10" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== @@ -4465,9 +4787,9 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: cssom "0.3.x" csstype@^2.2.0, csstype@^2.5.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" - integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== + version "2.6.6" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" + integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== currently-unhandled@^0.4.1: version "0.4.1" @@ -4476,10 +4798,10 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +cyclist@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= d3-array@1: version "1.2.4" @@ -4509,7 +4831,7 @@ d3-geo@^1.1.0: dependencies: d3-array "1" -d@1, d@^1.0.1: +d@1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== @@ -4522,12 +4844,6 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== -"darknode-sol@https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648": - version "0.0.3" - resolved "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" - dependencies: - openzeppelin-solidity "2.3.0" - "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" @@ -4569,7 +4885,7 @@ debug@3.1.0, debug@=3.1.0: dependencies: ms "2.0.0" -debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: +debug@^3.1.0, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -4667,19 +4983,7 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz#3103cdf8ab6d32cf4a8df7865458f2b8d33f3745" - integrity sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-equal@~1.0.1: +deep-equal@^1.0.1, deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= @@ -4694,6 +4998,13 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" @@ -4702,6 +5013,11 @@ default-gateway@^4.2.0: execa "^1.0.0" ip-regex "^2.1.0" +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= + defer-to-connect@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" @@ -4788,6 +5104,11 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" @@ -5005,6 +5326,14 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" +each-props@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -5018,10 +5347,20 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.284, electron-to-chromium@^1.3.47: - version "1.3.285" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.285.tgz#909576db2ee4dfec74a87aa30c92f66ebfc78748" - integrity sha512-DYR9KW723sUbGK++DCmCmM95AbNXT4Q0tlCFMcYijFjayhuDqlGYR68OemlP8MJj0gjkwdeItIUfd0oLCgw+4A== +electron-to-chromium@^1.3.191: + version "1.3.224" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.224.tgz#511abb2829a58c5ddb36c319094fe936bc82e3cd" + integrity sha512-vTH9UcMbi53x/pZKQrEcD83obE8agqQwUIx/G03/mpE1vzLm0KA3cHwuZXCysvxI1gXfNjV7Nu7Vjtp89kDzmg== + +electron-to-chromium@^1.3.247: + version "1.3.264" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.264.tgz#ed837f44524d0601a7b2b7b6efd86e35753d0e27" + integrity sha512-z8E7WkrrquCuGYv+kKyybuZIbdms+4PeHp7Zm2uIgEhAigP0bOwqXILItwj0YO73o+QyHY/7XtEfP5DsHOWQgQ== + +electron-to-chromium@^1.3.47: + version "1.3.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.284.tgz#b24359fa4f49b3a7c52afc005d59ec3aa9f6796e" + integrity sha512-duOA4IWKH4R8ttiE8q/7xfg6eheRvMKlGqOOcGlDukdHEDJ26Wf7cMrCiK9Am11mswR6E/a23jXVA4UPDthTIw== elliptic@6.3.3: version "6.3.3" @@ -5034,9 +5373,9 @@ elliptic@6.3.3: inherits "^2.0.1" elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.4.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz#c380f5f909bf1b9b4428d028cd18d3b0efd6b52b" - integrity sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg== + version "6.5.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" + integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -5051,6 +5390,11 @@ emoji-regex@^7.0.1, emoji-regex@^7.0.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -5069,19 +5413,19 @@ encoding@^0.1.11: iconv-lite "~0.4.13" end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" enhanced-resolve@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== dependencies: graceful-fs "^4.1.2" - memory-fs "^0.5.0" + memory-fs "^0.4.0" tapable "^1.0.0" entities@^1.1.1: @@ -5113,7 +5457,19 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.15.0, es-abstract@^1.5.0, es-abstract@^1.5.1, es-abstract@^1.7.0: +es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.5.1, es-abstract@^1.7.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-keys "^1.0.12" + +es-abstract@^1.5.0: version "1.15.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== @@ -5138,16 +5494,16 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@^0.10.51: - version "0.10.51" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz#ed2d7d9d48a12df86e0299287e93a09ff478842f" - integrity sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ== +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: + version "0.10.50" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" + integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== dependencies: es6-iterator "~2.0.3" es6-symbol "~3.1.1" next-tick "^1.0.0" -es6-iterator@2.0.3, es6-iterator@~2.0.3: +es6-iterator@2.0.3, es6-iterator@^2.0.1, es6-iterator@^2.0.3, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -5169,12 +5525,22 @@ es6-promisify@^5.0.0: es6-promise "^4.0.3" es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz#859fdd34f32e905ff06d752e7171ddd4444a7ed1" - integrity sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ== + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= dependencies: - d "^1.0.1" - es5-ext "^0.10.51" + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" escape-html@~1.0.3: version "1.0.3" @@ -5187,9 +5553,9 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@^1.11.0, escodegen@^1.9.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" - integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== + version "1.11.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" + integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== dependencies: esprima "^3.1.3" estraverse "^4.2.0" @@ -5307,6 +5673,13 @@ eslint-scope@^5.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-utils@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c" + integrity sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ== + dependencies: + eslint-visitor-keys "^1.0.0" + eslint-utils@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" @@ -5314,15 +5687,20 @@ eslint-utils@^1.4.2: dependencies: eslint-visitor-keys "^1.0.0" -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== + +eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== eslint@^6.1.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6" - integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A== + version "6.1.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.1.0.tgz#06438a4a278b1d84fb107d24eaaa35471986e646" + integrity sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -5331,9 +5709,9 @@ eslint@^6.1.0: debug "^4.0.1" doctrine "^3.0.0" eslint-scope "^5.0.0" - eslint-utils "^1.4.2" - eslint-visitor-keys "^1.1.0" - espree "^6.1.1" + eslint-utils "^1.3.1" + eslint-visitor-keys "^1.0.0" + espree "^6.0.0" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -5362,14 +5740,14 @@ eslint@^6.1.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" - integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== +espree@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.0.0.tgz#716fc1f5a245ef5b9a7fdb1d7b0d3f02322e75f6" + integrity sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q== dependencies: - acorn "^7.0.0" - acorn-jsx "^5.0.2" - eslint-visitor-keys "^1.1.0" + acorn "^6.0.7" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" esprima@^3.1.3: version "3.1.3" @@ -5396,9 +5774,9 @@ esrecurse@^4.1.0: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= esutils@^2.0.0, esutils@^2.0.2: version "2.0.3" @@ -5664,9 +6042,9 @@ ethers@4.0.0-beta.3: xmlhttprequest "1.8.0" ethers@^4.0.27: - version "4.0.38" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.38.tgz#3fabafb4f79c435205b143b66b4a1af035043e37" - integrity sha512-l7l7RIfk2/rIFgRRVLFY3H06S9dhXXPUdMlYm6SCelB6oG+ABmoRig7xSVOLcHLayBfSwssjAAYLKxf1jWhbuQ== + version "4.0.33" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.33.tgz#f7b88d2419d731a39aefc37843a3f293e396f918" + integrity sha512-lAHkSPzBe0Vj+JrhmkEHLtUEKEheVktIjGDyE9gbzF4zf1vibjYgB57LraDHu4/ItqWVkztgsm8GWqcDMN+6vQ== dependencies: "@types/node" "^10.3.2" aes-js "3.0.0" @@ -5700,7 +6078,7 @@ eventemitter3@3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== -eventemitter3@3.1.2: +eventemitter3@3.1.2, eventemitter3@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== @@ -5779,6 +6157,13 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + expect@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" @@ -5842,7 +6227,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@~3.0.2: +extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -5887,6 +6272,16 @@ fake-merkle-patricia-tree@^1.0.1: dependencies: checkpoint-store "^1.1.0" +fancy-log@^1.3.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -5966,6 +6361,13 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" +figures@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9" + integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g== + dependencies: + escape-string-regexp "^1.0.5" + file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -6021,13 +6423,6 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -6094,6 +6489,42 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +findup-sync@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b" + integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng== + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +flagged-respawn@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" + integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q== + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -6113,7 +6544,7 @@ flatten@^1.0.2: resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= -flush-write-stream@^1.0.0: +flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== @@ -6129,11 +6560,11 @@ follow-redirects@1.5.10: debug "=3.1.0" follow-redirects@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" - integrity sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A== + version "1.7.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" + integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== dependencies: - debug "^3.0.0" + debug "^3.2.6" for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -6159,6 +6590,13 @@ for-own@^0.1.3: dependencies: for-in "^1.0.1" +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -6245,11 +6683,19 @@ fs-extra@^8.1.0: universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + version "1.2.6" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" + integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== + dependencies: + minipass "^2.2.1" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= dependencies: - minipass "^2.6.0" + graceful-fs "^4.1.11" + through2 "^2.0.3" fs-write-stream-atomic@^1.0.8: version "1.0.10" @@ -6279,11 +6725,6 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@~2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz#74c64e21df71721845d0c44fe54b7f56b82995a9" - integrity sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw== - fstream@^1.0.0, fstream@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" @@ -6346,9 +6787,9 @@ get-func-name@^2.0.0: integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= get-own-enumerable-property-symbols@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4" - integrity sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA== + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" + integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== get-stdin@^4.0.1: version "4.0.1" @@ -6407,18 +6848,46 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== +glob-parent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" + integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== dependencies: is-glob "^4.0.1" +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= +glob-watcher@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" + integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== + dependencies: + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + object.defaults "^1.1.0" + glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1, glob@~7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -6445,6 +6914,26 @@ global-modules@2.0.0: dependencies: global-prefix "^3.0.0" +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + global-prefix@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" @@ -6505,6 +6994,13 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" +glogg@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" + integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== + dependencies: + sparkles "^1.0.0" + got@9.6.0, got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -6542,7 +7038,12 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.1" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" + integrity sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw== + +graceful-fs@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== @@ -6562,6 +7063,47 @@ gud@^1.0.0: resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== +gulp-cli@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" + integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.1.0" + isobject "^3.0.1" + liftoff "^3.1.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.0.1" + yargs "^7.1.0" + +gulp@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.2.tgz#543651070fd0f6ab0a0650c6a3e6ff5a7cb09caa" + integrity sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA== + dependencies: + glob-watcher "^5.0.3" + gulp-cli "^2.2.0" + undertaker "^1.2.1" + vinyl-fs "^3.0.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + gzip-size@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" @@ -6576,9 +7118,9 @@ handle-thing@^2.0.0: integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== handlebars@^4.1.2: - version "4.4.3" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.3.tgz#180bae52c1d0e9ec0c15d7e82a4362d662762f6e" - integrity sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw== + version "4.1.2" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" + integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -6724,7 +7266,7 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -history@^4.10.1, history@^4.9.0: +history@^4.10.1: version "4.10.1" resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== @@ -6736,6 +7278,18 @@ history@^4.10.1, history@^4.9.0: tiny-warning "^1.0.0" value-equal "^1.0.1" +history@^4.9.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz#84587c2068039ead8af769e9d6a6860a14fa1bca" + integrity sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^2.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^0.4.0" + hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -6760,10 +7314,17 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" - integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: + version "2.8.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" + integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== hpack.js@^2.1.6: version "2.1.6" @@ -6915,11 +7476,11 @@ http-proxy-middleware@^0.19.1: micromatch "^3.1.10" http-proxy@^1.17.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" - integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== + version "1.17.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" + integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g== dependencies: - eventemitter3 "^4.0.0" + eventemitter3 "^3.0.0" follow-redirects "^1.0.0" requires-port "^1.0.0" @@ -6952,6 +7513,11 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" +humps@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" + integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= + iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -6996,9 +7562,9 @@ iferr@^0.1.5: integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== dependencies: minimatch "^3.0.4" @@ -7150,21 +7716,21 @@ inquirer@6.5.0: through "^2.3.6" inquirer@^6.4.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== + version "6.5.1" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.1.tgz#8bfb7a5ac02dac6ff641ac4c5ff17da112fcdb42" + integrity sha512-uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw== dependencies: - ansi-escapes "^3.2.0" + ansi-escapes "^4.2.1" chalk "^2.4.2" - cli-cursor "^2.1.0" + cli-cursor "^3.1.0" cli-width "^2.0.0" external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" run-async "^2.2.0" rxjs "^6.4.0" - string-width "^2.1.0" + string-width "^4.1.0" strip-ansi "^5.1.0" through "^2.3.6" @@ -7176,6 +7742,11 @@ internal-ip@^4.2.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" +interpret@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -7218,6 +7789,14 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -7232,11 +7811,6 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -7254,22 +7828,15 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-buffer@^1.0.2, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-buffer@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== is-callable@^1.1.3, is-callable@^1.1.4: version "1.1.4" @@ -7378,6 +7945,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" @@ -7395,7 +7967,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -7420,6 +7992,11 @@ is-natural-number@^4.0.1: resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= + is-npm@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" @@ -7432,10 +8009,10 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" @@ -7502,15 +8079,22 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= is-root@2.1.0: version "2.1.0" @@ -7541,12 +8125,24 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-utf8@^0.2.0: +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= -is-windows@^1.0.2: +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + +is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -7713,9 +8309,9 @@ jest-diff@^24.9.0: pretty-format "^24.9.0" jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== + version "24.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" + integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== dependencies: detect-newline "^2.1.0" @@ -7826,6 +8422,20 @@ jest-matcher-utils@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" +jest-message-util@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" + integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + jest-message-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" @@ -7840,7 +8450,14 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.5.0, jest-mock@^24.9.0: +jest-mock@^24.5.0, jest-mock@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" + integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A== + dependencies: + "@jest/types" "^24.8.0" + +jest-mock@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== @@ -7852,7 +8469,12 @@ jest-pnp-resolver@^1.2.1: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: +jest-regex-util@^24.3.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" + integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== + +jest-regex-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== @@ -7955,7 +8577,25 @@ jest-snapshot@^24.9.0: pretty-format "^24.9.0" semver "^6.2.0" -jest-util@^24.5.0, jest-util@^24.9.0: +jest-util@^24.5.0, jest-util@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" + integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA== + dependencies: + "@jest/console" "^24.7.1" + "@jest/fake-timers" "^24.8.0" + "@jest/source-map" "^24.3.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== @@ -7997,7 +8637,20 @@ jest-watch-typeahead@0.4.0: string-length "^3.1.0" strip-ansi "^5.0.0" -jest-watcher@^24.3.0, jest-watcher@^24.9.0: +jest-watcher@^24.3.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" + integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw== + dependencies: + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/yargs" "^12.0.9" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.8.0" + string-length "^2.0.0" + +jest-watcher@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== @@ -8010,7 +8663,15 @@ jest-watcher@^24.3.0, jest-watcher@^24.9.0: jest-util "^24.9.0" string-length "^2.0.0" -jest-worker@^24.6.0, jest-worker@^24.9.0: +jest-worker@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" + integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== + dependencies: + merge-stream "^1.0.1" + supports-color "^6.1.0" + +jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== @@ -8239,9 +8900,9 @@ json5@^1.0.1: minimist "^1.2.0" json5@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" - integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== dependencies: minimist "^1.2.0" @@ -8285,6 +8946,11 @@ jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: array-includes "^3.0.3" object.assign "^4.1.0" +just-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" + integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= + keccak@^1.0.2: version "1.4.0" resolved "https://registry.yarnpkg.com/keccak/-/keccak-1.4.0.tgz#572f8a6dbee8e7b3aa421550f9e6408ca2186f80" @@ -8336,7 +9002,7 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0: +kind-of@^5.0.0, kind-of@^5.0.2: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== @@ -8359,6 +9025,14 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + latest-version@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" @@ -8376,6 +9050,13 @@ lazy-cache@^1.0.3: resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -8390,6 +9071,13 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= + dependencies: + flush-write-stream "^1.0.2" + left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" @@ -8474,6 +9162,20 @@ lie@3.1.1: dependencies: immediate "~3.0.5" +liftoff@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-3.1.0.tgz#c9ba6081f908670607ee79062d700df062c52ed3" + integrity sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog== + dependencies: + extend "^3.0.0" + findup-sync "^3.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -8603,9 +9305,9 @@ lodash.uniq@^4.5.0: integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== loglevel@^1.4.1: - version "1.6.4" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz#f408f4f006db8354d0577dcf6d33485b3cb90d56" - integrity sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g== + version "1.6.3" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280" + integrity sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -8689,6 +9391,13 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -8708,7 +9417,7 @@ map-age-cleaner@^0.1.1: dependencies: p-defer "^1.0.0" -map-cache@^0.2.2: +map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= @@ -8725,6 +9434,16 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -8771,11 +9490,11 @@ memdown@^1.0.0: safe-buffer "~5.1.1" memoize-one@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" - integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== + version "5.0.5" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e" + integrity sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ== -memory-fs@^0.4.1: +memory-fs@^0.4.0, memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -8783,14 +9502,6 @@ memory-fs@^0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -8821,15 +9532,22 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + dependencies: + readable-stream "^2.0.1" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.2.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== + version "1.2.4" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" + integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A== merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: version "2.3.2" @@ -8855,7 +9573,7 @@ microevent.ts@~0.1.1: resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -8882,16 +9600,11 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.40.0: +mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": version "1.40.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== -"mime-db@>= 1.40.0 < 2": - version "1.42.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz#3e252907b4c7adb906597b4b65636272cf9e7bac" - integrity sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== - mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.24" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" @@ -8904,7 +9617,7 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.4: +mime@^2.4.2, mime@^2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== @@ -8914,7 +9627,7 @@ 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-fn@^2.0.0: +mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -8982,20 +9695,28 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== +minipass@^2.2.1, minipass@^2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minipass@^2.6.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.8.4.tgz#490fe62adeb620c4a3373f62ee1c31cf2ef36385" + integrity sha512-i97pKD0f0eZLlhcTTSa6b6QlxCD7cvh8t/5MyR/pqchD5GPAeDaUrXQCoYA+W/VmmCgWvS/ADbfW3FUc+iT51Q== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== dependencies: - minipass "^2.9.0" + minipass "^2.2.1" mississippi@^3.0.0: version "3.0.0" @@ -9036,7 +9757,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -9093,11 +9814,21 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" +mute-stdout@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" + integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + nan@2.13.2: version "2.13.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" @@ -9206,10 +9937,10 @@ node-fetch@~1.7.1: encoding "^0.1.11" is-stream "^1.0.1" -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== +node-forge@0.7.5: + version "0.7.5" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" + integrity sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ== node-gyp@^3.8.0: version "3.8.0" @@ -9295,12 +10026,19 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.29, node-releases@^1.1.36: - version "1.1.36" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.36.tgz#44b7cb8254138e87bdbfa47761d0f825e20900b4" - integrity sha512-ggXhX6QGyJSjj3r+6ml2LqqC28XOWmKtpb+a15/Zpr9V3yoNazxJNlcQDS9bYaid5FReEWHEgToH1mwoUceWwg== +node-releases@^1.1.25: + version "1.1.27" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.27.tgz#b19ec8add2afe9a826a99dceccc516104c1edaf4" + integrity sha512-9iXUqHKSGo6ph/tdXVbHFbhRVQln4ZDTIBJCzsa90HimnBYc5jw8RWYt4wBYFHehGyC3koIz5O4mb2fHrbPOuA== dependencies: - semver "^6.3.0" + semver "^5.3.0" + +node-releases@^1.1.29: + version "1.1.32" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.32.tgz#485b35c1bf9b4d8baa105d782f8ca731e518276e" + integrity sha512-VhVknkitq8dqtWoluagsGPn3dxTvN9fwgR59fV3D7sLBHe0JfDramsMI8n8mY//ccq/Kkrf8ZRHRpsyVZ3qw1A== + dependencies: + semver "^5.3.0" node-sass@^4.12.0: version "4.12.0" @@ -9357,7 +10095,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0, normalize-path@~3.0.0: +normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -9383,9 +10121,16 @@ normalize-url@^3.0.0: integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" + integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + +now-and-later@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" + integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== + dependencies: + once "^1.3.2" npm-bundled@^1.0.1: version "1.0.6" @@ -9419,19 +10164,19 @@ npm-check-updates@^3.1.24: update-notifier "^3.0.1" npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" - integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" + integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== dependencies: - hosted-git-info "^2.7.1" + hosted-git-info "^2.6.0" osenv "^0.1.5" - semver "^5.6.0" + semver "^5.5.0" validate-npm-package-name "^3.0.0" npm-packlist@^1.1.12, npm-packlist@^1.1.6: - version "1.4.6" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz#53ba3ed11f8523079f1457376dd379ee4ea42ff4" - integrity sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg== + version "1.4.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" + integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" @@ -9446,9 +10191,9 @@ npm-pick-manifest@^3.0.0: semver "^5.4.1" npm-registry-fetch@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.2.tgz#2b1434f93ccbe6b6385f8e45f45db93e16921d7a" - integrity sha512-Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A== + version "4.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz#5ef75845b605855c7964472542c25da172af8677" + integrity sha512-Jllq35Jag8dtv0M17ue74XtdQTyqKzuAYGiX9mAjOhkmNjib3bBUgK6mUY61+AHnXeSRobQkpY3/xIOS/omptw== dependencies: JSONStream "^1.3.4" bluebird "^3.5.1" @@ -9456,7 +10201,6 @@ npm-registry-fetch@^4.0.0: lru-cache "^5.1.1" make-fetch-happen "^5.0.0" npm-package-arg "^6.1.0" - safe-buffer "^5.2.0" npm-run-path@^2.0.0: version "2.0.2" @@ -9534,11 +10278,6 @@ object-inspect@^1.6.0, object-inspect@~1.6.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== -object-is@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6" - integrity sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY= - object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -9561,7 +10300,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: +object.assign@^4.0.4, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -9571,6 +10310,16 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +object.defaults@^1.0.0, object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" @@ -9582,14 +10331,14 @@ object.entries@^1.1.0: has "^1.0.3" object.fromentries@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704" - integrity sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA== + version "2.0.0" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" + integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== dependencies: - define-properties "^1.1.3" - es-abstract "^1.15.0" + define-properties "^1.1.2" + es-abstract "^1.11.0" function-bind "^1.1.1" - has "^1.0.3" + has "^1.0.1" object.getownpropertydescriptors@^2.0.3: version "2.0.3" @@ -9599,13 +10348,29 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.2" es-abstract "^1.5.1" -object.pick@^1.3.0: +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.pick@^1.2.0, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + object.values@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" @@ -9640,7 +10405,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -9654,6 +10419,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + open@^6.3.0: version "6.4.0" resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" @@ -9701,6 +10473,13 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= + dependencies: + readable-stream "^2.0.1" + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -9787,9 +10566,9 @@ p-limit@^1.1.0: p-try "^1.0.0" p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" + integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== dependencies: p-try "^2.0.0" @@ -9892,11 +10671,11 @@ pako@~1.0.5: integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= dependencies: - cyclist "^1.0.1" + cyclist "~0.2.2" inherits "^2.0.3" readable-stream "^2.1.5" @@ -9915,9 +10694,9 @@ parent-module@^1.0.0: callsites "^3.0.0" parse-asn1@^5.0.0: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + version "5.1.4" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" + integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -9926,6 +10705,15 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + parse-headers@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" @@ -9949,6 +10737,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -10016,6 +10814,18 @@ path-parse@^1.0.5, path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -10077,11 +10887,6 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" - integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== - pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -10157,13 +10962,13 @@ pnp-webpack-plugin@1.5.0: ts-pnp "^1.1.2" portfinder@^1.0.9: - version "1.0.25" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" - integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== + version "1.0.21" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.21.tgz#60e1397b95ac170749db70034ece306b9a27e324" + integrity sha512-ESabpDCzmBS3ekHbmpAIiESq3udRsCBGiBZLsC+HgBKv2ezb0R4oG+7RnYEVZ/ZCfhel5Tx3UzdNWA0Lox2QCA== dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.1" + async "^1.5.2" + debug "^2.2.0" + mkdirp "0.5.x" posix-character-classes@^0.1.0: version "0.1.1" @@ -10798,7 +11603,7 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2: +postcss-value-parser@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== @@ -10821,10 +11626,10 @@ postcss@7.0.14: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233" - integrity sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" + integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -10873,12 +11678,17 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== -process-nextick-args@~2.0.0: +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== @@ -10969,9 +11779,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.4.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" - integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== + version "1.3.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" + integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== public-encrypt@^4.0.0: version "4.0.3" @@ -11001,7 +11811,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: +pumpify@^1.3.3, pumpify@^1.3.5: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== @@ -11045,10 +11855,10 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@*, query-string@^6.8.3: - version "6.8.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" - integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== +query-string@*: + version "6.8.2" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.2.tgz#36cb7e452ae11a4b5e9efee83375e0954407b2f6" + integrity sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -11071,6 +11881,15 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +query-string@^6.8.3: + version "6.8.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" + integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== + dependencies: + decode-uri-component "^0.2.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -11086,7 +11905,7 @@ querystringify@^2.0.0, querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== -raf@3.4.1: +raf@3.4.1, raf@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== @@ -11213,29 +12032,29 @@ react-dom@^16.9.0: scheduler "^0.16.2" react-element-to-jsx-string@^14.0.3: - version "14.1.0" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.1.0.tgz#31fcc3a82459d5e57ef852aa6879bcd0a578a8cb" - integrity sha512-uvfAsY6bn2c8HMBkxwj+2MMXcvNIkKDl0aZg2Jhzp+c096hZaXUNivVCP2H4RBtmGSSJcfMqQA5oPk8YdqFOVw== + version "14.0.3" + resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.3.tgz#64f50fdbf6ba154d6439da3d7307f79069b94d58" + integrity sha512-ziZAm7OwEfFtyhCmQiFNI87KFu+G9EP8qVW4XtDHdKNqqprYifLzqXkzHqC1vnVsPhyp2znoPm0bJHAf1mUBZA== dependencies: - "@base2/pretty-print-object" "^1.0.0" is-plain-object "3.0.0" + stringify-object "3.3.0" react-error-overlay@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz#c378c4b0a21e88b2e159a3e62b2f531fd63bf60d" integrity sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw== -react-input-autosize@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2" - integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw== +react-input-autosize@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8" + integrity sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA== dependencies: prop-types "^15.5.8" react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: - version "16.10.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz#984120fd4d16800e9a738208ab1fba422d23b5ab" - integrity sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA== + version "16.9.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" + integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -11255,22 +12074,22 @@ react-redux@^7.1.1: react-is "^16.9.0" react-router-dom@^5.0.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" - integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew== + version "5.0.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.1.tgz#ee66f4a5d18b6089c361958e443489d6bab714be" + integrity sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA== dependencies: "@babel/runtime" "^7.1.2" history "^4.9.0" loose-envify "^1.3.1" prop-types "^15.6.2" - react-router "5.1.2" + react-router "5.0.1" tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.1.2, react-router@^5.0.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" - integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== +react-router@5.0.1, react-router@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" + integrity sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg== dependencies: "@babel/runtime" "^7.1.2" history "^4.9.0" @@ -11345,17 +12164,19 @@ react-scripts@^3.1.2: fsevents "2.0.7" react-select@^3.0.4: - version "3.0.8" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.8.tgz#06ff764e29db843bcec439ef13e196865242e0c1" - integrity sha512-v9LpOhckLlRmXN5A6/mGGEft4FMrfaBFTGAnuPHcUgVId7Je42kTq9y0Z+Ye5z8/j0XDT3zUqza8gaRaI1PZIg== + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.4.tgz#16bde37c24fd4f6444914d4681e78f15ffbc86d3" + integrity sha512-fbVISKa/lSUlLsltuatfUiKcWCNvdLXxFFyrzVQCBUsjxJZH/m7UMPdw/ywmRixAmwXAP++MdbNNZypOsiDEfA== dependencies: "@babel/runtime" "^7.4.4" "@emotion/cache" "^10.0.9" "@emotion/core" "^10.0.9" "@emotion/css" "^10.0.9" + classnames "^2.2.5" memoize-one "^5.0.0" prop-types "^15.6.0" - react-input-autosize "^2.2.2" + raf "^3.4.0" + react-input-autosize "^2.2.1" react-transition-group "^2.2.1" react-simple-maps@^0.12.1: @@ -11448,7 +12269,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -11499,13 +12320,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== - dependencies: - picomatch "^2.0.4" - realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -11513,6 +12327,13 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + recursive-readdir@2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" @@ -11597,12 +12418,10 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp.prototype.flags@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz#6b30724e306a27833eeb171b66ac8890ba37e41c" - integrity sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA== - dependencies: - define-properties "^1.1.2" +regexp-tree@^0.1.6: + version "0.1.11" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" + integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== regexpp@^2.0.1: version "2.0.1" @@ -11618,6 +12437,18 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" +regexpu-core@^4.5.4: + version "4.5.5" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" + integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.1.0" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.1.0" + regexpu-core@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" @@ -11674,7 +12505,24 @@ relateurl@0.2.x: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -remove-trailing-separator@^1.0.1: +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= @@ -11707,6 +12555,20 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + request-promise-core@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" @@ -11790,6 +12652,14 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -11800,6 +12670,18 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= + dependencies: + value-or-function "^3.0.0" + +resolve-pathname@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" + integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== + resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" @@ -11831,7 +12713,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.12.0, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: +resolve@1.12.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: version "1.12.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== @@ -11867,6 +12749,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" @@ -11907,14 +12797,7 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@2.6.3: +rimraf@2, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -11962,9 +12845,9 @@ rustbn.js@~0.2.0: integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== rxjs@^6.4.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" - integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== + version "6.5.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" + integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== dependencies: tslib "^1.9.0" @@ -11973,7 +12856,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== @@ -12062,7 +12945,15 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.0, schema-utils@^2.0.1, schema-utils@^2.2.0: +schema-utils@^2.0.0, schema-utils@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393" + integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw== + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.2.0: version "2.5.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ== @@ -12140,11 +13031,11 @@ select-hose@^2.0.0: integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= selfsigned@^1.9.1: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== + version "1.10.4" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd" + integrity sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw== dependencies: - node-forge "0.9.0" + node-forge "0.7.5" semaphore@>=1.0.1, semaphore@^1.0.3: version "1.1.0" @@ -12158,6 +13049,13 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= + dependencies: + sver-compat "^1.5.0" + semver-utils@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/semver-utils/-/semver-utils-1.1.4.tgz#cf0405e669a57488913909fc1c3f29bf2a4871e2" @@ -12208,9 +13106,9 @@ send@0.17.1: statuses "~1.5.0" serialize-javascript@^1.7.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" - integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== + version "1.7.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" + integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== serve-index@^1.7.2: version "1.9.1" @@ -12538,6 +13436,11 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + spawn-please@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/spawn-please/-/spawn-please-0.3.0.tgz#db338ec4cff63abc69f1d0e08cee9eb8bebd9d11" @@ -12636,6 +13539,11 @@ stable@^0.1.8: resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== +stack-trace@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" @@ -12682,6 +13590,11 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== + stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" @@ -12750,6 +13663,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" + integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^5.2.0" + string.prototype.trim@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" @@ -12803,7 +13725,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@^3.3.0: +stringify-object@3.3.0, stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -12925,6 +13847,14 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= + dependencies: + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + svg-parser@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" @@ -12978,9 +13908,9 @@ symbol-tree@^3.2.2: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + version "5.4.5" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42" + integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA== dependencies: ajv "^6.10.2" lodash "^4.17.14" @@ -13033,14 +13963,27 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" -tar@^4, tar@^4.0.2, tar@^4.4.10: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== +tar@^4, tar@^4.0.2: + version "4.4.10" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" + integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.5" + minizlib "^1.2.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.3" + +tar@^4.4.10: + version "4.4.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.11.tgz#7ac09801445a3cf74445ed27499136b5240ffb73" + integrity sha512-iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA== dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.8.6" + minipass "^2.6.4" minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" @@ -13069,9 +14012,9 @@ terser-webpack-plugin@1.4.1, terser-webpack-plugin@^1.4.1: worker-farm "^1.7.0" terser@^4.1.2: - version "4.3.9" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8" - integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA== + version "4.1.4" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.4.tgz#4478b6a08bb096a61e793fea1a4434408bab936c" + integrity sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -13097,7 +14040,15 @@ throat@^4.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= -through2@^2.0.0, through2@^2.0.3: +through2-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" + integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -13111,9 +14062,14 @@ through2@^2.0.0, through2@^2.0.3: integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" + integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== + +time-stamp@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" @@ -13154,6 +14110,14 @@ tmpl@1.0.x: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -13194,13 +14158,6 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -13211,6 +14168,13 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= + dependencies: + through2 "^2.0.3" + toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" @@ -13263,11 +14227,16 @@ trim-right@^1.0.1: dependencies: glob "^7.1.2" -ts-pnp@1.1.4, ts-pnp@^1.1.2: +ts-pnp@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== +ts-pnp@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" + integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== + ts-unused-exports@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-2.0.11.tgz#4c19c2a7d59662b51796a4eba1ce75681783fea1" @@ -13383,9 +14352,9 @@ type-is@~1.6.17, type-is@~1.6.18: mime-types "~2.1.24" type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/type/-/type-1.0.3.tgz#16f5d39f27a2d28d86e48f8981859e9d3296c179" + integrity sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -13423,11 +14392,11 @@ uglify-js@3.4.x: source-map "~0.6.1" uglify-js@^3.1.4: - version "3.6.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.2.tgz#fd8048c86d990ddd29fe99d3300e0cb329103f4d" - integrity sha512-+gh/xFte41GPrgSMJ/oJVq15zYmqr74pY9VoM69UzMzq9NFk4YDylclb1/bhEzZSaUQjbW5RvniHeq1cdtRYjw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" + integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== dependencies: - commander "2.20.0" + commander "~2.20.0" source-map "~0.6.1" ultron@~1.1.0: @@ -13443,11 +14412,36 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + underscore@1.9.1, underscore@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= + +undertaker@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" + integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -13505,6 +14499,14 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-stream@^2.0.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" + integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== + dependencies: + json-stable-stringify-without-jsonify "^1.0.1" + through2-filter "^3.0.0" + unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -13546,9 +14548,9 @@ unstated-next@^1.1.0: integrity sha512-AAn47ZncPvgBGOvMcn8tSRxsrqwf2VdAPxLASTuLJvZt4rhKfDvUkmYZLGfclImSfTVMv7tF4ynaVxin0JjDCA== upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + version "1.1.2" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" + integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== update-notifier@^3.0.1: version "3.0.1" @@ -13699,21 +14701,23 @@ uuid@2.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= -uuid@3.3.2: +uuid@3.3.2, uuid@^3.0.1, uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== -uuid@^3.0.1, uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== +v8flags@^3.0.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" + integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== + dependencies: + homedir-polyfill "^1.0.1" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -13729,11 +14733,21 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" +value-equal@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" + integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== + value-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= + vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -13753,6 +14767,54 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vinyl-fs@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + vm-browserify@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" @@ -14305,13 +15367,12 @@ webidl-conversions@^4.0.2: integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== webpack-dev-middleware@^3.5.1: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== + version "3.7.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz#ef751d25f4e9a5c8a35da600c5fda3582b5c6cff" + integrity sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA== dependencies: memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" + mime "^2.4.2" range-parser "^1.2.1" webpack-log "^2.0.0" @@ -14422,7 +15483,7 @@ websocket-extensions@>=0.1.1: "websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": version "1.0.29" - resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/905deb4812572b344f5801f8c9ce8bb02799d82e" + resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/b134a75541b5db59668df81c03e926cd5f325077" dependencies: debug "^2.2.0" es5-ext "^0.10.50" @@ -14481,7 +15542,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -14779,9 +15840,9 @@ xml-name-validator@^3.0.0: integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + version "2.1.1" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz#ef1a81c05bff629c2280007f12daca21bd6f6c93" + integrity sha512-7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w== xmlhttprequest@1.8.0: version "1.8.0" @@ -14826,9 +15887,9 @@ yallist@^2.1.2: integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== yargs-parser@^10.1.0: version "10.1.0" @@ -14886,7 +15947,7 @@ yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" -yargs@^7.0.0: +yargs@^7.0.0, yargs@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= From ce1a70c94ebc28fde41cc563e7d0fb51d4883748 Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 18 Oct 2019 11:26:32 +1100 Subject: [PATCH 081/117] Revert "Reverted dependency updates" This reverts commit 0ea1949bab1ae11da43f302f811101372043c3b0. --- package.json | 32 ++++++++-------- yarn.lock | 103 ++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 89 insertions(+), 46 deletions(-) diff --git a/package.json b/package.json index c4f410d9..d77572e5 100644 --- a/package.json +++ b/package.json @@ -19,21 +19,21 @@ "@fortawesome/free-brands-svg-icons": "^5.11.2", "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", - "@fortawesome/react-fontawesome": "^0.1.4", - "@renproject/contracts": "0.3.18", + "@fortawesome/react-fontawesome": "^0.1.6", + "@renproject/contracts": "0.3.23", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.32", - "@sentry/browser": "^5.6.3", - "@sentry/core": "^5.6.2", + "@sentry/browser": "^5.7.1", + "@sentry/core": "^5.7.1", "@types/bs58": "^4.0.0", "@types/filesize": "^4.2.0", - "@types/jest": "^24.0.18", - "@types/node": "^12.7.5", + "@types/jest": "^24.0.19", + "@types/node": "^12.11.1", "@types/query-string": "^6.3.0", - "@types/react": "^16.9.2", - "@types/react-dom": "^16.9.0", - "@types/react-redux": "^7.1.2", - "@types/react-router-dom": "^4.3.5", + "@types/react": "^16.9.9", + "@types/react-dom": "^16.9.2", + "@types/react-redux": "^7.1.4", + "@types/react-router-dom": "^5.1.0", "@types/react-simple-maps": "^0.12.2", "@types/react-transition-group": "1.1", "@types/underscore": "^1.9.3", @@ -41,26 +41,26 @@ "bignumber.js": "^9.0.0", "bs58": "^4.0.1", "chart.js": "^2.8.0", - "filesize": "^4.2.0", + "filesize": "^5.0.3", "history": "^4.10.1", "immutable": "^4.0.0-rc.12", "localforage": "^1.7.3", "moment": "^2.24.0", "node-sass": "^4.12.0", "query-string": "^6.8.3", - "react": "^16.9.0", + "react": "^16.10.2", "react-chartjs-2": "^2.8.0", - "react-dom": "^16.9.0", + "react-dom": "^16.10.2", "react-redux": "^7.1.1", - "react-router-dom": "^5.0.1", - "react-scripts": "^3.1.2", + "react-router-dom": "^5.1.2", + "react-scripts": "^3.2.0", "react-simple-maps": "^0.12.1", "react-transition-group": "1.2", "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-thunk": "^2.3.0", "typesafe-actions": "^4.4.2", - "typescript": "^3.6.3", + "typescript": "^3.6.4", "unstated-next": "^1.1.0", "wallet-address-validator": "^0.2.4", "web3": "2.0.0-alpha.1", diff --git a/yarn.lock b/yarn.lock index 906f9d81..916535c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1142,6 +1142,13 @@ humps "^2.0.1" prop-types "^15.5.10" +"@fortawesome/react-fontawesome@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz#b798b96401e25d07c30bbe1b9ec0e6d8a33760a5" + integrity sha512-DNqt2t4JQ0YQKi832XzByk1wlQzgugwwCCNQHsFyz1z/zA9dtypSvsvVwMIaWXMljalYzKAA2zHX13C1DIxKAw== + dependencies: + prop-types "^15.5.10" + "@hapi/address@2.x.x": version "2.0.0" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" @@ -1385,12 +1392,13 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.18": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.18.tgz#a8fe77e0a2142ab7ea78ce4ec4d7aa3040c7d87d" - integrity sha512-41/LRvbw0zQksyD56o14fx4TN+XZVR+u1cTZTOXfp/d8G7I051NSKW9GpdEOvk32PA3dPRM0z6B754FNzvIJCg== +"@renproject/contracts@0.3.23": + version "0.3.23" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.23.tgz#2e8d983ba7b5837d769f7146c1c0066b91c4598f" + integrity sha512-vXlzbgC/hOJrM6qxCfjqJ6CJi9w/bUbj2CNuIK+wXcgju/eaOqBHXtdPa39J7WxX1vNcuf0Q/ukDaaVRzCs39g== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" + darknode-sol "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" + node-sass "^4.12.0" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -1414,7 +1422,7 @@ react-router-dom "^5.0.1" react-select "^3.0.4" -"@sentry/browser@^5.6.3": +"@sentry/browser@^5.7.1": version "5.7.1" resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.7.1.tgz#1f8435e2a325d7a09f830065ebce40a2b3c708a4" integrity sha512-K0x1XhsHS8PPdtlVOLrKZyYvi5Vexs9WApdd214bO6KaGF296gJvH1mG8XOY0+7aA5i2A7T3ttcaJNDYS49lzw== @@ -1424,7 +1432,7 @@ "@sentry/utils" "5.7.1" tslib "^1.9.3" -"@sentry/core@5.7.1", "@sentry/core@^5.6.2": +"@sentry/core@5.7.1", "@sentry/core@^5.7.1": version "5.7.1" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.7.1.tgz#3eb2b7662cac68245931ee939ec809bf7a639d0e" integrity sha512-AOn3k3uVWh2VyajcHbV9Ta4ieDIeLckfo7UMLM+CTk2kt7C89SayDGayJMSsIrsZlL4qxBoLB9QY4W2FgAGJrg== @@ -1715,7 +1723,7 @@ resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -"@types/jest@^24.0.18": +"@types/jest@^24.0.19": version "24.0.19" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.19.tgz#f7036058d2a5844fe922609187c0ad8be430aff5" integrity sha512-YYiqfSjocv7lk5H/T+v5MjATYjaTMsUkbDnjGqSMoO88jWdtJXJV4ST/7DKZcoMHMBvB2SeSfyOzZfkxXHR5xg== @@ -1737,16 +1745,16 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== +"@types/node@^12.11.1": + version "12.11.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" + integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== + "@types/node@^12.6.1": version "12.7.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== -"@types/node@^12.7.5": - version "12.11.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" - integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== - "@types/prop-types@*": version "15.7.1" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" @@ -1771,14 +1779,14 @@ dependencies: "@types/react" "*" -"@types/react-dom@^16.9.0": +"@types/react-dom@^16.9.2": version "16.9.2" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz#90f9e6c161850be1feb31d2f448121be2a4f3b47" integrity sha512-hgPbBoI1aTSTvZwo8HYw35UaTldW6n2ETLvHAcfcg1FaOuBV3olmyCe5eMpx2WybWMBPv0MdU2t5GOcQhP+3zA== dependencies: "@types/react" "*" -"@types/react-redux@^7.1.2": +"@types/react-redux@^7.1.4": version "7.1.4" resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.4.tgz#e0d02a073e730b8b58a6341bddca2ea692ff0bce" integrity sha512-SUV/7d+4L7C1Db/D4pqASgN1V1U2HnDEhEol9lYpPSguS76xFboZzf5ha2hTz6v31cUewyC7WksMh1q8JxhebQ== @@ -1788,10 +1796,10 @@ hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-router-dom@^4.3.5": - version "4.3.5" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.3.5.tgz#72f229967690c890d00f96e6b85e9ee5780db31f" - integrity sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA== +"@types/react-router-dom@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.0.tgz#8baa84a7fa8c8e7797fb3650ca51f93038cb4caf" + integrity sha512-YCh8r71pL5p8qDwQf59IU13hFy/41fDQG/GeOI3y+xmD4o0w3vEPxE8uBe+dvOgMoDl0W1WUZsWH0pxc1mcZyQ== dependencies: "@types/history" "*" "@types/react" "*" @@ -1844,7 +1852,7 @@ "@types/prop-types" "*" csstype "^2.2.0" -"@types/react@^16.9.2": +"@types/react@^16.9.9": version "16.9.9" resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz#a62c6f40f04bc7681be5e20975503a64fe783c3a" integrity sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg== @@ -4844,6 +4852,12 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== +"darknode-sol@https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648": + version "0.0.3" + resolved "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" + dependencies: + openzeppelin-solidity "2.3.0" + "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" @@ -6408,10 +6422,10 @@ filesize@3.6.1: resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== -filesize@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-4.2.1.tgz#ab1cb2069db5d415911c1a13e144c0e743bc89bc" - integrity sha512-bP82Hi8VRZX/TUBKfE24iiUGsB/sfm2WUrwTQyAzQrhO3V9IhcBBNBXMyzLY5orACxRyYJ3d2HeRVX+eFv4lmA== +filesize@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-5.0.3.tgz#2fa284185e9d2e8edbec2915b4dadce4043aac31" + integrity sha512-RM123v6KPqgZJmVCh4rLvCo8tLKr4sgD92DeZ+AuoUE8teGZJHKs1cTORwETcpIJSlGsz2WYdwKDQUXby5hNqQ== fill-range@^4.0.0: version "4.0.0" @@ -12021,7 +12035,7 @@ react-dev-utils@^9.1.0: strip-ansi "5.2.0" text-table "0.2.0" -react-dom@^16.9.0: +react-dom@^16.10.2: version "16.10.2" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz#4840bce5409176bc3a1f2bd8cb10b92db452fda6" integrity sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw== @@ -12086,6 +12100,19 @@ react-router-dom@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" +react-router-dom@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" + integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.1.2" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + react-router@5.0.1, react-router@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" @@ -12102,7 +12129,23 @@ react-router@5.0.1, react-router@^5.0.1: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-scripts@^3.1.2: +react-router@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" + integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.3.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-scripts@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz#58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c" integrity sha512-6LzuKbE2B4eFQG6i1FnTScn9HDcWBfXXnOwW9xKFPJ/E3rK8i1ufbOZ0ocKyRPxJAKdN7iqg3i7lt0+oxkSVOA== @@ -12209,7 +12252,7 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.9.0: +react@^16.10.2: version "16.10.2" resolved "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz#a5ede5cdd5c536f745173c8da47bda64797a4cf0" integrity sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw== @@ -14378,7 +14421,7 @@ typescript@^2.9.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== -typescript@^3.6.3: +typescript@^3.6.4: version "3.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== @@ -15212,9 +15255,9 @@ web3-net@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -"web3-provider-engine@https://github.com/trufflesuite/provider-engine#web3-one": +"web3-provider-engine@git+https://github.com/trufflesuite/provider-engine.git#web3-one": version "14.0.6" - resolved "https://github.com/trufflesuite/provider-engine#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" + resolved "git+https://github.com/trufflesuite/provider-engine.git#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" dependencies: async "^2.5.0" backoff "^2.5.0" From b780a3e2886d921cbe722ec422851b6946d02edc Mon Sep 17 00:00:00 2001 From: noiach Date: Fri, 18 Oct 2019 12:08:47 +1100 Subject: [PATCH 082/117] Updated eth node url, fixed import --- src/lib/declarations/truffle-hdwallet-provider.d.ts | 2 +- src/lib/ethereum/getWeb3.ts | 5 ++--- src/lib/react/environmentVariables.ts | 2 +- src/store/applicationState.ts | 4 ++-- src/styles/scss/_sidebar.scss | 1 + src/test/globalSetup.ts | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/declarations/truffle-hdwallet-provider.d.ts b/src/lib/declarations/truffle-hdwallet-provider.d.ts index f7f45f63..95e64aa6 100644 --- a/src/lib/declarations/truffle-hdwallet-provider.d.ts +++ b/src/lib/declarations/truffle-hdwallet-provider.d.ts @@ -1 +1 @@ -declare module "truffle-hdwallet-provider"; \ No newline at end of file +declare module "@truffle/hdwallet-provider"; \ No newline at end of file diff --git a/src/lib/ethereum/getWeb3.ts b/src/lib/ethereum/getWeb3.ts index ad9a854d..3e107ec5 100644 --- a/src/lib/ethereum/getWeb3.ts +++ b/src/lib/ethereum/getWeb3.ts @@ -2,7 +2,6 @@ import Web3 from "web3"; import { provider } from "web3-providers"; import { Language } from "../../languages/language"; -import { PUBLIC_NODE } from "../react/environmentVariables"; import { _noCapture_ } from "../react/errors"; export const ErrorCanceledByUser = "User denied transaction signature."; @@ -11,8 +10,8 @@ const ErrorNoWeb3 = Language.wallet.mustInstallMetaMask; // const ErrorNoAccounts = Language.wallet.noAccounts; const ErrorAccountAccessRejected = Language.wallet.mustConnect; -export const getReadOnlyWeb3 = (): Web3 => { - return new Web3(PUBLIC_NODE); +export const getReadOnlyWeb3 = (publicNode: string): Web3 => { + return new Web3(publicNode); }; export const getInjectedWeb3Provider = async (onAnyProvider?: (provider: provider) => void): Promise => { diff --git a/src/lib/react/environmentVariables.ts b/src/lib/react/environmentVariables.ts index 9cc0839d..a4c42484 100644 --- a/src/lib/react/environmentVariables.ts +++ b/src/lib/react/environmentVariables.ts @@ -5,6 +5,6 @@ export const NODE_ENV = process.env.NODE_ENV; export const SOURCE_VERSION = process.env.REACT_APP_SOURCE_VERSION || "local"; // Set in .env / settings page -export const PUBLIC_NODE = process.env.REACT_APP_PUBLIC_NODE || ""; +export const INFURA_KEY = process.env.REACT_APP_INFURA_KEY || ""; export const SENTRY_DSN = process.env.REACT_APP_SENTRY_DSN || ""; export const DEFAULT_REN_NETWORK = (process.env.REACT_APP_NETWORK as RenNetwork) || RenNetwork.Testnet; diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index f72aa2c6..4df40604 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -11,7 +11,7 @@ import { Web3Browser } from "../lib/ethereum/browsers"; import { DarknodeFeeStatus, RegistrationStatus } from "../lib/ethereum/contractReads"; import { getReadOnlyWeb3 } from "../lib/ethereum/getWeb3"; import { OldToken, Token, TokenPrices } from "../lib/ethereum/tokens"; -import { DEFAULT_REN_NETWORK } from "../lib/react/environmentVariables"; +import { DEFAULT_REN_NETWORK, INFURA_KEY } from "../lib/react/environmentVariables"; import { _captureBackgroundException_ } from "../lib/react/errors"; import { Serializable } from "../lib/react/serializable"; @@ -22,7 +22,7 @@ export interface ApplicationState { ui: UIState; } -export const readOnlyWeb3 = getReadOnlyWeb3(); +export const readOnlyWeb3 = getReadOnlyWeb3(`${(RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails).infura}/${INFURA_KEY}`); export class AccountState extends Record({ // Login data diff --git a/src/styles/scss/_sidebar.scss b/src/styles/scss/_sidebar.scss index 8d876d7c..f06d84d4 100644 --- a/src/styles/scss/_sidebar.scss +++ b/src/styles/scss/_sidebar.scss @@ -320,6 +320,7 @@ input[type="text"].sidebar--search--input { width: 200px; height: 28px; left: -5px; + z-index: 20; cursor: pointer; diff --git a/src/test/globalSetup.ts b/src/test/globalSetup.ts index 4804c5b0..09bd6f35 100644 --- a/src/test/globalSetup.ts +++ b/src/test/globalSetup.ts @@ -1,7 +1,7 @@ import { ganache, RenNetworkDetails } from "@renproject/contracts"; +import HDWalletProvider from "@truffle/hdwallet-provider"; import { should } from "chai"; import { join } from "path"; -import HDWalletProvider from "truffle-hdwallet-provider"; import Web3 from "web3"; should(); From 4ae9028d79a0eb5f0aa43ad3c988df9b91807d7d Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 31 Oct 2019 11:31:56 +1100 Subject: [PATCH 083/117] package.json: updated @renprojects/ren --- package.json | 2 +- yarn.lock | 50 +++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index d77572e5..8fc0ba7a 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", "@fortawesome/react-fontawesome": "^0.1.6", - "@renproject/contracts": "0.3.23", + "@renproject/contracts": "0.3.24", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.32", "@sentry/browser": "^5.7.1", diff --git a/yarn.lock b/yarn.lock index 916535c8..0794313e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1392,13 +1392,13 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.23": - version "0.3.23" - resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.23.tgz#2e8d983ba7b5837d769f7146c1c0066b91c4598f" - integrity sha512-vXlzbgC/hOJrM6qxCfjqJ6CJi9w/bUbj2CNuIK+wXcgju/eaOqBHXtdPa39J7WxX1vNcuf0Q/ukDaaVRzCs39g== +"@renproject/contracts@0.3.24": + version "0.3.24" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.24.tgz#b76906d627fd63199bb5bae57d9f3b19105167e6" + integrity sha512-vhfcmHgbZj3jQpLlD4Bpvt3QtwUgE9y2G2HKhD2dY+WOrWyIyrypvv9JkXLpp22JbWQ1tkTRpBDLCY7p0UHDSg== dependencies: - darknode-sol "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" - node-sass "^4.12.0" + darknode-sol "https://github.com/renproject/darknode-sol#42f1a180938ee3a81eb84291281a68675f2ef164" + node-sass "^4.13.0" "@renproject/fonts@^1.0.1": version "1.0.1" @@ -4852,11 +4852,11 @@ damerau-levenshtein@^1.0.4: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== -"darknode-sol@https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648": +"darknode-sol@https://github.com/renproject/darknode-sol#42f1a180938ee3a81eb84291281a68675f2ef164": version "0.0.3" - resolved "https://github.com/renproject/darknode-sol#7ff6489776ded39019873d1db6bfe66bfc47c648" + resolved "https://github.com/renproject/darknode-sol#42f1a180938ee3a81eb84291281a68675f2ef164" dependencies: - openzeppelin-solidity "2.3.0" + openzeppelin-solidity "2.4.0" "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" @@ -10077,6 +10077,29 @@ node-sass@^4.12.0: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" +node-sass@^4.13.0: + version "4.13.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.0.tgz#b647288babdd6a1cb726de4545516b31f90da066" + integrity sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA== + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "^2.2.4" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + "nopt@2 || 3": version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -10452,6 +10475,11 @@ openzeppelin-solidity@2.3.0: resolved "https://registry.yarnpkg.com/openzeppelin-solidity/-/openzeppelin-solidity-2.3.0.tgz#1ab7b4cc3782a5472ed61eb740c56a8bfdd74119" integrity sha512-QYeiPLvB1oSbDt6lDQvvpx7k8ODczvE474hb2kLXZBPKMsxKT1WxTCHBYrCU7kS7hfAku4DcJ0jqOyL+jvjwQw== +openzeppelin-solidity@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/openzeppelin-solidity/-/openzeppelin-solidity-2.4.0.tgz#5f0a7b30571c45493449166e57b947203415349d" + integrity sha512-533gc5jkspxW5YT0qJo02Za5q1LHwXK9CJCc48jNj/22ncNM/3M/3JfWLqfpB90uqLwOKOovpl0JfaMQTR+gXQ== + opn@^5.1.0: version "5.5.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" @@ -15255,9 +15283,9 @@ web3-net@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -"web3-provider-engine@git+https://github.com/trufflesuite/provider-engine.git#web3-one": +"web3-provider-engine@https://github.com/trufflesuite/provider-engine#web3-one": version "14.0.6" - resolved "git+https://github.com/trufflesuite/provider-engine.git#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" + resolved "https://github.com/trufflesuite/provider-engine#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" dependencies: async "^2.5.0" backoff "^2.5.0" From c6649ec8bc043970818f23d180ed0a1f87ba6a66 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 31 Oct 2019 12:23:19 +1100 Subject: [PATCH 084/117] Updated retrieveDarknodesInLogs --- src/lib/ethereum/contractReads.ts | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 8718a7c9..758f98dd 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -15,6 +15,15 @@ import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodePaymentStore, getDarknodeRegistry } from "./contract"; import { NewTokenDetails, OldToken, OldTokenDetails, Token, TokenPrices } from "./tokens"; +// Remove 0x prefix from a hex string +export const strip0x = (hex: string) => hex.substring(0, 2) === "0x" ? hex.slice(2) : hex; + +// Add a 0x prefix to a hex value, converting to a string first +export const Ox = (hex: string | Buffer) => { + const hexString = typeof hex === "string" ? hex : hex.toString("hex"); + return hexString.substring(0, 2) === "0x" ? hexString : `0x${hexString}`; +}; + //////////////////////////////////////////////////////////////////////////////// // Darknode Registry contract ////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// @@ -278,7 +287,7 @@ export const getAllDarknodes = async (web3: Web3, renNetwork: RenNetworkDetails) * @param fromBlock The starting block to look at logs for. * @returns An immutable set of darknode IDs (as hex strings). */ -const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails, fromBlock: string | number) => { +const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails, fromBlock: string | number, operatorAddress: string) => { let darknodes = OrderedSet(); /** @@ -310,6 +319,15 @@ const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails // address.slice(2), null, null] as any, topics: [sha3("LogDarknodeRegistered(address,uint256)")], }); + const recentRegistrationEvents2 = await web3.eth.getPastLogs({ + address: renNetwork.addresses.ren.DarknodeRegistry.address, + fromBlock, + toBlock: "latest", + // topics: [sha3("LogDarknodeRegistered(address,uint256)"), "0x000000000000000000000000" + + // address.slice(2), null, null] as any, + topics: [sha3("LogDarknodeRegistered(address,address,uint256)"), "0x000000000000000000000000" + strip0x(operatorAddress)], + }); + recentRegistrationEvents.concat(recentRegistrationEvents2); for (const event of recentRegistrationEvents) { // The log data returns back like this: // 0x000000000000000000000000945458e071eca54bb534d8ac7c8cd1a3eb318d92000000000000000000000000000000000000000000\ @@ -380,9 +398,11 @@ export const getOperatorDarknodes = async ( // const epoch = await darknodeRegistry.methods.currentEpoch().call(); // const fromBlock = epoch ? `0x${new BigNumber(epoch.blocknumber.toString()).toString(16)}` : renNetwork.addresses.ren.DarknodeRegistry.block || "0x00"; + operatorAddress = toChecksumAddress(operatorAddress); + const fromBlock = renNetwork.addresses.ren.DarknodeRegistry.block || "0x00"; - darknodes = darknodes.concat(await retrieveDarknodesInLogs(web3, renNetwork, fromBlock)); + darknodes = darknodes.concat(await retrieveDarknodesInLogs(web3, renNetwork, fromBlock, operatorAddress)); const operatorPromises = darknodes.map(async (darknodeID: string) => { return [darknodeID, await darknodeRegistry.methods.getDarknodeOwner(darknodeID).call()] as [string, string]; @@ -390,8 +410,6 @@ export const getOperatorDarknodes = async ( let operatorDarknodes = OrderedSet(); - operatorAddress = toChecksumAddress(operatorAddress); - for (let i = 0; i < operatorPromises.length; i++) { if (reportProgress) { reportProgress(i, operatorPromises.length); } const [darknodeID, operator] = await operatorPromises[i]; From d22e1fc39b554fac4da703bf25cfd01de55be7d9 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 31 Oct 2019 12:25:50 +1100 Subject: [PATCH 085/117] Removed console logs --- src/lib/ethereum/contractReads.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 758f98dd..980cea31 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -77,14 +77,8 @@ export interface DarknodeCounts { } export const getDarknodeCounts = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { - console.log(`\nGetting darknode count...`); - console.log(renNetwork); const darknodeRegistry = getDarknodeRegistry(web3, renNetwork); - console.log(darknodeRegistry.address); - console.log(darknodeRegistry); - console.log(`\n`); const currentEpoch = await darknodeRegistry.methods.numDarknodes().call(); - console.log(`currentEpoch`, currentEpoch); if (currentEpoch === null) { throw _noCapture_(new Error("Unable to retrieve darknode count")); } const previousEpoch = await darknodeRegistry.methods.numDarknodesPreviousEpoch().call(); if (previousEpoch === null) { throw _noCapture_(new Error("Unable to retrieve darknode count")); } From 1fa343287e00f396a53a6bb7f9fcf27bb721f609 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 31 Oct 2019 13:59:38 +1100 Subject: [PATCH 086/117] Updated contract bindings --- src/lib/ethereum/contract.ts | 12 +- src/lib/ethereum/contractReads.ts | 57 +++-- src/lib/ethereum/contractWrites.ts | 58 ++--- .../contracts/bindings/DarknodePayment.d.ts | 162 +++++++++++++ .../bindings/DarknodePaymentStore.d.ts | 72 ++++++ .../contracts/bindings/DarknodeRegistry.d.ts | 225 ++++++++++++++++++ .../contracts/bindings/darknodePayment.ts | 59 ----- .../bindings/darknodePaymentStore.ts | 43 ---- .../contracts/bindings/darknodeRegistry.ts | 65 ----- 9 files changed, 526 insertions(+), 227 deletions(-) create mode 100644 src/lib/ethereum/contracts/bindings/DarknodePayment.d.ts create mode 100644 src/lib/ethereum/contracts/bindings/DarknodePaymentStore.d.ts create mode 100644 src/lib/ethereum/contracts/bindings/DarknodeRegistry.d.ts delete mode 100644 src/lib/ethereum/contracts/bindings/darknodePayment.ts delete mode 100644 src/lib/ethereum/contracts/bindings/darknodePaymentStore.ts delete mode 100644 src/lib/ethereum/contracts/bindings/darknodeRegistry.ts diff --git a/src/lib/ethereum/contract.ts b/src/lib/ethereum/contract.ts index e6bc8c00..26e92a9f 100644 --- a/src/lib/ethereum/contract.ts +++ b/src/lib/ethereum/contract.ts @@ -1,21 +1,21 @@ import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; -import { DarknodePaymentWeb3 } from "./contracts/bindings/darknodePayment"; -import { DarknodePaymentStoreWeb3 } from "./contracts/bindings/darknodePaymentStore"; -import { DarknodeRegistryWeb3 } from "./contracts/bindings/darknodeRegistry"; +import { DarknodePayment } from "./contracts/bindings/DarknodePayment"; +import { DarknodePaymentStore } from "./contracts/bindings/DarknodePaymentStore"; +import { DarknodeRegistry } from "./contracts/bindings/DarknodeRegistry"; -export const getDarknodeRegistry = (web3: Web3, renNetwork: RenNetworkDetails): DarknodeRegistryWeb3 => new (web3.eth.Contract)( +export const getDarknodeRegistry = (web3: Web3, renNetwork: RenNetworkDetails): DarknodeRegistry => new (web3.eth.Contract)( renNetwork.addresses.ren.DarknodeRegistry.abi, renNetwork.addresses.ren.DarknodeRegistry.address ); -export const getDarknodePayment = (web3: Web3, renNetwork: RenNetworkDetails): DarknodePaymentWeb3 => new (web3.eth.Contract)( +export const getDarknodePayment = (web3: Web3, renNetwork: RenNetworkDetails): DarknodePayment => new (web3.eth.Contract)( renNetwork.addresses.ren.DarknodePayment.abi, renNetwork.addresses.ren.DarknodePayment.address ); -export const getDarknodePaymentStore = (web3: Web3, renNetwork: RenNetworkDetails): DarknodePaymentStoreWeb3 => new (web3.eth.Contract)( +export const getDarknodePaymentStore = (web3: Web3, renNetwork: RenNetworkDetails): DarknodePaymentStore => new (web3.eth.Contract)( renNetwork.addresses.ren.DarknodePaymentStore.abi, renNetwork.addresses.ren.DarknodePaymentStore.address ); diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 980cea31..647727d2 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -465,6 +465,7 @@ export const fetchCycleAndPendingRewards = async ( tokenPrices: TokenPrices | null, ) => { const darknodePayment = getDarknodePayment(web3, renNetwork); + const darknodeRegistry = getDarknodeRegistry(web3, renNetwork); let pendingRewards = OrderedMap>(); @@ -491,7 +492,7 @@ export const fetchCycleAndPendingRewards = async ( pendingRewards = pendingRewards.set(previousCycle.toString(), previous); } - const currentShareCountBN = await darknodePayment.methods.shareCount().call(); + const currentShareCountBN = await darknodeRegistry.methods.numDarknodesPreviousEpoch().call(); const currentShareCount = currentShareCountBN === null ? null : new BigNumber(currentShareCountBN.toString()); const current = await safePromiseAllMap( NewTokenDetails.map(async (_tokenDetails, token) => { @@ -517,8 +518,12 @@ export const fetchCycleAndPendingRewards = async ( pendingRewards = pendingRewards.set(currentCycle.toString(), current); } - const cycleTimeoutBN = await darknodePayment.methods.cycleTimeout().call(); - const cycleTimeout = cycleTimeoutBN ? new BigNumber(cycleTimeoutBN.toString()) : null; + const epoch = await darknodeRegistry.methods.currentEpoch().call(); + const minimumEpochInterval = await darknodeRegistry.methods.minimumEpochInterval().call(); + const cycleTimeout = !epoch ? new BigNumber(0) : new BigNumber(epoch.blocktime).plus(new BigNumber(minimumEpochInterval || 0)); + + // const cycleTimeoutBN = await darknodePayment.methods.cycleTimeout().call(); + // const cycleTimeout = cycleTimeoutBN ? new BigNumber(cycleTimeoutBN.toString()) : null; let pendingTotalInEth = null; let pendingRewardsInEth = null; @@ -722,37 +727,37 @@ export const fetchDarknodeDetails = async ( const currentCycleBN = await darknodePayment.methods.currentCycle().call(); const previousCycleBN = await darknodePayment.methods.previousCycle().call(); - const blacklisted = await darknodePaymentStore.methods.isBlacklisted(darknodeID).call(); + // const blacklisted = await darknodePaymentStore.methods.isBlacklisted(darknodeID).call(); let currentStatus; let previousStatus; - if (blacklisted) { - currentStatus = DarknodeFeeStatus.BLACKLISTED; - previousStatus = DarknodeFeeStatus.BLACKLISTED; + // if (blacklisted) { + // currentStatus = DarknodeFeeStatus.BLACKLISTED; + // previousStatus = DarknodeFeeStatus.BLACKLISTED; + // } else { + // const whitelistedTimeCall = await darknodePaymentStore.methods.darknodeWhitelist(darknodeID).call(); + // const whitelistedTime = whitelistedTimeCall === null ? new BigNumber(0) : new BigNumber(whitelistedTimeCall.toString()); + // if (whitelistedTime.isZero()) { + // currentStatus = DarknodeFeeStatus.NOT_WHITELISTED; + // previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; + // } else { + currentStatus = DarknodeFeeStatus.NOT_CLAIMED; + const cycleStartTimeBN = await darknodePayment.methods.cycleStartTime().call(); + if (!cycleStartTimeBN) { // || whitelistedTime.gte(cycleStartTimeBN.toString())) { + previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; } else { - const whitelistedTimeCall = await darknodePaymentStore.methods.darknodeWhitelist(darknodeID).call(); - const whitelistedTime = whitelistedTimeCall === null ? new BigNumber(0) : new BigNumber(whitelistedTimeCall.toString()); - if (whitelistedTime.isZero()) { - currentStatus = DarknodeFeeStatus.NOT_WHITELISTED; - previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; + if (previousCycleBN === null) { + previousStatus = DarknodeFeeStatus.CLAIMED; } else { - currentStatus = DarknodeFeeStatus.NOT_CLAIMED; - const cycleStartTimeBN = await darknodePayment.methods.cycleStartTime().call(); - if (!cycleStartTimeBN || whitelistedTime.gte(cycleStartTimeBN.toString())) { - previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; + const claimed = await darknodePayment.methods.rewardClaimed(darknodeID, previousCycleBN.toString()).call(); + if (claimed) { + previousStatus = DarknodeFeeStatus.CLAIMED; } else { - if (previousCycleBN === null) { - previousStatus = DarknodeFeeStatus.CLAIMED; - } else { - const claimed = await darknodePayment.methods.rewardClaimed(darknodeID, previousCycleBN.toString()).call(); - if (claimed) { - previousStatus = DarknodeFeeStatus.CLAIMED; - } else { - previousStatus = DarknodeFeeStatus.NOT_CLAIMED; - } - } + previousStatus = DarknodeFeeStatus.NOT_CLAIMED; } } } + // } + // } let cycleStatus = OrderedMap(); if (currentCycleBN !== null) { diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index cea6db0f..c770cdc0 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -231,39 +231,41 @@ export const changeCycle = async ( onDone: () => void, waitForTX: WaitForTX, ): Promise => { - // Convert eth to wei + return ""; - const darknodePayment = getDarknodePayment(web3, renNetwork); + // // Convert eth to wei - let resolved = false; + // const darknodePayment = getDarknodePayment(web3, renNetwork); - // Try to call `changeCycle` as a read function to see if it reverts - const cycleTimeoutCall = await darknodePayment.methods.cycleTimeout().call({ from: address }); - if (!cycleTimeoutCall) { - throw _noCapture_(new Error("Unable to change timeout - please try again")); - } - const canCall = new BigNumber(cycleTimeoutCall.toString()); - if (canCall.isEqualTo(0) || !alreadyPast(canCall.toNumber())) { - return ""; - } + // let resolved = false; - const call = () => darknodePayment.methods.changeCycle().send({ from: address }); + // // Try to call `changeCycle` as a read function to see if it reverts + // const cycleTimeoutCall = await darknodePayment.methods.cycleTimeout().call({ from: address }); + // if (!cycleTimeoutCall) { + // throw _noCapture_(new Error("Unable to change timeout - please try again")); + // } + // const canCall = new BigNumber(cycleTimeoutCall.toString()); + // if (canCall.isEqualTo(0) || !alreadyPast(canCall.toNumber())) { + // return ""; + // } - try { - const res = await waitForTX( - call(), - onDone, - ); - resolved = true; - return res; - } catch (error) { - if (ignoreError) { - resolved = true; - return ""; - } - if (resolved) { onCancel(); } - throw error; - } + // const call = () => darknodePayment.methods.changeCycle().send({ from: address }); + + // try { + // const res = await waitForTX( + // call(), + // onDone, + // ); + // resolved = true; + // return res; + // } catch (error) { + // if (ignoreError) { + // resolved = true; + // return ""; + // } + // if (resolved) { onCancel(); } + // throw error; + // } }; export const withdrawOldToken = async ( diff --git a/src/lib/ethereum/contracts/bindings/DarknodePayment.d.ts b/src/lib/ethereum/contracts/bindings/DarknodePayment.d.ts new file mode 100644 index 00000000..6ffbc9c5 --- /dev/null +++ b/src/lib/ethereum/contracts/bindings/DarknodePayment.d.ts @@ -0,0 +1,162 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import BN from "bn.js"; +import Contract, { contractOptions } from "web3/eth/contract"; +import { EventLog, Callback, EventEmitter } from "web3/types"; +import { TransactionObject, BlockType } from "web3/eth/types"; +import { ContractEvent } from "./types"; + +interface EventOptions { + filter?: object; + fromBlock?: BlockType; + topics?: string[]; +} + +export class DarknodePayment extends Contract { + constructor( + jsonInterface: any[], + address?: string, + options?: contractOptions + ); + clone(): DarknodePayment; + address: string; + methods: { + ETHEREUM(): TransactionObject; + + VERSION(): TransactionObject; + + claimOwnership(): TransactionObject; + + currentCycle(): TransactionObject; + + currentCyclePayoutPercent(): TransactionObject; + + cycleChanger(): TransactionObject; + + cycleStartTime(): TransactionObject; + + darknodeRegistry(): TransactionObject; + + isOwner(): TransactionObject; + + nextCyclePayoutPercent(): TransactionObject; + + owner(): TransactionObject; + + pendingTokens(arg0: number | string): TransactionObject; + + previousCycle(): TransactionObject; + + previousCycleRewardShare(arg0: string): TransactionObject; + + registeredTokenIndex(arg0: string): TransactionObject; + + registeredTokens(arg0: number | string): TransactionObject; + + renounceOwnership(): TransactionObject; + + rewardClaimed( + arg0: string, + arg1: number | string + ): TransactionObject; + + store(): TransactionObject; + + transferOwnership(newOwner: string): TransactionObject; + + unclaimedRewards(arg0: string): TransactionObject; + + updateDarknodeRegistry(_darknodeRegistry: string): TransactionObject; + + withdraw(_darknode: string, _token: string): TransactionObject; + + withdrawMultiple( + _darknode: string, + _tokens: (string)[] + ): TransactionObject; + + currentCycleRewardPool(_token: string): TransactionObject; + + darknodeBalances( + _darknodeID: string, + _token: string + ): TransactionObject; + + changeCycle(): TransactionObject; + + deposit(_value: number | string, _token: string): TransactionObject; + + forward(_token: string): TransactionObject; + + claim(_darknode: string): TransactionObject; + + registerToken(_token: string): TransactionObject; + + tokenPendingRegistration(_token: string): TransactionObject; + + deregisterToken(_token: string): TransactionObject; + + updateCycleChanger(_addr: string): TransactionObject; + + updatePayoutPercentage(_percent: number | string): TransactionObject; + + transferStoreOwnership(_newOwner: string): TransactionObject; + + claimStoreOwnership(): TransactionObject; + }; + events: { + LogCycleChangerChanged: ContractEvent<{ + _newCycleChanger: string; + _oldCycleChanger: string; + 0: string; + 1: string; + }>; + LogDarknodeClaim: ContractEvent<{ + _darknode: string; + _cycle: BN; + 0: string; + 1: BN; + }>; + LogDarknodeRegistryUpdated: ContractEvent<{ + _previousDarknodeRegistry: string; + _nextDarknodeRegistry: string; + 0: string; + 1: string; + }>; + LogDarknodeWithdrew: ContractEvent<{ + _payee: string; + _value: BN; + _token: string; + 0: string; + 1: BN; + 2: string; + }>; + LogPaymentReceived: ContractEvent<{ + _payer: string; + _amount: BN; + _token: string; + 0: string; + 1: BN; + 2: string; + }>; + LogPayoutPercentChanged: ContractEvent<{ + _newPercent: BN; + _oldPercent: BN; + 0: BN; + 1: BN; + }>; + LogTokenDeregistered: ContractEvent; + LogTokenRegistered: ContractEvent; + OwnershipTransferred: ContractEvent<{ + previousOwner: string; + newOwner: string; + 0: string; + 1: string; + }>; + allEvents: ( + options?: EventOptions, + cb?: Callback + ) => EventEmitter; + }; +} diff --git a/src/lib/ethereum/contracts/bindings/DarknodePaymentStore.d.ts b/src/lib/ethereum/contracts/bindings/DarknodePaymentStore.d.ts new file mode 100644 index 00000000..5ada6aed --- /dev/null +++ b/src/lib/ethereum/contracts/bindings/DarknodePaymentStore.d.ts @@ -0,0 +1,72 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import BN from "bn.js"; +import Contract, { contractOptions } from "web3/eth/contract"; +import { EventLog, Callback, EventEmitter } from "web3/types"; +import { TransactionObject, BlockType } from "web3/eth/types"; +import { ContractEvent } from "./types"; + +interface EventOptions { + filter?: object; + fromBlock?: BlockType; + topics?: string[]; +} + +export class DarknodePaymentStore extends Contract { + constructor( + jsonInterface: any[], + address?: string, + options?: contractOptions + ); + clone(): DarknodePaymentStore; + address: string; + methods: { + ETHEREUM(): TransactionObject; + + VERSION(): TransactionObject; + + claimOwnership(): TransactionObject; + + darknodeBalances(arg0: string, arg1: string): TransactionObject; + + isOwner(): TransactionObject; + + lockedBalances(arg0: string): TransactionObject; + + owner(): TransactionObject; + + renounceOwnership(): TransactionObject; + + transferOwnership(newOwner: string): TransactionObject; + + totalBalance(_token: string): TransactionObject; + + availableBalance(_token: string): TransactionObject; + + incrementDarknodeBalance( + _darknode: string, + _token: string, + _amount: number | string + ): TransactionObject; + + transfer( + _darknode: string, + _token: string, + _amount: number | string, + _recipient: string + ): TransactionObject; + }; + events: { + OwnershipTransferred: ContractEvent<{ + previousOwner: string; + newOwner: string; + 0: string; + 1: string; + }>; + allEvents: ( + options?: EventOptions, + cb?: Callback + ) => EventEmitter; + }; +} diff --git a/src/lib/ethereum/contracts/bindings/DarknodeRegistry.d.ts b/src/lib/ethereum/contracts/bindings/DarknodeRegistry.d.ts new file mode 100644 index 00000000..6b41dec0 --- /dev/null +++ b/src/lib/ethereum/contracts/bindings/DarknodeRegistry.d.ts @@ -0,0 +1,225 @@ +/* Generated by ts-generator ver. 0.0.8 */ +/* tslint:disable */ + +import BN from "bn.js"; +import Contract, { contractOptions } from "web3/eth/contract"; +import { EventLog, Callback, EventEmitter } from "web3/types"; +import { TransactionObject, BlockType } from "web3/eth/types"; +import { ContractEvent } from "./types"; + +interface EventOptions { + filter?: object; + fromBlock?: BlockType; + topics?: string[]; +} + +export class DarknodeRegistry extends Contract { + constructor( + jsonInterface: any[], + address?: string, + options?: contractOptions + ); + clone(): DarknodeRegistry; + address: string; + methods: { + VERSION(): TransactionObject; + + claimOwnership(): TransactionObject; + + currentEpoch(): TransactionObject<{ + epochhash: BN; + blocktime: BN; + 0: BN; + 1: BN; + }>; + + darknodePayment(): TransactionObject; + + isOwner(): TransactionObject; + + minimumBond(): TransactionObject; + + minimumEpochInterval(): TransactionObject; + + minimumPodSize(): TransactionObject; + + nextMinimumBond(): TransactionObject; + + nextMinimumEpochInterval(): TransactionObject; + + nextMinimumPodSize(): TransactionObject; + + nextSlasher(): TransactionObject; + + numDarknodes(): TransactionObject; + + numDarknodesNextEpoch(): TransactionObject; + + numDarknodesPreviousEpoch(): TransactionObject; + + owner(): TransactionObject; + + previousEpoch(): TransactionObject<{ + epochhash: BN; + blocktime: BN; + 0: BN; + 1: BN; + }>; + + ren(): TransactionObject; + + renounceOwnership(): TransactionObject; + + slasher(): TransactionObject; + + store(): TransactionObject; + + transferOwnership(newOwner: string): TransactionObject; + + recoverTokens(_token: string): TransactionObject; + + register( + _darknodeID: string, + _publicKey: string | number[] + ): TransactionObject; + + deregister(_darknodeID: string): TransactionObject; + + epoch(): TransactionObject; + + transferStoreOwnership(_newOwner: string): TransactionObject; + + claimStoreOwnership(): TransactionObject; + + updateDarknodePayment(_darknodePayment: string): TransactionObject; + + updateMinimumBond( + _nextMinimumBond: number | string + ): TransactionObject; + + updateMinimumPodSize( + _nextMinimumPodSize: number | string + ): TransactionObject; + + updateMinimumEpochInterval( + _nextMinimumEpochInterval: number | string + ): TransactionObject; + + updateSlasher(_slasher: string): TransactionObject; + + slash( + _guilty: string, + _challenger: string, + _percentage: number | string + ): TransactionObject; + + refund(_darknodeID: string): TransactionObject; + + getDarknodeOwner(_darknodeID: string): TransactionObject; + + getDarknodeBond(_darknodeID: string): TransactionObject; + + getDarknodePublicKey(_darknodeID: string): TransactionObject; + + getDarknodes( + _start: string, + _count: number | string + ): TransactionObject<(string)[]>; + + getPreviousDarknodes( + _start: string, + _count: number | string + ): TransactionObject<(string)[]>; + + isPendingRegistration(_darknodeID: string): TransactionObject; + + isPendingDeregistration(_darknodeID: string): TransactionObject; + + isDeregistered(_darknodeID: string): TransactionObject; + + isDeregisterable(_darknodeID: string): TransactionObject; + + isRefunded(_darknodeID: string): TransactionObject; + + isRefundable(_darknodeID: string): TransactionObject; + + isRegistered(_darknodeID: string): TransactionObject; + + isRegisteredInPreviousEpoch( + _darknodeID: string + ): TransactionObject; + }; + events: { + LogDarknodeDeregistered: ContractEvent<{ + _operator: string; + _darknodeID: string; + 0: string; + 1: string; + }>; + LogDarknodeOwnerRefunded: ContractEvent<{ + _operator: string; + _amount: BN; + 0: string; + 1: BN; + }>; + LogDarknodePaymentUpdated: ContractEvent<{ + _previousDarknodePayment: string; + _nextDarknodePayment: string; + 0: string; + 1: string; + }>; + LogDarknodeRegistered: ContractEvent<{ + _operator: string; + _darknodeID: string; + _bond: BN; + 0: string; + 1: string; + 2: BN; + }>; + LogDarknodeSlashed: ContractEvent<{ + _operator: string; + _darknodeID: string; + _challenger: string; + _percentage: BN; + 0: string; + 1: string; + 2: string; + 3: BN; + }>; + LogMinimumBondUpdated: ContractEvent<{ + _previousMinimumBond: BN; + _nextMinimumBond: BN; + 0: BN; + 1: BN; + }>; + LogMinimumEpochIntervalUpdated: ContractEvent<{ + _previousMinimumEpochInterval: BN; + _nextMinimumEpochInterval: BN; + 0: BN; + 1: BN; + }>; + LogMinimumPodSizeUpdated: ContractEvent<{ + _previousMinimumPodSize: BN; + _nextMinimumPodSize: BN; + 0: BN; + 1: BN; + }>; + LogNewEpoch: ContractEvent; + LogSlasherUpdated: ContractEvent<{ + _previousSlasher: string; + _nextSlasher: string; + 0: string; + 1: string; + }>; + OwnershipTransferred: ContractEvent<{ + previousOwner: string; + newOwner: string; + 0: string; + 1: string; + }>; + allEvents: ( + options?: EventOptions, + cb?: Callback + ) => EventEmitter; + }; +} diff --git a/src/lib/ethereum/contracts/bindings/darknodePayment.ts b/src/lib/ethereum/contracts/bindings/darknodePayment.ts deleted file mode 100644 index 75f8682e..00000000 --- a/src/lib/ethereum/contracts/bindings/darknodePayment.ts +++ /dev/null @@ -1,59 +0,0 @@ -/////////// WEB3 /////////////////////////////////////////////////////////////// - -// tslint:disable - -import BN from "bn.js"; -import { Log, PromiEvent, TransactionConfig, TransactionReceipt } from "web3-core"; -import { Contract } from "web3-eth-contract"; - -export interface Transaction { receipt: TransactionReceipt; tx: string; logs: Log[]; } - - -type BigNumber = string | number | BN; - - -export interface Read { - call: (options?: TransactionConfig) => Promise; -} -export interface Write { - send: (options?: TransactionConfig) => PromiEvent; -} -export interface DarknodePaymentWeb3 extends Contract { - methods: { - previousCycleRewardShare(index_0: string): Read; - cycleStartTime(): Read; - pendingTokens(index_0: BigNumber): Read; - cycleDuration(): Read; - renounceOwnership(): Write; - shareCount(): Read; - rewardClaimed(index_0: string, index_1: BigNumber): Read; - owner(): Read; - isOwner(): Read; - unclaimedRewards(index_0: string): Read; - store(): Read; - registeredTokens(index_0: BigNumber): Read; - darknodeRegistry(): Read; - currentCycle(): Read; - blacklister(): Read; - registeredTokenIndex(index_0: string): Read; - cycleTimeout(): Read; - previousCycle(): Read; - transferOwnership(newOwner: string): Write; - ETHEREUM(): Read; - VERSION(): Read; - withdraw(_darknode: string, _token: string): Write; - withdrawMultiple(_darknode: string, _tokens: string[]): Write; - currentCycleRewardPool(_token: string): Read; - darknodeBalances(_darknodeID: string, _token: string): Read; - changeCycle(): Write; - deposit(_value: BigNumber, _token: string): Write; - claim(_darknode: string): Write; - blacklist(_darknode: string): Write; - registerToken(_token: string): Write; - deregisterToken(_token: string): Write; - updateBlacklister(_addr: string): Write; - updateCycleDuration(_durationSeconds: BigNumber): Write; - transferStoreOwnership(_newOwner: string): Write; - claimStoreOwnership(): Write; - } -} diff --git a/src/lib/ethereum/contracts/bindings/darknodePaymentStore.ts b/src/lib/ethereum/contracts/bindings/darknodePaymentStore.ts deleted file mode 100644 index c7d468f5..00000000 --- a/src/lib/ethereum/contracts/bindings/darknodePaymentStore.ts +++ /dev/null @@ -1,43 +0,0 @@ -/////////// WEB3 /////////////////////////////////////////////////////////////// - -// tslint:disable - -import BN from "bn.js"; -import { Log, PromiEvent, TransactionReceipt, TransactionConfig } from "web3-core"; -import { Contract } from "web3-eth-contract"; - -export interface Transaction { receipt: TransactionReceipt; tx: string; logs: Log[]; } - -type BigNumber = string | number | BN; - - -export interface Read { - call: (options?: TransactionConfig) => Promise; -} -export interface Write { - send: (options?: TransactionConfig) => PromiEvent; -} -export interface DarknodePaymentStoreWeb3 extends Contract { - methods: { - lockedBalances(index_0: string): Read; - darknodeWhitelistLength(): Read; - darknodeBlacklist(index_0: string): Read; - claimOwnership(): Write; - darknodeBalances(index_0: string, index_1: string): Read; - renounceOwnership(): Write; - owner(): Read; - isOwner(): Read; - darknodeWhitelist(index_0: string): Read; - transferOwnership(newOwner: string): Write; - ETHEREUM(): Read; - VERSION(): Read; - isBlacklisted(_darknode: string): Read; - isWhitelisted(_darknode: string): Read; - totalBalance(_token: string): Read; - availableBalance(_token: string): Read; - blacklist(_darknode: string): Write; - whitelist(_darknode: string): Write; - incrementDarknodeBalance(_darknode: string, _token: string, _amount: BigNumber): Write; - transfer(_darknode: string, _token: string, _amount: BigNumber, _recipient: string): Write; - } -} \ No newline at end of file diff --git a/src/lib/ethereum/contracts/bindings/darknodeRegistry.ts b/src/lib/ethereum/contracts/bindings/darknodeRegistry.ts deleted file mode 100644 index a2003019..00000000 --- a/src/lib/ethereum/contracts/bindings/darknodeRegistry.ts +++ /dev/null @@ -1,65 +0,0 @@ -// tslint:disable - -import BN from "bn.js"; -import { Log, PromiEvent, TransactionReceipt, TransactionConfig } from "web3-core"; -import { Contract } from "web3-eth-contract"; - -export interface Transaction { receipt: TransactionReceipt; tx: string; logs: Log[]; } - -type BigNumber = string | number | BN; - - -export interface Read { - call: (options?: TransactionConfig) => Promise; -} -export interface Write { - send: (options?: TransactionConfig) => PromiEvent; -} -export interface DarknodeRegistryWeb3 extends Contract { - methods: { - numDarknodesNextEpoch(): Read; - numDarknodes(): Read; - nextSlasher(): Read; - nextMinimumEpochInterval(): Read; - minimumEpochInterval(): Read; - previousEpoch(): Read<{ epochhash: BigNumber, blocknumber: BigNumber, 0: BigNumber, 1: BigNumber }>; - nextMinimumBond(): Read; - nextMinimumPodSize(): Read; - renounceOwnership(): Write; - numDarknodesPreviousEpoch(): Read; - currentEpoch(): Read<{ epochhash: BigNumber, blocknumber: BigNumber, 0: BigNumber, 1: BigNumber }>; - ren(): Read; - owner(): Read; - isOwner(): Read; - store(): Read; - minimumBond(): Read; - slasher(): Read; - minimumPodSize(): Read; - transferOwnership(newOwner: string): Write; - VERSION(): Read; - register(_darknodeID: string, _publicKey: string, _bond: BigNumber): Write; - deregister(_darknodeID: string): Write; - epoch(): Write; - transferStoreOwnership(_newOwner: string): Write; - claimStoreOwnership(): Write; - updateMinimumBond(_nextMinimumBond: BigNumber): Write; - updateMinimumPodSize(_nextMinimumPodSize: BigNumber): Write; - updateMinimumEpochInterval(_nextMinimumEpochInterval: BigNumber): Write; - updateSlasher(_slasher: string): Write; - slash(_prover: string, _challenger1: string, _challenger2: string): Write; - refund(_darknodeID: string): Write; - getDarknodeOwner(_darknodeID: string): Read; - getDarknodeBond(_darknodeID: string): Read; - getDarknodePublicKey(_darknodeID: string): Read; - getDarknodes(_start: string, _count: BigNumber): Read; - getPreviousDarknodes(_start: string, _count: BigNumber): Read; - isPendingRegistration(_darknodeID: string): Read; - isPendingDeregistration(_darknodeID: string): Read; - isDeregistered(_darknodeID: string): Read; - isDeregisterable(_darknodeID: string): Read; - isRefunded(_darknodeID: string): Read; - isRefundable(_darknodeID: string): Read; - isRegistered(_darknodeID: string): Read; - isRegisteredInPreviousEpoch(_darknodeID: string): Read; - } -} From 719d561c3916a0b57459383fd506d7be05e5d051 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 31 Oct 2019 14:10:04 +1100 Subject: [PATCH 087/117] Updated whitelisted check for rewards --- src/lib/ethereum/contractReads.ts | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 647727d2..bf06ef14 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -728,21 +728,13 @@ export const fetchDarknodeDetails = async ( const currentCycleBN = await darknodePayment.methods.currentCycle().call(); const previousCycleBN = await darknodePayment.methods.previousCycle().call(); // const blacklisted = await darknodePaymentStore.methods.isBlacklisted(darknodeID).call(); + const darknodeRegistry = getDarknodeRegistry(web3, renNetwork); let currentStatus; let previousStatus; - // if (blacklisted) { - // currentStatus = DarknodeFeeStatus.BLACKLISTED; - // previousStatus = DarknodeFeeStatus.BLACKLISTED; - // } else { - // const whitelistedTimeCall = await darknodePaymentStore.methods.darknodeWhitelist(darknodeID).call(); - // const whitelistedTime = whitelistedTimeCall === null ? new BigNumber(0) : new BigNumber(whitelistedTimeCall.toString()); - // if (whitelistedTime.isZero()) { - // currentStatus = DarknodeFeeStatus.NOT_WHITELISTED; - // previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; - // } else { - currentStatus = DarknodeFeeStatus.NOT_CLAIMED; + const isRegisteredInPreviousEpoch = await darknodeRegistry.methods.isRegisteredInPreviousEpoch(darknodeID).call(); + currentStatus = registrationStatus === RegistrationStatus.Registered ? DarknodeFeeStatus.NOT_CLAIMED : DarknodeFeeStatus.NOT_WHITELISTED; const cycleStartTimeBN = await darknodePayment.methods.cycleStartTime().call(); - if (!cycleStartTimeBN) { // || whitelistedTime.gte(cycleStartTimeBN.toString())) { + if (!cycleStartTimeBN || !isRegisteredInPreviousEpoch) { // || whitelistedTime.gte(cycleStartTimeBN.toString())) { previousStatus = DarknodeFeeStatus.NOT_WHITELISTED; } else { if (previousCycleBN === null) { @@ -757,7 +749,6 @@ export const fetchDarknodeDetails = async ( } } // } - // } let cycleStatus = OrderedMap(); if (currentCycleBN !== null) { From 32baead2706d61ca43d7868fd3a4554c0c6a6731 Mon Sep 17 00:00:00 2001 From: noiach Date: Sat, 2 Nov 2019 12:08:03 +1100 Subject: [PATCH 088/117] Fixed loading registered darknodes --- .../darknodePage/statuspage/Registration.tsx | 4 ++-- .../darknodePage/statuspage/StatusPage.tsx | 4 ++-- src/lib/ethereum/contractReads.ts | 12 +++++++----- src/lib/ethereum/contractWrites.ts | 3 +++ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/components/darknodePage/statuspage/Registration.tsx b/src/components/darknodePage/statuspage/Registration.tsx index 7d861109..75589fbe 100644 --- a/src/components/darknodePage/statuspage/Registration.tsx +++ b/src/components/darknodePage/statuspage/Registration.tsx @@ -4,7 +4,7 @@ import { Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; +import { NULL, RegistrationStatus } from "../../../lib/ethereum/contractReads"; import { _captureInteractionException_ } from "../../../lib/react/errors"; import { showDeregisterPopup, showRefundPopup, showRegisterPopup, @@ -64,7 +64,7 @@ class RegistrationClass extends React.Component { (isOperator && registrationStatus === RegistrationStatus.Refundable); const noOperator = (registrationStatus === RegistrationStatus.Unregistered) && this.props.darknodeDetails && - this.props.darknodeDetails.operator === "0x0000000000000000000000000000000000000000"; + this.props.darknodeDetails.operator === NULL; return (
    diff --git a/src/components/darknodePage/statuspage/StatusPage.tsx b/src/components/darknodePage/statuspage/StatusPage.tsx index 3ca434c7..544560bf 100644 --- a/src/components/darknodePage/statuspage/StatusPage.tsx +++ b/src/components/darknodePage/statuspage/StatusPage.tsx @@ -4,7 +4,7 @@ import { Blocky, InfoLabel } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; +import { NULL, RegistrationStatus } from "../../../lib/ethereum/contractReads"; import { ApplicationState, DarknodesState } from "../../../store/applicationState"; import { setDarknodeName } from "../../../store/network/operatorActions"; import { AppDispatch } from "../../../store/rootReducer"; @@ -46,7 +46,7 @@ class StatusPageClass extends React.Component { darknodeDetails && action !== DarknodeAction.Register && darknodeDetails.registrationStatus === RegistrationStatus.Unregistered && - darknodeDetails.operator === "0x0000000000000000000000000000000000000000" + darknodeDetails.operator === NULL ) { noDarknode = true; } diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index bf06ef14..b0360e05 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -15,6 +15,8 @@ import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodePaymentStore, getDarknodeRegistry } from "./contract"; import { NewTokenDetails, OldToken, OldTokenDetails, Token, TokenPrices } from "./tokens"; +export const NULL = "0x0000000000000000000000000000000000000000"; + // Remove 0x prefix from a hex string export const strip0x = (hex: string) => hex.substring(0, 2) === "0x" ? hex.slice(2) : hex; @@ -65,7 +67,8 @@ const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, d const getDarknodeOperator = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { const owner = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodeOwner(darknodeID).call(); if (owner === null) { - throw _noCapture_(new Error("Unable to retrieve darknode owner")); + _captureBackgroundException_(_noCapture_(new Error("Unable to retrieve darknode owner"))); + return NULL; } return owner; }; @@ -255,7 +258,6 @@ export const fetchDarknodeBalanceHistory = async ( */ export const getAllDarknodes = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { const batchSize = 10; - const NULL = "0x0000000000000000000000000000000000000000"; const allDarknodes = []; let lastDarknode = NULL; @@ -305,7 +307,7 @@ const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails * ``` */ - const recentRegistrationEvents = await web3.eth.getPastLogs({ + let recentRegistrationEvents = await web3.eth.getPastLogs({ address: renNetwork.addresses.ren.DarknodeRegistry.address, fromBlock, toBlock: "latest", @@ -319,9 +321,9 @@ const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails toBlock: "latest", // topics: [sha3("LogDarknodeRegistered(address,uint256)"), "0x000000000000000000000000" + // address.slice(2), null, null] as any, - topics: [sha3("LogDarknodeRegistered(address,address,uint256)"), "0x000000000000000000000000" + strip0x(operatorAddress)], + topics: [sha3("LogDarknodeRegistered(address,address,uint256)")], // "0x000000000000000000000000" + strip0x(operatorAddress)], }); - recentRegistrationEvents.concat(recentRegistrationEvents2); + recentRegistrationEvents = recentRegistrationEvents.concat(recentRegistrationEvents2); for (const event of recentRegistrationEvents) { // The log data returns back like this: // 0x000000000000000000000000945458e071eca54bb534d8ac7c8cd1a3eb318d92000000000000000000000000000000000000000000\ diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index c770cdc0..1b4afd58 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -21,6 +21,9 @@ export const fundNode = async ( // Convert eth to wei const ethAmount = new BigNumber(ethAmountStr); const weiAmount = ethAmount.times(new BigNumber(10).exponentiatedBy(18)).decimalPlaces(0); + if (weiAmount.isNaN()) { + throw new Error(`Invalid ETH amount ${ethAmountStr} - please try again`); + } let resolved = false; From c4af3f08c9755cedebf740a068e06bc68cf95999 Mon Sep 17 00:00:00 2001 From: noiach Date: Sun, 3 Nov 2019 15:38:25 +1100 Subject: [PATCH 089/117] Fixed REN amount shown for bond --- src/lib/ethereum/contractReads.ts | 5 ++--- src/lib/ethereum/contractWrites.ts | 1 - src/store/account/operatorPopupActions.tsx | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index b0360e05..5b79d2fa 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -12,7 +12,7 @@ import { darknodeIDHexToBase58 } from "../darknode/darknodeID"; import { queryStat } from "../darknode/jsonrpc"; import { safePromiseAllList, safePromiseAllMap } from "../general/promiseAll"; import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; -import { getDarknodePayment, getDarknodePaymentStore, getDarknodeRegistry } from "./contract"; +import { getDarknodePayment, getDarknodeRegistry } from "./contract"; import { NewTokenDetails, OldToken, OldTokenDetails, Token, TokenPrices } from "./tokens"; export const NULL = "0x0000000000000000000000000000000000000000"; @@ -38,7 +38,7 @@ export const Ox = (hex: string | Buffer) => { * @returns A promise to the minimum bond as a BigNumber. */ export const getMinimumBond = async (web3: Web3, renNetwork: RenNetworkDetails): Promise => { - const minimumBond = (await getDarknodeRegistry(web3, renNetwork).methods.minimumBond().call()) || "100000000000000000000000"; + const minimumBond = (await getDarknodeRegistry(web3, renNetwork).methods.minimumBond().call()) || (renNetwork.name === "chaosnet" ? "10000000000000000000000" : "100000000000000000000000"); return new BigNumber((minimumBond).toString()); }; @@ -725,7 +725,6 @@ export const fetchDarknodeDetails = async ( // Cycle status //////////////////////////////////////////////////////////// const darknodePayment = getDarknodePayment(web3, renNetwork); - const darknodePaymentStore = getDarknodePaymentStore(web3, renNetwork); const currentCycleBN = await darknodePayment.methods.currentCycle().call(); const previousCycleBN = await darknodePayment.methods.previousCycle().call(); diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index 1b4afd58..9d20086c 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -1,5 +1,4 @@ import { mainnet, RenNetworkDetails } from "@renproject/contracts"; -import { alreadyPast } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import Web3 from "web3"; import { TransactionConfig } from "web3-core"; diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index c07f155a..3340e25f 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -58,7 +58,7 @@ export const showRegisterPopup = ( }; const steps = [ - { call: step1, name: "Approve 100'000 REN" }, + { call: step1, name: `Approve ${renNetwork.name === "chaosnet" ? "10K" : "100K"} REN` }, { call: step2, name: "Register darknode" }, ]; From f15415d7047c4d59d4db80c5eb0506bf9a0bd31b Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 4 Nov 2019 10:58:13 +1100 Subject: [PATCH 090/117] Attempt to log in if logged in previously --- src/components/App.tsx | 16 +++++-- src/components/common/LoggingIn.tsx | 48 ++++++++++++++++++- .../darknodePage/statuspage/Notifications.tsx | 10 ++-- .../darknodePage/statuspage/StatusPage.tsx | 5 +- src/lib/declarations/react-redux.d.ts | 3 +- src/lib/ethereum/contractReads.ts | 3 +- src/store/account/accountReducer.ts | 3 +- src/store/applicationState.ts | 6 +++ src/store/network/operatorActions.ts | 20 ++++++-- 9 files changed, 96 insertions(+), 18 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index 787f6f65..f1e2577c 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -6,6 +6,8 @@ import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom import { bindActionCreators } from "redux"; import { DEFAULT_REN_NETWORK } from "../lib/react/environmentVariables"; +import { _captureBackgroundException_ } from "../lib/react/errors"; +import { promptLogin } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; import { AllDarknodes } from "./allDarknodesPage/AllDarknodes"; @@ -28,7 +30,15 @@ const ScrollToTopWithRouter = withRouter(ScrollToTop); * App is the main visual component responsible for displaying different routes * and running background app loops */ -const AppClass = ({ match: { params }, store: { address, renNetwork } }: Props) => { +const AppClass = ({ match: { params }, store: { address, loggedInBefore, renNetwork }, actions }: Props) => { + + React.useEffect(() => { + if (loggedInBefore) { + actions.login(renNetwork, { redirect: false, showPopup: false, immediatePopup: false }) + .catch(_captureBackgroundException_); + } + }, []); + const withAccount = React.useCallback((component: T): React.ComponentClass | React.StatelessComponent => address ? component : LoggingIn, @@ -76,14 +86,14 @@ const AppClass = ({ match: { params }, store: { address, renNetwork } }: Props) const mapStateToProps = (state: ApplicationState) => ({ store: { address: state.account.address, - web3: state.account.web3, + loggedInBefore: state.account.loggedInBefore, renNetwork: state.account.renNetwork, - tokenPrices: state.network.tokenPrices, }, }); const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ + login: promptLogin, }, dispatch), }); diff --git a/src/components/common/LoggingIn.tsx b/src/components/common/LoggingIn.tsx index f74a2a63..166c4f75 100644 --- a/src/components/common/LoggingIn.tsx +++ b/src/components/common/LoggingIn.tsx @@ -1,12 +1,56 @@ import * as React from "react"; +import { connect, ConnectedReturnType } from "react-redux"; +import { bindActionCreators } from "redux"; + +import { _captureBackgroundException_ } from "../../lib/react/errors"; +import { promptLogin } from "../../store/account/accountActions"; +import { ApplicationState } from "../../store/applicationState"; +import { AppDispatch } from "../../store/rootReducer"; import { EmptyDarknodeList } from "../allDarknodesPage/darknodeList/EmptyDarknodeList"; /** * LoggingIn is a page whose principal components are wallet selection to allow users * to log-in, and the hidden orderbook */ -export const LoggingIn: React.StatelessComponent = () => -
    +const LoggingInClass = (props: Props) => { + + const { address, renNetwork } = props.store; + + const handleLogin = React.useCallback(async (): Promise => { + if (!address) { + await props.actions.login(renNetwork, { redirect: false, showPopup: true, immediatePopup: false }); + } + }, [address]); + + React.useEffect(() => { + handleLogin().catch(_captureBackgroundException_); + }, []); + + return
    ; +}; + +const mapStateToProps = (state: ApplicationState) => ({ + store: { + address: state.account.address, + web3BrowserName: state.account.web3BrowserName, + quoteCurrency: state.network.quoteCurrency, + web3: state.account.web3, + transactions: state.network.transactions, + confirmations: state.network.confirmations, + renNetwork: state.account.renNetwork, + }, +}); + +const mapDispatchToProps = (dispatch: AppDispatch) => ({ + actions: bindActionCreators({ + login: promptLogin, + }, dispatch), +}); + +interface Props extends ReturnType, ConnectedReturnType { +} + +export const LoggingIn = connect(mapStateToProps, mapDispatchToProps)(LoggingInClass); diff --git a/src/components/darknodePage/statuspage/Notifications.tsx b/src/components/darknodePage/statuspage/Notifications.tsx index a75797c9..a2a8c605 100644 --- a/src/components/darknodePage/statuspage/Notifications.tsx +++ b/src/components/darknodePage/statuspage/Notifications.tsx @@ -4,6 +4,7 @@ import { faExclamationTriangle, faInfoCircle, faTimesCircle, } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { RenNetworkDetails } from "@renproject/contracts"; import BigNumber from "bignumber.js"; import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; @@ -24,7 +25,7 @@ const notificationType = { }; export const Notifications: React.StatelessComponent = (props) => { - const { isOperator, darknodeDetails } = props; + const { isOperator, darknodeDetails, renNetwork } = props; let notification; if ( @@ -34,7 +35,7 @@ export const Notifications: React.StatelessComponent = (props) => { ) { notification = { title: "Registration in progress!", - detail: "Your darknode will be registered within 24 hours.", + detail: `Your darknode will be registered within ${renNetwork.name === "chaosnet" ? "8 days" : "24 hours"}.`, type: NotificationType.Information, }; } else if ( @@ -44,7 +45,7 @@ export const Notifications: React.StatelessComponent = (props) => { ) { notification = { title: "Deregistration in progress.", - detail: "Your darknode will be deregistered within 24 hours.", + detail: `Your darknode will be deregistered within ${renNetwork.name === "chaosnet" ? "8 days" : "24 hours"}.`, type: NotificationType.Information, }; } else if ( @@ -54,7 +55,7 @@ export const Notifications: React.StatelessComponent = (props) => { ) { notification = { title: "Darknode deregistered.", - detail: "You will be able to withdraw your REN within 24 hours.", + detail: `You will be able to withdraw your REN within ${renNetwork.name === "chaosnet" ? "8 days" : "24 hours"}.`, type: NotificationType.Information, }; } else if ( @@ -86,4 +87,5 @@ export const Notifications: React.StatelessComponent = (props) => { interface Props { isOperator: boolean; darknodeDetails: DarknodesState | null; + renNetwork: RenNetworkDetails; } diff --git a/src/components/darknodePage/statuspage/StatusPage.tsx b/src/components/darknodePage/statuspage/StatusPage.tsx index 544560bf..c6cb8837 100644 --- a/src/components/darknodePage/statuspage/StatusPage.tsx +++ b/src/components/darknodePage/statuspage/StatusPage.tsx @@ -38,7 +38,7 @@ class StatusPageClass extends React.Component { } public render = (): JSX.Element => { - const { darknodeDetails, darknodeID, name, isOperator, action, publicKey } = this.props; + const { darknodeDetails, darknodeID, name, isOperator, action, publicKey, store: { renNetwork } } = this.props; const { renaming, newName } = this.state; let noDarknode; @@ -55,7 +55,7 @@ class StatusPageClass extends React.Component { const renamingCLass = renaming ? "statuspage--renaming" : ""; const noDarknodeClass = noDarknode || !darknodeDetails ? "statuspage--no-darknode" : ""; - const notifications = ; + const notifications = ; return (
    @@ -173,6 +173,7 @@ class StatusPageClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { tokenPrices: state.network.tokenPrices, + renNetwork: state.account.renNetwork, }, }); diff --git a/src/lib/declarations/react-redux.d.ts b/src/lib/declarations/react-redux.d.ts index 24bb5f5a..0edd1d62 100644 --- a/src/lib/declarations/react-redux.d.ts +++ b/src/lib/declarations/react-redux.d.ts @@ -1,5 +1,4 @@ import * as redux from "react-redux"; -import { connect, ConnectedComponentClass, GetProps, MapDispatchToPropsNonObject, MapStateToPropsParam, Matching, Omit, Shared } from "react-redux"; import { ComponentType } from "react"; declare module "react-redux" { @@ -13,7 +12,7 @@ declare module "react-redux" { OUTER extends { actions: infer ACTIONS } ? { actions: { [KEY in keyof ACTIONS]: - /**/ACTIONS[KEY] extends (...args: infer Args) => (d: any) => Promise ? + /**/ACTIONS[KEY] extends (...args: infer Args) => (d: any, getState?: any) => Promise ? /**//**/(...args: Args) => Promise : /**//**/ACTIONS[KEY]; }; diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 5b79d2fa..d79d282f 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -52,7 +52,8 @@ export const getMinimumBond = async (web3: Web3, renNetwork: RenNetworkDetails): const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { const publicKey = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodePublicKey(darknodeID).call(); if (publicKey === null) { - throw _noCapture_(new Error("Unable to retrieve darknode public key")); + _captureBackgroundException_(new Error("Unable to retrieve darknode public key")); + return NULL; } return publicKey; }; diff --git a/src/store/account/accountReducer.ts b/src/store/account/accountReducer.ts index 260ad3cd..a76d669a 100644 --- a/src/store/account/accountReducer.ts +++ b/src/store/account/accountReducer.ts @@ -16,7 +16,8 @@ export const accountReducer = (state: AccountState = new AccountState(), action: case getType(accountActions.login): return state .set("address", action.payload.address) - .set("web3", action.payload.web3); + .set("web3", action.payload.web3) + .set("loggedInBefore", true); case getType(accountActions.storeWeb3BrowserName): const web3BrowserName = getWeb3BrowserName(action.payload); diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 4df40604..50d217c5 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -30,12 +30,15 @@ export class AccountState extends Record({ web3BrowserName: Web3Browser.MetaMask, web3: readOnlyWeb3, + loggedInBefore: false, + renNetwork: RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails, }) implements Serializable { public serialize(): string { // const js = this.toJS(); return JSON.stringify({ renNetwork: this.renNetwork.name, + loggedInBefore: this.loggedInBefore, }); } @@ -48,6 +51,9 @@ export class AccountState extends Record({ if (data.renNetwork) { accountData = accountData.set("renNetwork", RenNetworks[data.renNetwork]); } + if (data.loggedInBefore) { + accountData = accountData.set("loggedInBefore", data.loggedInBefore === "true" || data.loggedInBefore); + } return accountData; } catch (error) { _captureBackgroundException_(error, { diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index 927abd4c..b268f3ec 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -8,10 +8,11 @@ import { PromiEvent } from "web3-core"; import { calculateSecondsPerBlock, fetchCycleAndPendingRewards, fetchDarknodeBalanceHistory, - fetchDarknodeDetails, getDarknodeCounts, getOperatorDarknodes, HistoryPeriod, + fetchDarknodeDetails, getDarknodeCounts, getOperatorDarknodes, HistoryPeriod, NULL, + RegistrationStatus, } from "../../lib/ethereum/contractReads"; import { Token, TokenPrices } from "../../lib/ethereum/tokens"; -import { DarknodesState } from "../applicationState"; +import { ApplicationState, DarknodesState } from "../applicationState"; import { AppDispatch } from "../rootReducer"; import { updateCurrentCycle, updateCurrentShareCount, updateCycleTimeout, updateDarknodeCounts, @@ -139,7 +140,7 @@ export const updateOperatorDarknodes = ( address: string, tokenPrices: TokenPrices | null, previousDarknodeList: List | null, -) => async (dispatch: AppDispatch) => { +) => async (dispatch: AppDispatch, getState: () => ApplicationState) => { // await dispatch(updateCycleAndPendingRewards(web3, renNetwork, tokenPrices)); let darknodeList = previousDarknodeList || List(); @@ -162,9 +163,22 @@ export const updateOperatorDarknodes = ( }); await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { + console.log(`Updating ${darknodeID}`); return dispatch(updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices)); }).toArray()); + const { darknodeDetails } = getState().network; + + await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { + const details = darknodeDetails.get(darknodeID); + if (details && details.registrationStatus === RegistrationStatus.Registered && details.operator.toLowerCase() !== NULL.toLowerCase() && details.operator.toLowerCase() !== address.toLowerCase()) { + console.log(`Removing darknode ${darknodeID}`); + return dispatch(removeRegisteringDarknode({ darknodeID })); + } + console.log(`Not removing darknode ${darknodeID}`); + return; + }).toArray()); + if (darknodeList.size === 0) { dispatch(setEmptyDarknodeList({ address, network: renNetwork.name })); } From 628e0e58a32d8915e47bd93e2390cef4ce363746 Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 4 Nov 2019 16:58:49 +1100 Subject: [PATCH 091/117] src: removed claim button --- .../darknodePage/statuspage/Notifications.tsx | 2 +- .../statuspage/block/FeesBlock.tsx | 84 +++++++++-------- src/lib/ethereum/contractWrites.ts | 90 +++++++++---------- 3 files changed, 87 insertions(+), 89 deletions(-) diff --git a/src/components/darknodePage/statuspage/Notifications.tsx b/src/components/darknodePage/statuspage/Notifications.tsx index a2a8c605..0f687756 100644 --- a/src/components/darknodePage/statuspage/Notifications.tsx +++ b/src/components/darknodePage/statuspage/Notifications.tsx @@ -10,7 +10,7 @@ import BigNumber from "bignumber.js"; import { RegistrationStatus } from "../../../lib/ethereum/contractReads"; import { DarknodesState } from "../../../store/applicationState"; -const lowValue = new BigNumber(Math.pow(10, 18)).multipliedBy(0.1); +const lowValue = new BigNumber(Math.pow(10, 18)).multipliedBy(0.01); enum NotificationType { Warning = "notification--warning", diff --git a/src/components/darknodePage/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx index a813f9ca..47297a62 100644 --- a/src/components/darknodePage/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -2,15 +2,13 @@ import * as React from "react"; import { faStar } from "@fortawesome/free-regular-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { - alreadyPast, CurrencyIcon, Loading, naturalTime, TokenIcon, -} from "@renproject/react-components"; +import { CurrencyIcon, TokenIcon } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { DarknodeFeeStatus, RegistrationStatus } from "../../../../lib/ethereum/contractReads"; +import { DarknodeFeeStatus } from "../../../../lib/ethereum/contractReads"; import { OldToken, Token } from "../../../../lib/ethereum/tokens"; import { showClaimPopup } from "../../../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../../../store/applicationState"; @@ -76,11 +74,12 @@ class FeesBlockClass extends React.Component { previousCycle, pendingRewards, pendingTotalInEth, - cycleTimeout, + // cycleTimeout, } = store; - const { tab, disableClaim, claiming } = this.state; + // const { tab, disableClaim, claiming } = this.state; + const { tab } = this.state; - const showWhitelist = darknodeDetails && darknodeDetails.cycleStatus.get(currentCycle) === DarknodeFeeStatus.NOT_WHITELISTED; + // const showWhitelist = darknodeDetails && darknodeDetails.cycleStatus.get(currentCycle) === DarknodeFeeStatus.NOT_WHITELISTED; const showPreviousPending = darknodeDetails && darknodeDetails.cycleStatus.get(previousCycle) === DarknodeFeeStatus.NOT_CLAIMED; const showCurrentPending = darknodeDetails && darknodeDetails.cycleStatus.get(currentCycle) === DarknodeFeeStatus.NOT_CLAIMED; let pendingTotal = new BigNumber(0); @@ -150,7 +149,7 @@ class FeesBlockClass extends React.Component { {quoteCurrency.toUpperCase()}
    - {isOperator && darknodeDetails.registrationStatus === RegistrationStatus.Registered ? + {/* {isOperator && darknodeDetails.registrationStatus === RegistrationStatus.Registered ? cycleTimeout.isZero() || claiming || disableClaim ? : @@ -182,7 +181,7 @@ class FeesBlockClass extends React.Component { })} : <> - } + } */}
    @@ -238,48 +237,47 @@ class FeesBlockClass extends React.Component { this.setState({ tab: tab as Tab }); } - private readonly onClaimAfterCycle = async () => { - await this.onClaim(false); - } - - private readonly onClaimBeforeCycle = async () => { - await this.onClaim(true); - } + // private readonly onClaimAfterCycle = async () => { + // await this.onClaim(false); + // } - private readonly onClaim = async (claimBeforeCycle: boolean) => { - const { darknodeDetails, store: { web3, address, tokenPrices, renNetwork } } = this.props; + // private readonly onClaimBeforeCycle = async () => { + // await this.onClaim(true); + // } - if (!address || !darknodeDetails) { - this.setState({ claiming: false }); - return; - } + // private readonly onClaim = async (claimBeforeCycle: boolean) => { + // const { darknodeDetails, store: { web3, address, tokenPrices, renNetwork } } = this.props; - const darknodeID = darknodeDetails.ID; + // if (!address || !darknodeDetails) { + // this.setState({ claiming: false }); + // return; + // } - const onCancel = () => { - if (this._isMounted) { - this.setState({ claiming: false, disableClaim: false }); - } - }; + // const darknodeID = darknodeDetails.ID; - const onDone = async () => { - try { - await this.props.actions.updateCycleAndPendingRewards(web3, renNetwork, tokenPrices); - await this.props.actions.updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices); - } catch (error) { - // Ignore error - } + // const onCancel = () => { + // if (this._isMounted) { + // this.setState({ claiming: false, disableClaim: false }); + // } + // }; - if (this._isMounted) { - this.setState({ claiming: false }); - } - }; + // const onDone = async () => { + // try { + // await this.props.actions.updateCycleAndPendingRewards(web3, renNetwork, tokenPrices); + // await this.props.actions.updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices); + // } catch (error) { + // // Ignore error + // } - const title = `Claim rewards`; - this.setState({ disableClaim: true }); - await this.props.actions.showClaimPopup(web3, renNetwork, claimBeforeCycle, address, darknodeID, title, onCancel, onDone); - } + // if (this._isMounted) { + // this.setState({ claiming: false }); + // } + // }; + // const title = `Claim rewards`; + // this.setState({ disableClaim: true }); + // await this.props.actions.showClaimPopup(web3, renNetwork, claimBeforeCycle, address, darknodeID, title, onCancel, onDone); + // } } const mapStateToProps = (state: ApplicationState) => ({ diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index 9d20086c..417729ed 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -224,51 +224,51 @@ export const claimForNode = async ( } }; -export const changeCycle = async ( - web3: Web3, - renNetwork: RenNetworkDetails, - ignoreError: boolean, - address: string, - onCancel: () => void, - onDone: () => void, - waitForTX: WaitForTX, -): Promise => { - return ""; - - // // Convert eth to wei - - // const darknodePayment = getDarknodePayment(web3, renNetwork); - - // let resolved = false; - - // // Try to call `changeCycle` as a read function to see if it reverts - // const cycleTimeoutCall = await darknodePayment.methods.cycleTimeout().call({ from: address }); - // if (!cycleTimeoutCall) { - // throw _noCapture_(new Error("Unable to change timeout - please try again")); - // } - // const canCall = new BigNumber(cycleTimeoutCall.toString()); - // if (canCall.isEqualTo(0) || !alreadyPast(canCall.toNumber())) { - // return ""; - // } - - // const call = () => darknodePayment.methods.changeCycle().send({ from: address }); - - // try { - // const res = await waitForTX( - // call(), - // onDone, - // ); - // resolved = true; - // return res; - // } catch (error) { - // if (ignoreError) { - // resolved = true; - // return ""; - // } - // if (resolved) { onCancel(); } - // throw error; - // } -}; +// export const changeCycle = async ( +// web3: Web3, +// renNetwork: RenNetworkDetails, +// ignoreError: boolean, +// address: string, +// onCancel: () => void, +// onDone: () => void, +// waitForTX: WaitForTX, +// ): Promise => { +// return ""; + +// // // Convert eth to wei + +// // const darknodePayment = getDarknodePayment(web3, renNetwork); + +// // let resolved = false; + +// // // Try to call `changeCycle` as a read function to see if it reverts +// // const cycleTimeoutCall = await darknodePayment.methods.cycleTimeout().call({ from: address }); +// // if (!cycleTimeoutCall) { +// // throw _noCapture_(new Error("Unable to change timeout - please try again")); +// // } +// // const canCall = new BigNumber(cycleTimeoutCall.toString()); +// // if (canCall.isEqualTo(0) || !alreadyPast(canCall.toNumber())) { +// // return ""; +// // } + +// // const call = () => darknodePayment.methods.changeCycle().send({ from: address }); + +// // try { +// // const res = await waitForTX( +// // call(), +// // onDone, +// // ); +// // resolved = true; +// // return res; +// // } catch (error) { +// // if (ignoreError) { +// // resolved = true; +// // return ""; +// // } +// // if (resolved) { onCancel(); } +// // throw error; +// // } +// }; export const withdrawOldToken = async ( web3: Web3, From d41206b8180dfb48087252b4dfa8f926fc0a5165 Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 4 Nov 2019 17:44:40 +1100 Subject: [PATCH 092/117] src: removed claim button --- .../statuspage/block/FeesBlock.tsx | 4 +- src/store/account/operatorPopupActions.tsx | 96 +++++++++---------- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/src/components/darknodePage/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx index 47297a62..5c18192f 100644 --- a/src/components/darknodePage/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -10,7 +10,7 @@ import { bindActionCreators } from "redux"; import { DarknodeFeeStatus } from "../../../../lib/ethereum/contractReads"; import { OldToken, Token } from "../../../../lib/ethereum/tokens"; -import { showClaimPopup } from "../../../../store/account/operatorPopupActions"; +// import { showClaimPopup } from "../../../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../../../store/applicationState"; import { updateCycleAndPendingRewards, updateDarknodeDetails, @@ -297,7 +297,7 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - showClaimPopup, + // showClaimPopup, updateDarknodeDetails, updateCycleAndPendingRewards, }, dispatch), diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index 3340e25f..bfac9736 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -10,7 +10,7 @@ import { MultiStepPopup } from "../../components/common/popups/MultiStepPopup"; import { TokenBalance } from "../../components/common/TokenBalance"; import { getMinimumBond } from "../../lib/ethereum/contractReads"; import { - approveNode, changeCycle, claimForNode, deregisterNode, fundNode, refundNode, registerNode, + approveNode, claimForNode, deregisterNode, fundNode, refundNode, registerNode, } from "../../lib/ethereum/contractWrites"; import { Token, TokenPrices } from "../../lib/ethereum/tokens"; import { connectWaitForTX } from "../../lib/ethereum/waitForTX"; @@ -203,50 +203,50 @@ export const showFundPopup = ( )); }; -export const showClaimPopup = ( - web3: Web3, - renNetwork: RenNetworkDetails, - claimBeforeCycle: boolean, - address: string, - darknodeID: string, - title: string, - onCancel: () => void, - onDone: () => void, -) => async (dispatch: AppDispatch) => { - - const useFixedGasLimit = !claimBeforeCycle; - - const claimStep = { - call: async () => { - await claimForNode(web3, renNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone, connectWaitForTX(dispatch)); - }, - name: "Claim rewards", - }; - - const ignoreError = claimBeforeCycle; - const changeCycleStep = { - call: async () => { - await changeCycle(web3, renNetwork, ignoreError, address, onCancel, onDone, connectWaitForTX(dispatch)); - }, - name: `Change cycle${claimBeforeCycle ? " (optional)" : ""}`, - }; - - const step1 = claimBeforeCycle ? claimStep : changeCycleStep; - const step2 = claimBeforeCycle ? changeCycleStep : claimStep; - - const steps = [step1, step2]; - - dispatch(setPopup( - { - popup: , - onCancel, - dismissible: false, - overlay: true, - }, - )); -}; +// export const showClaimPopup = ( +// web3: Web3, +// renNetwork: RenNetworkDetails, +// claimBeforeCycle: boolean, +// address: string, +// darknodeID: string, +// title: string, +// onCancel: () => void, +// onDone: () => void, +// ) => async (dispatch: AppDispatch) => { + +// const useFixedGasLimit = !claimBeforeCycle; + +// const claimStep = { +// call: async () => { +// await claimForNode(web3, renNetwork, useFixedGasLimit, address, darknodeID, onCancel, onDone, connectWaitForTX(dispatch)); +// }, +// name: "Claim rewards", +// }; + +// const ignoreError = claimBeforeCycle; +// const changeCycleStep = { +// call: async () => { +// await changeCycle(web3, renNetwork, ignoreError, address, onCancel, onDone, connectWaitForTX(dispatch)); +// }, +// name: `Change cycle${claimBeforeCycle ? " (optional)" : ""}`, +// }; + +// const step1 = claimBeforeCycle ? claimStep : changeCycleStep; +// const step2 = claimBeforeCycle ? changeCycleStep : claimStep; + +// const steps = [step1, step2]; + +// dispatch(setPopup( +// { +// popup: , +// onCancel, +// dismissible: false, +// overlay: true, +// }, +// )); +// }; From b8e429f26a36e0618e72a31b6f9c4353c92efa05 Mon Sep 17 00:00:00 2001 From: noiach Date: Mon, 4 Nov 2019 22:09:14 +1100 Subject: [PATCH 093/117] src: fixed loading darknode ids for address --- src/components/common/BackgroundTasks.tsx | 2 +- src/lib/ethereum/contractReads.ts | 27 +++++++++++++++------- src/store/account/operatorPopupActions.tsx | 3 +-- src/store/network/operatorActions.ts | 11 +++++---- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/src/components/common/BackgroundTasks.tsx b/src/components/common/BackgroundTasks.tsx index b76db8fc..22eddc04 100644 --- a/src/components/common/BackgroundTasks.tsx +++ b/src/components/common/BackgroundTasks.tsx @@ -145,7 +145,7 @@ class BackgroundTasksClass extends React.Component { const { web3, address, tokenPrices, darknodeList, darknodeRegisteringList, renNetwork } = props.store; let timeout = 1; // Retry in a second, unless the call succeeds - if (address && tokenPrices) { + if (address) { try { let list = null; if (darknodeRegisteringList.size > 0) { diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index d79d282f..25dcd753 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -284,7 +284,12 @@ export const getAllDarknodes = async (web3: Web3, renNetwork: RenNetworkDetails) * @param fromBlock The starting block to look at logs for. * @returns An immutable set of darknode IDs (as hex strings). */ -const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails, fromBlock: string | number, operatorAddress: string) => { +const retrieveDarknodesInLogs = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + fromBlock: string | number, + operatorAddress: string, +) => { let darknodes = OrderedSet(); /** @@ -322,7 +327,7 @@ const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails toBlock: "latest", // topics: [sha3("LogDarknodeRegistered(address,uint256)"), "0x000000000000000000000000" + // address.slice(2), null, null] as any, - topics: [sha3("LogDarknodeRegistered(address,address,uint256)")], // "0x000000000000000000000000" + strip0x(operatorAddress)], + topics: [sha3("LogDarknodeRegistered(address,address,uint256)"), "0x000000000000000000000000" + strip0x(operatorAddress)], }); recentRegistrationEvents = recentRegistrationEvents.concat(recentRegistrationEvents2); for (const event of recentRegistrationEvents) { @@ -331,12 +336,14 @@ const retrieveDarknodesInLogs = async (web3: Web3, renNetwork: RenNetworkDetails // 00152d02c7e14af6800000 // and we want to extract this: 0x945458e071eca54bb534d8ac7c8cd1a3eb318d92 (20 bytes, 40 characters long) let darknodeID; - if (event.topics.length === 2) { - darknodeID = toChecksumAddress(`0x${(event.topics[1] as string).substr(26, 40)}`); + let operator; + if (event.topics.length === 3) { + darknodeID = toChecksumAddress(`0x${(event.topics[2] as string).substr(26, 40)}`); + operator = toChecksumAddress(`0x${(event.topics[1] as string).substr(26, 40)}`); } else { darknodeID = toChecksumAddress(`0x${event.data.substr(26, 40)}`); } - darknodes = darknodes.add(darknodeID); + darknodes = darknodes.add({ darknodeID, operator }); } // Note: Deregistration events are not included because we are unable to retrieve the operator @@ -401,8 +408,12 @@ export const getOperatorDarknodes = async ( darknodes = darknodes.concat(await retrieveDarknodesInLogs(web3, renNetwork, fromBlock, operatorAddress)); - const operatorPromises = darknodes.map(async (darknodeID: string) => { - return [darknodeID, await darknodeRegistry.methods.getDarknodeOwner(darknodeID).call()] as [string, string]; + const operatorPromises = darknodes.map(async ({ operator, darknodeID }: { operator: string, darknodeID: string }) => { + if (operator) { + return [darknodeID, operator]; + } else { + return [darknodeID, await darknodeRegistry.methods.getDarknodeOwner(darknodeID).call()] as [string, string]; + } }).toArray(); let operatorDarknodes = OrderedSet(); @@ -410,7 +421,7 @@ export const getOperatorDarknodes = async ( for (let i = 0; i < operatorPromises.length; i++) { if (reportProgress) { reportProgress(i, operatorPromises.length); } const [darknodeID, operator] = await operatorPromises[i]; - if (operator === operatorAddress && !operatorDarknodes.contains(operatorAddress)) { + if (operator.toLowerCase() === operatorAddress.toLowerCase() && !operatorDarknodes.contains(operatorAddress)) { operatorDarknodes = operatorDarknodes.add(darknodeID); if (onDarknode) { onDarknode(darknodeID); } } diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index bfac9736..fddb8976 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -1,5 +1,4 @@ import * as React from "react"; -import {} from "redux"; import { RenNetworkDetails } from "@renproject/contracts"; import { Currency, CurrencyIcon } from "@renproject/react-components"; @@ -10,7 +9,7 @@ import { MultiStepPopup } from "../../components/common/popups/MultiStepPopup"; import { TokenBalance } from "../../components/common/TokenBalance"; import { getMinimumBond } from "../../lib/ethereum/contractReads"; import { - approveNode, claimForNode, deregisterNode, fundNode, refundNode, registerNode, + approveNode, deregisterNode, fundNode, refundNode, registerNode, } from "../../lib/ethereum/contractWrites"; import { Token, TokenPrices } from "../../lib/ethereum/tokens"; import { connectWaitForTX } from "../../lib/ethereum/waitForTX"; diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index b268f3ec..22afff55 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -163,7 +163,6 @@ export const updateOperatorDarknodes = ( }); await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { - console.log(`Updating ${darknodeID}`); return dispatch(updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices)); }).toArray()); @@ -171,11 +170,13 @@ export const updateOperatorDarknodes = ( await Promise.all(darknodeList.toList().map(async (darknodeID: string) => { const details = darknodeDetails.get(darknodeID); - if (details && details.registrationStatus === RegistrationStatus.Registered && details.operator.toLowerCase() !== NULL.toLowerCase() && details.operator.toLowerCase() !== address.toLowerCase()) { - console.log(`Removing darknode ${darknodeID}`); - return dispatch(removeRegisteringDarknode({ darknodeID })); + if (details && details.registrationStatus === RegistrationStatus.Registered && details.operator.toLowerCase() !== NULL.toLowerCase()) { + if (details.operator.toLowerCase() === address.toLowerCase()) { + // return dispatch(addDarknode({ darknodeID, address, network: renNetwork.name })); + } else { + return dispatch(removeRegisteringDarknode({ darknodeID })); + } } - console.log(`Not removing darknode ${darknodeID}`); return; }).toArray()); From c3552036818e3173b35fd435f5a99f95d592617a Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 5 Nov 2019 10:24:12 +1100 Subject: [PATCH 094/117] src: parallelized retrieving token prices --- .../statuspage/block/ResourcesBlock.tsx | 19 +++++++++-- src/lib/ethereum/tokens.ts | 32 ++++++++++--------- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx b/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx index 7a252561..271821ac 100644 --- a/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx @@ -52,10 +52,23 @@ export const ResourcesBlock = (props: Props): JSX.Element => { legend={{ display: false }} data={{ maintainAspectRation: true, - labels: [darknodeDetails.nodeStatistics ? `Free: ${filesize(darknodeDetails.nodeStatistics.diskFree)} -` : "Free: Unknown -", darknodeDetails.nodeStatistics ? `Used: ${filesize(darknodeDetails.nodeStatistics.diskUsed)} -` : "Used: Unknown -"], + labels: [ + darknodeDetails.nodeStatistics ? `Used: ${filesize(darknodeDetails.nodeStatistics.diskUsed)} -` : "Used: Unknown -", + darknodeDetails.nodeStatistics ? `Free: ${filesize(darknodeDetails.nodeStatistics.diskFree)} -` : "Free: Unknown -", + ], datasets: [{ - data: darknodeDetails.nodeStatistics ? [darknodeDetails.nodeStatistics.diskFree, darknodeDetails.nodeStatistics.diskUsed] : [100, 0], - backgroundColor: ["#00000000", "rgba(0, 111, 232, 0.28)"], + data: darknodeDetails.nodeStatistics ? + [ + darknodeDetails.nodeStatistics.diskUsed, + darknodeDetails.nodeStatistics.diskFree, + ] : [ + 0, + 100, + ], + backgroundColor: [ + "rgba(0, 111, 232, 0.28)", + "#00000000", + ], borderColor: "#001A38", maintainAspectRation: true, // hoverBackgroundColor: [], diff --git a/src/lib/ethereum/tokens.ts b/src/lib/ethereum/tokens.ts index 37f03130..d5f64ca3 100644 --- a/src/lib/ethereum/tokens.ts +++ b/src/lib/ethereum/tokens.ts @@ -152,20 +152,22 @@ export const NewTokenDetails = AllTokenDetails.filter((details) => !details.old) const coinGeckoURL = `https://api.coingecko.com/api/v3`; const coinGeckoParams = `localization=false&tickers=false&market_data=true&community_data=false&developer_data=false&sparkline=false`; -export const getPrices = async (): Promise => { - - let prices: TokenPrices = Map(); - - for (const [token, tokenDetails] of AllTokenDetails.toArray()) { - const response = await Axios.get( - `${coinGeckoURL}/coins/${tokenDetails.coinGeckoID}?${coinGeckoParams}` - ); - const price = Map(response.data.market_data.current_price); - - prices = prices.set(token, price); - } - - return prices; -}; +export const getPrices = (): Promise => + AllTokenDetails.toArray().map(([token, tokenDetails]) => + ({ + token, responsePromise: Axios.get( + `${coinGeckoURL}/coins/${tokenDetails.coinGeckoID}?${coinGeckoParams}` + ) + })) + .reduce(async (pricesPromise, { token, responsePromise }) => { + let prices = await pricesPromise; + try { + const price = Map((await responsePromise).data.market_data.current_price); + prices = prices.set(token, price); + } catch (error) { + console.error(error); + } + return prices; + }, Promise.resolve(Map>())); export type TokenPrices = Map>; From 2752a9259fcb98c16920b381da871c02771acf86 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 5 Nov 2019 11:04:08 +1100 Subject: [PATCH 095/117] src: improved network calls for fetching darknode details --- src/components/common/BackgroundTasks.tsx | 2 +- src/lib/ethereum/contractReads.ts | 130 ++++++++++++---------- src/lib/ethereum/tokens.ts | 53 ++++----- src/lib/general/promiseAll.ts | 8 ++ 4 files changed, 110 insertions(+), 83 deletions(-) diff --git a/src/components/common/BackgroundTasks.tsx b/src/components/common/BackgroundTasks.tsx index 22eddc04..2762fa54 100644 --- a/src/components/common/BackgroundTasks.tsx +++ b/src/components/common/BackgroundTasks.tsx @@ -111,7 +111,7 @@ class BackgroundTasksClass extends React.Component { // Update rewards every 120 seconds private readonly callUpdateRewards = async (): Promise => { const { web3, renNetwork, tokenPrices } = this.props.store; - let retry = 60; + let retry = 120; if (tokenPrices) { try { // tslint:disable-next-line: await-promise diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 25dcd753..890b9f40 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -1,6 +1,7 @@ import { mainnet, RenNetworkDetails } from "@renproject/contracts"; import { Currency } from "@renproject/react-components"; import BigNumber from "bignumber.js"; +import BN from "bn.js"; import { OrderedMap, OrderedSet } from "immutable"; import Web3 from "web3"; import { Block } from "web3-eth"; @@ -10,7 +11,7 @@ import { getLightnode } from "../../components/overviewPage/mapContainer"; import { DarknodesState } from "../../store/applicationState"; import { darknodeIDHexToBase58 } from "../darknode/darknodeID"; import { queryStat } from "../darknode/jsonrpc"; -import { safePromiseAllList, safePromiseAllMap } from "../general/promiseAll"; +import { awaitOr, safePromiseAllList, safePromiseAllMap } from "../general/promiseAll"; import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodeRegistry } from "./contract"; import { NewTokenDetails, OldToken, OldTokenDetails, Token, TokenPrices } from "./tokens"; @@ -483,10 +484,10 @@ export const fetchCycleAndPendingRewards = async ( let pendingRewards = OrderedMap>(); - const currentCycle = await darknodePayment.methods.currentCycle().call(); - const previousCycle = await darknodePayment.methods.previousCycle().call(); + const πCurrentCycle = darknodePayment.methods.currentCycle().call() as Promise; + const πPreviousCycle = darknodePayment.methods.previousCycle().call() as Promise; - const previous = await safePromiseAllMap( + const πPrevious = safePromiseAllMap( NewTokenDetails.map(async (_tokenDetails, token) => { try { const address = token === Token.ETH ? "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" : renNetwork.addresses.tokens[token].address; @@ -502,6 +503,9 @@ export const fetchCycleAndPendingRewards = async ( }).toOrderedMap(), new BigNumber(0), ); + + const previous = await πPrevious; + const previousCycle = await awaitOr(πPreviousCycle, null); if (previousCycle !== null) { pendingRewards = pendingRewards.set(previousCycle.toString(), previous); } @@ -528,6 +532,7 @@ export const fetchCycleAndPendingRewards = async ( ).toOrderedMap(), new BigNumber(0), ); + const currentCycle = await awaitOr(πCurrentCycle, null); if (currentCycle !== null) { pendingRewards = pendingRewards.set(currentCycle.toString(), current); } @@ -674,36 +679,12 @@ export enum DarknodeFeeStatus { NOT_WHITELISTED = "NOT_WHITELISTED", } -/** - * Fetches various pieces of information about a darknode, including: - * 1. publicKey, - * 2. balances and fees - * 3. its status - * 4. its gas usage information - * 5. its network information (NOTE: not implemented yet) - * - * @param web3 A Web3 instance. - * @param renNetwork A Ren network object. - * @param darknodeID The ID of the darknode as a hex string. - * @param tokenPrices - * @returns A promise to the darknode state record. - */ -export const fetchDarknodeDetails = async ( +export const getDarknodeFees = async ( web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string, tokenPrices: TokenPrices | null, -): Promise => { - darknodeID = toChecksumAddress(darknodeID.toLowerCase()); - - // Get eth Balance - const ethBalanceBN = await web3.eth.getBalance(darknodeID); - - let ethBalance = new BigNumber(0); - if (ethBalanceBN) { - ethBalance = new BigNumber(ethBalanceBN.toString()); - } - +) => { // Get earned fees const feesEarned = await getBalances(web3, renNetwork, darknodeID); let oldFeesEarned = OrderedMap(); @@ -720,20 +701,15 @@ export const fetchDarknodeDetails = async ( feesEarnedTotalEth = newFeesInEth.plus(oldFeesInEth); } - // Get darknode operator and public key - const operator = await getDarknodeOperator(web3, renNetwork, darknodeID); - const publicKey = await getDarknodePublicKey(web3, renNetwork, darknodeID); - - // Get registration status - let registrationStatus = RegistrationStatus.Unknown; - try { - registrationStatus = await getDarknodeStatus(web3, renNetwork, darknodeID); - } catch (error) { - _captureBackgroundException_(error, { - description: "Unknown darknode registration status", - }); - } + return { feesEarned, oldFeesEarned, feesEarnedTotalEth }; +}; +export const getDarknodeCycleRewards = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + darknodeID: string, + registrationStatus: RegistrationStatus, +) => { // Cycle status //////////////////////////////////////////////////////////// const darknodePayment = getDarknodePayment(web3, renNetwork); @@ -761,7 +737,6 @@ export const fetchDarknodeDetails = async ( } } } - // } let cycleStatus = OrderedMap(); if (currentCycleBN !== null) { @@ -771,33 +746,76 @@ export const fetchDarknodeDetails = async ( cycleStatus = cycleStatus.set(previousCycleBN.toString(), previousStatus); } + return cycleStatus; +}; + +/** + * Fetches various pieces of information about a darknode, including: + * 1. publicKey, + * 2. balances and fees + * 3. its status + * 4. its gas usage information + * 5. its network information (NOTE: not implemented yet) + * + * @param web3 A Web3 instance. + * @param renNetwork A Ren network object. + * @param darknodeID The ID of the darknode as a hex string. + * @param tokenPrices + * @returns A promise to the darknode state record. + */ +export const fetchDarknodeDetails = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + darknodeID: string, + tokenPrices: TokenPrices | null, +): Promise => { + darknodeID = toChecksumAddress(darknodeID.toLowerCase()); + + // Get eth Balance + const πEthBalance = web3.eth.getBalance(darknodeID) + .then((ethBalanceBN) => ethBalanceBN ? new BigNumber(ethBalanceBN.toString()) : new BigNumber(0)) + .catch(() => new BigNumber(0)); + + const πFees = getDarknodeFees(web3, renNetwork, darknodeID, tokenPrices); + + // Get darknode operator and public key + const πOperator = getDarknodeOperator(web3, renNetwork, darknodeID); + const πPublicKey = getDarknodePublicKey(web3, renNetwork, darknodeID); + // Call queryStats - let nodeStatistics = null; - try { - nodeStatistics = await queryStat(getLightnode(renNetwork), darknodeIDHexToBase58(darknodeID)); - } catch (error) { - console.error(error); - } + const πNodeStatistics = queryStat(getLightnode(renNetwork), darknodeIDHexToBase58(darknodeID)) + .catch((error) => { _captureBackgroundException_(error); return null; }); + + // Get registration status + const registrationStatus = await getDarknodeStatus(web3, renNetwork, darknodeID) + .catch(error => { + _captureBackgroundException_(error, { + description: "Unknown darknode registration status", + }); + return RegistrationStatus.Unknown; + }); + + const πCycleRewards = getDarknodeCycleRewards(web3, renNetwork, darknodeID, registrationStatus); - // Store details /////////////////////////////////////////////////////////// + const { feesEarned, oldFeesEarned, feesEarnedTotalEth } = await πFees; return new DarknodesState({ ID: darknodeID, multiAddress: "" as string, - publicKey, - ethBalance, + publicKey: await πPublicKey, + ethBalance: await πEthBalance, feesEarned, oldFeesEarned, feesEarnedTotalEth, - cycleStatus, + cycleStatus: await πCycleRewards, averageGasUsage: 0, lastTopUp: null, expectedExhaustion: null, peers: 0, registrationStatus, - operator, + operator: await πOperator, - nodeStatistics, + nodeStatistics: await πNodeStatistics, }); }; diff --git a/src/lib/ethereum/tokens.ts b/src/lib/ethereum/tokens.ts index d5f64ca3..b0ecb0a3 100644 --- a/src/lib/ethereum/tokens.ts +++ b/src/lib/ethereum/tokens.ts @@ -1,6 +1,6 @@ import { Currency } from "@renproject/react-components"; import Axios from "axios"; -import { Map } from "immutable"; +import { Map, OrderedMap } from "immutable"; export enum Token { DAI = "DAI", @@ -32,27 +32,7 @@ interface TokenDetail { } // TODO: Switch on network -export const AllTokenDetails = Map>() - .set(Token.DAI, - { - symbol: Token.DAI, - name: "Dai", - decimals: 18, - wrapped: false, - coinGeckoID: "dai", - old: false, - blockchain: Token.ETH - }) - .set(Token.ETH, - { - symbol: Token.ETH, - name: "Ethereum", - decimals: 18, - wrapped: false, - coinGeckoID: "ethereum", - old: false, - blockchain: Token.ETH - }) +export const AllTokenDetails = OrderedMap>() .set(Token.BTC, { symbol: Token.BTC, @@ -83,6 +63,27 @@ export const AllTokenDetails = Map details.old) as Map>; +export const OldTokenDetails = AllTokenDetails.filter((details) => details.old) as OrderedMap>; // tslint:disable-next-line: no-unnecessary-type-assertion -export const NewTokenDetails = AllTokenDetails.filter((details) => !details.old) as Map>; +export const NewTokenDetails = AllTokenDetails.filter((details) => !details.old) as OrderedMap>; const coinGeckoURL = `https://api.coingecko.com/api/v3`; const coinGeckoParams = `localization=false&tickers=false&market_data=true&community_data=false&developer_data=false&sparkline=false`; @@ -168,6 +169,6 @@ export const getPrices = (): Promise => console.error(error); } return prices; - }, Promise.resolve(Map>())); + }, Promise.resolve(OrderedMap>())); -export type TokenPrices = Map>; +export type TokenPrices = OrderedMap>; diff --git a/src/lib/general/promiseAll.ts b/src/lib/general/promiseAll.ts index c6c0d5dc..a31395c1 100644 --- a/src/lib/general/promiseAll.ts +++ b/src/lib/general/promiseAll.ts @@ -1,5 +1,13 @@ import { List, OrderedMap } from "immutable"; +export const awaitOr = async(π: Promise, e: E): Promise => { + try { + return await π; + } catch (error) { + return e; + } +}; + // FIXME: safePromiseAllList still throws uncaught errors // The same as Promise.all except that if an entry throws, it sets it to the From f9838420683f0ba50d20ccbe83d439d22e0de6e8 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 5 Nov 2019 11:53:33 +1100 Subject: [PATCH 096/117] src: fixed retrieving all darknodes --- .../allDarknodesPage/AllDarknodes.tsx | 10 ++----- .../darknodeList/DarknodeList.tsx | 4 +-- src/components/common/BackgroundTasks.tsx | 6 ++-- src/lib/ethereum/contractReads.ts | 29 +++++++++++-------- src/store/applicationState.ts | 4 +-- src/store/network/networkReducer.ts | 20 ++++++------- src/store/network/operatorActions.ts | 22 +++++++------- 7 files changed, 48 insertions(+), 47 deletions(-) diff --git a/src/components/allDarknodesPage/AllDarknodes.tsx b/src/components/allDarknodesPage/AllDarknodes.tsx index 718329e5..bc821871 100644 --- a/src/components/allDarknodesPage/AllDarknodes.tsx +++ b/src/components/allDarknodesPage/AllDarknodes.tsx @@ -9,19 +9,13 @@ import { AppDispatch } from "../../store/rootReducer"; import { _catch_ } from "../common/ErrorBoundary"; import { DarknodeList } from "./darknodeList/DarknodeList"; -const defaultState = { // Entries must be immutable - checkingVerification: false, - darknodeList: null as List | null, -}; - /** * Home is a page whose principal components are wallet selection to allow users * to log-in, and the hidden orderbook */ -class AllDarknodesClass extends React.Component { +class AllDarknodesClass extends React.Component { public constructor(props: Props, context: object) { super(props, context); - this.state = defaultState; } public render = (): JSX.Element => { @@ -35,7 +29,7 @@ class AllDarknodesClass extends React.Component { {_catch_()} diff --git a/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx b/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx index 7ab87486..bd559498 100644 --- a/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx +++ b/src/components/allDarknodesPage/darknodeList/DarknodeList.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { Loading } from "@renproject/react-components"; -import { List, Map } from "immutable"; +import { Map, OrderedSet } from "immutable"; import { DarknodesState } from "../../../store/applicationState"; import { _catch_ } from "../../common/ErrorBoundary"; @@ -10,7 +10,7 @@ import { EmptyDarknodeCard } from "./EmptyDarknodeCard"; import { EmptyDarknodeList } from "./EmptyDarknodeList"; interface Props { - darknodeList: List | null; + darknodeList: OrderedSet | null; darknodeDetails: Map; darknodeNames: Map; darknodeRegisteringList: Map; diff --git a/src/components/common/BackgroundTasks.tsx b/src/components/common/BackgroundTasks.tsx index 2762fa54..36f22e6c 100644 --- a/src/components/common/BackgroundTasks.tsx +++ b/src/components/common/BackgroundTasks.tsx @@ -1,7 +1,7 @@ // import * as qs from "query-string"; import * as React from "react"; -import { List } from "immutable"; +import { List, OrderedSet } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; @@ -149,10 +149,10 @@ class BackgroundTasksClass extends React.Component { try { let list = null; if (darknodeRegisteringList.size > 0) { - list = darknodeRegisteringList.keySeq().toList(); + list = darknodeRegisteringList.keySeq().toOrderedSet(); } if (darknodeList) { - list = (list || List()).concat(darknodeList); + list = (list || OrderedSet()).merge(darknodeList); } // tslint:disable-next-line: await-promise await props.actions.updateOperatorDarknodes(web3, renNetwork, address, tokenPrices, list); diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 890b9f40..df9d2575 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -380,8 +380,8 @@ export const getOperatorDarknodes = async ( web3: Web3, renNetwork: RenNetworkDetails, operatorAddress: string, - onDarknode?: (darknodeID: string) => void, reportProgress?: (progress: number, total: number) => void, + onDarknode?: (darknodeID: string) => void, ): Promise> => { // Skip calling getAllDarknodes - they will all be in the logs as well. @@ -487,6 +487,9 @@ export const fetchCycleAndPendingRewards = async ( const πCurrentCycle = darknodePayment.methods.currentCycle().call() as Promise; const πPreviousCycle = darknodePayment.methods.previousCycle().call() as Promise; + const πEpoch = darknodeRegistry.methods.currentEpoch().call(); + const πEpochInterval = darknodeRegistry.methods.minimumEpochInterval().call(); + const πPrevious = safePromiseAllMap( NewTokenDetails.map(async (_tokenDetails, token) => { try { @@ -504,15 +507,9 @@ export const fetchCycleAndPendingRewards = async ( new BigNumber(0), ); - const previous = await πPrevious; - const previousCycle = await awaitOr(πPreviousCycle, null); - if (previousCycle !== null) { - pendingRewards = pendingRewards.set(previousCycle.toString(), previous); - } - - const currentShareCountBN = await darknodeRegistry.methods.numDarknodesPreviousEpoch().call(); - const currentShareCount = currentShareCountBN === null ? null : new BigNumber(currentShareCountBN.toString()); - const current = await safePromiseAllMap( + const currentShareCount = await darknodeRegistry.methods.numDarknodesPreviousEpoch().call() + .then((bn: (BN | number | string | null)) => bn === null ? null : new BigNumber(bn.toString())); + const πCurrent = safePromiseAllMap( NewTokenDetails.map(async (_tokenDetails, token) => { if (currentShareCount === null || currentShareCount.isZero()) { return new BigNumber(0); @@ -532,13 +529,21 @@ export const fetchCycleAndPendingRewards = async ( ).toOrderedMap(), new BigNumber(0), ); + + const previous = await πPrevious; + const previousCycle = await awaitOr(πPreviousCycle, null); + if (previousCycle !== null) { + pendingRewards = pendingRewards.set(previousCycle.toString(), previous); + } + + const current = await πCurrent; const currentCycle = await awaitOr(πCurrentCycle, null); if (currentCycle !== null) { pendingRewards = pendingRewards.set(currentCycle.toString(), current); } - const epoch = await darknodeRegistry.methods.currentEpoch().call(); - const minimumEpochInterval = await darknodeRegistry.methods.minimumEpochInterval().call(); + const epoch = await πEpoch; + const minimumEpochInterval = await πEpochInterval; const cycleTimeout = !epoch ? new BigNumber(0) : new BigNumber(epoch.blocktime).plus(new BigNumber(minimumEpochInterval || 0)); // const cycleTimeoutBN = await darknodePayment.methods.cycleTimeout().call(); diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 50d217c5..4826a080 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -3,7 +3,7 @@ import { RenNetwork, RenNetworkDetails, RenNetworks } from "@renproject/contracts"; import { Currency, Record } from "@renproject/react-components"; import BigNumber from "bignumber.js"; -import { List, Map, OrderedMap } from "immutable"; +import { List, Map, OrderedMap, OrderedSet } from "immutable"; import { PromiEvent } from "web3-core"; import { NodeStatistics } from "../lib/darknode/jsonrpc"; @@ -112,7 +112,7 @@ export class NetworkState extends Record({ darknodeNames: Map(), darknodeRegisteringList: Map(), // Map from operator-address to list of darknodes. - darknodeList: Map>(), + darknodeList: Map>(), withdrawAddresses: Map>(), /////////////////////////////////////////////////////// }) implements Serializable { diff --git a/src/store/network/networkReducer.ts b/src/store/network/networkReducer.ts index d10ebbcb..ce4e725f 100644 --- a/src/store/network/networkReducer.ts +++ b/src/store/network/networkReducer.ts @@ -1,4 +1,4 @@ -import { List } from "immutable"; +import { List, OrderedSet } from "immutable"; import { ActionType, getType } from "typesafe-actions"; import { _captureInteractionException_ } from "../../lib/react/errors"; @@ -57,7 +57,7 @@ export const networkReducer = ( case getType(operatorActions.removeDarknode): try { - let operatorList = state.darknodeList.getIn([action.payload.operator, action.payload.network], null) as List | null; + let operatorList = state.darknodeList.getIn([action.payload.operator, action.payload.network], null) as OrderedSet | null; if (!operatorList) { return state; } @@ -73,18 +73,18 @@ export const networkReducer = ( return state; } - case getType(operatorActions.addDarknode): - let newList = state.darknodeList.getIn([action.payload.address, action.payload.network], List()) as List; + case getType(operatorActions.addDarknodes): + const { address, network, darknodes } = action.payload; + + let newList = state.darknodeList.getIn([address, network], OrderedSet()) as OrderedSet; let newNames = state.darknodeNames; // Add to list if it's not already in there - if (!newList.contains(action.payload.darknodeID)) { - newList = newList.push(action.payload.darknodeID); - } + newList = darknodes.merge(darknodes); newList.map((darknodeID: string) => { if (!newNames.has(darknodeID)) { - newNames = newNames.set(darknodeID, `Darknode ${newList.indexOf(darknodeID) + 1}`); + newNames = newNames.set(darknodeID, `Darknode ${newList.toList().indexOf(darknodeID) + 1}`); } return null; }); @@ -93,13 +93,13 @@ export const networkReducer = ( .filter((_: string, darknodeID: string) => !newList.contains(darknodeID)); return state - .set("darknodeList", state.darknodeList.set(action.payload.address, newList)) + .set("darknodeList", state.darknodeList.set(address, newList)) .set("darknodeNames", newNames) .set("darknodeRegisteringList", darknodeRegisteringList); case getType(operatorActions.setEmptyDarknodeList): return state - .set("darknodeList", state.darknodeList.set(action.payload.address, List())); + .set("darknodeList", state.darknodeList.set(action.payload.address, OrderedSet())); case getType(operatorActions.storeQuoteCurrency): return state.set("quoteCurrency", action.payload.quoteCurrency); diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index 22afff55..736a98ca 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -1,7 +1,7 @@ import { RenNetworkDetails } from "@renproject/contracts"; import { Currency } from "@renproject/react-components"; import BigNumber from "bignumber.js"; -import { List, OrderedMap } from "immutable"; +import { List, OrderedMap, OrderedSet } from "immutable"; import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; import { PromiEvent } from "web3-core"; @@ -34,8 +34,8 @@ export const removeDarknode = createStandardAction("REMOVE_DARKNODE")<{ network: string; }>(); -export const addDarknode = createStandardAction("ADD_DARKNODE")<{ - darknodeID: string; +export const addDarknodes = createStandardAction("ADD_DARKNODE")<{ + darknodes: OrderedSet; address: string; network: string; }>(); @@ -139,25 +139,27 @@ export const updateOperatorDarknodes = ( renNetwork: RenNetworkDetails, address: string, tokenPrices: TokenPrices | null, - previousDarknodeList: List | null, + previousDarknodeList: OrderedSet | null, ) => async (dispatch: AppDispatch, getState: () => ApplicationState) => { // await dispatch(updateCycleAndPendingRewards(web3, renNetwork, tokenPrices)); - let darknodeList = previousDarknodeList || List(); + let darknodeList = previousDarknodeList || OrderedSet(); - const currentDarknodes = await getOperatorDarknodes(web3, renNetwork, address, (darknodeID) => { - dispatch(addDarknode({ darknodeID, address, network: renNetwork.name })); - }, (progress, target) => { + const currentDarknodes = await getOperatorDarknodes(web3, renNetwork, address, (progress, target) => { if (previousDarknodeList === null) { dispatch(storeRegistrySync({ progress, target })); } - }); + }); /* , (darknodeID) => { + dispatch(addDarknode({ darknodeID, address, network: renNetwork.name })); + }, ); */ + + dispatch(addDarknodes({ darknodes: currentDarknodes, address, network: renNetwork.name })); // The lists are merged in the reducer as well, but we combine them again // before passing into `updateDarknodeDetails` currentDarknodes.map((darknodeID: string) => { if (!darknodeList.contains(darknodeID)) { - darknodeList = darknodeList.push(darknodeID); + darknodeList = darknodeList.add(darknodeID); } return null; }); From bf17388ce10dd35f0beb29f4871982bdfeecb149 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 5 Nov 2019 14:48:03 +1100 Subject: [PATCH 097/117] src: fixed logged-out state --- src/components/App.tsx | 4 +-- .../allDarknodesPage/AllDarknodes.tsx | 1 - src/components/common/AccountDropdown.tsx | 6 ++--- src/components/common/BackgroundTasks.tsx | 4 +-- src/components/common/LoggingIn.tsx | 6 ++--- src/components/common/sidebar/Sidebar.tsx | 5 ++-- .../hyperdrivePage/hyperdriveContainer.ts | 27 ++++++++++++++++++- src/lib/ethereum/contractReads.ts | 16 +++++------ src/lib/react/errors.ts | 17 ++++++++++++ src/store/account/accountActions.tsx | 19 ++++++++----- src/store/account/accountReducer.ts | 4 ++- src/store/applicationState.ts | 6 ++++- src/store/network/networkReducer.ts | 2 +- src/store/network/operatorActions.ts | 6 ++--- 14 files changed, 87 insertions(+), 36 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index f1e2577c..9c2f8a46 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -34,7 +34,7 @@ const AppClass = ({ match: { params }, store: { address, loggedInBefore, renNetw React.useEffect(() => { if (loggedInBefore) { - actions.login(renNetwork, { redirect: false, showPopup: false, immediatePopup: false }) + actions.promptLogin({ manual: false, redirect: false, showPopup: false, immediatePopup: false }) .catch(_captureBackgroundException_); } }, []); @@ -93,7 +93,7 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - login: promptLogin, + promptLogin, }, dispatch), }); diff --git a/src/components/allDarknodesPage/AllDarknodes.tsx b/src/components/allDarknodesPage/AllDarknodes.tsx index bc821871..f1a23f99 100644 --- a/src/components/allDarknodesPage/AllDarknodes.tsx +++ b/src/components/allDarknodesPage/AllDarknodes.tsx @@ -1,6 +1,5 @@ import * as React from "react"; -import { List } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; diff --git a/src/components/common/AccountDropdown.tsx b/src/components/common/AccountDropdown.tsx index 95fed35b..0a678be5 100644 --- a/src/components/common/AccountDropdown.tsx +++ b/src/components/common/AccountDropdown.tsx @@ -109,10 +109,10 @@ class AccountDropdownClass extends React.Component { } private readonly handleLogin = async (): Promise => { - const { address, renNetwork } = this.props.store; + const { address } = this.props.store; this.setState({ shown: false }); if (!address) { - await this.props.actions.login(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }); + await this.props.actions.promptLogin({ manual: true, redirect: false, showPopup: true, immediatePopup: true }); } } @@ -175,7 +175,7 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - login: promptLogin, + promptLogin, logout, }, dispatch), }); diff --git a/src/components/common/BackgroundTasks.tsx b/src/components/common/BackgroundTasks.tsx index 36f22e6c..5d81e264 100644 --- a/src/components/common/BackgroundTasks.tsx +++ b/src/components/common/BackgroundTasks.tsx @@ -1,7 +1,7 @@ // import * as qs from "query-string"; import * as React from "react"; -import { List, OrderedSet } from "immutable"; +import { OrderedSet } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; @@ -249,7 +249,7 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - login: promptLogin, + promptLogin, lookForLogout, updateTokenPrices, updateOperatorDarknodes, diff --git a/src/components/common/LoggingIn.tsx b/src/components/common/LoggingIn.tsx index 166c4f75..4dca0dee 100644 --- a/src/components/common/LoggingIn.tsx +++ b/src/components/common/LoggingIn.tsx @@ -15,11 +15,11 @@ import { EmptyDarknodeList } from "../allDarknodesPage/darknodeList/EmptyDarknod */ const LoggingInClass = (props: Props) => { - const { address, renNetwork } = props.store; + const { address } = props.store; const handleLogin = React.useCallback(async (): Promise => { if (!address) { - await props.actions.login(renNetwork, { redirect: false, showPopup: true, immediatePopup: false }); + await props.actions.promptLogin({ manual: false, redirect: false, showPopup: true, immediatePopup: false }); } }, [address]); @@ -46,7 +46,7 @@ const mapStateToProps = (state: ApplicationState) => ({ const mapDispatchToProps = (dispatch: AppDispatch) => ({ actions: bindActionCreators({ - login: promptLogin, + promptLogin, }, dispatch), }); diff --git a/src/components/common/sidebar/Sidebar.tsx b/src/components/common/sidebar/Sidebar.tsx index f313d345..d57b9188 100644 --- a/src/components/common/sidebar/Sidebar.tsx +++ b/src/components/common/sidebar/Sidebar.tsx @@ -27,7 +27,6 @@ const mapStateToProps = (state: ApplicationState) => ({ quoteCurrency: state.network.quoteCurrency, mobileMenuActive: state.ui.mobileMenuActive, web3BrowserName: state.account.web3BrowserName, - renNetwork: state.account.renNetwork, }, }); @@ -47,7 +46,7 @@ interface Props extends ReturnType, ConnectedReturnType< */ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter( ({ selectedDarknode, store, actions, location }: Props) => { - const { address, darknodeList, darknodeDetails, darknodeNames, quoteCurrency, renNetwork, mobileMenuActive, web3BrowserName } = store; + const { address, darknodeList, darknodeDetails, darknodeNames, quoteCurrency, mobileMenuActive, web3BrowserName } = store; const [searchFilter, setSearchFilter] = React.useState(""); @@ -57,7 +56,7 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter( }; const handleLogin = async () => { - await actions.promptLogin(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }); + await actions.promptLogin({ manual: true, redirect: false, showPopup: true, immediatePopup: true }); }; return <> diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts index 0639ebf0..7c2b426d 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -6,6 +6,7 @@ import { List } from "immutable"; import { useState } from "react"; import { createContainer } from "unstated-next"; +import { extractError } from "../../lib/react/errors"; import { getLightnode } from "../overviewPage/mapContainer"; type Addr = string; @@ -109,6 +110,30 @@ interface ResponseQueryBlocks { const N = 8; +export const retryNTimes = async (fnCall: () => Promise, retries: number) => { + let returnError; + // tslint:disable-next-line: no-constant-condition + for (let i = 0; i < retries; i++) { + // if (i > 0) { + // console.debug(`Retrying...`); + // } + try { + return await fnCall(); + } catch (error) { + if (String(error).match(/timeout of .* exceeded/)) { + returnError = error; + } else { + const errorMessage = extractError(error); + if (errorMessage) { + error.message += ` (${errorMessage})`; + } + throw error; + } + } + } + throw returnError; +}; + const getBlocks = async (network: RenNetworkDetails, previousBlocks: List): Promise> => { const lightnode = getLightnode(network); if (!lightnode) { @@ -132,7 +157,7 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List (syncedHeight > previousHeight + 1 && syncedHeight + N - 1 > currentHeight && syncedHeight > 0) ) { const request = { jsonrpc: "2.0", method: "ren_queryBlock", params: { blockHeight: syncedHeight && syncedHeight - 1 }, id: 67 }; - const response = (await Axios.post>(lightnode, request)).data.result; + const response = (await retryNTimes(() => Axios.post>(lightnode, request), 4)).data.result; const latestBlock = response.block; if (latestBlock.header.height === previousHeight) { break; diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index df9d2575..4a0b7291 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -484,8 +484,8 @@ export const fetchCycleAndPendingRewards = async ( let pendingRewards = OrderedMap>(); - const πCurrentCycle = darknodePayment.methods.currentCycle().call() as Promise; - const πPreviousCycle = darknodePayment.methods.previousCycle().call() as Promise; + const πCurrentCycle = darknodePayment.methods.currentCycle().call() as Promise; + const πPreviousCycle = darknodePayment.methods.previousCycle().call() as Promise; const πEpoch = darknodeRegistry.methods.currentEpoch().call(); const πEpochInterval = darknodeRegistry.methods.minimumEpochInterval().call(); @@ -532,13 +532,13 @@ export const fetchCycleAndPendingRewards = async ( const previous = await πPrevious; const previousCycle = await awaitOr(πPreviousCycle, null); - if (previousCycle !== null) { + if (previousCycle !== null && previousCycle !== undefined) { pendingRewards = pendingRewards.set(previousCycle.toString(), previous); } const current = await πCurrent; const currentCycle = await awaitOr(πCurrentCycle, null); - if (currentCycle !== null) { + if (currentCycle !== null && currentCycle !== undefined) { pendingRewards = pendingRewards.set(currentCycle.toString(), current); } @@ -556,11 +556,11 @@ export const fetchCycleAndPendingRewards = async ( const [currentTotal, currentInEth] = sumUpFeeMap(current, tokenPrices); pendingTotalInEth = OrderedMap(); pendingRewardsInEth = OrderedMap>(); - if (previousCycle !== null) { + if (previousCycle !== null && previousCycle !== undefined) { pendingTotalInEth = pendingTotalInEth.set(previousCycle.toString(), previousTotal); pendingRewardsInEth = pendingRewardsInEth.set(previousCycle.toString(), previousInEth); } - if (currentCycle !== null) { + if (currentCycle !== null && currentCycle !== undefined) { pendingTotalInEth = pendingTotalInEth.set(currentCycle.toString(), currentTotal); pendingRewardsInEth = pendingRewardsInEth.set(currentCycle.toString(), currentInEth); } @@ -800,7 +800,7 @@ export const fetchDarknodeDetails = async ( return RegistrationStatus.Unknown; }); - const πCycleRewards = getDarknodeCycleRewards(web3, renNetwork, darknodeID, registrationStatus); + const πCycleStatuses = getDarknodeCycleRewards(web3, renNetwork, darknodeID, registrationStatus); const { feesEarned, oldFeesEarned, feesEarnedTotalEth } = await πFees; @@ -813,7 +813,7 @@ export const fetchDarknodeDetails = async ( oldFeesEarned, feesEarnedTotalEth, - cycleStatus: await πCycleRewards, + cycleStatus: await πCycleStatuses, averageGasUsage: 0, lastTopUp: null, expectedExhaustion: null, diff --git a/src/lib/react/errors.ts b/src/lib/react/errors.ts index 4aa073fc..54e98ea1 100644 --- a/src/lib/react/errors.ts +++ b/src/lib/react/errors.ts @@ -166,3 +166,20 @@ export const _noCapture_ = (error: Error): Error => { (error as any)._noCapture_ = true; return error; }; + +// tslint:disable-next-line: no-any +export const extractError = (error: any): string => { + if (typeof error === "object") { + if (error.response) { return extractError(error.response); } + if (error.data) { return extractError(error.data); } + if (error.error) { return extractError(error.error); } + if (error.message) { return extractError(error.message); } + if (error.statusText) { return extractError(error.statusText); } + try { + return JSON.stringify(error); + } catch (error) { + // Ignore JSON error + } + } + return String(error); +}; diff --git a/src/store/account/accountActions.tsx b/src/store/account/accountActions.tsx index 05a05c48..f1331e84 100644 --- a/src/store/account/accountActions.tsx +++ b/src/store/account/accountActions.tsx @@ -23,12 +23,17 @@ export const storeRenNetwork = createStandardAction("STORE_REN_NETWORK")(); export const promptLogin = ( - renNetwork: RenNetworkDetails, - options: { redirect: boolean; showPopup: boolean; immediatePopup: boolean }, -) => async (dispatch: AppDispatch) => { + options: { manual: boolean, redirect: boolean; showPopup: boolean; immediatePopup: boolean }, +) => async (dispatch: AppDispatch, getState: () => ApplicationState) => { let cancelled = false; - const onClick = async () => (dispatch(promptLogin(renNetwork, { redirect: false, showPopup: true, immediatePopup: true }))); + const { renNetwork, loggedOut } = getState().account; + + if (loggedOut && !options.manual) { + return; + } + + const onClick = async () => (dispatch(promptLogin({ manual: true, redirect: false, showPopup: true, immediatePopup: true }))); const onCancel = () => { dispatch(clearPopup()); cancelled = true; @@ -41,7 +46,7 @@ export const promptLogin = ( if (ethereum && ethereum._metamask) { if (ethereum._metamask.isUnlocked && !(await ethereum._metamask.isUnlocked())) { promptMessage = Language.wallet.mustUnlock; - } else if (ethereum._metamask.isApproved && !(await ethereum._metamask.isApproved())) { + } else if ((ethereum._metamask.isApproved && !(await ethereum._metamask.isApproved()))) { promptMessage = Language.wallet.mustConnect; } } @@ -154,7 +159,7 @@ export const promptLogin = ( // lookForLogout detects if 1) the user has changed or logged out of their Web3 // wallet export const lookForLogout = () => async (dispatch: AppDispatch, getState: () => ApplicationState) => { - const { renNetwork, address, web3 } = getState().account; + const { address, web3 } = getState().account; if (!address) { return; @@ -166,7 +171,7 @@ export const lookForLogout = () => async (dispatch: AppDispatch, getState: () => if (!accounts.includes(address.toLowerCase())) { const onClick = async () => { dispatch(logout()); - await dispatch(promptLogin(renNetwork, { redirect: false, showPopup: true, immediatePopup: false })); + await dispatch(promptLogin({ manual: true, redirect: false, showPopup: true, immediatePopup: false })); }; const onCancel = async () => { dispatch(logout()); diff --git a/src/store/account/accountReducer.ts b/src/store/account/accountReducer.ts index a76d669a..88fb0f94 100644 --- a/src/store/account/accountReducer.ts +++ b/src/store/account/accountReducer.ts @@ -11,7 +11,9 @@ export const accountReducer = (state: AccountState = new AccountState(), action: case getType(accountActions.logout): return state .set("web3", readOnlyWeb3) - .set("address", null); + .set("address", null) + .set("loggedOut", true) + .set("loggedInBefore", false); case getType(accountActions.login): return state diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 4826a080..02f8abac 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -22,7 +22,7 @@ export interface ApplicationState { ui: UIState; } -export const readOnlyWeb3 = getReadOnlyWeb3(`${(RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails).infura}/${INFURA_KEY}`); +export const readOnlyWeb3 = getReadOnlyWeb3(`${(RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails).infura}/v3/${INFURA_KEY}`); export class AccountState extends Record({ // Login data @@ -30,7 +30,11 @@ export class AccountState extends Record({ web3BrowserName: Web3Browser.MetaMask, web3: readOnlyWeb3, + // The following are almost opposites - except that they are both + // initialized as false. LoggedInBefore means that we try to re-login again + // when the page is loaded. Logged out means that we don't try to re-login. loggedInBefore: false, + loggedOut: false, renNetwork: RenNetworks[DEFAULT_REN_NETWORK || RenNetwork.Testnet] as RenNetworkDetails, }) implements Serializable { diff --git a/src/store/network/networkReducer.ts b/src/store/network/networkReducer.ts index ce4e725f..5cf69ab0 100644 --- a/src/store/network/networkReducer.ts +++ b/src/store/network/networkReducer.ts @@ -129,7 +129,7 @@ export const networkReducer = ( case getType(operatorActions.removeFromWithdrawAddresses): const list = state.withdrawAddresses.get(action.payload.token); if (!list) { return state; } - const foundIndex = list.findIndex((address) => address === action.payload.address); + const foundIndex = list.findIndex((addr) => addr === action.payload.address); if (foundIndex === -1) { return state; } return state.set( "withdrawAddresses", diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index 736a98ca..dabe204a 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -1,7 +1,7 @@ import { RenNetworkDetails } from "@renproject/contracts"; import { Currency } from "@renproject/react-components"; import BigNumber from "bignumber.js"; -import { List, OrderedMap, OrderedSet } from "immutable"; +import { OrderedMap, OrderedSet } from "immutable"; import { createStandardAction } from "typesafe-actions"; import Web3 from "web3"; import { PromiEvent } from "web3-core"; @@ -109,10 +109,10 @@ export const updateCycleAndPendingRewards = ( if (pendingTotalInEth !== null) { dispatch(updatePendingTotalInEth(pendingTotalInEth)); } - if (currentCycle !== null) { + if (currentCycle !== null && currentCycle !== undefined) { dispatch(updateCurrentCycle(currentCycle.toString())); } - if (previousCycle !== null) { + if (previousCycle !== null && previousCycle !== undefined) { dispatch(updatePreviousCycle(previousCycle.toString())); } dispatch(updatePendingRewards(pendingRewards)); From 248ef38c0599283721d87bae31fadee10fd7c919 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 5 Nov 2019 14:56:01 +1100 Subject: [PATCH 098/117] src: flipped resources chart --- .../statuspage/block/ResourcesBlock.tsx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx b/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx index 271821ac..67b1d8fe 100644 --- a/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/ResourcesBlock.tsx @@ -31,10 +31,23 @@ export const ResourcesBlock = (props: Props): JSX.Element => { legend={{ display: false }} data={{ maintainAspectRation: true, - labels: [darknodeDetails.nodeStatistics ? `Free: ${filesize(darknodeDetails.nodeStatistics.memoryFree)} -` : "Free: Unknown -", darknodeDetails.nodeStatistics ? `Used: ${filesize(darknodeDetails.nodeStatistics.memoryUsed)} -` : "Used: Unknown -"], + labels: [ + darknodeDetails.nodeStatistics ? `Used: ${filesize(darknodeDetails.nodeStatistics.memoryUsed)} -` : "Used: Unknown -", + darknodeDetails.nodeStatistics ? `Free: ${filesize(darknodeDetails.nodeStatistics.memoryFree)} -` : "Free: Unknown -", + ], datasets: [{ - data: darknodeDetails.nodeStatistics ? [darknodeDetails.nodeStatistics.memoryFree, darknodeDetails.nodeStatistics.memoryUsed] : [100, 0], - backgroundColor: ["#00000000", "rgba(0, 111, 232, 0.28)"], + data: darknodeDetails.nodeStatistics ? + [ + darknodeDetails.nodeStatistics.memoryUsed, + darknodeDetails.nodeStatistics.memoryFree, + ] : [ + 0, + 100, + ], + backgroundColor: [ + "rgba(0, 111, 232, 0.28)", + "#00000000", + ], borderColor: "#001A38", maintainAspectRation: true, // hoverBackgroundColor: [], From 986838a997c42deee1ec99807c2a28b0a23871a9 Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 6 Nov 2019 10:31:30 +1100 Subject: [PATCH 099/117] overview: option to choose cycle for chart --- .../hyperdrivePage/hyperdriveContainer.ts | 11 ++- src/components/overviewPage/Overview.tsx | 14 +-- src/components/overviewPage/RewardChart.tsx | 95 +++++++++++-------- src/components/overviewPage/_overview.scss | 70 +++++++++++++- 4 files changed, 137 insertions(+), 53 deletions(-) diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/hyperdrivePage/hyperdriveContainer.ts index 7c2b426d..2a52f3c3 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/hyperdrivePage/hyperdriveContainer.ts @@ -105,7 +105,7 @@ interface ResponseQueryBlock { } interface ResponseQueryBlocks { - blocks: Blocks; + blocks: Blocks | null; } const N = 8; @@ -146,8 +146,13 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List } if (previousHeight === null) { const request = { jsonrpc: "2.0", method: "ren_queryBlocks", params: { n: N }, id: 67 }; - const response = (await Axios.post>(lightnode, request)).data.result; - return List(response.blocks).sort((a, b) => b.header.height - a.header.height); + let response; + let i = 0; + do { + response = (await Axios.post>(lightnode, request)).data.result; + i++; + } while ((response.blocks === null || response.blocks.length === 0) && i < 5); + return response.blocks ? List(response.blocks).sort((a, b) => b.header.height - a.header.height) : List(); } else { let currentHeight = null as number | null; let syncedHeight = null as number | null; diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx index 06c40d8c..0e9fb82a 100644 --- a/src/components/overviewPage/Overview.tsx +++ b/src/components/overviewPage/Overview.tsx @@ -59,6 +59,13 @@ export const Overview = connect(mapStateToProps)(({ {/* $? */} + + {previousSummed ? <> : } + {currentSummed ? <> @@ -67,13 +74,6 @@ export const Overview = connect(mapStateToProps)(({ convertTo={quoteCurrency} amount={currentSummed} /> : } - - {previousSummed ? <> : } - diff --git a/src/components/overviewPage/RewardChart.tsx b/src/components/overviewPage/RewardChart.tsx index 79fcc2fd..67f05827 100644 --- a/src/components/overviewPage/RewardChart.tsx +++ b/src/components/overviewPage/RewardChart.tsx @@ -10,6 +10,7 @@ import { TokenBalance } from "../common/TokenBalance"; const mapStateToProps = (state: ApplicationState) => ({ previousCycle: state.network.previousCycle, + currentCycle: state.network.currentCycle, quoteCurrency: state.network.quoteCurrency, pendingRewardsInEth: state.network.pendingRewardsInEth, currentShareCount: state.network.currentShareCount, @@ -29,53 +30,69 @@ const colors = [ "91FFFE", ]; +enum Tab { + Current = "current", + Previous = "previous", +} + export const RewardChart = connect(mapStateToProps)(({ - previousCycle, quoteCurrency, pendingRewardsInEth, currentShareCount, + previousCycle, currentCycle, quoteCurrency, pendingRewardsInEth, currentShareCount, }: ReturnType) => { - const currentSplit = pendingRewardsInEth.get(previousCycle); + const [tab, setTab] = React.useState(Tab.Previous); + + const currentSplit = pendingRewardsInEth.get(tab === Tab.Previous ? previousCycle : currentCycle); const keys = React.useMemo(() => currentSplit ? currentSplit.keySeq().toArray() : [], [currentSplit]); const values = React.useMemo(() => currentSplit ? currentSplit.valueSeq().map(bn => bn.multipliedBy(currentShareCount).toNumber()).toArray() : [], [currentSplit]); const empty = React.useMemo(() => !!currentSplit && values.reduce((sum, value) => sum + value, 0) === 0, [currentSplit, values]); - return
    - {currentSplit ? <>
    - + const selectCurrent = React.useCallback(() => { setTab(Tab.Current); }, []); + const selectPrevious = React.useCallback(() => { setTab(Tab.Previous); }, []); + + return
    +
    +
    Last cycle
    +
    Current cycle
    -
    -
    - {currentSplit ? currentSplit.toArray().map(([token, value], i) => { - return
    -
    - {token} -
    -
    - - -
    -
    ; - }) : <>} -
    +
    + {currentSplit ? <>
    +
    - : } +
    +
    + {currentSplit ? currentSplit.toArray().map(([token, value], i) => { + return
    +
    + {token} +
    +
    + + +
    +
    ; + }) : <>} +
    +
    + : } +
    ; }); diff --git a/src/components/overviewPage/_overview.scss b/src/components/overviewPage/_overview.scss index 0c7a087e..9ee8f83f 100644 --- a/src/components/overviewPage/_overview.scss +++ b/src/components/overviewPage/_overview.scss @@ -13,18 +13,80 @@ height: 200px !important; } - .overview--chart { - + .overview--chart--outer { background: linear-gradient(-180deg, #00457F -1080.14%, #002148 85.91%); border-radius: 4px; height: 400px; + min-width: 500px; + + flex: 1 1 0px; + display: flex; + flex-flow: column; align-items: center; - justify-content: center; + justify-content: space-between; + } + + .chart--tabs { + cursor: pointer; + width: 100%; + // background: #1C2127; + // box-sizing: border-box; + margin: 0px; + margin-bottom: 0; + display: flex; + + padding: 0 0px; + } + + .chart--tab { + background: none; + border: none; + font-size: 14px; + line-height: 16px; + text-align: center; + + color: #9195A0; + + >span { + opacity: 0.5; + } + width: 50%; + transition: all 200ms; + // border: 0px solid rgba(145, 149, 160, 0.1); + border: 1px solid transparent; + padding: 10px; + border-bottom: 2px solid #001b39; + } + + + .chart--tab+.chart--tab { + border-left: 2px solid #001b39; + } + + .chart--tab--selected { + border-bottom: 2px solid transparent; + box-shadow: none; + // background: #282C35; + // border: 1px solid $blue-bright; + // box-sizing: border-box; + // box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1); + color: #E0E3EB; + + >span { + opacity: 1; + } + } + + .overview--chart { flex: 1 1 0px; - min-width: 500px; + + display: flex; + align-items: center; + justify-content: center; + // width: 100%; // max-width: 40%; From 23a4dad4ac60a88477ef4cba45479d6700872b62 Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 6 Nov 2019 14:54:11 +1100 Subject: [PATCH 100/117] overview: fixed online darknodes stat title --- src/components/overviewPage/Overview.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx index 0e9fb82a..d82422f4 100644 --- a/src/components/overviewPage/Overview.tsx +++ b/src/components/overviewPage/Overview.tsx @@ -42,7 +42,7 @@ export const Overview = connect(mapStateToProps)(({ {currentDarknodeCount} {previousDarknodeCount !== null ? : <>} } - + {container.darknodeCount === null ? : <> {container.darknodeCount} From e537e548fdc2e4cd26396120a36c9af42061b80a Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 7 Nov 2019 04:24:42 +1100 Subject: [PATCH 101/117] overview: updated ren percent bonded --- src/components/overviewPage/Overview.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/overviewPage/Overview.tsx b/src/components/overviewPage/Overview.tsx index d82422f4..1d255699 100644 --- a/src/components/overviewPage/Overview.tsx +++ b/src/components/overviewPage/Overview.tsx @@ -52,7 +52,7 @@ export const Overview = connect(mapStateToProps)(({ } {currentDarknodeCount === null ? : <> - {100 * currentDarknodeCount / 10000}% + {100 * currentDarknodeCount / 100000}% } From 560903dcc03aa79e7085cd1ae7025fb90ac45be5 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 12 Nov 2019 11:08:54 +1100 Subject: [PATCH 102/117] package.json, src: updated dependencies --- package.json | 55 +- src/components/App.tsx | 29 +- src/components/hyperdrivePage/Hyperdrive.tsx | 20 +- .../hyperdrivePage/_hyperdrive.scss | 4 +- src/components/overviewPage/RewardChart.tsx | 2 +- src/lib/react/onLoad.ts | 3 + src/store/account/accountActions.tsx | 10 +- src/store/network/networkActions.ts | 20 +- src/store/network/operatorActions.ts | 32 +- src/store/popup/popupActions.ts | 6 +- src/store/ui/uiActions.ts | 6 +- yarn.lock | 894 +++++++++--------- 12 files changed, 568 insertions(+), 513 deletions(-) diff --git a/package.json b/package.json index 8fc0ba7a..856cdb75 100644 --- a/package.json +++ b/package.json @@ -19,48 +19,49 @@ "@fortawesome/free-brands-svg-icons": "^5.11.2", "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", - "@fortawesome/react-fontawesome": "^0.1.6", + "@fortawesome/react-fontawesome": "^0.1.7", "@renproject/contracts": "0.3.24", "@renproject/fonts": "^1.0.1", - "@renproject/react-components": "1.0.32", - "@sentry/browser": "^5.7.1", - "@sentry/core": "^5.7.1", + "@renproject/react-components": "1.0.36", + "@sentry/browser": "^5.8.0", + "@sentry/core": "^5.8.0", + "@sentry/integrations": "^5.8.0", "@types/bs58": "^4.0.0", - "@types/filesize": "^4.2.0", - "@types/jest": "^24.0.19", - "@types/node": "^12.11.1", + "@types/filesize": "^5.0.0", + "@types/jest": "^24.0.22", + "@types/node": "^12.12.7", "@types/query-string": "^6.3.0", - "@types/react": "^16.9.9", - "@types/react-dom": "^16.9.2", - "@types/react-redux": "^7.1.4", - "@types/react-router-dom": "^5.1.0", + "@types/react": "^16.9.11", + "@types/react-dom": "^16.9.4", + "@types/react-redux": "^7.1.5", + "@types/react-router-dom": "^5.1.2", "@types/react-simple-maps": "^0.12.2", - "@types/react-transition-group": "1.1", + "@types/react-transition-group": "4.2", "@types/underscore": "^1.9.3", "axios": "^0.19.0", "bignumber.js": "^9.0.0", "bs58": "^4.0.1", - "chart.js": "^2.8.0", - "filesize": "^5.0.3", + "chart.js": "^2.9.2", + "filesize": "^6.0.1", "history": "^4.10.1", "immutable": "^4.0.0-rc.12", "localforage": "^1.7.3", "moment": "^2.24.0", - "node-sass": "^4.12.0", + "node-sass": "^4.13.0", "query-string": "^6.8.3", - "react": "^16.10.2", + "react": "^16.11.0", "react-chartjs-2": "^2.8.0", - "react-dom": "^16.10.2", - "react-redux": "^7.1.1", + "react-dom": "^16.11.0", + "react-redux": "^7.1.3", "react-router-dom": "^5.1.2", "react-scripts": "^3.2.0", "react-simple-maps": "^0.12.1", - "react-transition-group": "1.2", + "react-transition-group": "4.3", "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-thunk": "^2.3.0", - "typesafe-actions": "^4.4.2", - "typescript": "^3.6.4", + "typesafe-actions": "^5.1.0", + "typescript": "^3.7.2", "unstated-next": "^1.1.0", "wallet-address-validator": "^0.2.4", "web3": "2.0.0-alpha.1", @@ -71,14 +72,14 @@ "web3-utils": "2.0.0-alpha.1" }, "devDependencies": { - "@truffle/hdwallet-provider": "^1.0.21", - "@types/chai": "^4.2.3", + "@truffle/hdwallet-provider": "^1.0.24", + "@types/chai": "^4.2.4", "any-promise": "^1.3.0", "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095", - "npm-check-updates": "^3.1.24", - "ts-unused-exports": "^2.0.11", - "tslint": "^5.20.0", + "npm-check-updates": "^3.2.1", + "ts-unused-exports": "^4.0.0", + "tslint": "^5.20.1", "tslint-microsoft-contrib": "^6.2.0", "tslint-react": "^4.1.0", "underscore": "^1.9.1" @@ -96,4 +97,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} \ No newline at end of file +} diff --git a/src/components/App.tsx b/src/components/App.tsx index 9c2f8a46..d41ed36a 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -1,8 +1,7 @@ import * as React from "react"; -import { ScrollToTop } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings -import { Route, RouteComponentProps, Switch, withRouter } from "react-router-dom"; +import { Route, RouteComponentProps, Switch, useLocation, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; import { DEFAULT_REN_NETWORK } from "../lib/react/environmentVariables"; @@ -24,7 +23,31 @@ import { Darknode, getDarknodeParam } from "./darknodePage/Darknode"; import { Hyperdrive } from "./hyperdrivePage/Hyperdrive"; import { Overview } from "./overviewPage/Overview"; -const ScrollToTopWithRouter = withRouter(ScrollToTop); +// Component that attaches scroll to top hanler on router change +// renders nothing, just attaches side effects +export const ScrollToTopWithRouter = withRouter(() => { + // this assumes that current router state is accessed via hook + // but it does not matter, pathname and search (or that ever) may come from props, context, etc. + const location = useLocation(); + + // just run the effect on pathname and/or search change + React.useEffect(() => { + try { + // trying to use new API - https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo + window.scroll({ + top: 0, + left: 0, + behavior: "smooth", + }); + } catch (error) { + // just a fallback for older browsers + window.scrollTo(0, 0); + } + }, [location]); + + // renders nothing, since nothing is needed + return null; +}); /** * App is the main visual component responsible for displaying different routes diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index 780df0d4..6b45216c 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -1,7 +1,7 @@ import { getTimeMagnitude, Loading, naturalTime, TokenIcon } from "@renproject/react-components"; import React, { useCallback, useState } from "react"; import { withRouter } from "react-router-dom"; -import { CSSTransitionGroup } from "react-transition-group"; +import { CSSTransition, TransitionGroup } from "react-transition-group"; import { Token } from "../../lib/ethereum/tokens"; import { Stat, Stats } from "../common/Stat"; @@ -88,7 +88,11 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { const blockTr = (block: Block) => { const trOnClick = () => { onClick(block); }; - return ( + return
    - ); + ; }; const firstBlock = container.blocks ? container.blocks.first(null) : null; @@ -165,9 +169,9 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { {container.currentBlock && container.currentBlockNumber === blockNumber ? - + {blockTr(container.currentBlock)} - : + : }
    {block.header.height} @@ -105,7 +109,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { ; })} : No TXs}
    @@ -219,9 +223,9 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => {
    diff --git a/src/components/hyperdrivePage/_hyperdrive.scss b/src/components/hyperdrivePage/_hyperdrive.scss index 5f645552..c0e163de 100644 --- a/src/components/hyperdrivePage/_hyperdrive.scss +++ b/src/components/hyperdrivePage/_hyperdrive.scss @@ -41,11 +41,11 @@ transition: opacity 0.6s ease-in-out; } - .fade-leave { + .fade-exit { opacity: 1; } - .fade-leave.fade-leave-active { + .fade-exit.fade-exit-active { opacity: 0.01; transition: opacity 0.3s ease-in-out; } diff --git a/src/components/overviewPage/RewardChart.tsx b/src/components/overviewPage/RewardChart.tsx index 67f05827..5a2c3542 100644 --- a/src/components/overviewPage/RewardChart.tsx +++ b/src/components/overviewPage/RewardChart.tsx @@ -43,7 +43,7 @@ export const RewardChart = connect(mapStateToProps)(({ const currentSplit = pendingRewardsInEth.get(tab === Tab.Previous ? previousCycle : currentCycle); const keys = React.useMemo(() => currentSplit ? currentSplit.keySeq().toArray() : [], [currentSplit]); - const values = React.useMemo(() => currentSplit ? currentSplit.valueSeq().map(bn => bn.multipliedBy(currentShareCount).toNumber()).toArray() : [], [currentSplit]); + const values = React.useMemo(() => currentSplit ? currentSplit.valueSeq().map(bn => bn.multipliedBy(currentShareCount).decimalPlaces(6).toNumber()).toArray() : [], [currentSplit]); const empty = React.useMemo(() => !!currentSplit && values.reduce((sum, value) => sum + value, 0) === 0, [currentSplit, values]); const selectCurrent = React.useCallback(() => { setTab(Tab.Current); }, []); diff --git a/src/lib/react/onLoad.ts b/src/lib/react/onLoad.ts index 62e0ce2c..07b6d504 100644 --- a/src/lib/react/onLoad.ts +++ b/src/lib/react/onLoad.ts @@ -1,5 +1,6 @@ import * as Sentry from "@sentry/browser"; +import { ExtraErrorData } from "@sentry/integrations"; import Web3 from "web3"; import { HttpProvider } from "web3-providers"; @@ -44,6 +45,8 @@ export const onLoad = (title: string) => { /.*localhost.*/i, /.*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).*/ ], + + integrations: [new ExtraErrorData()], }); Sentry.configureScope((scope) => { diff --git a/src/store/account/accountActions.tsx b/src/store/account/accountActions.tsx index f1331e84..5681cefe 100644 --- a/src/store/account/accountActions.tsx +++ b/src/store/account/accountActions.tsx @@ -2,7 +2,7 @@ import * as Sentry from "@sentry/browser"; import * as React from "react"; import { RenNetworkDetails } from "@renproject/contracts"; -import { createStandardAction } from "typesafe-actions"; +import { createAction } from "typesafe-actions"; import Web3 from "web3"; import { provider } from "web3-providers"; import { toChecksumAddress } from "web3-utils"; @@ -16,11 +16,11 @@ import { ApplicationState } from "../applicationState"; import { clearPopup, setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; -export const logout = createStandardAction("LOGOUT")(); -export const login = createStandardAction("LOGIN")<{ web3: Web3, address: string }>(); -export const storeRenNetwork = createStandardAction("STORE_REN_NETWORK")(); +export const logout = createAction("LOGOUT")(); +export const login = createAction("LOGIN")<{ web3: Web3, address: string }>(); +export const storeRenNetwork = createAction("STORE_REN_NETWORK")(); -export const storeWeb3BrowserName = createStandardAction("STORE_WEB3_BROWSER_NAME")(); +export const storeWeb3BrowserName = createAction("STORE_WEB3_BROWSER_NAME")(); export const promptLogin = ( options: { manual: boolean, redirect: boolean; showPopup: boolean; immediatePopup: boolean }, diff --git a/src/store/network/networkActions.ts b/src/store/network/networkActions.ts index b552944e..deca2058 100644 --- a/src/store/network/networkActions.ts +++ b/src/store/network/networkActions.ts @@ -2,23 +2,23 @@ import {} from "redux"; import BigNumber from "bignumber.js"; import { OrderedMap } from "immutable"; -import { createStandardAction } from "typesafe-actions"; +import { createAction } from "typesafe-actions"; import { DarknodeCounts } from "../../lib/ethereum/contractReads"; import { getPrices, Token, TokenPrices } from "../../lib/ethereum/tokens"; import { AppDispatch } from "../rootReducer"; -export const storeTokenPrices = createStandardAction("STORE_TOKEN_PRICES")(); +export const storeTokenPrices = createAction("STORE_TOKEN_PRICES")(); -export const updateCurrentCycle = createStandardAction("UPDATE_CURRENT_CYCLE")(); -export const updatePreviousCycle = createStandardAction("UPDATE_PREVIOUS_CYCLE")(); +export const updateCurrentCycle = createAction("UPDATE_CURRENT_CYCLE")(); +export const updatePreviousCycle = createAction("UPDATE_PREVIOUS_CYCLE")(); -export const updatePendingRewards = createStandardAction("UPDATE_PENDING_REWARDS")>>(); -export const updatePendingTotalInEth = createStandardAction("UPDATE_PENDING_TOTAL_IN_ETH")>(); -export const updatePendingRewardsInEth = createStandardAction("UPDATE_PENDING_REWARDS_IN_ETH")>>(); -export const updateCycleTimeout = createStandardAction("UPDATE_CYCLE_TIMEOUT")(); -export const updateCurrentShareCount = createStandardAction("UPDATE_CURRENT_SHARE_COUNT")(); -export const updateDarknodeCounts = createStandardAction("UPDATE_DARKNODE_COUNTS")(); +export const updatePendingRewards = createAction("UPDATE_PENDING_REWARDS")>>(); +export const updatePendingTotalInEth = createAction("UPDATE_PENDING_TOTAL_IN_ETH")>(); +export const updatePendingRewardsInEth = createAction("UPDATE_PENDING_REWARDS_IN_ETH")>>(); +export const updateCycleTimeout = createAction("UPDATE_CYCLE_TIMEOUT")(); +export const updateCurrentShareCount = createAction("UPDATE_CURRENT_SHARE_COUNT")(); +export const updateDarknodeCounts = createAction("UPDATE_DARKNODE_COUNTS")(); export const updateTokenPrices = () => async (dispatch: AppDispatch) => { const tokenPrices = await getPrices(); diff --git a/src/store/network/operatorActions.ts b/src/store/network/operatorActions.ts index dabe204a..279d0fb8 100644 --- a/src/store/network/operatorActions.ts +++ b/src/store/network/operatorActions.ts @@ -2,7 +2,7 @@ import { RenNetworkDetails } from "@renproject/contracts"; import { Currency } from "@renproject/react-components"; import BigNumber from "bignumber.js"; import { OrderedMap, OrderedSet } from "immutable"; -import { createStandardAction } from "typesafe-actions"; +import { createAction } from "typesafe-actions"; import Web3 from "web3"; import { PromiEvent } from "web3-core"; @@ -19,55 +19,55 @@ import { updatePendingRewards, updatePendingRewardsInEth, updatePendingTotalInEth, updatePreviousCycle, } from "./networkActions"; -export const addRegisteringDarknode = createStandardAction("ADD_REGISTERING_DARKNODE")<{ +export const addRegisteringDarknode = createAction("ADD_REGISTERING_DARKNODE")<{ darknodeID: string; publicKey: string; }>(); -export const removeRegisteringDarknode = createStandardAction("REMOVE_REGISTERING_DARKNODE")<{ +export const removeRegisteringDarknode = createAction("REMOVE_REGISTERING_DARKNODE")<{ darknodeID: string; }>(); -export const removeDarknode = createStandardAction("REMOVE_DARKNODE")<{ +export const removeDarknode = createAction("REMOVE_DARKNODE")<{ darknodeID: string; operator: string; network: string; }>(); -export const addDarknodes = createStandardAction("ADD_DARKNODE")<{ +export const addDarknodes = createAction("ADD_DARKNODE")<{ darknodes: OrderedSet; address: string; network: string; }>(); -export const setEmptyDarknodeList = createStandardAction("SET_EMPTY_DARKNODE_LIST")<{ +export const setEmptyDarknodeList = createAction("SET_EMPTY_DARKNODE_LIST")<{ address: string; network: string; }>(); -export const storeQuoteCurrency = createStandardAction("STORE_QUOTE_CURRENCY")<{ quoteCurrency: Currency }>(); +export const storeQuoteCurrency = createAction("STORE_QUOTE_CURRENCY")<{ quoteCurrency: Currency }>(); -export const storeRegistrySync = createStandardAction("STORE_REGISTRY_SYNC")<{ progress: number, target: number }>(); +export const storeRegistrySync = createAction("STORE_REGISTRY_SYNC")<{ progress: number, target: number }>(); -export const storeSecondsPerBlock = createStandardAction("STORE_SECONDS_PER_BLOCK")<{ secondsPerBlock: number }>(); +export const storeSecondsPerBlock = createAction("STORE_SECONDS_PER_BLOCK")<{ secondsPerBlock: number }>(); -export const addToWithdrawAddresses = createStandardAction("ADD_TO_WITHDRAW_ADDRESSES")<{ token: Token, address: string }>(); -export const removeFromWithdrawAddresses = createStandardAction("REMOVE_FROM_WITHDRAW_ADDRESSES")<{ token: Token, address: string }>(); +export const addToWithdrawAddresses = createAction("ADD_TO_WITHDRAW_ADDRESSES")<{ token: Token, address: string }>(); +export const removeFromWithdrawAddresses = createAction("REMOVE_FROM_WITHDRAW_ADDRESSES")<{ token: Token, address: string }>(); -export const setDarknodeDetails = createStandardAction("SET_DARKNODE_DETAILS")<{ +export const setDarknodeDetails = createAction("SET_DARKNODE_DETAILS")<{ darknodeDetails: DarknodesState; }>(); -export const updateDarknodeHistory = createStandardAction("UPDATE_DARKNODE_HISTORY")<{ +export const updateDarknodeHistory = createAction("UPDATE_DARKNODE_HISTORY")<{ darknodeID: string; balanceHistory: OrderedMap; }>(); -export const setDarknodeName = createStandardAction("SET_DARKNODE_NAME")<{ darknodeID: string; name: string }>(); +export const setDarknodeName = createAction("SET_DARKNODE_NAME")<{ darknodeID: string; name: string }>(); // tslint:disable-next-line: no-any -export const addTransaction = createStandardAction("ADD_TRANSACTION")<{ txHash: string; tx: PromiEvent }>(); -export const setTxConfirmations = createStandardAction("SET_TX_CONFIRMATIONS")<{ txHash: string; confirmations: number }>(); +export const addTransaction = createAction("ADD_TRANSACTION")<{ txHash: string; tx: PromiEvent }>(); +export const setTxConfirmations = createAction("SET_TX_CONFIRMATIONS")<{ txHash: string; confirmations: number }>(); export const updateSecondsPerBlock = ( web3: Web3, diff --git a/src/store/popup/popupActions.ts b/src/store/popup/popupActions.ts index 8f7b66a1..9023be22 100644 --- a/src/store/popup/popupActions.ts +++ b/src/store/popup/popupActions.ts @@ -1,10 +1,10 @@ -import { createStandardAction } from "typesafe-actions"; +import { createAction } from "typesafe-actions"; -export const setPopup = createStandardAction("SET_POPUP")<{ +export const setPopup = createAction("SET_POPUP")<{ popup: JSX.Element; overlay?: boolean; dismissible?: boolean; onCancel(): void; }>(); -export const clearPopup = createStandardAction("CLEAR_POPUP")(); +export const clearPopup = createAction("CLEAR_POPUP")(); diff --git a/src/store/ui/uiActions.ts b/src/store/ui/uiActions.ts index 0c3878f2..0001bf62 100644 --- a/src/store/ui/uiActions.ts +++ b/src/store/ui/uiActions.ts @@ -1,4 +1,4 @@ -import { createStandardAction } from "typesafe-actions"; +import { createAction } from "typesafe-actions"; -export const showMobileMenu = createStandardAction("SHOW_MOBILE_MENU")(); -export const hideMobileMenu = createStandardAction("HIDE_MOBILE_MENU")(); +export const showMobileMenu = createAction("SHOW_MOBILE_MENU")(); +export const hideMobileMenu = createAction("HIDE_MOBILE_MENU")(); diff --git a/yarn.lock b/yarn.lock index 0794313e..366bb851 100644 --- a/yarn.lock +++ b/yarn.lock @@ -921,6 +921,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.6.3": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.2.tgz#111a78002a5c25fc8e3361bedc9529c696b85a6a" + integrity sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": version "7.4.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" @@ -987,6 +994,11 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@base2/pretty-print-object@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" + integrity sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw== + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -1082,23 +1094,11 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ== -"@fortawesome/fontawesome-common-types@^0.2.21": - version "0.2.21" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.21.tgz#f1c26ae24761cca583de7cafd1273ab4c70a4d87" - integrity sha512-iJtcrU2BtF9Wyr0zm3tHEJy3HqA6sADExhCqCv3SKaJJKKp4ORJ40t4nyHvcWXSVFtd7r1gcdqcRsAfoREGTFA== - "@fortawesome/fontawesome-common-types@^0.2.25": version "0.2.25" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz#6df015905081f2762e5cfddeb7a20d2e9b16c786" integrity sha512-3RuZPDuuPELd7RXtUqTCfed14fcny9UiPOkdr2i+cYxBoTOfQgxcDoq77fHiiHcgWuo1LoBUpvGxFF1H/y7s3Q== -"@fortawesome/fontawesome-svg-core@^1.2.21": - version "1.2.21" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.21.tgz#5b08a28d6e1ea198e002447b158abba00fd12122" - integrity sha512-EhrgMZLJS0tTYZhUbodurZBqDgAFLDNdxJP/q5unrZJwiFo8Dd7xGvJdhAhY5WcX4khzkPQcbLTCMPHBtutD7Q== - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.21" - "@fortawesome/fontawesome-svg-core@^1.2.25": version "1.2.25" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz#24b03391d14f0c6171e8cad7057c687b74049790" @@ -1106,13 +1106,6 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.25" -"@fortawesome/free-brands-svg-icons@^5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.10.1.tgz#79e0928269e818a18ee19cec56dc8d767e65cd8f" - integrity sha512-xrq2+coLZUGcQsmbdoyyp5O5X4a6FhEQj3cGdlM14/bZ6lHCeKlZElsvr/ETtFtD8w2UgQpb3E7Eylo69utD1g== - dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.21" - "@fortawesome/free-brands-svg-icons@^5.11.2": version "5.11.2" resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.11.2.tgz#39d4296d03bf5719c579dea4bdcdd356ed2de0b4" @@ -1134,18 +1127,10 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.25" -"@fortawesome/react-fontawesome@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.4.tgz#18d61d9b583ca289a61aa7dccc05bd164d6bc9ad" - integrity sha512-GwmxQ+TK7PEdfSwvxtGnMCqrfEm0/HbRHArbUudsYiy9KzVCwndxa2KMcfyTQ8El0vROrq8gOOff09RF1oQe8g== - dependencies: - humps "^2.0.1" - prop-types "^15.5.10" - -"@fortawesome/react-fontawesome@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz#b798b96401e25d07c30bbe1b9ec0e6d8a33760a5" - integrity sha512-DNqt2t4JQ0YQKi832XzByk1wlQzgugwwCCNQHsFyz1z/zA9dtypSvsvVwMIaWXMljalYzKAA2zHX13C1DIxKAw== +"@fortawesome/react-fontawesome@^0.1.7": + version "0.1.7" + resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.7.tgz#c004ca75c15c5a1218101e8f042b8da8dec0c4b5" + integrity sha512-AHWSzOsHBe5vqOkrvs+CKw+8eLl+0XZsVixOWhTPpGpOA8WQUbVU6J9cmtAvTaxUU5OIf+rgxxF8ZKc3BVldxg== dependencies: prop-types "^15.5.10" @@ -1405,59 +1390,68 @@ resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" integrity sha512-OWk811Ay63UdPxY5nEg4N99Goz6K9HLaeGfUN2q0uehhQ70hJDqDQq/vYl5rtE07mv7MYX7GYTpj5POlPbZNRg== -"@renproject/react-components@1.0.32": - version "1.0.32" - resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.32.tgz#4a6f1911e79a25eac80af4c868085e31f985d5c5" - integrity sha512-Lop1Io+PN5kEJG3FAYuoEFNE8HBVC6CeTjM/KWYek9b7Fof83OkyD8hRrxOt+3TxZJbgfsEaHl+IEXX7rtuGdQ== +"@renproject/react-components@1.0.36": + version "1.0.36" + resolved "https://registry.yarnpkg.com/@renproject/react-components/-/react-components-1.0.36.tgz#de0c3550c4d62055fda8a204cd26b27ba021089d" + integrity sha512-RMrbeiDZKdF0QzbtMc1AWggrxUqkKS/r4nx+SY+OITBDb09v4Iu4klguLY/EBKThTsPZATHtzbGxCqLK0EDLrQ== dependencies: - "@fortawesome/fontawesome-svg-core" "^1.2.21" - "@fortawesome/free-brands-svg-icons" "^5.10.1" - "@fortawesome/react-fontawesome" "^0.1.4" + "@fortawesome/fontawesome-svg-core" "^1.2.25" + "@fortawesome/free-brands-svg-icons" "^5.11.2" + "@fortawesome/react-fontawesome" "^0.1.7" "@renproject/fonts" "^1.0.1" - "@types/react-select" "^3.0.2" + "@types/react-select" "^3.0.5" immutable "^4.0.0-rc.12" moment "^2.24.0" - react-element-to-jsx-string "^14.0.3" - react-router "^5.0.1" - react-router-dom "^5.0.1" - react-select "^3.0.4" + react-element-to-jsx-string "^14.1.0" + react-router "^5.1.2" + react-router-dom "^5.1.2" + react-select "^3.0.8" -"@sentry/browser@^5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.7.1.tgz#1f8435e2a325d7a09f830065ebce40a2b3c708a4" - integrity sha512-K0x1XhsHS8PPdtlVOLrKZyYvi5Vexs9WApdd214bO6KaGF296gJvH1mG8XOY0+7aA5i2A7T3ttcaJNDYS49lzw== +"@sentry/browser@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.8.0.tgz#cd8adb96154ed1777fb14278d802bf90df06d15f" + integrity sha512-o8OWLZ2+IT8FbSa4MWBtXbENG5hmDR511VFE5l/q/BjE6W/mWyiA+9UxFkxNvRFvhT/r436mXzNcmmRli/AQ2A== dependencies: - "@sentry/core" "5.7.1" + "@sentry/core" "5.8.0" "@sentry/types" "5.7.1" - "@sentry/utils" "5.7.1" + "@sentry/utils" "5.8.0" tslib "^1.9.3" -"@sentry/core@5.7.1", "@sentry/core@^5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.7.1.tgz#3eb2b7662cac68245931ee939ec809bf7a639d0e" - integrity sha512-AOn3k3uVWh2VyajcHbV9Ta4ieDIeLckfo7UMLM+CTk2kt7C89SayDGayJMSsIrsZlL4qxBoLB9QY4W2FgAGJrg== +"@sentry/core@5.8.0", "@sentry/core@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.8.0.tgz#bbfd2f4711491951a8e3a0e8fa8b172fdf7bff6f" + integrity sha512-aAh2KLidIXJVGrxmHSVq2eVKbu7tZiYn5ylW6yzJXFetS5z4MA+JYaSBaG2inVYDEEqqMIkb17TyWxxziUDieg== dependencies: - "@sentry/hub" "5.7.1" - "@sentry/minimal" "5.7.1" + "@sentry/hub" "5.8.0" + "@sentry/minimal" "5.8.0" "@sentry/types" "5.7.1" - "@sentry/utils" "5.7.1" + "@sentry/utils" "5.8.0" tslib "^1.9.3" -"@sentry/hub@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.7.1.tgz#a52acd9fead7f3779d96e9965c6978aecc8b9cad" - integrity sha512-evGh323WR073WSBCg/RkhlUmCQyzU0xzBzCZPscvcoy5hd4SsLE6t9Zin+WACHB9JFsRQIDwNDn+D+pj3yKsig== +"@sentry/hub@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.8.0.tgz#56aaeb7324cb66d90db838011cb0127f5558007f" + integrity sha512-VdApn1ZCNwH1wwQwoO6pu53PM/qgHG+DQege0hbByluImpLBhAj9w50nXnF/8KzV4UoMIVbzCb6jXzMRmqqp9A== dependencies: "@sentry/types" "5.7.1" - "@sentry/utils" "5.7.1" + "@sentry/utils" "5.8.0" tslib "^1.9.3" -"@sentry/minimal@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.7.1.tgz#56afc537737586929e25349765e37a367958c1e1" - integrity sha512-nS/Dg+jWAZtcxQW8wKbkkw4dYvF6uyY/vDiz/jFCaux0LX0uhgXAC9gMOJmgJ/tYBLJ64l0ca5LzpZa7BMJQ0g== +"@sentry/integrations@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-5.8.0.tgz#ea0ac89a701ebfb809ee992e758ad49d66083b5e" + integrity sha512-Obe3GqTtq63PAJ4opYEbeZ6Bm8uw+CND+7MywJLDguqnvIVRvxpcJIZ6wxcE/VjbU3OMkNmTMnM+ra8RB7Wj6w== + dependencies: + "@sentry/types" "5.7.1" + "@sentry/utils" "5.8.0" + tslib "^1.9.3" + +"@sentry/minimal@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.8.0.tgz#b7ad5113504ab67f1ef2b0f465b7ba608e6b8dc5" + integrity sha512-MIlFOgd+JvAUrBBmq7vr9ovRH1HvckhnwzHdoUPpKRBN+rQgTyZy1o6+kA2fASCbrRqFCP+Zk7EHMACKg8DpIw== dependencies: - "@sentry/hub" "5.7.1" + "@sentry/hub" "5.8.0" "@sentry/types" "5.7.1" tslib "^1.9.3" @@ -1466,10 +1460,10 @@ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.7.1.tgz#4c4c1d4d891b6b8c2c3c7b367d306a8b1350f090" integrity sha512-tbUnTYlSliXvnou5D4C8Zr+7/wJrHLbpYX1YkLXuIJRU0NSi81bHMroAuHWILcQKWhVjaV/HZzr7Y/hhWtbXVQ== -"@sentry/utils@5.7.1": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.7.1.tgz#cf37ad55f78e317665cd8680f202d307fa77f1d0" - integrity sha512-nhirUKj/qFLsR1i9kJ5BRvNyzdx/E2vorIsukuDrbo8e3iZ11JMgCOVrmC8Eq9YkHBqgwX4UnrPumjFyvGMZ2Q== +"@sentry/utils@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.8.0.tgz#34683088159b9935f973b6e6cad1a1cc26bbddac" + integrity sha512-KDxUvBSYi0/dHMdunbxAxD3389pcQioLtcO6CI6zt/nJXeVFolix66cRraeQvqupdLhvOk/el649W4fCPayTHw== dependencies: "@sentry/types" "5.7.1" tslib "^1.9.3" @@ -1589,11 +1583,17 @@ dependencies: defer-to-connect "^1.0.1" -"@truffle/hdwallet-provider@^1.0.21": - version "1.0.21" - resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.21.tgz#c6ccd79a46ed362e18fc417e7525d65cb0af1cba" - integrity sha512-xYY0EhQczcZToaYjoO4q7raV5tN9rdpE8n0i7yiKI738biOzlvHpGKGctNiixByDq3juDE9k0yCF8QFdzGEf2Q== +"@truffle/error@^0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.7.tgz#e9db39885575647ef08bf624b0c13fe46d41a209" + integrity sha512-UIfVKsXSXocKnn5+RNklUXNoGd/JVj7V8KmC48TQzmjU33HQI86PX0JDS7SpHMHasI3w9X//1q7Lu7nZtj3Zzg== + +"@truffle/hdwallet-provider@^1.0.24": + version "1.0.24" + resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.24.tgz#e091a59868faa9eb84eaa886d78d6782522f056c" + integrity sha512-8Y6mogh96W/5diIZIlV21KoOlX2e0zU8Gf+oqAFjE+iFKD2nO2BSrEDlOgg42AgLkPy+Y//QK5JuQwQPzpd6pA== dependencies: + "@truffle/provider" "^0.2.1" any-promise "^1.3.0" bindings "^1.5.0" bip39 "^2.4.2" @@ -1601,9 +1601,28 @@ ethereumjs-tx "^1.0.0" ethereumjs-util "^6.1.0" ethereumjs-wallet "^0.6.3" - web3 "1.2.1" + web3 "1.2.2" web3-provider-engine "https://github.com/trufflesuite/provider-engine#web3-one" +"@truffle/interface-adapter@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.3.2.tgz#61742799a532a3e1de3fe138b40803b3cfd08c1e" + integrity sha512-hK6wkzfRMotVQ4TqUTXJBpVgISSZfQCjsc4XevkQLbUQzPXHhDqaIqGpIHmQ96RWAHKUlOOkHyJPpbWB4jnu1A== + dependencies: + bn.js "^4.11.8" + ethers "^4.0.32" + lodash "^4.17.13" + web3 "1.2.2" + +"@truffle/provider@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.1.tgz#7a5b65e0b35b1293a0c017abbc3590590a64e947" + integrity sha512-f87TJTWxZw/RMKw978GwI1PbQW1V+uOK49wztX55X324+Yf7LwjEP4XKVz2j+OQ2hZlsGjwd7I79ZPNQ4/cYkg== + dependencies: + "@truffle/error" "^0.0.7" + "@truffle/interface-adapter" "^0.3.2" + web3 "1.2.2" + "@types/babel__core@^7.1.0": version "7.1.2" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" @@ -1658,10 +1677,10 @@ dependencies: "@types/base-x" "*" -"@types/chai@^4.2.3": - version "4.2.3" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.3.tgz#419477a3d5202bad19e14c787940a61dc9ea6407" - integrity sha512-VRw2xEGbll3ZiTQ4J02/hUjNqZoue1bMhoo2dgM2LXjDdyaq4q80HgBDHwpI0/VKlo4Eg+BavyQMv/NYgTetzA== +"@types/chai@^4.2.4": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.4.tgz#8936cffad3c96ec470a2dc26a38c3ba8b9b6f619" + integrity sha512-7qvf9F9tMTzo0akeswHPGqgUx/gIaJqrOEET/FCD8CFRkSUHlygQiM5yB6OvjrtdxBVLSyw7COJubsFYs0683g== "@types/d3-geo@*": version "1.11.1" @@ -1675,10 +1694,12 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== -"@types/filesize@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-4.2.0.tgz#5ef6403b33bc00c718bc6f88d2a0e172df0a110a" - integrity sha512-cGnXW1YH24LI6iCWFjaJ9nVX/WX3d1XzIjJuniZWMD+hpGBWDECCeh8H4MwTg17IMKRU1pfjwfI8crok7b2fEA== +"@types/filesize@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/filesize/-/filesize-5.0.0.tgz#c6c252b5b514a5d1948bc9bcb76f4f780570c481" + integrity sha512-zgn1Kmm6VfqruG9STpwpZiSnpzHjF9hlvHVw+5hhM20xRCOIgjxnXJxOoLuZ/aWS6v/M5d6fvXFbbVQfBe4cMg== + dependencies: + filesize "*" "@types/geojson@*": version "7946.0.7" @@ -1723,10 +1744,10 @@ resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -"@types/jest@^24.0.19": - version "24.0.19" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.19.tgz#f7036058d2a5844fe922609187c0ad8be430aff5" - integrity sha512-YYiqfSjocv7lk5H/T+v5MjATYjaTMsUkbDnjGqSMoO88jWdtJXJV4ST/7DKZcoMHMBvB2SeSfyOzZfkxXHR5xg== +"@types/jest@^24.0.22": + version "24.0.22" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.22.tgz#08a50be08e78aba850a1185626e71d31e2336145" + integrity sha512-t2OvhNZnrNjlzi2i0/cxbLVM59WN15I2r1Qtb7wDv28PnV9IzrPtagFRey/S9ezdLD0zyh1XGMQIEQND2YEfrw== dependencies: "@types/jest-diff" "*" @@ -1735,6 +1756,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + "@types/node@*": version "12.7.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.1.tgz#3b5c3a26393c19b400844ac422bd0f631a94d69d" @@ -1745,10 +1771,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== -"@types/node@^12.11.1": - version "12.11.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz#1fd7b821f798b7fa29f667a1be8f3442bb8922a3" - integrity sha512-TJtwsqZ39pqcljJpajeoofYRfeZ7/I/OMUQ5pR4q5wOKf2ocrUvBAZUMhWsOvKx3dVc/aaV5GluBivt0sWqA5A== +"@types/node@^12.12.7": + version "12.12.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.7.tgz#01e4ea724d9e3bd50d90c11fd5980ba317d8fa11" + integrity sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w== "@types/node@^12.6.1": version "12.7.2" @@ -1779,27 +1805,27 @@ dependencies: "@types/react" "*" -"@types/react-dom@^16.9.2": - version "16.9.2" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz#90f9e6c161850be1feb31d2f448121be2a4f3b47" - integrity sha512-hgPbBoI1aTSTvZwo8HYw35UaTldW6n2ETLvHAcfcg1FaOuBV3olmyCe5eMpx2WybWMBPv0MdU2t5GOcQhP+3zA== +"@types/react-dom@^16.9.4": + version "16.9.4" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.4.tgz#0b58df09a60961dcb77f62d4f1832427513420df" + integrity sha512-fya9xteU/n90tda0s+FtN5Ym4tbgxpq/hb/Af24dvs6uYnYn+fspaxw5USlw0R8apDNwxsqumdRoCoKitckQqw== dependencies: "@types/react" "*" -"@types/react-redux@^7.1.4": - version "7.1.4" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.4.tgz#e0d02a073e730b8b58a6341bddca2ea692ff0bce" - integrity sha512-SUV/7d+4L7C1Db/D4pqASgN1V1U2HnDEhEol9lYpPSguS76xFboZzf5ha2hTz6v31cUewyC7WksMh1q8JxhebQ== +"@types/react-redux@^7.1.5": + version "7.1.5" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.5.tgz#c7a528d538969250347aa53c52241051cf886bd3" + integrity sha512-ZoNGQMDxh5ENY7PzU7MVonxDzS1l/EWiy8nUhDqxFqUZn4ovboCyvk4Djf68x6COb7vhGTKjyjxHxtFdAA5sUA== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-router-dom@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.0.tgz#8baa84a7fa8c8e7797fb3650ca51f93038cb4caf" - integrity sha512-YCh8r71pL5p8qDwQf59IU13hFy/41fDQG/GeOI3y+xmD4o0w3vEPxE8uBe+dvOgMoDl0W1WUZsWH0pxc1mcZyQ== +"@types/react-router-dom@^5.1.2": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.2.tgz#853f229f1f297513c0be84f7c914a08b778cfdf5" + integrity sha512-kRx8hoBflE4Dp7uus+j/0uMHR5uGTAvQtc4A3vOTWKS+epe0leCuxEx7HNT7XGUd1lH53/moWM51MV2YUyhzAg== dependencies: "@types/history" "*" "@types/react" "*" @@ -1813,10 +1839,10 @@ "@types/history" "*" "@types/react" "*" -"@types/react-select@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.2.tgz#7b1f93967668e89f50fe00b48e6ee8bd8dea773c" - integrity sha512-9OrprBJqwJkFanyITQq65r36CjjDt+H5zJYh9C81MnUqH4Dulk5WZSLR77kwlw/yXd8jMii4Dz519amr6IMCfQ== +"@types/react-select@^3.0.5": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.8.tgz#b824a12d438dd493c30ffff49a805f797602a837" + integrity sha512-0763TXYZc8bTiHM+DUnWoy9Rg5mk6PxYWBrEe6Fkjgc0Kv0r1RqjZk9/BrK4wdM0RNjYjixlFPnUhOJb76sMGg== dependencies: "@types/react" "*" "@types/react-dom" "*" @@ -1837,10 +1863,10 @@ dependencies: "@types/react" "*" -"@types/react-transition-group@1.1": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-1.1.6.tgz#871079e586ba346edae3b2a1cd0614e9f4363bf7" - integrity sha512-zzoJIWFAqvI3EwDizpeJoShUEe6dVIw3EDRmnqLlpmQgfbaw6XUmJYFVOiAyZVnO/9L7zPSe3kN8aZ2q3JP2DA== +"@types/react-transition-group@4.2": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.3.tgz#4924133f7268694058e415bf7aea2d4c21131470" + integrity sha512-Hk8jiuT7iLOHrcjKP/ZVSyCNXK73wJAUz60xm0mVhiRujrdiI++j4duLiL282VGxwAgxetHQFfqA29LgEeSkFA== dependencies: "@types/react" "*" @@ -1852,10 +1878,10 @@ "@types/prop-types" "*" csstype "^2.2.0" -"@types/react@^16.9.9": - version "16.9.9" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz#a62c6f40f04bc7681be5e20975503a64fe783c3a" - integrity sha512-L+AudFJkDukk+ukInYvpoAPyJK5q1GanFOINOJnM0w6tUgITuWvJ4jyoBPFL7z4/L8hGLd+K/6xR5uUjXu0vVg== +"@types/react@^16.9.11": + version "16.9.11" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.11.tgz#70e0b7ad79058a7842f25ccf2999807076ada120" + integrity sha512-UBT4GZ3PokTXSWmdgC/GeCGEJXE5ofWyibCcecRLUVN2ZBpXQGVgQGtG2foS7CrTKFKlQVVswLvf7Js6XA/CVQ== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -3908,11 +3934,6 @@ chai@^4.2.0: pathval "^1.1.0" type-detect "^4.0.5" -chain-function@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.1.tgz#c63045e5b4b663fb86f1c6e186adaf1de402a1cc" - integrity sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg== - chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -3938,10 +3959,10 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -chart.js@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.8.0.tgz#b703b10d0f4ec5079eaefdcd6ca32dc8f826e0e9" - integrity sha512-Di3wUL4BFvqI5FB5K26aQ+hvWh8wnP9A3DWGvXHVkO13D3DSnaSsdZx29cXlEsYKVkn1E2az+ZYFS4t0zi8x0w== +chart.js@^2.9.2: + version "2.9.2" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.9.2.tgz#5f7397f2fc33ca406836dbaed3cc39943bbb9f80" + integrity sha512-AagP9h27gU7hhx8F64BOFpNZGV0R1Pz1nhsi0M1+KLhtniX6ElqLl0z0obKSiuGMl9tcRe6ZhruCGCJWmH6snQ== dependencies: chartjs-color "^2.1.0" moment "^2.10.2" @@ -4032,11 +4053,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - clean-css@4.2.x: version "4.2.1" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" @@ -4799,6 +4815,11 @@ csstype@^2.2.0, csstype@^2.5.7: resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== +csstype@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" + integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -5229,13 +5250,21 @@ dom-converter@^0.2: dependencies: utila "~0.4" -dom-helpers@^3.2.0, dom-helpers@^3.4.0: +dom-helpers@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== dependencies: "@babel/runtime" "^7.1.2" +dom-helpers@^5.0.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.3.tgz#7233248eb3a2d1f74aafca31e52c5299cc8ce821" + integrity sha512-nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw== + dependencies: + "@babel/runtime" "^7.6.3" + csstype "^2.6.7" + dom-serializer@0: version "0.2.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" @@ -5915,6 +5944,13 @@ eth-tx-summary@^3.1.2: ethereumjs-vm "^2.6.0" through2 "^2.0.3" +ethereum-bloom-filters@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.6.tgz#9cdebb3ec20de96ec4a434c6bad6ea5a513037aa" + integrity sha512-dE9CGNzgOOsdh7msZirvv8qjHtnHpvBlKe2647kM8v+yeF71IRso55jpojemvHV+jMjr48irPWxMRaHuOWzAFA== + dependencies: + js-sha3 "^0.8.0" + ethereum-common@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" @@ -5973,6 +6009,11 @@ ethereumjs-common@^1.1.0: resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.2.tgz#5a20831e52199a31ff4b68ef361e34c05c976ed0" integrity sha512-GkltYRIqBLzaZLmF/K3E+g9lZ4O4FL+TtpisAlD3N+UVlR+mrtoG+TvxavqVa6PwOY4nKIEMe5pl6MrTio3Lww== +ethereumjs-common@^1.3.1, ethereumjs-common@^1.3.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.4.0.tgz#a940685f88f3c2587e4061630fe720b089c965b8" + integrity sha512-ser2SAplX/YI5W2AnzU8wmSjKRy4KQd4uxInJ36BzjS3m18E/B9QedPUIresZN1CSEQb/RgNQ2gN7C/XbpTafA== + ethereumjs-tx@^1.0.0, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" @@ -5981,6 +6022,14 @@ ethereumjs-tx@^1.0.0, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@ ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" +ethereumjs-tx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz#7d204e2b319156c9bc6cec67e9529424a26e8ccc" + integrity sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA== + dependencies: + ethereumjs-common "^1.3.1" + ethereumjs-util "^6.0.0" + ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5: version "5.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" @@ -6071,6 +6120,22 @@ ethers@^4.0.27: uuid "2.0.1" xmlhttprequest "1.8.0" +ethers@^4.0.32: + version "4.0.39" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.39.tgz#5ce9dfffedb03936415743f63b37d96280886a47" + integrity sha512-QVtC8TTUgTrnlQjQvdFJ7fkSWKwp8HVTbKRmrdbVryrPzJHMTf3WSeRNvLF2enGyAFtyHJyFNnjN0fSshcEr9w== + dependencies: + "@types/node" "^10.3.2" + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.3.3" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + ethjs-unit@0.1.6, ethjs-unit@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" @@ -6417,16 +6482,16 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +filesize@*, filesize@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" + integrity sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg== + filesize@3.6.1: version "3.6.1" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== -filesize@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-5.0.3.tgz#2fa284185e9d2e8edbec2915b4dadce4043aac31" - integrity sha512-RM123v6KPqgZJmVCh4rLvCo8tLKr4sgD92DeZ+AuoUE8teGZJHKs1cTORwETcpIJSlGsz2WYdwKDQUXby5hNqQ== - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -7527,11 +7592,6 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -humps@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/humps/-/humps-2.0.1.tgz#dd02ea6081bd0568dc5d073184463957ba9ef9aa" - integrity sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao= - iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -8726,6 +8786,11 @@ js-sha3@^0.6.1: resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= +js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -10054,29 +10119,6 @@ node-releases@^1.1.29: dependencies: semver "^5.3.0" -node-sass@^4.12.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017" - integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash "^4.17.11" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.13.2" - node-gyp "^3.8.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "^2.2.4" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - node-sass@^4.13.0: version "4.13.0" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.0.tgz#b647288babdd6a1cb726de4545516b31f90da066" @@ -10174,10 +10216,10 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-check-updates@^3.1.24: - version "3.1.24" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.1.24.tgz#bbb27267c786aa4c052cfd6f5f45b02ae00c021f" - integrity sha512-8CxlXsSPo8RCAHHqycxU9gcDcSkoBI0I2bkh37HJry2VJhqGxeVnEVq8vtFcigzIRrUgbSOyKgSm+jvu3ookMw== +npm-check-updates@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.2.1.tgz#6bb73a5b8684e94b6093d1f189d176074eb4512b" + integrity sha512-gYXHGc9mAncGrEMjs2uRJgOdWRP5CR9iZ+HyUNf4eqjtdDV6jLvi2e19G5BEpdvc8fU73J+B5m8ALYB49du/EA== dependencies: chalk "^2.4.2" cint "^8.2.1" @@ -11786,7 +11828,7 @@ prompts@^2.0.1, prompts@^2.2.1: kleur "^3.0.3" sisteransi "^1.0.3" -prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -11947,7 +11989,7 @@ querystringify@^2.0.0, querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== -raf@3.4.1, raf@^3.4.0: +raf@3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== @@ -11969,11 +12011,6 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -randomhex@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" - integrity sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU= - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -12063,33 +12100,33 @@ react-dev-utils@^9.1.0: strip-ansi "5.2.0" text-table "0.2.0" -react-dom@^16.10.2: - version "16.10.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz#4840bce5409176bc3a1f2bd8cb10b92db452fda6" - integrity sha512-kWGDcH3ItJK4+6Pl9DZB16BXYAZyrYQItU4OMy0jAkv5aNqc+mAKb4TpFtAteI6TJZu+9ZlNhaeNQSVQDHJzkw== +react-dom@^16.11.0: + version "16.11.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.11.0.tgz#7e7c4a5a85a569d565c2462f5d345da2dd849af5" + integrity sha512-nrRyIUE1e7j8PaXSPtyRKtz+2y9ubW/ghNgqKFHHAHaeP0fpF5uXR+sq8IMRHC+ZUxw7W9NyCDTBtwWxvkb0iA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.16.2" + scheduler "^0.17.0" -react-element-to-jsx-string@^14.0.3: - version "14.0.3" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.0.3.tgz#64f50fdbf6ba154d6439da3d7307f79069b94d58" - integrity sha512-ziZAm7OwEfFtyhCmQiFNI87KFu+G9EP8qVW4XtDHdKNqqprYifLzqXkzHqC1vnVsPhyp2znoPm0bJHAf1mUBZA== +react-element-to-jsx-string@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.1.0.tgz#31fcc3a82459d5e57ef852aa6879bcd0a578a8cb" + integrity sha512-uvfAsY6bn2c8HMBkxwj+2MMXcvNIkKDl0aZg2Jhzp+c096hZaXUNivVCP2H4RBtmGSSJcfMqQA5oPk8YdqFOVw== dependencies: + "@base2/pretty-print-object" "^1.0.0" is-plain-object "3.0.0" - stringify-object "3.3.0" react-error-overlay@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz#c378c4b0a21e88b2e159a3e62b2f531fd63bf60d" integrity sha512-bOUvMWFQVk5oz8Ded9Xb7WVdEi3QGLC8tH7HmYP0Fdp4Bn3qw0tRFmr5TW6mvahzvmrK4a6bqWGfCevBflP+Xw== -react-input-autosize@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8" - integrity sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA== +react-input-autosize@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2" + integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw== dependencies: prop-types "^15.5.8" @@ -12103,10 +12140,10 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-redux@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.1.tgz#ce6eee1b734a7a76e0788b3309bf78ff6b34fa0a" - integrity sha512-QsW0vcmVVdNQzEkrgzh2W3Ksvr8cqpAv5FhEk7tNEft+5pp7rXxAudTz3VOPawRkLIepItpkEIyLcN/VVXzjTg== +react-redux@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.3.tgz#717a3d7bbe3a1b2d535c94885ce04cdc5a33fc79" + integrity sha512-uI1wca+ECG9RoVkWQFF4jDMqmaw0/qnvaSvOoL/GA4dNxf6LoV8sUAcNDvE5NWKs4hFpn0t6wswNQnY3f7HT3w== dependencies: "@babel/runtime" "^7.5.5" hoist-non-react-statics "^3.3.0" @@ -12115,19 +12152,6 @@ react-redux@^7.1.1: prop-types "^15.7.2" react-is "^16.9.0" -react-router-dom@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.1.tgz#ee66f4a5d18b6089c361958e443489d6bab714be" - integrity sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.0.1" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - react-router-dom@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" @@ -12141,23 +12165,7 @@ react-router-dom@^5.1.2: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.0.1, react-router@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" - integrity sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg== - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.3.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.1.2: +react-router@5.1.2, react-router@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== @@ -12234,20 +12242,18 @@ react-scripts@^3.2.0: optionalDependencies: fsevents "2.0.7" -react-select@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.4.tgz#16bde37c24fd4f6444914d4681e78f15ffbc86d3" - integrity sha512-fbVISKa/lSUlLsltuatfUiKcWCNvdLXxFFyrzVQCBUsjxJZH/m7UMPdw/ywmRixAmwXAP++MdbNNZypOsiDEfA== +react-select@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.0.8.tgz#06ff764e29db843bcec439ef13e196865242e0c1" + integrity sha512-v9LpOhckLlRmXN5A6/mGGEft4FMrfaBFTGAnuPHcUgVId7Je42kTq9y0Z+Ye5z8/j0XDT3zUqza8gaRaI1PZIg== dependencies: "@babel/runtime" "^7.4.4" "@emotion/cache" "^10.0.9" "@emotion/core" "^10.0.9" "@emotion/css" "^10.0.9" - classnames "^2.2.5" memoize-one "^5.0.0" prop-types "^15.6.0" - raf "^3.4.0" - react-input-autosize "^2.2.1" + react-input-autosize "^2.2.2" react-transition-group "^2.2.1" react-simple-maps@^0.12.1: @@ -12259,16 +12265,15 @@ react-simple-maps@^0.12.1: d3-geo-projection "1.2.2" topojson-client "2.1.0" -react-transition-group@1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-1.2.1.tgz#e11f72b257f921b213229a774df46612346c7ca6" - integrity sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q== +react-transition-group@4.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz#fea832e386cf8796c58b61874a3319704f5ce683" + integrity sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw== dependencies: - chain-function "^1.0.0" - dom-helpers "^3.2.0" - loose-envify "^1.3.1" - prop-types "^15.5.6" - warning "^3.0.0" + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" react-transition-group@^2.2.1: version "2.9.0" @@ -12280,10 +12285,10 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.10.2: - version "16.10.2" - resolved "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz#a5ede5cdd5c536f745173c8da47bda64797a4cf0" - integrity sha512-MFVIq0DpIhrHFyqLU0S3+4dIcBhhOvBE8bJ/5kHPVOVaGdo0KuiQzpcjCPsf585WvhypqtrMILyoE2th6dT+Lw== +react@^16.11.0: + version "16.11.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb" + integrity sha512-M5Y8yITaLmU0ynd0r1Yvfq98Rmll6q8AxaEe88c8e7LxO8fZ2cNgmFt0aGAS9wzf1Ao32NKXtCl+/tVVtkxq6g== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -12999,10 +13004,10 @@ saxes@^3.1.9: dependencies: xmlchars "^2.1.1" -scheduler@^0.16.2: - version "0.16.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.16.2.tgz#f74cd9d33eff6fc554edfb79864868e4819132c1" - integrity sha512-BqYVWqwz6s1wZMhjFvLfVR5WXP7ZY32M/wYPo04CcuPM7XZEbV2TBNW7Z0UkguPTl0dWMA59VbNXxK6q+pHItg== +scheduler@^0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz#7c9c673e4ec781fac853927916d1c426b6f3ddfe" + integrity sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -13042,6 +13047,13 @@ scrypt-js@2.0.4: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== +"scrypt-shim@github:web3-js/scrypt-shim": + version "0.1.0" + resolved "https://codeload.github.com/web3-js/scrypt-shim/tar.gz/be5e616323a8b5e568788bf94d03c1b8410eac54" + dependencies: + scryptsy "^2.1.0" + semver "^6.3.0" + scrypt.js@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.3.0.tgz#6c62d61728ad533c8c376a2e5e3e86d41a95c4c0" @@ -13055,7 +13067,7 @@ scrypt@^6.0.2, "scrypt@https://github.com/ren-forks/node-scrypt": version "0.0.0" resolved "https://github.com/ren-forks/node-scrypt#5348fac0c48de29ff77729032913ec0b78014793" -scryptsy@2.1.0: +scryptsy@2.1.0, scryptsy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== @@ -13796,7 +13808,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@3.3.0, stringify-object@^3.3.0: +stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -13872,16 +13884,16 @@ strip-indent@^1.0.1: dependencies: get-stdin "^4.0.1" -strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - strip-json-comments@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + style-loader@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" @@ -14308,13 +14320,24 @@ ts-pnp@^1.1.2: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== -ts-unused-exports@^2.0.11: - version "2.0.11" - resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-2.0.11.tgz#4c19c2a7d59662b51796a4eba1ce75681783fea1" - integrity sha512-c5NV9CpyEpY72Op5PTgNi2Wf9/esylBq6hTP0UiTMY+smADnQs8GgxLZwZWSAjlbXTXsg3mwv4HzU0b4jpc/lA== +ts-unused-exports@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-4.0.0.tgz#f0412e96c1bcd2e1f85e482baa00d88ec44dd9ab" + integrity sha512-54DgRAKhEEZB/YWc/cam0GD3H+ConU0VsM8QXSP+7bOLVgpA/k0TihKwSm7MYvQK/ZSnGLAO8CBClKD8dQBeXQ== dependencies: - strip-json-comments "^2.0.1" - typescript "^2.9.2" + chalk "^2.4.1" + tsconfig-paths "^3.5.0" + typescript "^3.6.4" + +tsconfig-paths@^3.5.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" + integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.10.0" @@ -14335,10 +14358,10 @@ tslint-react@^4.1.0: dependencies: tsutils "^3.9.1" -tslint@^5.20.0: - version "5.20.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.0.tgz#fac93bfa79568a5a24e7be9cdde5e02b02d00ec1" - integrity sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g== +tslint@^5.20.1: + version "5.20.1" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.20.1.tgz#e401e8aeda0152bc44dd07e614034f3f80c67b7d" + integrity sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg== dependencies: "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" @@ -14439,21 +14462,21 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typesafe-actions@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/typesafe-actions/-/typesafe-actions-4.4.2.tgz#8f817c479d12130b5ebb442032968b2a18929e1a" - integrity sha512-QW61P4cOX8dCNmrfpcUMjvU/MF/sFTC8/PlG9215W1gKDzZUBjRGdyYSO6ZcEUNsn491S2VpryJOHSIVSDqJrg== - -typescript@^2.9.2: - version "2.9.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" - integrity sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w== +typesafe-actions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/typesafe-actions/-/typesafe-actions-5.1.0.tgz#9afe8b1e6a323af1fd59e6a57b11b7dd6623d2f1" + integrity sha512-bna6Yi1pRznoo6Bz1cE6btB/Yy8Xywytyfrzu/wc+NFW3ZF0I+2iCGImhBsoYYCOWuICtRO4yHcnDlzgo1AdNg== typescript@^3.6.4: version "3.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== +typescript@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb" + integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== + uglify-js@3.4.x: version "3.4.10" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" @@ -14922,13 +14945,6 @@ wallet-address-validator@^0.2.4: base-x "^3.0.4" jssha "2.3.1" -warning@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" - integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= - dependencies: - loose-envify "^1.0.0" - watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" @@ -14945,23 +14961,24 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web3-bzz@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.1.tgz#c3bd1e8f0c02a13cd6d4e3c3e9e1713f144f6f0d" - integrity sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw== +web3-bzz@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.2.tgz#a3b9f613c49fd3e120e0997088a73557d5adb724" + integrity sha512-b1O2ObsqUN1lJxmFSjvnEC4TsaCbmh7Owj3IAIWTKqL9qhVgx7Qsu5O9cD13pBiSPNZJ68uJPaKq380QB4NWeA== dependencies: + "@types/node" "^10.12.18" got "9.6.0" swarm-js "0.1.39" underscore "1.9.1" -web3-core-helpers@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz#f5f32d71c60a4a3bd14786118e633ce7ca6d5d0d" - integrity sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw== +web3-core-helpers@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.2.tgz#484974f4bd4a487217b85b0d7cfe841af0907619" + integrity sha512-HJrRsIGgZa1jGUIhvGz4S5Yh6wtOIo/TMIsSLe+Xay+KVnbseJpPprDI5W3s7H2ODhMQTbogmmUFquZweW2ImQ== dependencies: underscore "1.9.1" - web3-eth-iban "1.2.1" - web3-utils "1.2.1" + web3-eth-iban "1.2.2" + web3-utils "1.2.2" web3-core-helpers@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -14974,16 +14991,16 @@ web3-core-helpers@2.0.0-alpha.1: web3-eth-iban "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-core-method@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.1.tgz#9df1bafa2cd8be9d9937e01c6a47fc768d15d90a" - integrity sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ== +web3-core-method@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.2.tgz#d4fe2bb1945b7152e5f08e4ea568b171132a1e56" + integrity sha512-szR4fDSBxNHaF1DFqE+j6sFR/afv9Aa36OW93saHZnrh+iXSrYeUUDfugeNcRlugEKeUCkd4CZylfgbK2SKYJA== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.1" - web3-core-promievent "1.2.1" - web3-core-subscriptions "1.2.1" - web3-utils "1.2.1" + web3-core-helpers "1.2.2" + web3-core-promievent "1.2.2" + web3-core-subscriptions "1.2.2" + web3-utils "1.2.2" web3-core-method@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -14999,33 +15016,33 @@ web3-core-method@2.0.0-alpha.1: web3-core-subscriptions "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-core-promievent@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz#003e8a3eb82fb27b6164a6d5b9cad04acf733838" - integrity sha512-IVUqgpIKoeOYblwpex4Hye6npM0aMR+kU49VP06secPeN0rHMyhGF0ZGveWBrGvf8WDPI7jhqPBFIC6Jf3Q3zw== +web3-core-promievent@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.2.tgz#3b60e3f2a0c96db8a891c927899d29d39e66ab1c" + integrity sha512-tKvYeT8bkUfKABcQswK6/X79blKTKYGk949urZKcLvLDEaWrM3uuzDwdQT3BNKzQ3vIvTggFPX9BwYh0F1WwqQ== dependencies: any-promise "1.3.0" eventemitter3 "3.1.2" -web3-core-requestmanager@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz#fa2e2206c3d738db38db7c8fe9c107006f5c6e3d" - integrity sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg== +web3-core-requestmanager@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.2.tgz#667ba9ac724c9c76fa8965ae8a3c61f66e68d8d6" + integrity sha512-a+gSbiBRHtHvkp78U2bsntMGYGF2eCb6219aMufuZWeAZGXJ63Wc2321PCbA8hF9cQrZI4EoZ4kVLRI4OF15Hw== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.1" - web3-providers-http "1.2.1" - web3-providers-ipc "1.2.1" - web3-providers-ws "1.2.1" + web3-core-helpers "1.2.2" + web3-providers-http "1.2.2" + web3-providers-ipc "1.2.2" + web3-providers-ws "1.2.2" -web3-core-subscriptions@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz#8c2368a839d4eec1c01a4b5650bbeb82d0e4a099" - integrity sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g== +web3-core-subscriptions@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.2.tgz#bf4ba23a653a003bdc3551649958cc0b080b068e" + integrity sha512-QbTgigNuT4eicAWWr7ahVpJyM8GbICsR1Ys9mJqzBEwpqS+RXTRVSkwZ2IsxO+iqv6liMNwGregbJLq4urMFcQ== dependencies: eventemitter3 "3.1.2" underscore "1.9.1" - web3-core-helpers "1.2.1" + web3-core-helpers "1.2.2" web3-core-subscriptions@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15036,15 +15053,17 @@ web3-core-subscriptions@2.0.0-alpha.1: eventemitter3 "^4.0.0" lodash "^4.17.11" -web3-core@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.1.tgz#7278b58fb6495065e73a77efbbce781a7fddf1a9" - integrity sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg== +web3-core@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.2.tgz#334b99c8222ef9cfd0339e27352f0b58ea789a2f" + integrity sha512-miHAX3qUgxV+KYfaOY93Hlc3kLW2j5fH8FJy6kSxAv+d4d5aH0wwrU2IIoJylQdT+FeenQ38sgsCnFu9iZ1hCQ== dependencies: - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-requestmanager "1.2.1" - web3-utils "1.2.1" + "@types/bn.js" "^4.11.4" + "@types/node" "^12.6.1" + web3-core-helpers "1.2.2" + web3-core-method "1.2.2" + web3-core-requestmanager "1.2.2" + web3-utils "1.2.2" web3-core@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15059,14 +15078,14 @@ web3-core@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-eth-abi@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz#9b915b1c9ebf82f70cca631147035d5419064689" - integrity sha512-jI/KhU2a/DQPZXHjo2GW0myEljzfiKOn+h1qxK1+Y9OQfTcBMxrQJyH5AP89O6l6NZ1QvNdq99ThAxBFoy5L+g== +web3-eth-abi@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.2.tgz#d5616d88a90020f894763423a9769f2da11fe37a" + integrity sha512-Yn/ZMgoOLxhTVxIYtPJ0eS6pnAnkTAaJgUJh1JhZS4ekzgswMfEYXOwpMaD5eiqPJLpuxmZFnXnBZlnQ1JMXsw== dependencies: ethers "4.0.0-beta.3" underscore "1.9.1" - web3-utils "1.2.1" + web3-utils "1.2.2" web3-eth-abi@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15078,22 +15097,23 @@ web3-eth-abi@2.0.0-alpha.1: lodash "^4.17.11" web3-utils "2.0.0-alpha.1" -web3-eth-accounts@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz#2741a8ef337a7219d57959ac8bd118b9d68d63cf" - integrity sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ== +web3-eth-accounts@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.2.tgz#c187e14bff6baa698ac352220290222dbfd332e5" + integrity sha512-KzHOEyXOEZ13ZOkWN3skZKqSo5f4Z1ogPFNn9uZbKCz+kSp+gCAEKxyfbOsB/JMAp5h7o7pb6eYsPCUBJmFFiA== dependencies: any-promise "1.3.0" crypto-browserify "3.12.0" eth-lib "0.2.7" - scryptsy "2.1.0" - semver "6.2.0" + ethereumjs-common "^1.3.2" + ethereumjs-tx "^2.1.1" + scrypt-shim "github:web3-js/scrypt-shim" underscore "1.9.1" uuid "3.3.2" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.2" + web3-core-helpers "1.2.2" + web3-core-method "1.2.2" + web3-utils "1.2.2" web3-eth-accounts@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15115,19 +15135,20 @@ web3-eth-accounts@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-eth-contract@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz#3542424f3d341386fd9ff65e78060b85ac0ea8c4" - integrity sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g== +web3-eth-contract@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.2.tgz#84e92714918a29e1028ee7718f0712536e14e9a1" + integrity sha512-EKT2yVFws3FEdotDQoNsXTYL798+ogJqR2//CaGwx3p0/RvQIgfzEwp8nbgA6dMxCsn9KOQi7OtklzpnJMkjtA== dependencies: + "@types/bn.js" "^4.11.4" underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-promievent "1.2.1" - web3-core-subscriptions "1.2.1" - web3-eth-abi "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.2" + web3-core-helpers "1.2.2" + web3-core-method "1.2.2" + web3-core-promievent "1.2.2" + web3-core-subscriptions "1.2.2" + web3-eth-abi "1.2.2" + web3-utils "1.2.2" web3-eth-contract@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15146,19 +15167,19 @@ web3-eth-contract@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-eth-ens@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz#a0e52eee68c42a8b9865ceb04e5fb022c2d971d5" - integrity sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q== +web3-eth-ens@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.2.tgz#0a4abed1d4cbdacbf5e1ab06e502d806d1192bc6" + integrity sha512-CFjkr2HnuyMoMFBoNUWojyguD4Ef+NkyovcnUc/iAb9GP4LHohKrODG4pl76R5u61TkJGobC2ij6TyibtsyVYg== dependencies: eth-ens-namehash "2.0.8" underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-promievent "1.2.1" - web3-eth-abi "1.2.1" - web3-eth-contract "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.2" + web3-core-helpers "1.2.2" + web3-core-promievent "1.2.2" + web3-eth-abi "1.2.2" + web3-eth-contract "1.2.2" + web3-utils "1.2.2" web3-eth-ens@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15178,13 +15199,13 @@ web3-eth-ens@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-eth-iban@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz#2c3801718946bea24e9296993a975c80b5acf880" - integrity sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ== +web3-eth-iban@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.2.tgz#76bec73bad214df7c4192388979a59fc98b96c5a" + integrity sha512-gxKXBoUhaTFHr0vJB/5sd4i8ejF/7gIsbM/VvemHT3tF5smnmY6hcwSMmn7sl5Gs+83XVb/BngnnGkf+I/rsrQ== dependencies: bn.js "4.11.8" - web3-utils "1.2.1" + web3-utils "1.2.2" web3-eth-iban@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15195,16 +15216,17 @@ web3-eth-iban@2.0.0-alpha.1: bn.js "4.11.8" web3-utils "2.0.0-alpha.1" -web3-eth-personal@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz#244e9911b7b482dc17c02f23a061a627c6e47faf" - integrity sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg== +web3-eth-personal@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.2.tgz#eee1c86a8132fa16b5e34c6d421ca92e684f0be6" + integrity sha512-4w+GLvTlFqW3+q4xDUXvCEMU7kRZ+xm/iJC8gm1Li1nXxwwFbs+Y+KBK6ZYtoN1qqAnHR+plYpIoVo27ixI5Rg== dependencies: - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-net "1.2.1" - web3-utils "1.2.1" + "@types/node" "^12.6.1" + web3-core "1.2.2" + web3-core-helpers "1.2.2" + web3-core-method "1.2.2" + web3-net "1.2.2" + web3-utils "1.2.2" web3-eth-personal@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15220,24 +15242,24 @@ web3-eth-personal@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-eth@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.1.tgz#b9989e2557c73a9e8ffdc107c6dafbe72c79c1b0" - integrity sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA== +web3-eth@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.2.tgz#65a1564634a23b990efd1655bf94ad513904286c" + integrity sha512-UXpC74mBQvZzd4b+baD4Ocp7g+BlwxhBHumy9seyE/LMIcMlePXwCKzxve9yReNpjaU16Mmyya6ZYlyiKKV8UA== dependencies: underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-subscriptions "1.2.1" - web3-eth-abi "1.2.1" - web3-eth-accounts "1.2.1" - web3-eth-contract "1.2.1" - web3-eth-ens "1.2.1" - web3-eth-iban "1.2.1" - web3-eth-personal "1.2.1" - web3-net "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.2" + web3-core-helpers "1.2.2" + web3-core-method "1.2.2" + web3-core-subscriptions "1.2.2" + web3-eth-abi "1.2.2" + web3-eth-accounts "1.2.2" + web3-eth-contract "1.2.2" + web3-eth-ens "1.2.2" + web3-eth-iban "1.2.2" + web3-eth-personal "1.2.2" + web3-net "1.2.2" + web3-utils "1.2.2" web3-eth@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15261,14 +15283,14 @@ web3-eth@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-net@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.1.tgz#edd249503315dd5ab4fa00220f6509d95bb7ab10" - integrity sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw== +web3-net@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.2.tgz#5c3226ca72df7c591422440ce6f1203fd42ddad9" + integrity sha512-K07j2DXq0x4UOJgae65rWZKraOznhk8v5EGSTdFqASTx7vWE/m+NqBijBYGEsQY1lSMlVaAY9UEQlcXK5HzXTw== dependencies: - web3-core "1.2.1" - web3-core-method "1.2.1" - web3-utils "1.2.1" + web3-core "1.2.2" + web3-core-method "1.2.2" + web3-utils "1.2.2" web3-net@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15308,30 +15330,30 @@ web3-net@2.0.0-alpha.1: xhr "^2.2.0" xtend "^4.0.1" -web3-providers-http@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.1.tgz#c93ea003a42e7b894556f7e19dd3540f947f5013" - integrity sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ== +web3-providers-http@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.2.tgz#155e55c1d69f4c5cc0b411ede40dea3d06720956" + integrity sha512-BNZ7Hguy3eBszsarH5gqr9SIZNvqk9eKwqwmGH1LQS1FL3NdoOn7tgPPdddrXec4fL94CwgNk4rCU+OjjZRNDg== dependencies: - web3-core-helpers "1.2.1" + web3-core-helpers "1.2.2" xhr2-cookies "1.1.0" -web3-providers-ipc@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz#017bfc687a8fc5398df2241eb98f135e3edd672c" - integrity sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA== +web3-providers-ipc@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.2.tgz#c6d165a12bc68674b4cdd543ea18aec79cafc2e8" + integrity sha512-t97w3zi5Kn/LEWGA6D9qxoO0LBOG+lK2FjlEdCwDQatffB/+vYrzZ/CLYVQSoyFZAlsDoBasVoYSWZK1n39aHA== dependencies: oboe "2.1.4" underscore "1.9.1" - web3-core-helpers "1.2.1" + web3-core-helpers "1.2.2" -web3-providers-ws@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz#2d941eaf3d5a8caa3214eff8dc16d96252b842cb" - integrity sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA== +web3-providers-ws@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.2.tgz#d2c05c68598cea5ad3fa6ef076c3bcb3ca300d29" + integrity sha512-Wb1mrWTGMTXOpJkL0yGvL/WYLt8fUIXx8k/l52QB2IiKzvyd42dTWn4+j8IKXGSYYzOm7NMqv6nhA5VDk12VfA== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.1" + web3-core-helpers "1.2.2" websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" web3-providers@2.0.0-alpha.1: @@ -15351,15 +15373,15 @@ web3-providers@2.0.0-alpha.1: websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" xhr2-cookies "1.1.0" -web3-shh@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.1.tgz#4460e3c1e07faf73ddec24ccd00da46f89152b0c" - integrity sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA== +web3-shh@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.2.tgz#44ed998f2a6ba0ec5cb9d455184a0f647826a49c" + integrity sha512-og258NPhlBn8yYrDWjoWBBb6zo1OlBgoWGT+LL5/LPqRbjPe09hlOYHgscAAr9zZGtohTOty7RrxYw6Z6oDWCg== dependencies: - web3-core "1.2.1" - web3-core-method "1.2.1" - web3-core-subscriptions "1.2.1" - web3-net "1.2.1" + web3-core "1.2.2" + web3-core-method "1.2.2" + web3-core-subscriptions "1.2.2" + web3-net "1.2.2" web3-shh@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15375,16 +15397,17 @@ web3-shh@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -web3-utils@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.1.tgz#21466e38291551de0ab34558de21512ac4274534" - integrity sha512-Mrcn3l58L+yCKz3zBryM6JZpNruWuT0OCbag8w+reeNROSGVlXzUQkU+gtAwc9JCZ7tKUyg67+2YUGqUjVcyBA== +web3-utils@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.2.tgz#b53a08c40d2c3f31d3c4a28e7d749405df99c8c0" + integrity sha512-joF+s3243TY5cL7Z7y4h1JsJpUCf/kmFmj+eJar7Y2yNIGVcW961VyrAms75tjUysSuHaUQ3eQXjBEUJueT52A== dependencies: bn.js "4.11.8" eth-lib "0.2.7" + ethereum-bloom-filters "^1.0.6" ethjs-unit "0.1.6" number-to-bn "1.7.0" - randomhex "0.1.5" + randombytes "^2.1.0" underscore "1.9.1" utf8 "3.0.0" @@ -15404,18 +15427,19 @@ web3-utils@2.0.0-alpha.1: randombytes "^2.1.0" utf8 "2.1.1" -web3@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.1.tgz#5d8158bcca47838ab8c2b784a2dee4c3ceb4179b" - integrity sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw== - dependencies: - web3-bzz "1.2.1" - web3-core "1.2.1" - web3-eth "1.2.1" - web3-eth-personal "1.2.1" - web3-net "1.2.1" - web3-shh "1.2.1" - web3-utils "1.2.1" +web3@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.2.tgz#b1b8b69aafdf94cbaeadbb68a8aa1df2ef266aec" + integrity sha512-/ChbmB6qZpfGx6eNpczt5YSUBHEA5V2+iUCbn85EVb3Zv6FVxrOo5Tv7Lw0gE2tW7EEjASbCyp3mZeiZaCCngg== + dependencies: + "@types/node" "^12.6.1" + web3-bzz "1.2.2" + web3-core "1.2.2" + web3-eth "1.2.2" + web3-eth-personal "1.2.2" + web3-net "1.2.2" + web3-shh "1.2.2" + web3-utils "1.2.2" web3@2.0.0-alpha.1: version "2.0.0-alpha.1" From 968df2ec829e31d45336cbbe65610f053eec8e06 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 12 Nov 2019 11:18:15 +1100 Subject: [PATCH 103/117] src: tweaked feesblock font size --- .../darknodePage/statuspage/block/FeesBlock.tsx | 2 +- src/styles/scss/_block.scss | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/darknodePage/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx index 5c18192f..299d70b7 100644 --- a/src/components/darknodePage/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -188,7 +188,7 @@ class FeesBlockClass extends React.Component { { fees.map((balance: BigNumber, token: Token | OldToken) => { return - + {" "} {token} diff --git a/src/styles/scss/_block.scss b/src/styles/scss/_block.scss index 6ddf795d..d71e15ba 100644 --- a/src/styles/scss/_block.scss +++ b/src/styles/scss/_block.scss @@ -164,12 +164,21 @@ td { color: white; - font-size: 18px; + font-size: 14px; font-weight: 400; padding-top: 5px; padding-bottom: 5px; } + .fees-block--table--token { + display: flex; + align-items: center; + + span { + margin-top: 3px; + } + } + .tr { &, From ccbbf537d3b592f9c589d3c3ebd6374079218f42 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 19 Nov 2019 11:54:04 +1100 Subject: [PATCH 104/117] src: made error descriptions consistent --- src/components/App.tsx | 4 +- src/components/common/404.tsx | 2 +- src/components/common/BackgroundTasks.tsx | 48 +++++-------------- src/components/common/ErrorBoundary.tsx | 4 +- src/components/common/LoggingIn.tsx | 4 +- .../common/popups/MultiStepPopup.tsx | 16 ++----- .../common/popups/SelectWeb3Account.tsx | 4 +- .../darknodePage/statuspage/Registration.tsx | 7 +-- .../statuspage/block/GasGraph.tsx | 18 ++----- .../statuspage/topup/TopUpController.tsx | 10 ++-- src/components/hyperdrivePage/Hyperdrive.tsx | 2 +- src/components/overviewPage/RewardChart.tsx | 4 +- src/lib/ethereum/contractReads.spec.ts | 4 +- src/lib/ethereum/contractReads.ts | 15 +++--- src/lib/react/errors.ts | 18 +++---- src/store/account/operatorPopupActions.tsx | 6 +-- src/store/applicationState.ts | 10 ++-- src/store/network/networkReducer.ts | 7 +-- src/store/persistConfig.ts | 10 ++-- tslint.json | 25 ++++++---- 20 files changed, 85 insertions(+), 133 deletions(-) diff --git a/src/components/App.tsx b/src/components/App.tsx index d41ed36a..da32acc4 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -5,7 +5,7 @@ import { Route, RouteComponentProps, Switch, useLocation, withRouter } from "rea import { bindActionCreators } from "redux"; import { DEFAULT_REN_NETWORK } from "../lib/react/environmentVariables"; -import { _captureBackgroundException_ } from "../lib/react/errors"; +import { _catchBackgroundException_ } from "../lib/react/errors"; import { promptLogin } from "../store/account/accountActions"; import { ApplicationState } from "../store/applicationState"; import { AppDispatch } from "../store/rootReducer"; @@ -58,7 +58,7 @@ const AppClass = ({ match: { params }, store: { address, loggedInBefore, renNetw React.useEffect(() => { if (loggedInBefore) { actions.promptLogin({ manual: false, redirect: false, showPopup: false, immediatePopup: false }) - .catch(_captureBackgroundException_); + .catch((error) => _catchBackgroundException_(error, "Error in App > promptLogin")); } }, []); diff --git a/src/components/common/404.tsx b/src/components/common/404.tsx index d29375ac..d7b6034c 100644 --- a/src/components/common/404.tsx +++ b/src/components/common/404.tsx @@ -4,4 +4,4 @@ export const NotFound = (): JSX.Element =>
    404
    -
    ; +
    ; diff --git a/src/components/common/BackgroundTasks.tsx b/src/components/common/BackgroundTasks.tsx index 5d81e264..96a95941 100644 --- a/src/components/common/BackgroundTasks.tsx +++ b/src/components/common/BackgroundTasks.tsx @@ -6,7 +6,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { RouteComponentProps, withRouter } from "react-router-dom"; import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../lib/react/errors"; +import { _catchBackgroundException_ } from "../../lib/react/errors"; import { lookForLogout, promptLogin } from "../../store/account/accountActions"; import { ApplicationState } from "../../store/applicationState"; import { updateTokenPrices } from "../../store/network/networkActions"; @@ -51,7 +51,7 @@ class BackgroundTasksClass extends React.Component { // } // ); // } catch (error) { - // _captureBackgroundException_(error, { + // _catchBackgroundException_(error, { // description: "Error logging in on load", // }); // } @@ -62,9 +62,7 @@ class BackgroundTasksClass extends React.Component { public componentWillReceiveProps = (nextProps: Props): void => { if (this.props.store.address !== nextProps.store.address) { this.callUpdateOperatorDarknodes(nextProps).catch(error => { - _captureBackgroundException_(error, { - description: "Error in callUpdateOperatorDarknodes in BackgroundTasks", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateOperatorDarknodes "); }); } @@ -76,9 +74,7 @@ class BackgroundTasksClass extends React.Component { if (darknodeID !== nextDarknodeID) { this.callUpdateSelectedDarknode(nextProps).catch(error => { - _captureBackgroundException_(error, { - description: "Error in callUpdateSelectedDarknode in BackgroundTasks", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateSelectedDarknode"); }); } } @@ -100,9 +96,7 @@ class BackgroundTasksClass extends React.Component { // tslint:disable-next-line: await-promise await this.props.actions.updateTokenPrices(); } catch (error) { - _captureBackgroundException_(error, { - description: "Error thrown in callUpdatePrices background task", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdatePrices"); } if (this.callUpdatePricesTimeout) { clearTimeout(this.callUpdatePricesTimeout); } this.callUpdatePricesTimeout = setTimeout(this.callUpdatePrices, 60 * 1000) as unknown as NodeJS.Timer; @@ -117,9 +111,7 @@ class BackgroundTasksClass extends React.Component { // tslint:disable-next-line: await-promise await this.props.actions.updateCycleAndPendingRewards(web3, renNetwork, tokenPrices); } catch (error) { - _captureBackgroundException_(error, { - description: "Error thrown in callUpdateRewards background task", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateRewards"); } } else { retry = 1; @@ -132,9 +124,7 @@ class BackgroundTasksClass extends React.Component { private readonly callLookForLogout = async (): Promise => { if (this.props.store.address) { await (this.props.actions.lookForLogout() as unknown as Promise).catch((error) => { - _captureBackgroundException_(error, { - description: "Error thrown in callLookForLogout background task", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callLookForLogout"); }); } } @@ -158,9 +148,7 @@ class BackgroundTasksClass extends React.Component { await props.actions.updateOperatorDarknodes(web3, renNetwork, address, tokenPrices, list); timeout = 120; } catch (error) { - _captureBackgroundException_(error, { - description: "Error thrown in callUpdateOperatorDarknodes background task", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateOperatorDarknodes"); timeout = 10; } } @@ -192,9 +180,7 @@ class BackgroundTasksClass extends React.Component { ); timeout = 30; } catch (error) { - _captureBackgroundException_(error, { - description: "Error thrown in callUpdateSelectedDarknode background task", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateSelectedDarknode"); timeout = 15; // try again in half the time } } @@ -208,19 +194,13 @@ class BackgroundTasksClass extends React.Component { // tslint:disable-next-line:member-ordering public setupLoops(): void { this.callUpdatePrices().catch(error => { - _captureBackgroundException_(error, { - description: "Error in callUpdatePrices in BackgroundTasks", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdatePrices"); }); this.callUpdateRewards().catch(error => { - _captureBackgroundException_(error, { - description: "Error in callUpdateRewards in BackgroundTasks", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateRewards"); }); this.callUpdateSelectedDarknode().catch(error => { - _captureBackgroundException_(error, { - description: "Error in callUpdateSelectedDarknode in BackgroundTasks", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateSelectedDarknode"); }); } @@ -228,9 +208,7 @@ class BackgroundTasksClass extends React.Component { public setupLoopsWithAccount(): void { this.callLookForLogoutInterval = setInterval(this.callLookForLogout, 5000); this.callUpdateOperatorDarknodes().catch(error => { - _captureBackgroundException_(error, { - description: "Error in callUpdateOperatorDarknodes in BackgroundTasks", - }); + _catchBackgroundException_(error, "Error in BackgroundTasks > callUpdateOperatorDarknodes"); }); } diff --git a/src/components/common/ErrorBoundary.tsx b/src/components/common/ErrorBoundary.tsx index 7f96e1a5..eef121ef 100644 --- a/src/components/common/ErrorBoundary.tsx +++ b/src/components/common/ErrorBoundary.tsx @@ -1,7 +1,7 @@ import * as Sentry from "@sentry/browser"; import * as React from "react"; -import { _captureComponentException_ } from "../../lib/react/errors"; +import { _catchComponentException_ } from "../../lib/react/errors"; const defaultState = { // Entries must be immutable error: null as null | Error, @@ -20,7 +20,7 @@ export class ErrorBoundary extends React.Component { error, errorInfo, }); - _captureComponentException_(error, errorInfo); + _catchComponentException_(error, errorInfo); } public onClose = () => { diff --git a/src/components/common/LoggingIn.tsx b/src/components/common/LoggingIn.tsx index 4dca0dee..6b47885b 100644 --- a/src/components/common/LoggingIn.tsx +++ b/src/components/common/LoggingIn.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../lib/react/errors"; +import { _catchBackgroundException_ } from "../../lib/react/errors"; import { promptLogin } from "../../store/account/accountActions"; import { ApplicationState } from "../../store/applicationState"; import { AppDispatch } from "../../store/rootReducer"; @@ -24,7 +24,7 @@ const LoggingInClass = (props: Props) => { }, [address]); React.useEffect(() => { - handleLogin().catch(_captureBackgroundException_); + handleLogin().catch((error) => _catchBackgroundException_(error, "Error in LoggingIn > handleLogin")); }, []); return
    diff --git a/src/components/common/popups/MultiStepPopup.tsx b/src/components/common/popups/MultiStepPopup.tsx index 519fa889..74f84373 100644 --- a/src/components/common/popups/MultiStepPopup.tsx +++ b/src/components/common/popups/MultiStepPopup.tsx @@ -7,9 +7,7 @@ import { bindActionCreators } from "redux"; import { ErrorCanceledByUser } from "../../../lib/ethereum/getWeb3"; import { className } from "../../../lib/react/className"; -import { - _captureBackgroundException_, _captureInteractionException_, -} from "../../../lib/react/errors"; +import { _catchBackgroundException_, _catchInteractionException_ } from "../../../lib/react/errors"; import { ApplicationState } from "../../../store/applicationState"; import { clearPopup } from "../../../store/popup/popupActions"; import { AppDispatch } from "../../../store/rootReducer"; @@ -40,9 +38,7 @@ class MultiStepPopupClass extends React.Component { if (!this.props.confirm) { this.run() .catch((error) => { - _captureBackgroundException_(error, { - description: "Error in getAtomicBalances action", - }); + _catchBackgroundException_(error, "Error in MultiStepPopup > running steps"); }); } } @@ -169,9 +165,7 @@ class MultiStepPopupClass extends React.Component { const promiseOrVoid = onCancel(); if (promiseOrVoid) { promiseOrVoid.catch((error) => { - _captureBackgroundException_(error, { - description: "Error in onCancel in MultiStepPopup" - }); + _catchBackgroundException_(error, "Error in MultiStepPopup > onCancel"); }); } } @@ -200,8 +194,8 @@ class MultiStepPopupClass extends React.Component { } catch (error) { const rejected = (error.message || "").match(ErrorCanceledByUser); if (!rejected) { - _captureInteractionException_(error, { - description: "Error throw in MultiStepPopup", + _catchInteractionException_(error, { + description: "Error in MultiStepPopup > step.call", shownToUser: "As message box in MultiStepPopup", }); } diff --git a/src/components/common/popups/SelectWeb3Account.tsx b/src/components/common/popups/SelectWeb3Account.tsx index be79bd8e..50d5f4f5 100644 --- a/src/components/common/popups/SelectWeb3Account.tsx +++ b/src/components/common/popups/SelectWeb3Account.tsx @@ -4,7 +4,7 @@ import { Blocky, Loading } from "@renproject/react-components"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { _captureBackgroundException_ } from "../../../lib/react/errors"; +import { _catchBackgroundException_ } from "../../../lib/react/errors"; import { ApplicationState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; @@ -85,7 +85,7 @@ class SelectWeb3AccountClass extends React.Component if (isNaN(selectedAccountIndex) || accounts === null || accounts.length < selectedAccountIndex) { const description = "No account selected in onSelectAccount"; - _captureBackgroundException_(new Error(description), { + _catchBackgroundException_(new Error(description), { description, }); return; diff --git a/src/components/darknodePage/statuspage/Registration.tsx b/src/components/darknodePage/statuspage/Registration.tsx index 75589fbe..8b7467bc 100644 --- a/src/components/darknodePage/statuspage/Registration.tsx +++ b/src/components/darknodePage/statuspage/Registration.tsx @@ -5,7 +5,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { NULL, RegistrationStatus } from "../../../lib/ethereum/contractReads"; -import { _captureInteractionException_ } from "../../../lib/react/errors"; +import { _catchInteractionException_ } from "../../../lib/react/errors"; import { showDeregisterPopup, showRefundPopup, showRegisterPopup, } from "../../../store/account/operatorPopupActions"; @@ -160,10 +160,7 @@ class RegistrationClass extends React.Component { web3, renNetwork, address, darknodeID, publicKey, tokenPrices, this.onCancel, this.onDoneRegister ); } catch (error) { - _captureInteractionException_(error, { - description: "Error thrown from showRegisterPopup", - shownToUser: "No", - }); + _catchInteractionException_(error, "Error in Registration > handleRegister > showRegisterPopup"); this.onCancel(); } } diff --git a/src/components/darknodePage/statuspage/block/GasGraph.tsx b/src/components/darknodePage/statuspage/block/GasGraph.tsx index cb4dc24d..e6f87f29 100644 --- a/src/components/darknodePage/statuspage/block/GasGraph.tsx +++ b/src/components/darknodePage/statuspage/block/GasGraph.tsx @@ -10,7 +10,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { HistoryIterations, HistoryPeriod } from "../../../../lib/ethereum/contractReads"; -import { _captureBackgroundException_ } from "../../../../lib/react/errors"; +import { _catchBackgroundException_ } from "../../../../lib/react/errors"; import { ApplicationState, DarknodesState } from "../../../../store/applicationState"; import { updateDarknodeBalanceHistory, updateSecondsPerBlock, @@ -85,9 +85,7 @@ class GasGraphClass extends React.Component { if (secondsPerBlock === null) { this.props.actions.updateSecondsPerBlock(web3) .catch((error) => { - _captureBackgroundException_(error, { - description: "Error in componentDidMount in GasGraph", - }); + _catchBackgroundException_(error, "Error in GasGraph > updateSecondsPerBlock"); }); } @@ -103,9 +101,7 @@ class GasGraphClass extends React.Component { if (changedBalance || (this.updateHistoryStarted === false && nextProps.darknodeDetails)) { this.updateHistory(nextProps).catch((error => { - _captureBackgroundException_(error, { - description: "Error in componentWillReceiveProps in GasGraph", - }); + _catchBackgroundException_(error, "Error in GasGraph > componentWillReceiveProps"); })); } } @@ -148,9 +144,7 @@ class GasGraphClass extends React.Component { secondsPerBlock ); } catch (error) { - _captureBackgroundException_(error, { - description: "Error in updateHistory in GasGraph", - }); + _catchBackgroundException_(error, "Error in GasGraph > updateHistory > fetchDarknodeBalanceHistory"); } } @@ -276,9 +270,7 @@ class GasGraphClass extends React.Component { this.setState((current: State) => ({ ...current, historyPeriod })); } } catch (error) { - _captureBackgroundException_(error, { - description: "Error in handleSelectTime in GasGraph", - }); + _catchBackgroundException_(error, "Error in GasGraph > handleSelectTime"); } } } diff --git a/src/components/darknodePage/statuspage/topup/TopUpController.tsx b/src/components/darknodePage/statuspage/topup/TopUpController.tsx index 6056cfa6..3e99ad5e 100644 --- a/src/components/darknodePage/statuspage/topup/TopUpController.tsx +++ b/src/components/darknodePage/statuspage/topup/TopUpController.tsx @@ -5,7 +5,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { Token } from "../../../../lib/ethereum/tokens"; -import { _captureBackgroundException_ } from "../../../../lib/react/errors"; +import { _catchBackgroundException_ } from "../../../../lib/react/errors"; import { showFundPopup } from "../../../../store/account/operatorPopupActions"; import { ApplicationState } from "../../../../store/applicationState"; import { updateDarknodeDetails } from "../../../../store/network/operatorActions"; @@ -34,9 +34,7 @@ class TopUpControllerClass extends Component { public componentDidMount = async () => { this._isMounted = true; this.updateTraderBalance().catch((error) => { - _captureBackgroundException_(error, { - description: "Error in updateTraderBalance in TopUp", - }); + _catchBackgroundException_(error, "Error in TopUpController > updateTraderBalance"); }); } @@ -95,9 +93,7 @@ class TopUpControllerClass extends Component { this.setState({ value: traderBalance.toFixed(), disabled: true }); } } catch (error) { - _captureBackgroundException_(error, { - description: "Error in handleBlur in TopUp", - }); + _catchBackgroundException_(error, "Error in TopUpController > handleBlur"); } } diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/hyperdrivePage/Hyperdrive.tsx index 6b45216c..299f859c 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/hyperdrivePage/Hyperdrive.tsx @@ -87,7 +87,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { }, [container, history]); const blockTr = (block: Block) => { - const trOnClick = () => { onClick(block); }; + const trOnClick = () => onClick(block); return currentSplit ? currentSplit.valueSeq().map(bn => bn.multipliedBy(currentShareCount).decimalPlaces(6).toNumber()).toArray() : [], [currentSplit]); const empty = React.useMemo(() => !!currentSplit && values.reduce((sum, value) => sum + value, 0) === 0, [currentSplit, values]); - const selectCurrent = React.useCallback(() => { setTab(Tab.Current); }, []); - const selectPrevious = React.useCallback(() => { setTab(Tab.Previous); }, []); + const selectCurrent = React.useCallback(() => setTab(Tab.Current), []); + const selectPrevious = React.useCallback(() => setTab(Tab.Previous), []); return
    diff --git a/src/lib/ethereum/contractReads.spec.ts b/src/lib/ethereum/contractReads.spec.ts index 3b43752c..805a13c6 100644 --- a/src/lib/ethereum/contractReads.spec.ts +++ b/src/lib/ethereum/contractReads.spec.ts @@ -6,8 +6,8 @@ import { darknodeIDBase58ToHex } from "../darknode/darknodeID"; import { getDarknodeStatus, RegistrationStatus } from "./contractReads"; let web3: Web3, network: RenNetworkDetails, provider: Provider; -beforeAll(async () => { ({ web3, network, provider } = await createWeb3()); }); -afterAll(() => { provider.engine.stop(); }); +beforeAll(async () => ({ web3, network, provider } = await createWeb3())); +afterAll(() => provider.engine.stop()); test("getDarknodeStatus", async () => { const darknodeID = darknodeIDBase58ToHex("8MJpA1rXYMPTeJoYjsFBHJcuYBe7zP"); diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 4a0b7291..5e7db7a1 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -12,7 +12,7 @@ import { DarknodesState } from "../../store/applicationState"; import { darknodeIDHexToBase58 } from "../darknode/darknodeID"; import { queryStat } from "../darknode/jsonrpc"; import { awaitOr, safePromiseAllList, safePromiseAllMap } from "../general/promiseAll"; -import { _captureBackgroundException_, _noCapture_ } from "../react/errors"; +import { _catchBackgroundException_, _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodeRegistry } from "./contract"; import { NewTokenDetails, OldToken, OldTokenDetails, Token, TokenPrices } from "./tokens"; @@ -53,7 +53,7 @@ export const getMinimumBond = async (web3: Web3, renNetwork: RenNetworkDetails): const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { const publicKey = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodePublicKey(darknodeID).call(); if (publicKey === null) { - _captureBackgroundException_(new Error("Unable to retrieve darknode public key")); + _catchBackgroundException_(new Error("Unable to retrieve darknode public key"), "Error in contractReads > getDarknodePublicKey, getDarknodeRegistry"); return NULL; } return publicKey; @@ -69,7 +69,7 @@ const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, d const getDarknodeOperator = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { const owner = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodeOwner(darknodeID).call(); if (owner === null) { - _captureBackgroundException_(_noCapture_(new Error("Unable to retrieve darknode owner"))); + _catchBackgroundException_(_noCapture_(new Error("Unable to retrieve darknode owner")), "Error in contractReads > getDarknodeOperator, getDarknodeRegistry"); return NULL; } return owner; @@ -647,9 +647,10 @@ const getBalances = async ( NewTokenDetails.map(async (_tokenDetails, token) => { let balance1; try { - const balance1Call = await darknodePayment.methods.darknodeBalances(darknodeID, renNetwork.addresses.tokens[token]).call(); + const balance1Call = await darknodePayment.methods.darknodeBalances(darknodeID, renNetwork.addresses.tokens[token].address).call(); balance1 = new BigNumber((balance1Call || "0").toString()); } catch (error) { + _catchBackgroundException_(error, "Error in contractReads > darknodeBalances"); balance1 = new BigNumber(0); } // const balance2 = tokenDetails.wrapped ? await new (web3.eth.Contract)( @@ -789,14 +790,12 @@ export const fetchDarknodeDetails = async ( // Call queryStats const πNodeStatistics = queryStat(getLightnode(renNetwork), darknodeIDHexToBase58(darknodeID)) - .catch((error) => { _captureBackgroundException_(error); return null; }); + .catch((error) => { _catchBackgroundException_(error, "Error in contractReads > queryStat"); return null; }); // Get registration status const registrationStatus = await getDarknodeStatus(web3, renNetwork, darknodeID) .catch(error => { - _captureBackgroundException_(error, { - description: "Unknown darknode registration status", - }); + _catchBackgroundException_(error, "Error in contractReads > getDarknodeStatus"); return RegistrationStatus.Unknown; }); diff --git a/src/lib/react/errors.ts b/src/lib/react/errors.ts index 54e98ea1..3459cdd6 100644 --- a/src/lib/react/errors.ts +++ b/src/lib/react/errors.ts @@ -8,7 +8,7 @@ import { naturalTime } from "@renproject/react-components"; import { DEFAULT_REN_NETWORK, NODE_ENV } from "./environmentVariables"; interface Details { - description?: string; + description: string; category?: string; level?: Sentry.Severity; ignoreNetwork?: boolean; @@ -19,7 +19,7 @@ interface Described { } interface ShownToUser { - shownToUser: string; + shownToUser?: string; } let pageLoaded: Date; @@ -87,7 +87,7 @@ const rawError = (errorObject: Error) => { return rawErrorJSON; }; -const _captureException_ = (error: any, details: X) => { +const _catchException_ = (error: any, details: X) => { if (error._noCapture_) { console.error(error); return; @@ -147,18 +147,18 @@ const _captureException_ = (error: any, details: X) => { }; // Background exceptions are thrown in background loops and actions -export const _captureBackgroundException_ = (error: any, details?: X) => { - _captureException_(error, { ignoreNetwork: true, ...details, category: "background_exception" }); +export const _catchBackgroundException_ = (error: any, details: X | string) => { + _catchException_(error, { ignoreNetwork: true, ...(typeof details === "string" ? { description: details } : details), category: "background_exception" }); }; // Interaction exceptions are thrown as a direct result of a user interaction -export const _captureInteractionException_ = (error: any, details?: X) => { - _captureException_(error, { ...details, category: "interaction_exception" }); +export const _catchInteractionException_ = (error: any, details: X | string) => { + _catchException_(error, { ...(typeof details === "string" ? { description: details } : details), category: "interaction_exception" }); }; // Component exceptions are thrown from an ErrorBoundary -export const _captureComponentException_ = (error: any, errorInfo: React.ErrorInfo) => { - _captureException_(error, { ...errorInfo, description: "Error caught in Error Boundary. See Component stack trace.", category: "component_exception" }); +export const _catchComponentException_ = (error: any, errorInfo: React.ErrorInfo) => { + _catchException_(error, { ...errorInfo, description: "Error caught in Error Boundary. See Component stack trace.", category: "component_exception" }); }; // _noCapture_ is to mark errors that should not be reported to Sentry. diff --git a/src/store/account/operatorPopupActions.tsx b/src/store/account/operatorPopupActions.tsx index fddb8976..65a33603 100644 --- a/src/store/account/operatorPopupActions.tsx +++ b/src/store/account/operatorPopupActions.tsx @@ -13,7 +13,7 @@ import { } from "../../lib/ethereum/contractWrites"; import { Token, TokenPrices } from "../../lib/ethereum/tokens"; import { connectWaitForTX } from "../../lib/ethereum/waitForTX"; -import { _captureBackgroundException_ } from "../../lib/react/errors"; +import { _catchBackgroundException_ } from "../../lib/react/errors"; import { updateDarknodeDetails } from "../network/operatorActions"; import { setPopup } from "../popup/popupActions"; import { AppDispatch } from "../rootReducer"; @@ -49,9 +49,7 @@ export const showRegisterPopup = ( try { await dispatch(updateDarknodeDetails(web3, renNetwork, darknodeID, tokenPrices)); } catch (error) { - _captureBackgroundException_(error, { - description: "Error thrown in updateDarknodeDetails in showRegisterPopup", - }); + _catchBackgroundException_(error, "Error in operatorPopupActions > showRegisterPopup > updateDarknodeDetails"); } } }; diff --git a/src/store/applicationState.ts b/src/store/applicationState.ts index 02f8abac..09fcb16f 100644 --- a/src/store/applicationState.ts +++ b/src/store/applicationState.ts @@ -12,7 +12,7 @@ import { DarknodeFeeStatus, RegistrationStatus } from "../lib/ethereum/contractR import { getReadOnlyWeb3 } from "../lib/ethereum/getWeb3"; import { OldToken, Token, TokenPrices } from "../lib/ethereum/tokens"; import { DEFAULT_REN_NETWORK, INFURA_KEY } from "../lib/react/environmentVariables"; -import { _captureBackgroundException_ } from "../lib/react/errors"; +import { _catchBackgroundException_ } from "../lib/react/errors"; import { Serializable } from "../lib/react/serializable"; export interface ApplicationState { @@ -60,9 +60,7 @@ export class AccountState extends Record({ } return accountData; } catch (error) { - _captureBackgroundException_(error, { - description: "Cannot deserialize local storage", - }); + _catchBackgroundException_(error, "Error in applicationState > AccountState > deserialize"); return this; } } @@ -143,9 +141,7 @@ export class NetworkState extends Record({ withdrawAddresses: data.withdrawAddresses, }); } catch (error) { - _captureBackgroundException_(error, { - description: "Cannot deserialize local storage", - }); + _catchBackgroundException_(error, "Error in applicationState > NetworkState > deserialize"); return this; } } diff --git a/src/store/network/networkReducer.ts b/src/store/network/networkReducer.ts index 5cf69ab0..c32fc4c3 100644 --- a/src/store/network/networkReducer.ts +++ b/src/store/network/networkReducer.ts @@ -1,7 +1,7 @@ import { List, OrderedSet } from "immutable"; import { ActionType, getType } from "typesafe-actions"; -import { _captureInteractionException_ } from "../../lib/react/errors"; +import { _catchInteractionException_ } from "../../lib/react/errors"; import { NetworkState } from "../applicationState"; import * as networkActions from "./networkActions"; import * as operatorActions from "./operatorActions"; @@ -66,10 +66,7 @@ export const networkReducer = ( return state.set("darknodeList", state.darknodeList.set(action.payload.operator, operatorList)); } catch (error) { - _captureInteractionException_(error, { - description: "Error throw in removeDarknode reducer", - shownToUser: "No", - }); + _catchInteractionException_(error, "Error in networkReducer > removeDarknode"); return state; } diff --git a/src/store/persistConfig.ts b/src/store/persistConfig.ts index 2d91c25a..3f414ad2 100644 --- a/src/store/persistConfig.ts +++ b/src/store/persistConfig.ts @@ -3,7 +3,7 @@ import { createTransform, PersistConfig } from "redux-persist"; import storage from "redux-persist/lib/storage"; -import { _captureBackgroundException_ } from "../lib/react/errors"; +import { _catchBackgroundException_ } from "../lib/react/errors"; import { AccountState, ApplicationState, NetworkState } from "./applicationState"; // Local Storage: @@ -15,7 +15,7 @@ const accountTransform = createTransform( } catch (error) { console.error(`Error serializing ${String(key)} in AccountState (${JSON.stringify(inboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. - _captureBackgroundException_(error, { description: "Error serializing account storage" }); + _catchBackgroundException_(error, "Error in persistConfig > serializing account storage"); throw error; } }, @@ -25,7 +25,7 @@ const accountTransform = createTransform( } catch (error) { console.error(`Error deserializing ${String(key)} in AccountState (${JSON.stringify(outboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. - _captureBackgroundException_(error, { description: "Error deserializing account storage" }); + _catchBackgroundException_(error, "Error in persistConfig > deserializing account storage"); throw error; } }, @@ -39,7 +39,7 @@ const networkTransform = createTransform( } catch (error) { console.error(`Error serializing ${String(key)} in NetworkState (${JSON.stringify(inboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. - _captureBackgroundException_(error, { description: "Error serializing network storage" }); + _catchBackgroundException_(error, "Error in persistConfig > serializing network storage"); throw error; } }, @@ -49,7 +49,7 @@ const networkTransform = createTransform( } catch (error) { console.error(`Error deserializing ${String(key)} in NetworkState (${JSON.stringify(outboundState)}): ${error}`); // Don't send storage because it may contain sensitive data. - _captureBackgroundException_(error, { description: "Error deserializing network storage" }); + _catchBackgroundException_(error, "Error in persistConfig > deserializing network storage"); throw error; } }, diff --git a/tslint.json b/tslint.json index 599bcd61..8a96603f 100644 --- a/tslint.json +++ b/tslint.json @@ -46,8 +46,8 @@ "function-name": false, "no-return-await": false, "interface-over-type-literal": false, + "no-void-expression": false, // "ter-indent": false, - // Warnings "no-unnecessary-type-assertion": { "severity": "warning" @@ -61,7 +61,6 @@ "strict-type-predicates": { "severity": "warning" }, - // Enabled "ordered-imports": true, "no-object-literal-type-assertion": true, @@ -72,18 +71,19 @@ "typedef": true, "no-any": true, "no-angle-bracket-type-assertion": true, - "no-void-expression": true, "no-use-before-declare": true, "promise-function-async": true, "prefer-readonly": true, "await-promise": true, "react-this-binding-issue": true, "no-string-based-set-timeout": true, - "no-unused-variable": [true, { - "ignore-pattern": "^_" - }], + "no-unused-variable": [ + true, + { + "ignore-pattern": "^_" + } + ], "only-arrow-functions": true, - // Configured "quotemark": [ true, @@ -116,14 +116,19 @@ "esSpecCompliant": true } ], - "increment-decrement": [true, "allow-post"], + "increment-decrement": [ + true, + "allow-post" + ], "align": [ true, "parameters", "statements" ], - "array-type": [true, "array-simple"], - + "array-type": [ + true, + "array-simple" + ], // Temporarily disabled - some work is required to get the project to // abide by these "no-unsafe-any": false, From 2c8c364bbfe82421c4671be51a0640aee68c78fb Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 20 Nov 2019 14:05:56 +1100 Subject: [PATCH 105/117] src: ignore query_stats error, fixed retrieving rewards --- package.json | 30 +- .../common/popups/WithdrawPopup.tsx | 13 +- .../statuspage/block/FeesBlock.tsx | 5 +- src/lib/ethereum/contractReads.ts | 15 +- src/lib/ethereum/contractWrites.ts | 69 +- src/lib/ethereum/tokens.ts | 48 +- src/styles/scss/_popup.scss | 13 + yarn.lock | 1153 +++++------------ 8 files changed, 420 insertions(+), 926 deletions(-) diff --git a/package.json b/package.json index 856cdb75..9d347f16 100644 --- a/package.json +++ b/package.json @@ -23,13 +23,15 @@ "@renproject/contracts": "0.3.24", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.36", - "@sentry/browser": "^5.8.0", + "@renproject/ren": "^0.1.16", + "@sentry/browser": "^5.9.1", "@sentry/core": "^5.8.0", "@sentry/integrations": "^5.8.0", - "@types/bs58": "^4.0.0", + "@types/bchaddrjs": "^0.4.0", + "@types/bs58": "^4.0.1", "@types/filesize": "^5.0.0", - "@types/jest": "^24.0.22", - "@types/node": "^12.12.7", + "@types/jest": "^24.0.23", + "@types/node": "^12.12.11", "@types/query-string": "^6.3.0", "@types/react": "^16.9.11", "@types/react-dom": "^16.9.4", @@ -37,21 +39,22 @@ "@types/react-router-dom": "^5.1.2", "@types/react-simple-maps": "^0.12.2", "@types/react-transition-group": "4.2", - "@types/underscore": "^1.9.3", + "@types/underscore": "^1.9.4", "axios": "^0.19.0", + "bchaddrjs": "^0.4.4", "bignumber.js": "^9.0.0", "bs58": "^4.0.1", - "chart.js": "^2.9.2", + "chart.js": "^2.9.3", "filesize": "^6.0.1", "history": "^4.10.1", "immutable": "^4.0.0-rc.12", "localforage": "^1.7.3", "moment": "^2.24.0", "node-sass": "^4.13.0", - "query-string": "^6.8.3", - "react": "^16.11.0", + "query-string": "^6.9.0", + "react": "^16.12.0", "react-chartjs-2": "^2.8.0", - "react-dom": "^16.11.0", + "react-dom": "^16.12.0", "react-redux": "^7.1.3", "react-router-dom": "^5.1.2", "react-scripts": "^3.2.0", @@ -72,8 +75,8 @@ "web3-utils": "2.0.0-alpha.1" }, "devDependencies": { - "@truffle/hdwallet-provider": "^1.0.24", - "@types/chai": "^4.2.4", + "@truffle/hdwallet-provider": "^1.0.25", + "@types/chai": "^4.2.5", "any-promise": "^1.3.0", "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095", @@ -85,7 +88,8 @@ "underscore": "^1.9.1" }, "resolutions": { - "scrypt": "https://github.com/ren-forks/node-scrypt" + "scrypt": "https://github.com/ren-forks/node-scrypt", + "sha3": "^2.0.0" }, "browserslist": [ ">0.2%", @@ -97,4 +101,4 @@ "globalSetup": "./src/test/globalSetup.ts", "globalTeardown": "./src/test/globalTeardown.ts" } -} +} \ No newline at end of file diff --git a/src/components/common/popups/WithdrawPopup.tsx b/src/components/common/popups/WithdrawPopup.tsx index 5ba2e8c8..6dc099ad 100644 --- a/src/components/common/popups/WithdrawPopup.tsx +++ b/src/components/common/popups/WithdrawPopup.tsx @@ -2,7 +2,7 @@ import * as React from "react"; import { faPlus, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { Loading } from "@renproject/react-components"; +import { Loading, TokenIcon } from "@renproject/react-components"; import { List } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators } from "redux"; @@ -45,7 +45,7 @@ class WithdrawPopupClass extends React.Component { const { store: { withdrawAddresses }, token } = this.props; return
    -

    Select {token} withdraw address

    +

    Select {token} withdraw address

    {withdrawAddresses.get(token, List()).map((withdrawAddress: string) => { return
    @@ -73,7 +73,7 @@ class WithdrawPopupClass extends React.Component { className="new-address" onChange={this.handleAddressInput} /> -
    @@ -106,7 +106,9 @@ class WithdrawPopupClass extends React.Component { private readonly handleAddressInput = (event: React.FormEvent) => { const address = this.handleInput(event); + console.log(address); const newAddressValid = validate(address, this.props.token, "prod") || validate(address, this.props.token, "testnet"); + console.log("newAddressValid", newAddressValid); this.setState({ newAddressValid }); } @@ -131,7 +133,7 @@ class WithdrawPopupClass extends React.Component {
    ; case Stage.Error: return <> - {error ?

    {error}

    : null} + {error ?

    {error}

    : null}
    @@ -157,11 +159,10 @@ class WithdrawPopupClass extends React.Component { try { await withdraw(selectedAddress); + this.setState({ stage: Stage.Done }); } catch (error) { this.setState({ stage: Stage.Error, error: error.message || error }); - return; } - this.setState({ stage: Stage.Done }); } } diff --git a/src/components/darknodePage/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx index 299d70b7..1213d41e 100644 --- a/src/components/darknodePage/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -9,7 +9,7 @@ import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; import { DarknodeFeeStatus } from "../../../../lib/ethereum/contractReads"; -import { OldToken, Token } from "../../../../lib/ethereum/tokens"; +import { AllTokenDetails, OldToken, Token } from "../../../../lib/ethereum/tokens"; // import { showClaimPopup } from "../../../../store/account/operatorPopupActions"; import { ApplicationState, DarknodesState } from "../../../../store/applicationState"; import { @@ -187,6 +187,7 @@ class FeesBlockClass extends React.Component { { fees.map((balance: BigNumber, token: Token | OldToken) => { + const tokenDetails = AllTokenDetails.get(token); return @@ -208,7 +209,7 @@ class FeesBlockClass extends React.Component { {quoteCurrency.toUpperCase()} - {isOperator ? + {isOperator && tokenDetails && !tokenDetails.wrapped ? => { - const owner = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodeOwner(darknodeID).call(); - if (owner === null) { - _catchBackgroundException_(_noCapture_(new Error("Unable to retrieve darknode owner")), "Error in contractReads > getDarknodeOperator, getDarknodeRegistry"); - return NULL; - } - return owner; + return "0xC62E1348A08599D2B85F7D12DAB1cA0c8152a725"; + // const owner = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodeOwner(darknodeID).call(); + // if (owner === null) { + // _catchBackgroundException_(_noCapture_(new Error("Unable to retrieve darknode owner")), "Error in contractReads > getDarknodeOperator, getDarknodeRegistry"); + // return NULL; + // } + // return owner; }; export interface DarknodeCounts { @@ -790,7 +791,7 @@ export const fetchDarknodeDetails = async ( // Call queryStats const πNodeStatistics = queryStat(getLightnode(renNetwork), darknodeIDHexToBase58(darknodeID)) - .catch((error) => { _catchBackgroundException_(error, "Error in contractReads > queryStat"); return null; }); + .catch((error) => /* ignore */ null); // Get registration status const registrationStatus = await getDarknodeStatus(web3, renNetwork, darknodeID) diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index 417729ed..e12419b0 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -1,4 +1,5 @@ import { mainnet, RenNetworkDetails } from "@renproject/contracts"; +import RenSDK from "@renproject/ren"; import BigNumber from "bignumber.js"; import Web3 from "web3"; import { TransactionConfig } from "web3-core"; @@ -311,32 +312,42 @@ export const withdrawOldToken = async ( // export const btcAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; // export const zecAddressToHex = (address: string) => `0x${decode58(address).toString("hex")}`; -// const burn = ( -// web3: Web3, -// renNetwork: RenNetworkDetails, -// address: string, -// currency: Token, -// to: string, -// waitForTX: WaitForTX, -// ) => { -// const contract = currency === Token.BTC ? bridgedToken(web3, renNetwork, addressOf[Token.BTC]) : -// currency === Token.ZEC ? bridgedToken(web3, renNetwork, addressOf[Token.ZEC]) : -// undefined; +const burn = async ( + web3: Web3, + renNetwork: RenNetworkDetails, + address: string, + token: Token, + amount: BigNumber, + recipient: string, + waitForTX: WaitForTX, +) => { + const contract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens[token].address); + + const sdk = new RenSDK(renNetwork.name); -// if (contract === undefined) { -// throw new Error("Something went wrong, please reload and try again"); -// } + const txHash = await waitForTX(contract.methods.burn( + sdk.Tokens[token].addressToHex(recipient), // _to + amount.decimalPlaces(0).toFixed(), // _amount in Satoshis + ).send({ from: address }) + ); -// const toHex = currency === Token.BTC ? btcAddressToHex(to) : -// currency === Token.ZEC ? zecAddressToHex(to) : -// to; + const shiftOut = await sdk.shiftOut({ + // Send BTC from the Ethereum blockchain to the Bitcoin blockchain. + // This is the reverse of shitIn. + sendToken: token === Token.BCH ? RenSDK.Tokens.BCH.Eth2Bch : + Token.ZEC ? RenSDK.Tokens.ZEC.Eth2Zec : + RenSDK.Tokens.BTC.Eth2Btc, -// const amount = new BigNumber((await contract.methods.balanceOf(address).call({ from: address })).toString()); + // The web3 provider to talk to Ethereum + web3Provider: web3.currentProvider, -// await waitForTX( -// contract.methods.burn(toHex, amount.toString() /* new BigNumber(amount).multipliedBy(10 ** 8).toFixed() */).send({ from: address }) -// ); -// }; + // The transaction hash of our contract call + txHash, + }).readFromEthereum(); + + const promiEvent = shiftOut.submitToRenVM(); + await promiEvent; +}; export const withdrawToken = ( web3: Web3, @@ -362,15 +373,19 @@ export const withdrawToken = ( throw new Error("Unknown token"); } - await new Promise((resolve) => waitForTX( - darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token]).send({ from: address }), - resolve, - )); + await waitForTX(darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token].address).send({ from: address })); + + // let recentRegistrationEvents = await web3.eth.getPastLogs({ + // address: renNetwork.addresses.tokens[token].address, + // fromBlock: txHash, + // toBlock: txHash, + // topics: [sha3("Transfer(address,address,uint256)"),], + // }); // if (tokenDetails.wrapped) { // if (!withdrawAddress) { // throw new Error("Invalid withdraw address"); // } - // await burn(web3, renNetwork, address, token as Token, withdrawAddress)(dispatch); + // await burn(web3, renNetwork, address, token as Token, new BigNumber(0), withdrawAddress, waitForTX); // } }; diff --git a/src/lib/ethereum/tokens.ts b/src/lib/ethereum/tokens.ts index b0ecb0a3..a853fb8b 100644 --- a/src/lib/ethereum/tokens.ts +++ b/src/lib/ethereum/tokens.ts @@ -1,6 +1,8 @@ import { Currency } from "@renproject/react-components"; import Axios from "axios"; +import { isMainnetAddress, isTestnetAddress } from "bchaddrjs"; import { Map, OrderedMap } from "immutable"; +import { validate } from "wallet-address-validator"; export enum Token { DAI = "DAI", @@ -29,8 +31,20 @@ interface TokenDetail { old: boolean; blockchain: Token; // Used for address validation + validator: (address: string, isTestnet: boolean) => boolean; } +const btcValidator = (address: string, isTestnet: boolean) => validate(address, "btc", isTestnet ? "testnet" : "prod"); +const zecValidator = (address: string, isTestnet: boolean) => validate(address, "zec", isTestnet ? "testnet" : "prod"); +const bchValidator = (address: string, isTestnet: boolean) => { + try { + return isTestnet ? isTestnetAddress(address) : isMainnetAddress(address); + } catch (error) { + return false; + } +}; +const ethValidator = (address: string, isTestnet: boolean) => validate(address, "eth", isTestnet ? "testnet" : "prod"); + // TODO: Switch on network export const AllTokenDetails = OrderedMap>() .set(Token.BTC, @@ -41,7 +55,9 @@ export const AllTokenDetails = OrderedMap=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: +lodash@=3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= + +lodash@=4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -9470,13 +9211,6 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" -make-iterator@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" - integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== - dependencies: - kind-of "^6.0.2" - makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -9496,7 +9230,7 @@ map-age-cleaner@^0.1.1: dependencies: p-defer "^1.0.0" -map-cache@^0.2.0, map-cache@^0.2.2: +map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= @@ -9513,16 +9247,6 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -matchdep@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" - integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= - dependencies: - findup-sync "^2.0.0" - micromatch "^3.0.4" - resolve "^1.4.0" - stack-trace "0.0.10" - md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -9652,7 +9376,7 @@ microevent.ts@~0.1.1: resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -9893,11 +9617,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -mute-stdout@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" - integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -9908,11 +9627,6 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -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== - nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.2.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" @@ -10204,13 +9918,6 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" - integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== - dependencies: - once "^1.3.2" - npm-bundled@^1.0.1: version "1.0.6" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" @@ -10379,7 +10086,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.0.4, object.assign@^4.1.0: +object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -10389,16 +10096,6 @@ object.assign@^4.0.4, object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.defaults@^1.0.0, object.defaults@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" - integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= - dependencies: - array-each "^1.0.1" - array-slice "^1.0.0" - for-own "^1.0.0" - isobject "^3.0.0" - object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" @@ -10427,29 +10124,13 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.2" es-abstract "^1.5.1" -object.map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" - integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.pick@^1.2.0, object.pick@^1.3.0: +object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" -object.reduce@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" - integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - object.values@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" @@ -10484,7 +10165,7 @@ on-headers@~1.0.2: resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -10557,13 +10238,6 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= - dependencies: - readable-stream "^2.0.1" - original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -10789,15 +10463,6 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-filepath@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - parse-headers@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" @@ -10821,16 +10486,6 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-node-version@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" - integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - parse5@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -10898,18 +10553,6 @@ path-parse@^1.0.5, path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= - dependencies: - path-root-regex "^0.1.0" - path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -11762,17 +11405,12 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: +process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== @@ -11895,7 +11533,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3, pumpify@^1.3.5: +pumpify@^1.3.3: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== @@ -11965,10 +11603,10 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -query-string@^6.8.3: - version "6.8.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" - integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== +query-string@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.9.0.tgz#1c3b727c370cf00f177c99f328fda2108f8fa3dd" + integrity sha512-KG4bhCFYapExLsUHrFt+kQVEegF2agm4cpF/VNc6pZVthIfCc/GK8t8VyNIE3nyXG9DK3Tf2EGkxjR6/uRdYsA== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -12100,15 +11738,15 @@ react-dev-utils@^9.1.0: strip-ansi "5.2.0" text-table "0.2.0" -react-dom@^16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.11.0.tgz#7e7c4a5a85a569d565c2462f5d345da2dd849af5" - integrity sha512-nrRyIUE1e7j8PaXSPtyRKtz+2y9ubW/ghNgqKFHHAHaeP0fpF5uXR+sq8IMRHC+ZUxw7W9NyCDTBtwWxvkb0iA== +react-dom@^16.12.0: + version "16.12.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" + integrity sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.17.0" + scheduler "^0.18.0" react-element-to-jsx-string@^14.1.0: version "14.1.0" @@ -12285,10 +11923,10 @@ react-transition-group@^2.2.1: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -react@^16.11.0: - version "16.11.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb" - integrity sha512-M5Y8yITaLmU0ynd0r1Yvfq98Rmll6q8AxaEe88c8e7LxO8fZ2cNgmFt0aGAS9wzf1Ao32NKXtCl+/tVVtkxq6g== +react@^16.12.0: + version "16.12.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" + integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -12345,7 +11983,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -12403,13 +12041,6 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - recursive-readdir@2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" @@ -12581,24 +12212,7 @@ relateurl@0.2.x: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: +remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= @@ -12631,20 +12245,6 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - -replace-homedir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" - integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= - dependencies: - homedir-polyfill "^1.0.1" - is-absolute "^1.0.0" - remove-trailing-separator "^1.1.0" - request-promise-core@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" @@ -12728,14 +12328,6 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -12746,13 +12338,6 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= - dependencies: - value-or-function "^3.0.0" - resolve-pathname@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" @@ -12789,7 +12374,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.12.0, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: +resolve@1.12.0, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: version "1.12.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== @@ -13004,10 +12589,10 @@ saxes@^3.1.9: dependencies: xmlchars "^2.1.1" -scheduler@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz#7c9c673e4ec781fac853927916d1c426b6f3ddfe" - integrity sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA== +scheduler@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.18.0.tgz#5901ad6659bc1d8f3fdaf36eb7a67b0d6746b1c4" + integrity sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -13132,13 +12717,6 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -semver-greatest-satisfied-range@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" - integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= - dependencies: - sver-compat "^1.5.0" - semver-utils@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/semver-utils/-/semver-utils-1.1.4.tgz#cf0405e669a57488913909fc1c3f29bf2a4871e2" @@ -13275,12 +12853,12 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -sha3@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.3.tgz#ed5958fa8331df1b1b8529ca9fdf225a340c5418" - integrity sha512-sOWDZi8cDBRkLfWOw18wvJyNblXDHzwMGnRWut8zNNeIeLnmMRO17bjpLc7OzMuj1ASUgx2IyohzUCAl+Kx5vA== +sha3@^1.2.2, sha3@^2.0.0: + version "2.0.7" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.0.7.tgz#02ed270099647cbcc681b064ba091af72f561f35" + integrity sha512-7Qsj/0J3pxCWfmyuDbTZWoKNSKY/rg2eecNRvTYE4EAPJ11Uh6xuEObyCG295AqgrtOjzdDbfwtGLDY52h11tA== dependencies: - nan "2.13.2" + buffer "5.4.0" shallow-clone@^0.1.2: version "0.1.2" @@ -13519,11 +13097,6 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -sparkles@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" - integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== - spawn-please@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/spawn-please/-/spawn-please-0.3.0.tgz#db338ec4cff63abc69f1d0e08cee9eb8bebd9d11" @@ -13622,11 +13195,6 @@ stable@^0.1.8: resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== -stack-trace@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" @@ -13673,11 +13241,6 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" -stream-exhaust@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" - integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== - stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" @@ -13930,14 +13493,6 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -sver-compat@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" - integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= - dependencies: - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - svg-parser@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" @@ -14123,15 +13678,7 @@ throat@^4.0.0: resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@^2.0.0, through2@^2.0.3, through2@~2.0.0: +through2@^2.0.0, through2@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -14149,11 +13696,6 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= - timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -14193,14 +13735,6 @@ tmpl@1.0.x: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -14251,13 +13785,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= - dependencies: - through2 "^2.0.3" - toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" @@ -14506,36 +14033,11 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= - underscore@1.9.1, underscore@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== -undertaker-registry@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" - integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= - -undertaker@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" - integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== - dependencies: - arr-flatten "^1.0.1" - arr-map "^2.0.0" - bach "^1.0.0" - collection-map "^1.0.0" - es6-weak-map "^2.0.1" - last-run "^1.1.0" - object.defaults "^1.0.0" - object.reduce "^1.0.0" - undertaker-registry "^1.0.0" - unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -14593,14 +14095,6 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -14805,13 +14299,6 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== -v8flags@^3.0.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" - integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== - dependencies: - homedir-polyfill "^1.0.1" - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -14837,11 +14324,6 @@ value-equal@^1.0.1: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= - vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -14861,54 +14343,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vinyl-fs@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - vm-browserify@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" @@ -15065,7 +14499,7 @@ web3-core@1.2.2: web3-core-requestmanager "1.2.2" web3-utils "1.2.2" -web3-core@2.0.0-alpha.1: +web3-core@2.0.0-alpha.1, web3-core@^2.0.0-alpha: version "2.0.0-alpha.1" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-2.0.0-alpha.1.tgz#4bb87b860a0bbf9fd19ae380a4773e12ac3b3010" integrity sha512-7fBl1h9Z46q0n8ugjYWMZsBP1tLlt8Rp4dRDF11EUNFQo1ll60tHj9PdjQIcKqoTd9EKhjYeZUWIsLf7YuipqA== @@ -15087,7 +14521,7 @@ web3-eth-abi@1.2.2: underscore "1.9.1" web3-utils "1.2.2" -web3-eth-abi@2.0.0-alpha.1: +web3-eth-abi@2.0.0-alpha.1, web3-eth-abi@^2.0.0-alpha: version "2.0.0-alpha.1" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-2.0.0-alpha.1.tgz#cdcafcb9681c9a5be7917efbae838df4121c623f" integrity sha512-EcNgLm8dHqjGN5IjgAAPIGFgBowO2FKQbdLzk6Zc7WY5kpRA/EcJen4PzVZpH1THfqpIlmHAV2YimYUTIz6cDQ== @@ -15305,9 +14739,9 @@ web3-net@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -"web3-provider-engine@https://github.com/trufflesuite/provider-engine#web3-one": +"web3-provider-engine@git+https://github.com/trufflesuite/provider-engine.git#web3-one": version "14.0.6" - resolved "https://github.com/trufflesuite/provider-engine#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" + resolved "git+https://github.com/trufflesuite/provider-engine.git#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" dependencies: async "^2.5.0" backoff "^2.5.0" @@ -15441,7 +14875,7 @@ web3@1.2.2: web3-shh "1.2.2" web3-utils "1.2.2" -web3@2.0.0-alpha.1: +web3@2.0.0-alpha.1, web3@^2.0.0-alpha: version "2.0.0-alpha.1" resolved "https://registry.yarnpkg.com/web3/-/web3-2.0.0-alpha.1.tgz#cfc0cef8c94d312ae943f268d6b42ebada521150" integrity sha512-njwdP8MsziYYu9BGXvq9326xViWe6Q4/I/sq/AKOqfLWgLhAJ9xYkP8U6v0AclNE8Ow447dV3b9eK3sOLS1/WQ== @@ -15582,7 +15016,6 @@ websocket-extensions@>=0.1.1: dependencies: debug "^2.2.0" es5-ext "^0.10.50" - gulp "^4.0.2" nan "^2.14.0" typedarray-to-buffer "^3.1.5" yaeti "^0.0.6" @@ -15637,7 +15070,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -16042,7 +15475,7 @@ yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" -yargs@^7.0.0, yargs@^7.1.0: +yargs@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= From c1861b62634df48dd12c4213d81060ffb0d975e5 Mon Sep 17 00:00:00 2001 From: noiach Date: Wed, 20 Nov 2019 16:40:27 +1100 Subject: [PATCH 106/117] src: fixed operator address call --- src/lib/ethereum/contractReads.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 75db50bc..943b9d12 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -67,13 +67,12 @@ const getDarknodePublicKey = async (web3: Web3, renNetwork: RenNetworkDetails, d * @returns A promise to the operator as a hex string. */ const getDarknodeOperator = async (web3: Web3, renNetwork: RenNetworkDetails, darknodeID: string): Promise => { - return "0xC62E1348A08599D2B85F7D12DAB1cA0c8152a725"; - // const owner = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodeOwner(darknodeID).call(); - // if (owner === null) { - // _catchBackgroundException_(_noCapture_(new Error("Unable to retrieve darknode owner")), "Error in contractReads > getDarknodeOperator, getDarknodeRegistry"); - // return NULL; - // } - // return owner; + const owner = await getDarknodeRegistry(web3, renNetwork).methods.getDarknodeOwner(darknodeID).call(); + if (owner === null) { + _catchBackgroundException_(_noCapture_(new Error("Unable to retrieve darknode owner")), "Error in contractReads > getDarknodeOperator, getDarknodeRegistry"); + return NULL; + } + return owner; }; export interface DarknodeCounts { From 72cb847bab6a4cab2039af60042be298b29b6f35 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 26 Nov 2019 17:33:49 +1100 Subject: [PATCH 107/117] src: add support for shifting out fees --- package.json | 14 +-- .../common/popups/WithdrawPopup.tsx | 109 +++++++++++------- .../statuspage/block/FeesBlock.tsx | 2 +- src/lib/ethereum/contractReads.ts | 1 - src/lib/ethereum/contractWrites.ts | 78 ++++++++++--- src/store/account/darknodeActions.tsx | 10 ++ src/styles/scss/_popup.scss | 10 +- yarn.lock | 83 +++++++------ 8 files changed, 210 insertions(+), 97 deletions(-) diff --git a/package.json b/package.json index 9d347f16..c4b98029 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@fortawesome/free-regular-svg-icons": "^5.11.2", "@fortawesome/free-solid-svg-icons": "^5.11.2", "@fortawesome/react-fontawesome": "^0.1.7", - "@renproject/contracts": "0.3.24", + "@renproject/contracts": "0.3.27", "@renproject/fonts": "^1.0.1", "@renproject/react-components": "1.0.36", "@renproject/ren": "^0.1.16", @@ -31,12 +31,12 @@ "@types/bs58": "^4.0.1", "@types/filesize": "^5.0.0", "@types/jest": "^24.0.23", - "@types/node": "^12.12.11", + "@types/node": "^12.12.14", "@types/query-string": "^6.3.0", - "@types/react": "^16.9.11", + "@types/react": "^16.9.13", "@types/react-dom": "^16.9.4", "@types/react-redux": "^7.1.5", - "@types/react-router-dom": "^5.1.2", + "@types/react-router-dom": "^5.1.3", "@types/react-simple-maps": "^0.12.2", "@types/react-transition-group": "4.2", "@types/underscore": "^1.9.4", @@ -75,13 +75,13 @@ "web3-utils": "2.0.0-alpha.1" }, "devDependencies": { - "@truffle/hdwallet-provider": "^1.0.25", + "@truffle/hdwallet-provider": "^1.0.26", "@types/chai": "^4.2.5", "any-promise": "^1.3.0", "chai": "^4.2.0", "darknode-sol": "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095", - "npm-check-updates": "^3.2.1", - "ts-unused-exports": "^4.0.0", + "npm-check-updates": "^3.2.2", + "ts-unused-exports": "^5.0.0", "tslint": "^5.20.1", "tslint-microsoft-contrib": "^6.2.0", "tslint-react": "^4.1.0", diff --git a/src/components/common/popups/WithdrawPopup.tsx b/src/components/common/popups/WithdrawPopup.tsx index 6dc099ad..82170550 100644 --- a/src/components/common/popups/WithdrawPopup.tsx +++ b/src/components/common/popups/WithdrawPopup.tsx @@ -3,12 +3,12 @@ import * as React from "react"; import { faPlus, faTimes } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Loading, TokenIcon } from "@renproject/react-components"; +import { TxStatus } from "@renproject/ren"; import { List } from "immutable"; import { connect, ConnectedReturnType } from "react-redux"; import { bindActionCreators } from "redux"; -import { validate } from "wallet-address-validator"; -import { Token } from "../../../lib/ethereum/tokens"; +import { AllTokenDetails, Token } from "../../../lib/ethereum/tokens"; import { className } from "../../../lib/react/className"; import { ApplicationState } from "../../../store/applicationState"; import { @@ -31,6 +31,25 @@ const defaultState = { // Entries must be immutable newAddressValid: false, }; +const renderTxStatus = (status: TxStatus | null) => { + switch (status) { + case null: + return "Submitting"; + case TxStatus.TxStatusNil: + return "Submitting"; + case TxStatus.TxStatusConfirming: + return "Waiting for confirmations"; + case TxStatus.TxStatusPending: + return "Executing"; + case TxStatus.TxStatusExecuting: + return "Executing"; + case TxStatus.TxStatusDone: + return "Done"; + case TxStatus.TxStatusReverted: + return "Reverted"; + } +}; + class WithdrawPopupClass extends React.Component { constructor(props: Props) { super(props); @@ -41,43 +60,51 @@ class WithdrawPopupClass extends React.Component { // } public render = (): JSX.Element => { - const { selectedAddress, newAddress, newAddressValid } = this.state; - const { store: { withdrawAddresses }, token } = this.props; + const { stage, selectedAddress, newAddress, newAddressValid } = this.state; + const { status, store: { withdrawAddresses }, token } = this.props; return

    Select {token} withdraw address

    -
    - {withdrawAddresses.get(token, List()).map((withdrawAddress: string) => { - return
    - - -
    ; - }).toArray()} -
    -
    -
    - - -
    -
    + {stage === Stage.Pending || stage === Stage.Error ? + <> +
    + {withdrawAddresses.get(token, List()).map((withdrawAddress: string) => { + return
    + + +
    ; + }).toArray()} +
    +
    +
    + + +
    +
    + : <> + {status === TxStatus.TxStatusConfirming || status === TxStatus.TxStatusExecuting || status === TxStatus.TxStatusPending || status === TxStatus.TxStatusDone ? <> + The withdrawal has been submitted to RenVM. Your funds will be available shortly.
    + Status: {renderTxStatus(status)} + : <>} + } {this.renderButtons()}
    ; } @@ -106,9 +133,11 @@ class WithdrawPopupClass extends React.Component { private readonly handleAddressInput = (event: React.FormEvent) => { const address = this.handleInput(event); - console.log(address); - const newAddressValid = validate(address, this.props.token, "prod") || validate(address, this.props.token, "testnet"); - console.log("newAddressValid", newAddressValid); + const tokenDetails = AllTokenDetails.get(this.props.token); + if (!tokenDetails) { + return; + } + const newAddressValid = tokenDetails.validator(address, this.props.store.renNetwork.networkID !== 1); this.setState({ newAddressValid }); } @@ -168,6 +197,7 @@ class WithdrawPopupClass extends React.Component { const mapStateToProps = (state: ApplicationState) => ({ store: { + renNetwork: state.account.renNetwork, withdrawAddresses: state.network.withdrawAddresses, }, }); @@ -181,6 +211,7 @@ const mapDispatchToProps = (dispatch: AppDispatch) => ({ interface Props extends ReturnType, ConnectedReturnType { token: Token; + status: TxStatus; withdraw(address: string): Promise; onDone(): void; onCancel(): void; diff --git a/src/components/darknodePage/statuspage/block/FeesBlock.tsx b/src/components/darknodePage/statuspage/block/FeesBlock.tsx index 1213d41e..1b41ec04 100644 --- a/src/components/darknodePage/statuspage/block/FeesBlock.tsx +++ b/src/components/darknodePage/statuspage/block/FeesBlock.tsx @@ -209,7 +209,7 @@ class FeesBlockClass extends React.Component { {quoteCurrency.toUpperCase()} - {isOperator && tokenDetails && !tokenDetails.wrapped ? + {isOperator ? void, onDarknode?: (darknodeID: string) => void, ): Promise> => { - // Skip calling getAllDarknodes - they will all be in the logs as well. let darknodes = OrderedSet( // Retrieve currently registered darknodes. diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index e12419b0..e48eb682 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -1,8 +1,10 @@ import { mainnet, RenNetworkDetails } from "@renproject/contracts"; -import RenSDK from "@renproject/ren"; +import { sleep } from "@renproject/react-components"; +import RenSDK, { TxStatus } from "@renproject/ren"; import BigNumber from "bignumber.js"; import Web3 from "web3"; -import { TransactionConfig } from "web3-core"; +import { TransactionConfig, TransactionReceipt } from "web3-core"; +import { sha3, toChecksumAddress } from "web3-utils"; import { _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodeRegistry } from "./contract"; @@ -320,12 +322,19 @@ const burn = async ( amount: BigNumber, recipient: string, waitForTX: WaitForTX, + onStatus: (status: TxStatus) => void, ) => { - const contract = new (web3.eth.Contract)(renNetwork.addresses.erc.ERC20.abi, renNetwork.addresses.tokens[token].address); + const contractDetails = token === Token.BTC ? renNetwork.addresses.shifter.BTCShifter : + token === Token.ZEC ? renNetwork.addresses.shifter.ZECShifter : + token === Token.BCH ? renNetwork.addresses.shifter.BCHShifter : undefined; + if (!contractDetails) { + throw new Error(`Unable to shift out token ${token}`); + } + const contract = new (web3.eth.Contract)(contractDetails.abi, contractDetails._address); const sdk = new RenSDK(renNetwork.name); - const txHash = await waitForTX(contract.methods.burn( + const txHash = await waitForTX(contract.methods.shiftOut( sdk.Tokens[token].addressToHex(recipient), // _to amount.decimalPlaces(0).toFixed(), // _amount in Satoshis ).send({ from: address }) @@ -346,9 +355,26 @@ const burn = async ( }).readFromEthereum(); const promiEvent = shiftOut.submitToRenVM(); + promiEvent.on("status", onStatus); await promiEvent; }; +const TransferEventABI = [ + { + indexed: true, + name: "from", + type: "address" + }, { + indexed: true, + name: "to", + type: "address" + }, { + indexed: false, + name: "value", + type: "uint256" + } +]; + export const withdrawToken = ( web3: Web3, renNetwork: RenNetworkDetails, @@ -356,7 +382,8 @@ export const withdrawToken = ( darknodeID: string, token: Token | OldToken, waitForTX: WaitForTX, -) => async (_withdrawAddress?: string) => { + onStatus: (status: TxStatus) => void, +) => async (withdrawAddress?: string) => { const tokenDetails = AllTokenDetails.get(token); if (tokenDetails === undefined) { @@ -373,19 +400,44 @@ export const withdrawToken = ( throw new Error("Unknown token"); } - await waitForTX(darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token].address).send({ from: address })); + const tx = await waitForTX(darknodePayment.methods.withdraw(darknodeID, renNetwork.addresses.tokens[token].address).send({ from: address })); // let recentRegistrationEvents = await web3.eth.getPastLogs({ // address: renNetwork.addresses.tokens[token].address, // fromBlock: txHash, // toBlock: txHash, - // topics: [sha3("Transfer(address,address,uint256)"),], + // topics: [,], // }); - // if (tokenDetails.wrapped) { - // if (!withdrawAddress) { - // throw new Error("Invalid withdraw address"); - // } - // await burn(web3, renNetwork, address, token as Token, new BigNumber(0), withdrawAddress, waitForTX); - // } + if (tokenDetails.wrapped) { + if (!withdrawAddress) { + throw new Error("Invalid withdraw address"); + } + + + let receipt: TransactionReceipt | undefined; + + while (!receipt || !receipt.logs) { + try { + receipt = await web3.eth.getTransactionReceipt(tx); + } catch (error) { + // Ignore error + } + if (!receipt) { + await sleep(1000); + } + } + + let value = new BigNumber(0); + for (const log of receipt.logs) { + if (log.topics[0] = sha3("Transfer(address,address,uint256)")) { + const event = web3.eth.abi.decodeLog(TransferEventABI, log.data, (log.topics as string[]).slice(1)); + if (toChecksumAddress(event.from) === toChecksumAddress(renNetwork.addresses.ren.DarknodePaymentStore.address) && toChecksumAddress(event.to) === toChecksumAddress(address)) { + value = value.plus(event.value); + } + } + } + + await burn(web3, renNetwork, address, token as Token, value, withdrawAddress, waitForTX, onStatus); + } }; diff --git a/src/store/account/darknodeActions.tsx b/src/store/account/darknodeActions.tsx index 77abfb16..b4da2dea 100644 --- a/src/store/account/darknodeActions.tsx +++ b/src/store/account/darknodeActions.tsx @@ -2,6 +2,7 @@ import * as React from "react"; import { RenNetworkDetails } from "@renproject/contracts"; import Web3 from "web3"; +import { TxStatus } from "@renproject/ren"; import { WithdrawPopup } from "../../components/common/popups/WithdrawPopup"; import { withdrawOldToken, withdrawToken } from "../../lib/ethereum/contractWrites"; @@ -33,6 +34,12 @@ export const showWithdrawToken = async ( throw new Error(`Unable to retrieve account address.`); } + let shiftStatus = TxStatus.TxStatusNil; + + const onStatus = (status: TxStatus) => { + shiftStatus = status; + }; + const withdraw = withdrawToken( web3, renNetwork, @@ -40,6 +47,7 @@ export const showWithdrawToken = async ( darknodeID, token, waitForTX, + onStatus, ); const onCancel = () => { callClearPopup(); @@ -56,12 +64,14 @@ export const showWithdrawToken = async ( withdraw={withdraw} onDone={onDone} onCancel={onCancel} + status={shiftStatus} />, onCancel, ); } else { try { await withdraw(); + resolve(); } catch (error) { onCancel(); } diff --git a/src/styles/scss/_popup.scss b/src/styles/scss/_popup.scss index 49121561..fbf129cb 100644 --- a/src/styles/scss/_popup.scss +++ b/src/styles/scss/_popup.scss @@ -209,10 +209,18 @@ content: attr(title); padding: 2px; background-color: transparentize($color: white, $amount: 0.2); - color: $red; line-height: 1.4em; + color: $red; border: 1px solid $red; } + + &.new-address--plus--green { + &:hover:after { + top: -20px; + color: $green; + border: 1px solid $green; + } + } } // Open Order diff --git a/yarn.lock b/yarn.lock index 9f0e66c6..3fa68b22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1377,7 +1377,14 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.24", "@renproject/contracts@^0.3.24": +"@renproject/contracts@0.3.27": + version "0.3.27" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.27.tgz#bf3ae0f172b9214d5f98f5d3e96eb0966a6ea34d" + integrity sha512-6dPednS7S17cTXgVfk46LgZcT5dm51eqQF/XSWe7OH/Ax5xZA8rwbgdI1Jiqm5KMPBfbf6arSZOEasEHAH1FTg== + dependencies: + darknode-sol "https://github.com/renproject/darknode-sol#e9e7357e3e8d6e30bbd03a72eaaefdcb9a0e6ad7" + +"@renproject/contracts@^0.3.24": version "0.3.24" resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.24.tgz#b76906d627fd63199bb5bae57d9f3b19105167e6" integrity sha512-vhfcmHgbZj3jQpLlD4Bpvt3QtwUgE9y2G2HKhD2dY+WOrWyIyrypvv9JkXLpp22JbWQ1tkTRpBDLCY7p0UHDSg== @@ -1613,12 +1620,12 @@ resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.8.tgz#dc94ca36393403449d4b7461bf9452c241e53ec1" integrity sha512-x55rtRuNfRO1azmZ30iR0pf0OJ6flQqbax1hJz+Avk1K5fdmOv5cr22s9qFnwTWnS6Bw0jvJEoR0ITsM7cPKtQ== -"@truffle/hdwallet-provider@^1.0.25": - version "1.0.25" - resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.25.tgz#130a1aadd0d3817559d45a5de9cf7dcc9ccd6dba" - integrity sha512-0HNVe7m1koA4e4wgHp+tHKzbZtUmY7LMP8AGj9PN6I9/EU5zeHmAcZSStzwWAFywOp6ZQ3g8NNeqThraryqdaA== +"@truffle/hdwallet-provider@^1.0.26": + version "1.0.26" + resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.26.tgz#1255e5af7ea10b617e63b57282d0f1232feff916" + integrity sha512-ITEUOwT8o8FZmnAiZtFLHhTLFOlT5q/DIh9QzV+gG0GocqIY6D2CSLkhaqTn89xCGVftQfyQAFBqXfGRblNQKw== dependencies: - "@truffle/provider" "^0.2.2" + "@truffle/provider" "^0.2.3" any-promise "^1.3.0" bindings "^1.5.0" bip39 "^2.4.2" @@ -1629,23 +1636,23 @@ web3 "1.2.2" web3-provider-engine "https://github.com/trufflesuite/provider-engine#web3-one" -"@truffle/interface-adapter@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.3.3.tgz#61305378cf81776769ef36c60d394e568ac4a2ee" - integrity sha512-l3I4WFTfnBSIfG96IOBRtAIE6AHDAxcOUJE7W5zh9hocQwzQlGWc2yEyyTcLa0656TTM8RxaZZ2S/KdHHMvCaw== +"@truffle/interface-adapter@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.4.0.tgz#563314b5a056d886adda07b2d052c32e971cdea8" + integrity sha512-3xCL38jOByT/CN/Sar9Yx0q3xXRzEYpd28eQfI/nTZk/+T1m+aYU7C4Dv2JSnqgB3mjQd++2rRnMYjE2uxYg5w== dependencies: bn.js "^4.11.8" ethers "^4.0.32" lodash "^4.17.13" web3 "1.2.2" -"@truffle/provider@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.2.tgz#768ad9f2e64a655277a0dbec03aeb9c1062906e3" - integrity sha512-0lN23hJzM6cb1IK4ZjRPHDEdwtcpRwhsfBLLOAzlOFlnFvCHlQWnb7K71mCE9LXrKqjQRDF1vjUpeiKccwoN8Q== +"@truffle/provider@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.3.tgz#b4f03be749a1d07c003e16a498966bdf0e0384f3" + integrity sha512-EsAE7eiXMlTAQBNst12fuTKddMMtqB7d9jQmVvYvq+/G3ryZCf50dTiod0lhTIh0dIQ/tirFdvBRKDfc8c+hsQ== dependencies: "@truffle/error" "^0.0.8" - "@truffle/interface-adapter" "^0.3.3" + "@truffle/interface-adapter" "^0.4.0" web3 "1.2.2" "@types/babel__core@^7.1.0": @@ -1818,10 +1825,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== -"@types/node@^12.12.11": - version "12.12.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.11.tgz#bec2961975888d964196bf0016a2f984d793d3ce" - integrity sha512-O+x6uIpa6oMNTkPuHDa9MhMMehlxLAd5QcOvKRjAFsBVpeFWTOPnXbDvILvFgFFZfQ1xh1EZi1FbXxUix+zpsQ== +"@types/node@^12.12.14": + version "12.12.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.14.tgz#1c1d6e3c75dba466e0326948d56e8bd72a1903d2" + integrity sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA== "@types/node@^12.12.3": version "12.12.9" @@ -1874,10 +1881,10 @@ hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-router-dom@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.2.tgz#853f229f1f297513c0be84f7c914a08b778cfdf5" - integrity sha512-kRx8hoBflE4Dp7uus+j/0uMHR5uGTAvQtc4A3vOTWKS+epe0leCuxEx7HNT7XGUd1lH53/moWM51MV2YUyhzAg== +"@types/react-router-dom@^5.1.3": + version "5.1.3" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.3.tgz#b5d28e7850bd274d944c0fbbe5d57e6b30d71196" + integrity sha512-pCq7AkOvjE65jkGS5fQwQhvUp4+4PVD9g39gXLZViP2UqFiFzsEpB3PKf0O6mdbKsewSK8N14/eegisa/0CwnA== dependencies: "@types/history" "*" "@types/react" "*" @@ -1930,10 +1937,10 @@ "@types/prop-types" "*" csstype "^2.2.0" -"@types/react@^16.9.11": - version "16.9.11" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.11.tgz#70e0b7ad79058a7842f25ccf2999807076ada120" - integrity sha512-UBT4GZ3PokTXSWmdgC/GeCGEJXE5ofWyibCcecRLUVN2ZBpXQGVgQGtG2foS7CrTKFKlQVVswLvf7Js6XA/CVQ== +"@types/react@^16.9.13": + version "16.9.13" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.13.tgz#b3ea5dd443f4a680599e2abba8cc66f5e1ce0059" + integrity sha512-LikzRslbiufJYHyzbHSW0GrAiff8QYLMBFeZmSxzCYGXKxi8m/1PHX+rsVOwhr7mJNq+VIu2Dhf7U6mjFERK6w== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -4881,6 +4888,12 @@ damerau-levenshtein@^1.0.4: dependencies: openzeppelin-solidity "2.4.0" +"darknode-sol@https://github.com/renproject/darknode-sol#e9e7357e3e8d6e30bbd03a72eaaefdcb9a0e6ad7": + version "0.0.3" + resolved "https://github.com/renproject/darknode-sol#e9e7357e3e8d6e30bbd03a72eaaefdcb9a0e6ad7" + dependencies: + openzeppelin-solidity "2.4.0" + "darknode-sol@https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095": version "0.0.3" resolved "https://github.com/renproject/darknode-sol#f60d23ffa59203ae13a3d99688f12fdf704eb095" @@ -9923,10 +9936,10 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-check-updates@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.2.1.tgz#6bb73a5b8684e94b6093d1f189d176074eb4512b" - integrity sha512-gYXHGc9mAncGrEMjs2uRJgOdWRP5CR9iZ+HyUNf4eqjtdDV6jLvi2e19G5BEpdvc8fU73J+B5m8ALYB49du/EA== +npm-check-updates@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-3.2.2.tgz#20719e4627f8f6ab87274adfdb30fda22027bde1" + integrity sha512-smZLGQWYbNOQVL787LwxTKakhTll/GZ4EwlKRfskD+eTCSpxdwpbkUHbT0QxyCf1uZw86TXeAFGw8ETzmW3Fqw== dependencies: chalk "^2.4.2" cint "^8.2.1" @@ -13847,10 +13860,10 @@ ts-pnp@^1.1.2: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== -ts-unused-exports@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-4.0.0.tgz#f0412e96c1bcd2e1f85e482baa00d88ec44dd9ab" - integrity sha512-54DgRAKhEEZB/YWc/cam0GD3H+ConU0VsM8QXSP+7bOLVgpA/k0TihKwSm7MYvQK/ZSnGLAO8CBClKD8dQBeXQ== +ts-unused-exports@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-5.0.0.tgz#45e3899cf7393481d87f0cc2758e41c9a828be4a" + integrity sha512-AI9qUdGYHlwXHvmcrRc2RVXulthGcPQ3bEf/Nf+i9y4+TNRfRdr0MN8NJ/ETZusdXrOy0j5n8iFzoG8iehQjdQ== dependencies: chalk "^2.4.1" tsconfig-paths "^3.5.0" From 3e3eae5fb5d6b97a562dcd1478c514348b92fa56 Mon Sep 17 00:00:00 2001 From: noiach Date: Tue, 26 Nov 2019 17:50:15 +1100 Subject: [PATCH 108/117] src: restrict shifting out for volume less than minimum --- .../darknodePage/statuspage/FeesItem.tsx | 25 ++++++++++++++++--- .../darknodePage/statuspage/OldFees.tsx | 2 +- .../statuspage/block/FeesBlock.tsx | 2 +- src/lib/ethereum/contractWrites.ts | 1 - src/styles/scss/_block.scss | 15 +++++++++++ src/styles/scss/_popup.scss | 1 - 6 files changed, 39 insertions(+), 7 deletions(-) diff --git a/src/components/darknodePage/statuspage/FeesItem.tsx b/src/components/darknodePage/statuspage/FeesItem.tsx index 5d446da4..e07ba41b 100644 --- a/src/components/darknodePage/statuspage/FeesItem.tsx +++ b/src/components/darknodePage/statuspage/FeesItem.tsx @@ -7,16 +7,22 @@ import BigNumber from "bignumber.js"; import { connect, ConnectedReturnType } from "react-redux"; // Custom typings import { bindActionCreators } from "redux"; -import { OldToken, Token } from "../../../lib/ethereum/tokens"; +import { AllTokenDetails, OldToken, Token } from "../../../lib/ethereum/tokens"; import { waitForTX } from "../../../lib/ethereum/waitForTX"; import { withdrawReward } from "../../../store/account/darknodeActions"; import { ApplicationState } from "../../../store/applicationState"; import { updateDarknodeDetails } from "../../../store/network/operatorActions"; import { AppDispatch } from "../../../store/rootReducer"; +const minimumShiftedAmount = 0.00016; + const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: Props) => { const [loading, setLoading] = React.useState(false); + const tokenDetails = AllTokenDetails.get(token); + const wrapped = tokenDetails ? tokenDetails.wrapped : false; + const decimals = tokenDetails ? tokenDetails.decimals : 8; + const handleWithdraw = React.useCallback(async (): Promise => { const { web3, tokenPrices, address, renNetwork } = store; setLoading(true); @@ -36,10 +42,23 @@ const FeesItemClass = ({ darknodeID, token, amount, disabled, actions, store }: setLoading(false); }, [actions, darknodeID, store, token]); - const isDisabled = (new BigNumber(amount)).lte(0) || !disabled; + let isDisabled = false; + let title = ""; + if (disabled) { + isDisabled = true; + title = "Must be operator to withdraw"; + } else if ((new BigNumber(amount)).lte(0)) { + isDisabled = true; + title = "No fees to withdraw"; + } else if (wrapped && new BigNumber(amount).lte(new BigNumber(minimumShiftedAmount).times(new BigNumber(10).exponentiatedBy(decimals)))) { + isDisabled = true; + title = `Must have at least ${minimumShiftedAmount} ${token} to withdraw`; + } + return ( -
    : <>} - -
    - -
    - -
  • -
    -
    Overview
    -
    -
  • - - -
  • -
    -
    Hyperdrive
    -
    -
  • - - {/* {languageDropdownNode} */} - {currencyDropdownNode} - {networkDropdownNode} - -
    -
    - ); - } +const HeaderClass = (props: Props) => { - private readonly setCurrency = (currency: string): void => { - this.props.actions.storeQuoteCurrency({ quoteCurrency: currency as Currency }); - } + const setCurrency = (currency: string): void => { + props.actions.storeQuoteCurrency({ quoteCurrency: currency as Currency }); + }; - private readonly setNetwork = (network: string): void => { - this.props.actions.storeRenNetwork(RenNetworks[network]); + const setNetwork = (network: string): void => { + props.actions.storeRenNetwork(RenNetworks[network]); setInterval(() => { const currentLocation = window.location.pathname; // history.push("/loading"); @@ -136,12 +66,91 @@ class HeaderClass extends React.Component { console.log(`Reloading page (${currentLocation})`); window.location.replace(currentLocation); }, 100); - } + }; - // private readonly setLanguage = (language: string): void => { + // const setLanguage = (language: string): void => { // // NOT IMPLEMENTED // } -} + + const [searchInput, setSearchInput] = React.useState(""); + + const handleInput = (event: React.FormEvent): void => { + const element = (event.target as HTMLInputElement); + setSearchInput(String(element.value).toLowerCase()); + }; + + const { location } = props; + const { address, quoteCurrency, renNetwork } = props.store; + + // const languageDropdownNode = ; + + const networkDropdownNode = ; + + const currencyDropdownNode = + + {" "}{quoteCurrency.toUpperCase()} + + }} + options={currencyOptions} + setValue={setCurrency} + />; + + return ( +
    + {address ?
    + +
    : <>} + +
    + +
    + {/*
  • + +
  • */} + +
  • +
    +
    Darknodes
    +
    +
  • + + +
  • +
    +
    RenVM
    +
    +
  • + + {/* {languageDropdownNode} */} + {currencyDropdownNode} + {networkDropdownNode} + +
    +
    + ); +}; const mapStateToProps = (state: ApplicationState) => ({ store: { diff --git a/src/components/common/sidebar/Sidebar.tsx b/src/components/common/sidebar/Sidebar.tsx index d57b9188..d06152f3 100644 --- a/src/components/common/sidebar/Sidebar.tsx +++ b/src/components/common/sidebar/Sidebar.tsx @@ -14,7 +14,7 @@ import { promptLogin } from "../../../store/account/accountActions"; import { ApplicationState } from "../../../store/applicationState"; import { AppDispatch } from "../../../store/rootReducer"; import { hideMobileMenu } from "../../../store/ui/uiActions"; -import { ReactComponent as HyperdriveIcon } from "../../../styles/images/Icon-HyperDrive.svg"; +import { ReactComponent as RenVMIcon } from "../../../styles/images/Icon-HyperDrive.svg"; import { ReactComponent as Search } from "../../../styles/images/search.svg"; import { SidebarIcon } from "./SidebarIcon"; @@ -76,16 +76,16 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter(
    -
    Overview
    +
    Darknodes
    - -
    + +
    - +
    -
    Hyperdrive
    +
    RenVM
    @@ -94,7 +94,7 @@ export const Sidebar = connect(mapStateToProps, mapDispatchToProps)(withRouter(
    -
    All Darknodes
    +
    Your Darknodes
    diff --git a/src/components/overviewPage/mapContainer.ts b/src/components/overviewPage/mapContainer.ts index b3d22dc9..046ba05c 100644 --- a/src/components/overviewPage/mapContainer.ts +++ b/src/components/overviewPage/mapContainer.ts @@ -8,7 +8,7 @@ import { useState } from "react"; import { MarkerType } from "react-simple-maps"; import { createContainer } from "unstated-next"; -import { retryNTimes } from "../hyperdrivePage/hyperdriveContainer"; +import { retryNTimes } from "../renvmPage/renvmContainer"; interface City extends MarkerType { darknodeID: string; diff --git a/src/components/hyperdrivePage/Hyperdrive.tsx b/src/components/renvmPage/RenVM.tsx similarity index 94% rename from src/components/hyperdrivePage/Hyperdrive.tsx rename to src/components/renvmPage/RenVM.tsx index 299f859c..054efc8e 100644 --- a/src/components/hyperdrivePage/Hyperdrive.tsx +++ b/src/components/renvmPage/RenVM.tsx @@ -6,7 +6,7 @@ import { CSSTransition, TransitionGroup } from "react-transition-group"; import { Token } from "../../lib/ethereum/tokens"; import { Stat, Stats } from "../common/Stat"; import { TokenBalance } from "../common/TokenBalance"; -import { Block, HyperdriveContainer, Tx, Type } from "./hyperdriveContainer"; +import { Block, RenVMContainer, Tx, Type } from "./renvmContainer"; // Returning a new object reference guarantees that a before-and-after // equivalence check will always be false, resulting in a re-render, even @@ -44,8 +44,8 @@ export const renderTransaction = (tx: Tx): React.ReactNode => { ; }; -export const Hyperdrive = withRouter(({ match: { params }, history }) => { - const container = HyperdriveContainer.useContainer(); +export const RenVM = withRouter(({ match: { params }, history }) => { + const container = RenVMContainer.useContainer(); const blockNumber = params.blockNumber ? parseInt(params.blockNumber, 10) @@ -79,11 +79,11 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { const onClick = useCallback((block: Block) => { container.getBlock(block.header.height).catch(console.error); - history.push(`/hyperdrive/${block.header.height}`); + history.push(`/renvm/${block.header.height}`); }, [container, history]); const onClose = useCallback(() => { - history.push(`/hyperdrive/`); + history.push(`/renvm/`); }, [container, history]); const blockTr = (block: Block) => { @@ -146,7 +146,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { return (
    @@ -165,7 +165,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { Block Number Timestamp - Transactions + Transactions {container.currentBlock && container.currentBlockNumber === blockNumber ? @@ -219,7 +219,7 @@ export const Hyperdrive = withRouter(({ match: { params }, history }) => { Block Number Timestamp - Transactions + Transactions {container.blocks ? diff --git a/src/components/hyperdrivePage/_hyperdrive.scss b/src/components/renvmPage/_renvm.scss similarity index 97% rename from src/components/hyperdrivePage/_hyperdrive.scss rename to src/components/renvmPage/_renvm.scss index c0e163de..8326fdc8 100644 --- a/src/components/hyperdrivePage/_hyperdrive.scss +++ b/src/components/renvmPage/_renvm.scss @@ -1,4 +1,4 @@ -.hyperdrive { +.renvm { // display: flex; h2 { @@ -70,7 +70,7 @@ } } - .hyperdrive--table--txs { + .renvm--table--txs { width: 100%; } @@ -91,7 +91,7 @@ } } - .hyperdrive--row { + .renvm--row { display: flex; margin-bottom: 30px; flex-wrap: wrap; @@ -105,7 +105,7 @@ } } - .hyperdrive--stat { + .renvm--stat { font-size: 32px; line-height: 37px; color: #F9F9F9; diff --git a/src/components/hyperdrivePage/hyperdriveContainer.ts b/src/components/renvmPage/renvmContainer.ts similarity index 97% rename from src/components/hyperdrivePage/hyperdriveContainer.ts rename to src/components/renvmPage/renvmContainer.ts index 9e5f107d..d3bc8e6e 100644 --- a/src/components/hyperdrivePage/hyperdriveContainer.ts +++ b/src/components/renvmPage/renvmContainer.ts @@ -177,7 +177,7 @@ const getBlocks = async (network: RenNetworkDetails, previousBlocks: List } }; -const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => { +const useRenVMContainer = (initialState = testnet as RenNetworkDetails) => { // tslint:disable-next-line: whitespace const [network,] = useState(initialState); // tslint:disable-next-line: prefer-const @@ -230,4 +230,4 @@ const useHyperdriveContainer = (initialState = testnet as RenNetworkDetails) => return { blocks, updateBlocks, getBlock, currentBlock, currentBlockNumber }; }; -export const HyperdriveContainer = createContainer(useHyperdriveContainer); +export const RenVMContainer = createContainer(useRenVMContainer); diff --git a/src/components/hyperdrivePage/world-50m.json b/src/components/renvmPage/world-50m.json similarity index 100% rename from src/components/hyperdrivePage/world-50m.json rename to src/components/renvmPage/world-50m.json diff --git a/src/lib/darknode/jsonrpc.ts b/src/lib/darknode/jsonrpc.ts index 9ee5a56e..9e001ead 100644 --- a/src/lib/darknode/jsonrpc.ts +++ b/src/lib/darknode/jsonrpc.ts @@ -1,7 +1,7 @@ import { Record } from "@renproject/react-components"; import Axios from "axios"; -import { retryNTimes, RPCResponse } from "../../components/hyperdrivePage/hyperdriveContainer"; +import { retryNTimes, RPCResponse } from "../../components/renvmPage/renvmContainer"; export interface ResponseQueryStat { version: string; diff --git a/src/lib/ethereum/contractReads.ts b/src/lib/ethereum/contractReads.ts index 6bf0ba59..c97ff4b7 100644 --- a/src/lib/ethereum/contractReads.ts +++ b/src/lib/ethereum/contractReads.ts @@ -7,7 +7,7 @@ import Web3 from "web3"; import { Block } from "web3-eth"; import { sha3, toChecksumAddress } from "web3-utils"; -import { retryNTimes } from "../../components/hyperdrivePage/hyperdriveContainer"; +import { retryNTimes } from "../../components/renvmPage/renvmContainer"; import { getLightnode } from "../../components/overviewPage/mapContainer"; import { DarknodesState } from "../../store/applicationState"; import { darknodeIDHexToBase58 } from "../darknode/darknodeID"; diff --git a/src/lib/ethereum/contractWrites.ts b/src/lib/ethereum/contractWrites.ts index 5cab3570..fb0b1d03 100644 --- a/src/lib/ethereum/contractWrites.ts +++ b/src/lib/ethereum/contractWrites.ts @@ -6,7 +6,7 @@ import Web3 from "web3"; import { TransactionConfig, TransactionReceipt } from "web3-core"; import { sha3, toChecksumAddress } from "web3-utils"; -import { retryNTimes } from "../../components/hyperdrivePage/hyperdriveContainer"; +import { retryNTimes } from "../../components/renvmPage/renvmContainer"; import { _catchInteractionException_, _noCapture_ } from "../react/errors"; import { getDarknodePayment, getDarknodeRegistry } from "./contract"; import { AllTokenDetails, OldToken, Token } from "./tokens"; diff --git a/src/styles/index.scss b/src/styles/index.scss index a1d524ed..1514a316 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -28,7 +28,7 @@ // Styles in src/components @import '../components/overviewPage/darknodeMap/darknodeMap'; -@import '../components/hyperdrivePage/hyperdrive'; +@import '../components/renvmPage/renvm'; @import '../components/overviewPage/overview'; // Styles for html, body, anchors etc. should go in _general diff --git a/src/styles/scss/_header.scss b/src/styles/scss/_header.scss index 8f304f25..d2084c11 100644 --- a/src/styles/scss/_header.scss +++ b/src/styles/scss/_header.scss @@ -330,4 +330,12 @@ width: 21px; margin-right: -2px; } +} + +.header--search--input { + @extend .sidebar--search--input; + + background: transparent !important; + color: white; + width: 300px; } \ No newline at end of file From 47cf5aa392a0c32d79136fcd9108cf88ab641826 Mon Sep 17 00:00:00 2001 From: noiach Date: Thu, 6 Feb 2020 13:08:18 +1100 Subject: [PATCH 117/117] package: updated dependencies --- package.json | 2 + yarn.lock | 6251 +++++++++++++++++++++----------------------------- 2 files changed, 2675 insertions(+), 3578 deletions(-) diff --git a/package.json b/package.json index c67ceb71..78113773 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,8 @@ "redux": "^4.0.4", "redux-persist": "^6.0.0", "redux-thunk": "^2.3.0", + "scrypt": "https://github.com/ren-forks/node-scrypt", + "sha3": "^2.0.0", "typesafe-actions": "^5.1.0", "typescript": "^3.7.3", "unstated-next": "^1.1.0", diff --git a/yarn.lock b/yarn.lock index 4ac5e903..0ca8134b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,1545 +2,894 @@ # yarn lockfile v1 -"@babel/code-frame@7.5.5", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/core@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.4.tgz#37e864532200cb6b50ee9a4045f5f817840166ab" - integrity sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.4" - "@babel/helpers" "^7.7.4" - "@babel/parser" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" +"@babel/code-frame@7.8.3", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" -"@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" +"@babel/compat-data@^7.8.4": + version "7.8.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.5.tgz#d28ce872778c23551cbb9432fc68d28495b613b9" + integrity sha512-jWYUqQX/ObOhG1UiEkbH5SANsE/8oKXiQWjj7p7xgj9Zmnt//aUvyz4dBkK0HNsS8/cbyC5NmmH87VekW+mXFg== + dependencies: + browserslist "^4.8.5" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@7.8.4", "@babel/core@^7.1.0", "@babel/core@^7.4.5": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" + integrity sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.4" + "@babel/helpers" "^7.8.4" + "@babel/parser" "^7.8.4" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.4" + "@babel/types" "^7.8.3" + convert-source-map "^1.7.0" debug "^4.1.0" + gensync "^1.0.0-beta.1" json5 "^2.1.0" lodash "^4.17.13" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== - dependencies: - "@babel/types" "^7.5.5" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.4.tgz#db651e2840ca9aa66f327dcec1dc5f5fa9611369" - integrity sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg== +"@babel/generator@^7.4.0", "@babel/generator@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.4.tgz#35bbc74486956fe4251829f9f6c48330e8d0985e" + integrity sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-annotate-as-pure@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" - integrity sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og== - dependencies: - "@babel/types" "^7.7.4" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== +"@babel/helper-annotate-as-pure@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" + integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/types" "^7.8.3" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz#5f73f2b28580e224b5b9bd03146a4015d6217f5f" - integrity sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" + integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-explode-assignable-expression" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-builder-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== +"@babel/helper-builder-react-jsx@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz#dee98d7d79cc1f003d80b76fe01c7f8945665ff6" + integrity sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ== dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.8.3" esutils "^2.0.0" -"@babel/helper-builder-react-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.7.4.tgz#da188d247508b65375b2c30cf59de187be6b0c66" - integrity sha512-kvbfHJNN9dg4rkEM4xn1s8d1/h6TYNvajy9L1wx4qLn9HFg0IkTsQi4rfBe92nxrPUFcMsHoMV+8rU7MJb3fCA== +"@babel/helper-call-delegate@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz#de82619898aa605d409c42be6ffb8d7204579692" + integrity sha512-6Q05px0Eb+N4/GTyKPPvnkig7Lylw+QzihMpws9iiZQv7ZImf84ZsZpQH7QoWN4n4tm81SnSzPgHw2qtO0Zf3A== dependencies: - "@babel/types" "^7.7.4" - esutils "^2.0.0" + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-call-delegate@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" - integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== +"@babel/helper-compilation-targets@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz#03d7ecd454b7ebe19a254f76617e61770aed2c88" + integrity sha512-3k3BsKMvPp5bjxgMdrFyq0UaEO48HciVrOVF0+lon8pp95cyJ2ujAh0TrBHNMnJGT2rr0iKOJPFFbSqjDyf/Pg== dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/helper-call-delegate@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz#621b83e596722b50c0066f9dc37d3232e461b801" - integrity sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA== - dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/compat-data" "^7.8.4" + browserslist "^4.8.5" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.7.4.tgz#fce60939fd50618610942320a8d951b3b639da2d" - integrity sha512-l+OnKACG4uiDHQ/aJT8dwpR+LhCJALxL0mJ6nzjB25e5IPwqV1VOsY7ah6UB1DG+VOXAIMtuC54rFJGiHkxjgA== +"@babel/helper-create-class-features-plugin@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz#5b94be88c255f140fd2c10dd151e7f98f4bff397" + integrity sha512-qmp4pD7zeTxsv0JNecSBsEmG1ei2MqwJq4YQcK3ZWm/0t07QstWfvuV/vm3Qt5xNMFETn2SZqpMx2MQzbtq+KA== dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" -"@babel/helper-create-regexp-features-plugin@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz#6d5762359fd34f4da1500e4cff9955b5299aaf59" - integrity sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A== +"@babel/helper-create-regexp-features-plugin@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz#c774268c95ec07ee92476a3862b75cc2839beb79" + integrity sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q== dependencies: - "@babel/helper-regex" "^7.4.4" + "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" -"@babel/helper-define-map@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" - integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== +"@babel/helper-define-map@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" + integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.5.5" + "@babel/helper-function-name" "^7.8.3" + "@babel/types" "^7.8.3" lodash "^4.17.13" -"@babel/helper-define-map@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz#2841bf92eb8bd9c906851546fe6b9d45e162f176" - integrity sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg== - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/types" "^7.7.4" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== - dependencies: - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-explode-assignable-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz#fa700878e008d85dc51ba43e9fb835cddfe05c84" - integrity sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg== +"@babel/helper-explode-assignable-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" + integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== dependencies: - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== +"@babel/helper-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" + integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-function-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz#ab6e041e7135d436d8f0a3eca15de5b67a341a2e" - integrity sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ== +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== dependencies: - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== +"@babel/helper-hoist-variables@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" + integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz#cb46348d2f8808e632f0ab048172130e636005f0" - integrity sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA== - dependencies: - "@babel/types" "^7.7.4" - -"@babel/helper-hoist-variables@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" - integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-hoist-variables@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" - integrity sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ== - dependencies: - "@babel/types" "^7.7.4" - -"@babel/helper-member-expression-to-functions@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" - integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== - dependencies: - "@babel/types" "^7.5.5" - -"@babel/helper-member-expression-to-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz#356438e2569df7321a8326644d4b790d2122cb74" - integrity sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw== - dependencies: - "@babel/types" "^7.7.4" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.8.3" -"@babel/helper-module-imports@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz#e5a92529f8888bf319a6376abfbd1cebc491ad91" - integrity sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ== +"@babel/helper-member-expression-to-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" + integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" - integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" + integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/template" "^7.4.4" - "@babel/types" "^7.5.5" - lodash "^4.17.13" + "@babel/types" "^7.8.3" -"@babel/helper-module-transforms@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz#8d7cdb1e1f8ea3d8c38b067345924ac4f8e0879a" - integrity sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA== +"@babel/helper-module-transforms@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz#d305e35d02bee720fbc2c3c3623aa0c316c01590" + integrity sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q== dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-simple-access" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" lodash "^4.17.13" -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-optimise-call-expression@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz#034af31370d2995242aa4df402c3b7794b2dcdf2" - integrity sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg== +"@babel/helper-optimise-call-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" + integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== dependencies: - "@babel/types" "^7.7.4" + "@babel/types" "^7.8.3" -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" + integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== +"@babel/helper-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" + integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ== dependencies: lodash "^4.17.13" -"@babel/helper-remap-async-to-generator@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-remap-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz#c68c2407350d9af0e061ed6726afb4fff16d0234" - integrity sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-wrap-function" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helper-replace-supers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" - integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helper-replace-supers@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz#3c881a6a6a7571275a72d82e6107126ec9e2cdd2" - integrity sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helper-simple-access@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== - dependencies: - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-simple-access@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz#a169a0adb1b5f418cfc19f22586b2ebf58a9a294" - integrity sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A== - dependencies: - "@babel/template" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-split-export-declaration@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz#57292af60443c4a3622cf74040ddc28e68336fd8" - integrity sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug== - dependencies: - "@babel/types" "^7.7.4" - -"@babel/helper-wrap-function@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.2.0" - -"@babel/helper-wrap-function@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" - integrity sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg== - dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helpers@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.4.tgz#62c215b9e6c712dadc15a9a0dcab76c92a940302" - integrity sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg== - dependencies: - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== +"@babel/helper-remap-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" + integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-wrap-function" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-replace-supers@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz#91192d25f6abbcd41da8a989d4492574fb1530bc" + integrity sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-simple-access@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" + integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== + dependencies: + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-wrap-function@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" + integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helpers@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.4.tgz#754eb3ee727c165e0a240d6c207de7c455f36f73" + integrity sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.4" + "@babel/types" "^7.8.3" + +"@babel/highlight@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" + integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== - -"@babel/parser@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.4.tgz#75ab2d7110c2cf2fa949959afb05fa346d2231bb" - integrity sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g== - -"@babel/plugin-proposal-async-generator-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" - integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - -"@babel/plugin-proposal-async-generator-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" - integrity sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" - -"@babel/plugin-proposal-class-properties@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz#2f964f0cb18b948450362742e33e15211e77c2ba" - integrity sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-decorators@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.7.4.tgz#58c1e21d21ea12f9f5f0a757e46e687b94a7ab2b" - integrity sha512-GftcVDcLCwVdzKmwOBDjATd548+IE+mBo7ttgatqNDR7VG7GqIuZPtRWlMLHbhTXhcnFZiGER8iIYl1n/imtsg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-decorators" "^7.7.4" - -"@babel/plugin-proposal-dynamic-import@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" - integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - -"@babel/plugin-proposal-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz#dde64a7f127691758cbfed6cf70de0fa5879d52d" - integrity sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - -"@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - -"@babel/plugin-proposal-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz#7700a6bfda771d8dc81973249eac416c6b4c697d" - integrity sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.7.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.7.4.tgz#7db302c83bc30caa89e38fee935635ef6bd11c28" - integrity sha512-TbYHmr1Gl1UC7Vo2HVuj/Naci5BEGNZ0AJhzqD2Vpr6QPFWpUmBRLrIDjedzx7/CShq0bRDS2gI4FIs77VHLVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.7.4" - -"@babel/plugin-proposal-numeric-separator@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.7.4.tgz#7819a17445f4197bb9575e5750ed349776da858a" - integrity sha512-CG605v7lLpVgVldSY6kxsN9ui1DxFOyepBfuX2AzU2TNriMAYApoU55mrGw9Jr4TlrTzPCG10CL8YXyi+E/iPw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-numeric-separator" "^7.7.4" - -"@babel/plugin-proposal-object-rest-spread@7.7.4", "@babel/plugin-proposal-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz#cc57849894a5c774214178c8ab64f6334ec8af71" - integrity sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.8.3", "@babel/parser@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" + integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw== -"@babel/plugin-proposal-object-rest-spread@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" - integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== +"@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" + integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== +"@babel/plugin-proposal-class-properties@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-proposal-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz#ec21e8aeb09ec6711bc0a39ca49520abee1de379" - integrity sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w== +"@babel/plugin-proposal-decorators@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" + integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.7.4.tgz#3f04c2de1a942cbd3008324df8144b9cbc0ca0ba" - integrity sha512-JmgaS+ygAWDR/STPe3/7y0lNlHgS+19qZ9aC06nYLwQ/XB7c0q5Xs+ksFU3EDnp9EiEsO0dnRAOKeyLHTZuW3A== +"@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" + integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-chaining" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" - integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== +"@babel/plugin-proposal-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" + integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-unicode-property-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz#7c239ccaf09470dbe1d453d50057460e84517ebb" - integrity sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-syntax-async-generators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== +"@babel/plugin-proposal-numeric-separator@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" -"@babel/plugin-syntax-async-generators@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz#331aaf310a10c80c44a66b238b6e49132bd3c889" - integrity sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g== +"@babel/plugin-proposal-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb" + integrity sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" -"@babel/plugin-syntax-decorators@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.7.4.tgz#3c91cfee2a111663ff3ac21b851140f5a52a4e0b" - integrity sha512-0oNLWNH4k5ZbBVfAwiTU53rKFWIeTh6ZlaWOXWJc4ywxs0tjz5fc3uZ6jKAnZSxN98eXVgg7bJIuzjX+3SXY+A== +"@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" + integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@7.7.4", "@babel/plugin-syntax-dynamic-import@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz#29ca3b4415abfe4a5ec381e903862ad1a54c3aec" - integrity sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg== +"@babel/plugin-proposal-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543" + integrity sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== +"@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" + integrity sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.4.tgz#6d91b59e1a0e4c17f36af2e10dd64ef220919d7b" - integrity sha512-2AMAWl5PsmM5KPkB22cvOkUyWk6MjUaqhHNU5nSPUl/ns3j5qLfw2SuYP5RbVZ0tfLvePr4zUScbICtDP2CUNw== +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== +"@babel/plugin-syntax-decorators@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda" + integrity sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-json-strings@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz#86e63f7d2e22f9e27129ac4e83ea989a382e86cc" - integrity sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg== +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== +"@babel/plugin-syntax-flow@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz#f2c883bd61a6316f2c89380ae5122f923ba4527f" + integrity sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.7.4.tgz#dab2b56a36fb6c3c222a1fbc71f7bf97f327a9ec" - integrity sha512-wuy6fiMe9y7HeZBWXYCGt2RGxZOj0BImZ9EyXJVnVGBKO/Br592rbR3rtIQn0eQhAk9vqaKP5n8tVqEFBQMfLg== +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.7.4.tgz#e53b751d0c3061b1ba3089242524b65a7a9da12b" - integrity sha512-XKh/yIRPiQTOeBg0QJjEus5qiSKucKAiApNtO1psqG7D17xmE+X2i5ZqBEuSvo0HRuyPaKaSN/Gy+Ha9KFQolw== +"@babel/plugin-syntax-jsx@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz#521b06c83c40480f1e58b4fd33b92eceb1d6ea94" + integrity sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-numeric-separator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.7.4.tgz#39818f8042a09d4c6248d85d82555369da4da5c4" - integrity sha512-vmlUUBlLuFnbpaR+1kKIdo62xQEN+THWbtAHSEilo+0rHl2dKKCn6GLUVKpI848wL/T0ZPQgAy8asRJ9yYEjog== +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" + integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-object-rest-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz#47cf220d19d6d0d7b154304701f468fc1cc6ff46" - integrity sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg== +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz#a3e38f59f4b6233867b4a92dcb0ee05b2c334aa6" - integrity sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ== +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.7.4.tgz#c91fdde6de85d2eb8906daea7b21944c3610c901" - integrity sha512-2MqYD5WjZSbJdUagnJvIdSfkb/ucOC9/1fRJxm7GAxY6YQLWlUvkfxoNbUPcPLHJyetKUDQ4+yyuUyAoc0HriA== +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" + integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-top-level-await@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.7.4.tgz#bd7d8fa7b9fee793a36e4027fd6dd1aa32f946da" - integrity sha512-wdsOw0MvkL1UIgiQ/IFr3ETcfv1xb8RMM0H9wbiDyLaJFyiDg5oZvDLCXosIXmFeIlweML5iOBXAkqddkYNizg== +"@babel/plugin-syntax-typescript@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz#c1f659dda97711a569cef75275f7e15dcaa6cabc" + integrity sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-typescript@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.7.4.tgz#5d037ffa10f3b25a16f32570ebbe7a8c2efa304b" - integrity sha512-77blgY18Hud4NM1ggTA8xVT/dBENQf17OpiToSa2jSmEY3fWXD2jwrdVlO4kq5yzUTeF15WSQ6b4fByNvJcjpQ== +"@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" + integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== +"@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" + integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" -"@babel/plugin-transform-arrow-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz#76309bd578addd8aee3b379d809c802305a98a12" - integrity sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA== +"@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" + integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-async-to-generator@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" - integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== +"@babel/plugin-transform-block-scoping@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" + integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - -"@babel/plugin-transform-async-to-generator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz#694cbeae6d613a34ef0292713fa42fb45c4470ba" - integrity sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg== - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.7.4" - -"@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-block-scoped-functions@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz#d0d9d5c269c78eaea76227ace214b8d01e4d837b" - integrity sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-block-scoping@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" - integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - -"@babel/plugin-transform-block-scoping@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz#200aad0dcd6bb80372f94d9e628ea062c58bf224" - integrity sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" -"@babel/plugin-transform-classes@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" - integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz#c92c14be0a1399e15df72667067a8f510c9400ec" - integrity sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-define-map" "^7.7.4" - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-optimise-call-expression" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" +"@babel/plugin-transform-classes@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz#46fd7a9d2bb9ea89ce88720477979fe0d71b21b8" + integrity sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-computed-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz#e856c1628d3238ffe12d668eb42559f79a81910d" - integrity sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@7.7.4", "@babel/plugin-transform-destructuring@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz#2b713729e5054a1135097b6a67da1b6fe8789267" - integrity sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== +"@babel/plugin-transform-computed-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" + integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" - integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" - -"@babel/plugin-transform-dotall-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz#f7ccda61118c5b7a2599a72d5e3210884a021e96" - integrity sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-duplicate-keys@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" - integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-duplicate-keys@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz#3d21731a42e3f598a73835299dd0169c3b90ac91" - integrity sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz#dd30c0191e3a1ba19bcc7e389bdfddc0729d5db9" - integrity sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ== +"@babel/plugin-transform-destructuring@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz#20ddfbd9e4676906b1056ee60af88590cc7aaa0b" + integrity sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-flow-strip-types@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.7.4.tgz#cc73f85944782df1d77d80977bc097920a8bf31a" - integrity sha512-w9dRNlHY5ElNimyMYy0oQowvQpwt/PRHI0QS98ZJCTZU2bvSnKXo5zEiD5u76FBPigTm8TkqzmnUTg16T7qbkA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-for-of@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" - integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== +"@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-for-of@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz#248800e3a5e507b1f103d8b4ca998e77c63932bc" - integrity sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA== +"@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" + integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-function-name@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" - integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== +"@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" + integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-function-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz#75a6d3303d50db638ff8b5385d12451c865025b1" - integrity sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g== +"@babel/plugin-transform-flow-strip-types@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.8.3.tgz#da705a655466b2a9b36046b57bf0cbcd53551bd4" + integrity sha512-g/6WTWG/xbdd2exBBzMfygjX/zw4eyNC4X8pRaq7aRHRoDUCzAIu3kGYIXviOv8BjCuWm8vDBwjHcjiRNgXrPA== dependencies: - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" -"@babel/plugin-transform-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== +"@babel/plugin-transform-for-of@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz#6fe8eae5d6875086ee185dd0b098a8513783b47d" + integrity sha512-iAXNlOWvcYUYoV8YIxwS7TxGRJcxyl8eQCfT+A5j8sKUzRFvJdcyjp97jL2IghWSRDaL2PU2O2tX8Cu9dTBq5A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz#27fe87d2b5017a2a5a34d1c41a6b9f6a6262643e" - integrity sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw== +"@babel/plugin-transform-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" + integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" - integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== +"@babel/plugin-transform-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" + integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-member-expression-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz#aee127f2f3339fc34ce5e3055d7ffbf7aa26f19a" - integrity sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA== +"@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" + integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-modules-amd@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" - integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== +"@babel/plugin-transform-modules-amd@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz#65606d44616b50225e76f5578f33c568a0b876a5" + integrity sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ== dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-amd@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz#276b3845ca2b228f2995e453adc2e6f54d72fb71" - integrity sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ== +"@babel/plugin-transform-modules-commonjs@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5" + integrity sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg== dependencies: - "@babel/helper-module-transforms" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" - integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== +"@babel/plugin-transform-modules-systemjs@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz#d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420" + integrity sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg== dependencies: - "@babel/helper-module-transforms" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" -"@babel/plugin-transform-modules-commonjs@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz#bee4386e550446343dd52a571eda47851ff857a3" - integrity sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA== +"@babel/plugin-transform-modules-umd@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz#592d578ce06c52f5b98b02f913d653ffe972661a" + integrity sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw== dependencies: - "@babel/helper-module-transforms" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.7.4" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-systemjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" - integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== - dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-systemjs@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz#cd98152339d3e763dfe838b7d4273edaf520bb30" - integrity sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw== - dependencies: - "@babel/helper-hoist-variables" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-umd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-modules-umd@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz#1027c355a118de0aae9fee00ad7813c584d9061f" - integrity sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== dependencies: - "@babel/helper-module-transforms" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-create-regexp-features-plugin" "^7.8.3" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" - integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== +"@babel/plugin-transform-new-target@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" + integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== dependencies: - regexp-tree "^0.1.6" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-named-capturing-groups-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz#fb3bcc4ee4198e7385805007373d6b6f42c98220" - integrity sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw== +"@babel/plugin-transform-object-super@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" + integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" -"@babel/plugin-transform-new-target@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" - integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== +"@babel/plugin-transform-parameters@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz#1d5155de0b65db0ccf9971165745d3bb990d77d3" + integrity sha512-IsS3oTxeTsZlE5KqzTbcC2sV0P9pXdec53SU+Yxv7o/6dvGM5AkTotQKhoSffhNgZ/dftsSiOoxy7evCYJXzVA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-call-delegate" "^7.8.3" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-new-target@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz#4a0753d2d60639437be07b592a9e58ee00720167" - integrity sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg== +"@babel/plugin-transform-property-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" + integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-object-super@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" - integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - -"@babel/plugin-transform-object-super@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz#48488937a2d586c0148451bf51af9d7dda567262" - integrity sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.7.4" - -"@babel/plugin-transform-parameters@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" - integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== - dependencies: - "@babel/helper-call-delegate" "^7.4.4" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-parameters@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz#da4555c97f39b51ac089d31c7380f03bca4075ce" - integrity sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw== - dependencies: - "@babel/helper-call-delegate" "^7.7.4" - "@babel/helper-get-function-arity" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-property-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" - integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-property-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz#2388d6505ef89b266103f450f9167e6bd73f98c2" - integrity sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.5.0.tgz#4d6ae4033bc38f8a65dfca2b6235c44522a422fc" - integrity sha512-c5Ba8cpybZFp1Izkf2sWGuNjOxoQ32tFgBvvYvwGhi4+9f6vGiSK9Gex4uVuO/Va6YJFu41aAh1MzMjUWkp0IQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-display-name@7.7.4", "@babel/plugin-transform-react-display-name@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.7.4.tgz#9f2b80b14ebc97eef4a9b29b612c58ed9c0d10dd" - integrity sha512-sBbIvqYkthai0X0vkD2xsAwluBp+LtNHH+/V4a5ydifmTtb8KOVOlrMIk/MYmIc4uTYDnjZUHQildYNo36SRJw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-display-name@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" - integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx-self@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.7.4.tgz#81b8fbfd14b2215e8f1c2c3adfba266127b0231c" - integrity sha512-PWYjSfqrO273mc1pKCRTIJXyqfc9vWYBax88yIhQb+bpw3XChVC7VWS4VwRVs63wFHKxizvGSd00XEr+YB9Q2A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" - -"@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" - integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.8.3.tgz#784c25294bddaad2323eb4ff0c9f4a3f6c87d6bc" + integrity sha512-glrzN2U+egwRfkNFtL34xIBYTxbbUF2qJTP8HD3qETBBqzAWSeNB821X0GjU06+dNpq/UyCIjI72FmGE5NNkQQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-react-jsx-source@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.7.4.tgz#8994b1bf6014b133f5a46d3b7d1ee5f5e3e72c10" - integrity sha512-5ZU9FnPhqtHsOXxutRtXZAzoEJwDaP32QcobbMP1/qt7NYcsCNK8XgzJcJfoEr/ZnzVvUNInNjIW22Z6I8p9mg== +"@babel/plugin-transform-react-display-name@7.8.3", "@babel/plugin-transform-react-display-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" + integrity sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-react-jsx@^7.0.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== +"@babel/plugin-transform-react-jsx-self@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz#c4f178b2aa588ecfa8d077ea80d4194ee77ed702" + integrity sha512-01OT7s5oa0XTLf2I8XGsL8+KqV9lx3EZV+jxn/L2LQ97CGKila2YMroTkCEIE0HV/FF7CMSRsIAybopdN9NTdg== dependencies: - "@babel/helper-builder-react-jsx" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-react-jsx@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.7.4.tgz#d91205717fae4e2f84d020cd3057ec02a10f11da" - integrity sha512-LixU4BS95ZTEAZdPaIuyg/k8FiiqN9laQ0dMHB4MlpydHY53uQdWCUrwjLr5o6ilS6fAgZey4Q14XBjl5tL6xw== +"@babel/plugin-transform-react-jsx-source@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz#951e75a8af47f9f120db731be095d2b2c34920e0" + integrity sha512-PLMgdMGuVDtRS/SzjNEQYUT8f4z1xb2BAT54vM1X5efkVuYBf5WyGUMbpmARcfq3NaglIwz08UVQK4HHHbC6ag== dependencies: - "@babel/helper-builder-react-jsx" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.7.4" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" - integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== +"@babel/plugin-transform-react-jsx@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz#4220349c0390fdefa505365f68c103562ab2fc4a" + integrity sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g== dependencies: - regenerator-transform "^0.14.0" + "@babel/helper-builder-react-jsx" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz#d18eac0312a70152d7d914cbed2dc3999601cfc0" - integrity sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw== +"@babel/plugin-transform-regenerator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz#b31031e8059c07495bf23614c97f3d9698bc6ec8" + integrity sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA== dependencies: regenerator-transform "^0.14.0" -"@babel/plugin-transform-reserved-words@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" - integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-reserved-words@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz#6a7cf123ad175bb5c69aec8f6f0770387ed3f1eb" - integrity sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ== +"@babel/plugin-transform-reserved-words@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" + integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-runtime@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.4.tgz#51fe458c1c1fa98a8b07934f4ed38b6cd62177a6" - integrity sha512-O8kSkS5fP74Ad/8pfsCMGa8sBRdLxYoSReaARRNSz3FbFQj3z/QUvoUmJ28gn9BO93YfnXc3j+Xyaqe8cKDNBQ== +"@babel/plugin-transform-runtime@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz#c0153bc0a5375ebc1f1591cb7eea223adea9f169" + integrity sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ== dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-shorthand-properties@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz#74a0a9b2f6d67a684c6fbfd5f0458eb7ba99891e" - integrity sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-spread@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-spread@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz#aa673b356fe6b7e70d69b6e33a17fef641008578" - integrity sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - -"@babel/plugin-transform-sticky-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz#ffb68c05090c30732076b1285dc1401b404a123c" - integrity sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - -"@babel/plugin-transform-template-literals@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" - integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-template-literals@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz#1eb6411736dd3fe87dbd20cc6668e5121c17d604" - integrity sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typeof-symbol@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz#3174626214f2d6de322882e498a38e8371b2140e" - integrity sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typescript@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.7.4.tgz#2974fd05f4e85c695acaf497f432342de9fc0636" - integrity sha512-X8e3tcPEKnwwPVG+vP/vSqEShkwODOEeyQGod82qrIuidwIrfnsGn11qPM1jBLF4MqguTXXYzm58d0dY+/wdpg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.7.4" - -"@babel/plugin-transform-unicode-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" - integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" - -"@babel/plugin-transform-unicode-regex@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz#a3c0f65b117c4c81c5b6484f2a5e7b95346b83ae" - integrity sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/preset-env@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.7.4.tgz#ccaf309ae8d1ee2409c85a4e2b5e280ceee830f8" - integrity sha512-Dg+ciGJjwvC1NIe/DGblMbcGq1HOtKbw8RLl4nIjlfcILKEOkWT/vRqPpumswABEBVudii6dnVwrBtzD7ibm4g== - dependencies: - "@babel/helper-module-imports" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.7.4" - "@babel/plugin-proposal-dynamic-import" "^7.7.4" - "@babel/plugin-proposal-json-strings" "^7.7.4" - "@babel/plugin-proposal-object-rest-spread" "^7.7.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.7.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.7.4" - "@babel/plugin-syntax-async-generators" "^7.7.4" - "@babel/plugin-syntax-dynamic-import" "^7.7.4" - "@babel/plugin-syntax-json-strings" "^7.7.4" - "@babel/plugin-syntax-object-rest-spread" "^7.7.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.7.4" - "@babel/plugin-syntax-top-level-await" "^7.7.4" - "@babel/plugin-transform-arrow-functions" "^7.7.4" - "@babel/plugin-transform-async-to-generator" "^7.7.4" - "@babel/plugin-transform-block-scoped-functions" "^7.7.4" - "@babel/plugin-transform-block-scoping" "^7.7.4" - "@babel/plugin-transform-classes" "^7.7.4" - "@babel/plugin-transform-computed-properties" "^7.7.4" - "@babel/plugin-transform-destructuring" "^7.7.4" - "@babel/plugin-transform-dotall-regex" "^7.7.4" - "@babel/plugin-transform-duplicate-keys" "^7.7.4" - "@babel/plugin-transform-exponentiation-operator" "^7.7.4" - "@babel/plugin-transform-for-of" "^7.7.4" - "@babel/plugin-transform-function-name" "^7.7.4" - "@babel/plugin-transform-literals" "^7.7.4" - "@babel/plugin-transform-member-expression-literals" "^7.7.4" - "@babel/plugin-transform-modules-amd" "^7.7.4" - "@babel/plugin-transform-modules-commonjs" "^7.7.4" - "@babel/plugin-transform-modules-systemjs" "^7.7.4" - "@babel/plugin-transform-modules-umd" "^7.7.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.7.4" - "@babel/plugin-transform-new-target" "^7.7.4" - "@babel/plugin-transform-object-super" "^7.7.4" - "@babel/plugin-transform-parameters" "^7.7.4" - "@babel/plugin-transform-property-literals" "^7.7.4" - "@babel/plugin-transform-regenerator" "^7.7.4" - "@babel/plugin-transform-reserved-words" "^7.7.4" - "@babel/plugin-transform-shorthand-properties" "^7.7.4" - "@babel/plugin-transform-spread" "^7.7.4" - "@babel/plugin-transform-sticky-regex" "^7.7.4" - "@babel/plugin-transform-template-literals" "^7.7.4" - "@babel/plugin-transform-typeof-symbol" "^7.7.4" - "@babel/plugin-transform-unicode-regex" "^7.7.4" - "@babel/types" "^7.7.4" - browserslist "^4.6.0" - core-js-compat "^3.1.1" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-env@^7.4.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" - integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-dynamic-import" "^7.5.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.5.5" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.5.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.5.5" - "@babel/plugin-transform-classes" "^7.5.5" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.5.0" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/plugin-transform-duplicate-keys" "^7.5.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.4" - "@babel/plugin-transform-function-name" "^7.4.4" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.5.0" - "@babel/plugin-transform-modules-systemjs" "^7.5.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" - "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.5.5" - "@babel/plugin-transform-parameters" "^7.4.4" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.5" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.4.4" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.5.5" - browserslist "^4.6.0" - core-js-compat "^3.1.1" +"@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" + integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" + integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" + integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + +"@babel/plugin-transform-template-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" + integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz#ede4062315ce0aaf8a657a920858f1a2f35fc412" + integrity sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-typescript@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.8.3.tgz#be6f01a7ef423be68e65ace1f04fc407e6d88917" + integrity sha512-Ebj230AxcrKGZPKIp4g4TdQLrqX95TobLUWKd/CwG7X1XHUH1ZpkpFvXuXqWbtGRWb7uuEWNlrl681wsOArAdQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-typescript" "^7.8.3" + +"@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" + integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/preset-env@7.8.4", "@babel/preset-env@^7.4.5": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.4.tgz#9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e" + integrity sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w== + dependencies: + "@babel/compat-data" "^7.8.4" + "@babel/helper-compilation-targets" "^7.8.4" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.8.3" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.8.4" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.8.3" + "@babel/plugin-transform-modules-commonjs" "^7.8.3" + "@babel/plugin-transform-modules-systemjs" "^7.8.3" + "@babel/plugin-transform-modules-umd" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.4" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.3" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/types" "^7.8.3" + browserslist "^4.8.5" + core-js-compat "^3.6.2" invariant "^2.2.2" - js-levenshtein "^1.1.3" + levenary "^1.1.1" semver "^5.5.0" -"@babel/preset-react@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.7.4.tgz#3fe2ea698d8fb536d8e7881a592c3c1ee8bf5707" - integrity sha512-j+vZtg0/8pQr1H8wKoaJyGL2IEk3rG/GIvua7Sec7meXVIvGycihlGMx5xcU00kqCJbwzHs18xTu3YfREOqQ+g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.7.4" - "@babel/plugin-transform-react-jsx" "^7.7.4" - "@babel/plugin-transform-react-jsx-self" "^7.7.4" - "@babel/plugin-transform-react-jsx-source" "^7.7.4" - -"@babel/preset-react@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" - integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - -"@babel/preset-typescript@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.7.4.tgz#780059a78e6fa7f7a4c87f027292a86b31ce080a" - integrity sha512-rqrjxfdiHPsnuPur0jKrIIGQCIgoTWMTjlbWE69G4QJ6TIOVnnRnIJhUxNTL/VwDmEAVX08Tq3B1nirer5341w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.7.4" - -"@babel/runtime@7.7.4", "@babel/runtime@^7.7.2": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.4.tgz#b23a856751e4bf099262f867767889c0e3fe175b" - integrity sha512-r24eVUUr0QqNZa+qrImUk8fn5SPhHq+IfYvIoIMg0do3GdK9sMdiLKP3GYVVaxpPKORgm8KRKaNTEhAjgIpLMw== +"@babel/preset-react@7.8.3", "@babel/preset-react@^7.0.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.8.3.tgz#23dc63f1b5b0751283e04252e78cf1d6589273d2" + integrity sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ== dependencies: - regenerator-runtime "^0.13.2" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx-self" "^7.8.3" + "@babel/plugin-transform-react-jsx-source" "^7.8.3" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.3", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" - integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== +"@babel/preset-typescript@7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.8.3.tgz#90af8690121beecd9a75d0cc26c6be39d1595d13" + integrity sha512-qee5LgPGui9zQ0jR1TeU5/fP9L+ovoArklEqY12ek8P/wV5ZeM/VYSQYwICeoT6FfpJTekG9Ilay5PhwsOpMHA== dependencies: - regenerator-runtime "^0.13.2" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.8.3" -"@babel/runtime@^7.5.5": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.2.tgz#c3d6e41b304ef10dcf13777a33e7694ec4a9a6dd" - integrity sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg== +"@babel/runtime-corejs3@^7.7.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.8.4.tgz#ccc4e042e2fae419c67fa709567e5d2179ed3940" + integrity sha512-+wpLqy5+fbQhvbllvlJEVRIpYj+COUWnnsm+I4jZlA8Lo7/MJmBhGTCHyk1/RWfOqBRJ2MbadddG6QltTKTlrg== dependencies: + core-js-pure "^3.0.0" regenerator-runtime "^0.13.2" -"@babel/runtime@^7.6.3": - version "7.7.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.2.tgz#111a78002a5c25fc8e3361bedc9529c696b85a6a" - integrity sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw== +"@babel/runtime@7.8.4", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" + integrity sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ== dependencies: regenerator-runtime "^0.13.2" -"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/template@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b" - integrity sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.4" - "@babel/types" "^7.7.4" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" +"@babel/template@^7.4.0", "@babel/template@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" + integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.8.3", "@babel/traverse@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.4.tgz#f0845822365f9d5b0e312ed3959d3f827f869e3c" + integrity sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.4" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.8.4" + "@babel/types" "^7.8.3" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/traverse@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.4.tgz#9c1e7c60fb679fe4fcfaa42500833333c2058558" - integrity sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.7.4" - "@babel/helper-function-name" "^7.7.4" - "@babel/helper-split-export-declaration" "^7.7.4" - "@babel/parser" "^7.7.4" - "@babel/types" "^7.7.4" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.4.tgz#516570d539e44ddf308c07569c258ff94fde9193" - integrity sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA== +"@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" + integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== dependencies: esutils "^2.0.2" lodash "^4.17.13" to-fast-properties "^2.0.0" -"@base2/pretty-print-object@^1.0.0": +"@base2/pretty-print-object@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" integrity sha512-4Th98KlMHr5+JkxfcoDT//6vY8vM+iSPrLNpHhRyLx2CFYi8e2RfqPLdpbnpo0Q5lQC5hNB79yes07zb02fvCw== @@ -1563,170 +912,156 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== -"@emotion/cache@^10.0.15", "@emotion/cache@^10.0.9": - version "10.0.15" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.15.tgz#b81767b48015aae2689c60373992145c67b8de02" - integrity sha512-8VthgeKhlGeTXSW1JN7I14AnAaiFPbOrqNqg3dPoGCZ3bnMjkrmRU0zrx0BtBw9esBaPaQgDB9y0tVgAGT2Mrg== +"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9": + version "10.0.27" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.27.tgz#7895db204e2c1a991ae33d51262a3a44f6737303" + integrity sha512-Zp8BEpbMunFsTcqAK4D7YTm3MvCp1SekflSLJH8lze2fCcSZ/yMkXHo8kb3t1/1Tdd3hAqf3Fb7z9VZ+FMiC9w== dependencies: - "@emotion/sheet" "0.9.3" - "@emotion/stylis" "0.8.4" - "@emotion/utils" "0.11.2" - "@emotion/weak-memoize" "0.2.3" + "@emotion/sheet" "0.9.4" + "@emotion/stylis" "0.8.5" + "@emotion/utils" "0.11.3" + "@emotion/weak-memoize" "0.2.5" "@emotion/core@^10.0.9": - version "10.0.15" - resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.15.tgz#b8489d85d64b45bd03abdb8a3d9639ba8a0328d0" - integrity sha512-VHwwl3k/ddMfQOHYgOJryXOs2rGJ5AfKLQGm5AVolNonnr6tkmDI4nzIMNaPpveoXVs7sP0OrF24UunIPxveQw== - dependencies: - "@babel/runtime" "^7.4.3" - "@emotion/cache" "^10.0.15" - "@emotion/css" "^10.0.14" - "@emotion/serialize" "^0.11.9" - "@emotion/sheet" "0.9.3" - "@emotion/utils" "0.11.2" - -"@emotion/css@^10.0.14", "@emotion/css@^10.0.9": - version "10.0.14" - resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.14.tgz#95dacabdd0e22845d1a1b0b5968d9afa34011139" - integrity sha512-MozgPkBEWvorcdpqHZE5x1D/PLEHUitALQCQYt2wayf4UNhpgQs2tN0UwHYS4FMy5ROBH+0ALyCFVYJ/ywmwlg== - dependencies: - "@emotion/serialize" "^0.11.8" - "@emotion/utils" "0.11.2" - babel-plugin-emotion "^10.0.14" - -"@emotion/hash@0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.2.tgz#53211e564604beb9befa7a4400ebf8147473eeef" - integrity sha512-RMtr1i6E8MXaBWwhXL3yeOU8JXRnz8GNxHvaUfVvwxokvayUY0zoBeWbKw1S9XkufmGEEdQd228pSZXFkAln8Q== - -"@emotion/memoize@0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.2.tgz#7f4c71b7654068dfcccad29553520f984cc66b30" - integrity sha512-hnHhwQzvPCW1QjBWFyBtsETdllOM92BfrKWbUTmh9aeOlcVOiXvlPsK4104xH8NsaKfg86PTFsWkueQeUfMA/w== - -"@emotion/serialize@^0.11.8", "@emotion/serialize@^0.11.9": - version "0.11.9" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.9.tgz#123e0f51d2dee9693fae1057bd7fc27b021d6868" - integrity sha512-/Cn4V81z3ZyFiDQRw8nhGFaHkxHtmCSSBUit4vgTuLA1BqxfJUYiqSq97tq/vV8z9LfIoqs6a9v6QrUFWZpK7A== - dependencies: - "@emotion/hash" "0.7.2" - "@emotion/memoize" "0.7.2" - "@emotion/unitless" "0.7.4" - "@emotion/utils" "0.11.2" + version "10.0.27" + resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.27.tgz#7c3f78be681ab2273f3bf11ca3e2edc4a9dd1fdc" + integrity sha512-XbD5R36pVbohQMnKfajHv43g8EbN4NHdF6Zh9zg/C0nr0jqwOw3gYnC07Xj3yG43OYSRyrGsoQ5qPwc8ycvLZw== + dependencies: + "@babel/runtime" "^7.5.5" + "@emotion/cache" "^10.0.27" + "@emotion/css" "^10.0.27" + "@emotion/serialize" "^0.11.15" + "@emotion/sheet" "0.9.4" + "@emotion/utils" "0.11.3" + +"@emotion/css@^10.0.27", "@emotion/css@^10.0.9": + version "10.0.27" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c" + integrity sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw== + dependencies: + "@emotion/serialize" "^0.11.15" + "@emotion/utils" "0.11.3" + babel-plugin-emotion "^10.0.27" + +"@emotion/hash@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.4.tgz#f14932887422c9056b15a8d222a9074a7dfa2831" + integrity sha512-fxfMSBMX3tlIbKUdtGKxqB1fyrH6gVrX39Gsv3y8lRYKUqlgDt3UMqQyGnR1bQMa2B8aGnhLZokZgg8vT0Le+A== + +"@emotion/memoize@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== + +"@emotion/serialize@^0.11.15": + version "0.11.15" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.15.tgz#9a0f5873fb458d87d4f23e034413c12ed60a705a" + integrity sha512-YE+qnrmGwyR+XB5j7Bi+0GT1JWsdcjM/d4POu+TXkcnrRs4RFCCsi3d/Ebf+wSStHqAlTT2+dfd+b9N9EO2KBg== + dependencies: + "@emotion/hash" "0.7.4" + "@emotion/memoize" "0.7.4" + "@emotion/unitless" "0.7.5" + "@emotion/utils" "0.11.3" csstype "^2.5.7" -"@emotion/sheet@0.9.3": - version "0.9.3" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.3.tgz#689f135ecf87d3c650ed0c4f5ddcbe579883564a" - integrity sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A== +"@emotion/sheet@0.9.4": + version "0.9.4" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5" + integrity sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA== -"@emotion/stylis@0.8.4": - version "0.8.4" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.4.tgz#6c51afdf1dd0d73666ba09d2eb6c25c220d6fe4c" - integrity sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ== +"@emotion/stylis@0.8.5": + version "0.8.5" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" + integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== -"@emotion/unitless@0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.4.tgz#a87b4b04e5ae14a88d48ebef15015f6b7d1f5677" - integrity sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ== +"@emotion/unitless@0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== -"@emotion/utils@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183" - integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA== +"@emotion/utils@0.11.3": + version "0.11.3" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924" + integrity sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw== -"@emotion/weak-memoize@0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.3.tgz#dfa0c92efe44a1d1a7974fb49ffeb40ef2da5a27" - integrity sha512-zVgvPwGK7c1aVdUVc9Qv7SqepOGRDrqCw7KZPSZziWGxSlbII3gmvGLPzLX4d0n0BMbamBacUrN22zOMyFFEkQ== +"@emotion/weak-memoize@0.2.5": + version "0.2.5" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" + integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@fortawesome/fontawesome-common-types@^0.2.25": - version "0.2.25" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz#6df015905081f2762e5cfddeb7a20d2e9b16c786" - integrity sha512-3RuZPDuuPELd7RXtUqTCfed14fcny9UiPOkdr2i+cYxBoTOfQgxcDoq77fHiiHcgWuo1LoBUpvGxFF1H/y7s3Q== +"@fortawesome/fontawesome-common-types@^0.2.27": + version "0.2.27" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.27.tgz#19706345859fc46adf3684ed01d11b40903b87e9" + integrity sha512-97GaByGaXDGMkzcJX7VmR/jRJd8h1mfhtA7RsxDBN61GnWE/PPCZhOdwG/8OZYktiRUF0CvFOr+VgRkJrt6TWg== "@fortawesome/fontawesome-svg-core@^1.2.25": - version "1.2.25" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz#24b03391d14f0c6171e8cad7057c687b74049790" - integrity sha512-MotKnn53JKqbkLQiwcZSBJVYtTgIKFbh7B8+kd05TSnfKYPFmjKKI59o2fpz5t0Hzl35vVGU6+N4twoOpZUrqA== + version "1.2.27" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.27.tgz#e4db8e3be81a40988213507c3e3d0c158a6641a3" + integrity sha512-sOD3DKynocnHYpuw2sLPnTunDj7rLk91LYhi2axUYwuGe9cPCw7Bsu9EWtVdNJP+IYgTCZIbyARKXuy5K/nv+Q== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.25" + "@fortawesome/fontawesome-common-types" "^0.2.27" "@fortawesome/free-brands-svg-icons@^5.11.2": - version "5.11.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.11.2.tgz#39d4296d03bf5719c579dea4bdcdd356ed2de0b4" - integrity sha512-wKK5znpHiZ2S0VgOvbeAnYuzkk3H86rxWajD9PVpfBj3s/kySEWTFKh/uLPyxiTOx8Tsd0OGN4En/s9XudVHLQ== + version "5.12.1" + resolved "https://registry.yarnpkg.com/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.12.1.tgz#67977addd15e21e57aa1ed71cd2ddecdfaa88647" + integrity sha512-IYUYcgGsQuwiIHjRGfeSTCIQKUSZMb6FsV6mDj78K0D+YzGJkM4cvEBBUMHtnla5D2HCxncMI/9JX5YIk2GHeQ== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.25" + "@fortawesome/fontawesome-common-types" "^0.2.27" "@fortawesome/free-regular-svg-icons@^5.11.2": - version "5.11.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.11.2.tgz#6edfc5c230094be3b9070fef048c01aa321a8428" - integrity sha512-k0vbThRv9AvnXYBWi1gn1rFW4X7co/aFkbm0ZNmAR5PoWb9vY9EDDDobg8Ay4ISaXtCPypvJ0W1FWkSpLQwZ6w== + version "5.12.1" + resolved "https://registry.yarnpkg.com/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.12.1.tgz#4b378d93655acc5e432d5ed7ee127768dd351a99" + integrity sha512-bGda18seHXb+24K6DPUFzqn4kG7B+JViP/BscMcNUXvT00M86xNhdgP2TXSdflQXn53QWqymKjx/8rhaDOJyhA== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.25" + "@fortawesome/fontawesome-common-types" "^0.2.27" "@fortawesome/free-solid-svg-icons@^5.11.2": - version "5.11.2" - resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.11.2.tgz#2f2f1459743a27902b76655a0d0bc5ec4d945631" - integrity sha512-zBue4i0PAZJUXOmLBBvM7L0O7wmsDC8dFv9IhpW5QL4kT9xhhVUsYg/LX1+5KaukWq4/cbDcKT+RT1aRe543sg== + version "5.12.1" + resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.12.1.tgz#76b6f958a3471821ff146f8f955e6d7cfe87147c" + integrity sha512-k3MwRFFUhyL4cuCJSaHDA0YNYMELDXX0h8JKtWYxO5XD3Dn+maXOMrVAAiNGooUyM2v/wz/TOaM0jxYVKeXX7g== dependencies: - "@fortawesome/fontawesome-common-types" "^0.2.25" + "@fortawesome/fontawesome-common-types" "^0.2.27" "@fortawesome/react-fontawesome@^0.1.7": - version "0.1.7" - resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.7.tgz#c004ca75c15c5a1218101e8f042b8da8dec0c4b5" - integrity sha512-AHWSzOsHBe5vqOkrvs+CKw+8eLl+0XZsVixOWhTPpGpOA8WQUbVU6J9cmtAvTaxUU5OIf+rgxxF8ZKc3BVldxg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.8.tgz#cb6d4dd3aeec45b6ff2d48c812317a6627618511" + integrity sha512-I5h9YQg/ePA3Br9ISS18fcwOYmzQYDSM1ftH03/8nHkiqIVHtUyQBw482+60dnzvlr82gHt3mGm+nDUp159FCw== dependencies: prop-types "^15.5.10" "@hapi/address@2.x.x": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.0.0.tgz#9f05469c88cb2fd3dcd624776b54ee95c312126a" - integrity sha512-mV6T0IYqb0xL1UALPFplXYQmR0twnXG0M6jUswpquqT2sD12BOiCiLy3EvMp/Fy7s3DZElC4/aPjEjo2jeZpvw== + version "2.1.4" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== -"@hapi/hoek@6.x.x": - version "6.2.4" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" - integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== -"@hapi/hoek@8.x.x": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.2.1.tgz#924af04cbb22e17359c620d2a9c946e63f58eb77" - integrity sha512-JPiBy+oSmsq3St7XlipfN5pNA6bDJ1kpa73PrK/zR29CVClDVqy04AanM/M/qx5bSF+I61DdCfAvRrujau+zRg== +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.0.tgz#2f9ce301c8898e1c3248b0a8564696b24d1a9a5a" + integrity sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw== "@hapi/joi@^15.0.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.0.tgz#940cb749b5c55c26ab3b34ce362e82b6162c8e7a" - integrity sha512-n6kaRQO8S+kepUTbXL9O/UOL788Odqs38/VOfoCrATDtTvyfiO3fgjlSRaNkHabpTLgM7qru9ifqXlXbXk8SeQ== + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== dependencies: "@hapi/address" "2.x.x" - "@hapi/hoek" "6.x.x" - "@hapi/marker" "1.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" "@hapi/topo" "3.x.x" -"@hapi/marker@1.x.x": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@hapi/marker/-/marker-1.0.0.tgz#65b0b2b01d1be06304886ce9b4b77b1bfb21a769" - integrity sha512-JOfdekTXnJexfE8PyhZFyHvHjt81rBFSAbTIRAhF2vv/2Y1JzoKsGqxH/GpZJoF7aEfYok8JVcAHmSz1gkBieA== - "@hapi/topo@3.x.x": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.3.tgz#c7a02e0d936596d29f184e6d7fdc07e8b5efce11" - integrity sha512-JmS9/vQK6dcUYn7wc2YZTqzIKubAQcJKu2KCKAru6es482U5RT5fP1EXCPtlXpiK7PR0On/kpQKI4fRKkzpZBQ== + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== dependencies: - "@hapi/hoek" "8.x.x" + "@hapi/hoek" "^8.3.0" -"@jest/console@^24.7.1": - version "24.7.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" - integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== - dependencies: - "@jest/source-map" "^24.3.0" - chalk "^2.0.1" - slash "^2.0.0" - -"@jest/console@^24.9.0": +"@jest/console@^24.7.1", "@jest/console@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== @@ -1769,7 +1104,7 @@ slash "^2.0.0" strip-ansi "^5.0.0" -"@jest/environment@^24.9.0": +"@jest/environment@^24.3.0", "@jest/environment@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== @@ -1779,16 +1114,7 @@ "@jest/types" "^24.9.0" jest-mock "^24.9.0" -"@jest/fake-timers@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" - integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw== - dependencies: - "@jest/types" "^24.8.0" - jest-message-util "^24.8.0" - jest-mock "^24.8.0" - -"@jest/fake-timers@^24.9.0": +"@jest/fake-timers@^24.3.0", "@jest/fake-timers@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== @@ -1824,16 +1150,7 @@ source-map "^0.6.0" string-length "^2.0.0" -"@jest/source-map@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" - integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/source-map@^24.9.0": +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== @@ -1842,15 +1159,6 @@ graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/test-result@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" - integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng== - dependencies: - "@jest/console" "^24.7.1" - "@jest/types" "^24.8.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@jest/test-result@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" @@ -1892,16 +1200,7 @@ source-map "^0.6.1" write-file-atomic "2.4.1" -"@jest/types@^24.8.0": - version "24.8.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" - integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^12.0.9" - -"@jest/types@^24.9.0": +"@jest/types@^24.3.0", "@jest/types@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== @@ -1923,13 +1222,61 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@renproject/contracts@0.3.28", "@renproject/contracts@^0.3.28": +"@openzeppelin/upgrades@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades/-/upgrades-2.6.0.tgz#595fcd77fdcbe56b9ffba53b0c17c7983389fe7d" + integrity sha512-vqL3ny0Z2M023H5cLiAS4qY+bjFYqhkPvxpfvYtTeaB2Bt/UeRD2Qk8+VvCFpojYOr9OBHu3RJWrFDcvgPcVxA== + dependencies: + "@types/cbor" "^2.0.0" + axios "^0.18.0" + bignumber.js "^7.2.0" + cbor "^4.1.5" + chalk "^2.4.1" + ethers "^4.0.20" + glob "^7.1.3" + lodash.concat "^4.5.0" + lodash.difference "^4.5.0" + lodash.every "^4.6.0" + lodash.findlast "^4.6.0" + lodash.flatten "^4.4.0" + lodash.includes "^4.3.0" + lodash.invertby "^4.7.0" + lodash.isempty "^4.4.0" + lodash.isequal "^4.5.0" + lodash.isstring "^4.0.1" + lodash.keys "^4.2.0" + lodash.map "^4.6.0" + lodash.omit "^4.5.0" + lodash.pick "^4.4.0" + lodash.pickby "^4.6.0" + lodash.random "^3.2.0" + lodash.reverse "^4.0.1" + lodash.some "^4.6.0" + lodash.uniq "^4.5.0" + lodash.values "^4.3.0" + lodash.without "^4.4.0" + semver "^5.5.1" + spinnies "^0.4.2" + truffle-flattener "^1.4.0" + web3 "1.2.2" + web3-eth "1.2.2" + web3-eth-contract "1.2.2" + web3-utils "1.2.2" + +"@renproject/contracts@0.3.28": version "0.3.28" resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.28.tgz#baaa6080fb84d38444e1fb96f56c2ed16e478262" integrity sha512-n2g/k711MYTPv9UjNV8JNUvkheBAgigbupVK8szv/Y68J0BUdF/FC2eiL5JNTQgBQuJB9g877ZdR9c+kosmrWw== dependencies: darknode-sol "https://github.com/renproject/darknode-sol#e9e7357e3e8d6e30bbd03a72eaaefdcb9a0e6ad7" +"@renproject/contracts@^0.3.28": + version "0.3.32" + resolved "https://registry.yarnpkg.com/@renproject/contracts/-/contracts-0.3.32.tgz#2927f7d27c964ee94ce164f5a81fc90f71b59380" + integrity sha512-S3/w4XK9vogQflrDFtSO2hGnHNjJ6x1XJuUVjelV8Hr+tk+S1YLmmDRNKq7wC/rQXO8XxIrjq8qb0OjOgrDseQ== + dependencies: + darknode-sol "https://github.com/renproject/darknode-sol#ff7d0a442a52ae7990e0ee21a51b037c47450448" + "@renproject/fonts@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@renproject/fonts/-/fonts-1.0.1.tgz#5eb052638eec862760044b4367f062f8a890c5b8" @@ -1953,9 +1300,9 @@ react-select "^3.0.8" "@renproject/ren@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@renproject/ren/-/ren-0.2.3.tgz#ae2c47a286e52842de782793a1d04c611155aa6e" - integrity sha512-hL7Cr4+nIvO39VNEwikUVJtymC/UPRjqQoJLrR3rfPaerHdXPIvdnJVRB7xk/kllo/uoOC6pUtgINzh9ewfTAw== + version "0.2.6" + resolved "https://registry.yarnpkg.com/@renproject/ren/-/ren-0.2.6.tgz#545b7ae2b1155718204afe945f99e1608a9da1cc" + integrity sha512-Kcj4QU4WiKUcVDYuPi83rL+F+j3f51qTqb2yAecSmw1DctLenPLrPa/k5/5tEWE+pL9mczPTrI47wL5dRb1pJw== dependencies: "@renproject/contracts" "^0.3.28" "@types/bn.js" "^4.11.5" @@ -1977,65 +1324,99 @@ web3-core "^2.0.0-alpha.1" web3-eth-abi "^2.0.0-alpha.1" +"@resolver-engine/core@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@resolver-engine/core/-/core-0.2.1.tgz#0d71803f6d3b8cb2e9ed481a1bf0ca5f5256d0c0" + integrity sha512-nsLQHmPJ77QuifqsIvqjaF5B9aHnDzJjp73Q1z6apY3e9nqYrx4Dtowhpsf7Jwftg/XzVDEMQC+OzUBNTS+S1A== + dependencies: + debug "^3.1.0" + request "^2.85.0" + +"@resolver-engine/fs@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@resolver-engine/fs/-/fs-0.2.1.tgz#f98a308d77568cc02651d03636f46536b941b241" + integrity sha512-7kJInM1Qo2LJcKyDhuYzh9ZWd+mal/fynfL9BNjWOiTcOpX+jNfqb/UmGUqros5pceBITlWGqS4lU709yHFUbg== + dependencies: + "@resolver-engine/core" "^0.2.1" + debug "^3.1.0" + +"@resolver-engine/imports-fs@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@resolver-engine/imports-fs/-/imports-fs-0.2.2.tgz#5a81ef3285dbf0411ab3b15205080a1ad7622d9e" + integrity sha512-gFCgMvCwyppjwq0UzIjde/WI+yDs3oatJhozG9xdjJdewwtd7LiF0T5i9lrHAUtqrQbqoFE4E+ZMRVHWpWHpKQ== + dependencies: + "@resolver-engine/fs" "^0.2.1" + "@resolver-engine/imports" "^0.2.2" + debug "^3.1.0" + +"@resolver-engine/imports@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@resolver-engine/imports/-/imports-0.2.2.tgz#d3de55a1bb5f3beb7703fdde743298f321175843" + integrity sha512-u5/HUkvo8q34AA+hnxxqqXGfby5swnH0Myw91o3Sm2TETJlNKXibFGSKBavAH+wvWdBi4Z5gS2Odu0PowgVOUg== + dependencies: + "@resolver-engine/core" "^0.2.1" + debug "^3.1.0" + hosted-git-info "^2.6.0" + "@sentry/browser@^5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.10.1.tgz#4751b67716a0e606d0d36fe50f7b584c58bb6733" - integrity sha512-ti/8l/iinCVDZtNHxRVacfGAWDJ1xnLYjcodAh+SVZ7xAm1XApN2YvpggVRYVUbKRmrGQEW4yp4rhxNI9Z/06A== + version "5.12.1" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.12.1.tgz#dc1f268595269fb7277f55eb625c7e92d76dc01b" + integrity sha512-Zl7VdppUxctyaoqMSEhnDJp2rrupx8n8N2n3PSooH74yhB2Z91nt84mouczprBsw3JU1iggGyUw9seRFzDI1hw== dependencies: - "@sentry/core" "5.10.1" - "@sentry/types" "5.10.0" - "@sentry/utils" "5.10.1" + "@sentry/core" "5.12.0" + "@sentry/types" "5.12.0" + "@sentry/utils" "5.12.0" tslib "^1.9.3" -"@sentry/core@5.10.1", "@sentry/core@^5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.10.1.tgz#356551f111d4df38e60852607cc8cde0ed8ccc76" - integrity sha512-MbiasA/cuMB0+9zVBGi5YLWRj7CdFQJOM29Vp8rm3xMaQDH0KHarpny1gOgMiLu/O/r8itjiZwKu+9pxOWGbeA== +"@sentry/core@5.12.0", "@sentry/core@^5.10.1": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.12.0.tgz#d6380c4ef7beee5f418ac1d0e5be86a2de2af449" + integrity sha512-wY4rsoX71QsGpcs9tF+OxKgDPKzIFMRvFiSRcJoPMfhFsTilQ/CBMn/c3bDtWQd9Bnr/ReQIL6NbnIjUsPHA4Q== dependencies: - "@sentry/hub" "5.10.1" - "@sentry/minimal" "5.10.1" - "@sentry/types" "5.10.0" - "@sentry/utils" "5.10.1" + "@sentry/hub" "5.12.0" + "@sentry/minimal" "5.12.0" + "@sentry/types" "5.12.0" + "@sentry/utils" "5.12.0" tslib "^1.9.3" -"@sentry/hub@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.10.1.tgz#3be4a0705cd0cd074be0aab0dc418ecb72885989" - integrity sha512-g+P+0cj6vKdf6Ct4S47MxHwSMIjtIadOwBhb4Lqwij5YPtQ4LpVr10peKbE+FMMvCNQSvQnJEhTDko+AE7AoYw== +"@sentry/hub@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.12.0.tgz#5e8c8f249f5bdbeb8cc4ec02c2ccc53a67f2cc02" + integrity sha512-3k7yE8BEVJsKx8mR4LcI4IN0O8pngmq44OcJ/fRUUBAPqsT38jsJdP2CaWhdlM1jiNUzUDB1ktBv6/lY+VgcoQ== dependencies: - "@sentry/types" "5.10.0" - "@sentry/utils" "5.10.1" + "@sentry/types" "5.12.0" + "@sentry/utils" "5.12.0" tslib "^1.9.3" "@sentry/integrations@^5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-5.10.1.tgz#f899f0e2997ca70c5f618aa80226cd6d87e0f345" - integrity sha512-Viw0k9H0Ri7NrP1FMNbBzQ/3G7rTLuHbp2lB2DqYM1rL7gxK3n7BqocZ1EjkanAFmckozNikvVWvERE9Ajfwiw== + version "5.12.0" + resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-5.12.0.tgz#4d735abf2989049ef860e3eaad0883b63d8274e6" + integrity sha512-4G/TvCEP9M6xgY61r46UE4ruSgF42rZnvO0ZfIBI/240DNYMTpHLvjU3Xvrv3wDl3emCvy4QgAIceI/zj8nPjw== dependencies: - "@sentry/types" "5.10.0" - "@sentry/utils" "5.10.1" + "@sentry/types" "5.12.0" + "@sentry/utils" "5.12.0" tslib "^1.9.3" -"@sentry/minimal@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.10.1.tgz#37104f81ef3b333c0f9e77ac94bfed348070dea3" - integrity sha512-oKrLvKaah0xGVIYbS1I7dVbo73aWssfiT2ypl9DYt8MAFiwfiiXz68FlG4z9dPZ2jSz9Jm2SAYHFaYLvU26TBQ== +"@sentry/minimal@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.12.0.tgz#2611e2aa520c1edb7999e6de51bd65ec66341757" + integrity sha512-fk73meyz4k4jCg9yzbma+WkggsfEIQWI2e2TWfYsRGcrV3RnlSrXyM4D91/A8Bjx10SNezHPUFHjasjlHXOkyA== dependencies: - "@sentry/hub" "5.10.1" - "@sentry/types" "5.10.0" + "@sentry/hub" "5.12.0" + "@sentry/types" "5.12.0" tslib "^1.9.3" -"@sentry/types@5.10.0": - version "5.10.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.10.0.tgz#4f0ba31b6e4d5371112c38279f11f66c73b43746" - integrity sha512-TW20GzkCWsP6uAxR2JIpIkiitCKyIOfkyDsKBeLqYj4SaZjfvBPnzgNCcYR0L0UsP1/Es6oHooZfIGSkp6GGxQ== +"@sentry/types@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.12.0.tgz#5367e53c74261beea01502e3f7b6f3d822682a31" + integrity sha512-aZbBouBLrKB8wXlztriIagZNmsB+wegk1Jkl6eprqRW/w24Sl/47tiwH8c5S4jYTxdAiJk+SAR10AAuYmIN3zg== -"@sentry/utils@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.10.1.tgz#eeb3ede85a9b5b1cd1aad7e3157052bee0d42551" - integrity sha512-zdv03sINfJ8QXSHP49845qhkbdNUrX20AagUY+Arq2zxmM4XxnRVA7dtWDkyy55bTt0ziRuSikBxR3266t8mDg== +"@sentry/utils@5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.12.0.tgz#62967f934a3ee6d21472eac0219084e37225933e" + integrity sha512-fYUadGLbfTCbs4OG5hKCOtv2jrNE4/8LHNABy9DwNJ/t5DVtGqWAZBnxsC+FG6a3nVqCpxjFI9AHlYsJ2wsf7Q== dependencies: - "@sentry/types" "5.10.0" + "@sentry/types" "5.12.0" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -2153,31 +1534,10 @@ dependencies: defer-to-connect "^1.0.1" -"@truffle/error@^0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.8.tgz#dc94ca36393403449d4b7461bf9452c241e53ec1" - integrity sha512-x55rtRuNfRO1azmZ30iR0pf0OJ6flQqbax1hJz+Avk1K5fdmOv5cr22s9qFnwTWnS6Bw0jvJEoR0ITsM7cPKtQ== - -"@truffle/hdwallet-provider@^1.0.26": - version "1.0.26" - resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.26.tgz#1255e5af7ea10b617e63b57282d0f1232feff916" - integrity sha512-ITEUOwT8o8FZmnAiZtFLHhTLFOlT5q/DIh9QzV+gG0GocqIY6D2CSLkhaqTn89xCGVftQfyQAFBqXfGRblNQKw== - dependencies: - "@truffle/provider" "^0.2.3" - any-promise "^1.3.0" - bindings "^1.5.0" - bip39 "^2.4.2" - ethereum-protocol "^1.0.1" - ethereumjs-tx "^1.0.0" - ethereumjs-util "^6.1.0" - ethereumjs-wallet "^0.6.3" - web3 "1.2.2" - web3-provider-engine "https://github.com/trufflesuite/provider-engine#web3-one" - -"@truffle/hdwallet-provider@^1.0.28": - version "1.0.28" - resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.28.tgz#2ab6dd8acc60ca90f695b22b8e14f22d58fe3011" - integrity sha512-Vizbs+XTzUyK51qsAw+QSjU1mWGUgWHykCqoKetpoYYYwOWhmQL/gzDANCuEv1rfxHgfMcYwNprMUYlRovd6yQ== +"@truffle/hdwallet-provider@^1.0.26", "@truffle/hdwallet-provider@^1.0.28": + version "1.0.30" + resolved "https://registry.yarnpkg.com/@truffle/hdwallet-provider/-/hdwallet-provider-1.0.30.tgz#55f5f21d9fbc76b3597d25f709e9f00998a91738" + integrity sha512-i2xNocQ8Pw8g24Q2hGRy5VLzQsAA10EC63msBEP+ldc9xGLzAV86qOboEqjf/h1PZm0LtXzs8lRfW+iF5Xdc2A== dependencies: any-promise "^1.3.0" bindings "^1.5.0" @@ -2189,29 +1549,10 @@ web3 "1.2.1" web3-provider-engine "https://github.com/trufflesuite/provider-engine#web3-one" -"@truffle/interface-adapter@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.4.0.tgz#563314b5a056d886adda07b2d052c32e971cdea8" - integrity sha512-3xCL38jOByT/CN/Sar9Yx0q3xXRzEYpd28eQfI/nTZk/+T1m+aYU7C4Dv2JSnqgB3mjQd++2rRnMYjE2uxYg5w== - dependencies: - bn.js "^4.11.8" - ethers "^4.0.32" - lodash "^4.17.13" - web3 "1.2.2" - -"@truffle/provider@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.3.tgz#b4f03be749a1d07c003e16a498966bdf0e0384f3" - integrity sha512-EsAE7eiXMlTAQBNst12fuTKddMMtqB7d9jQmVvYvq+/G3ryZCf50dTiod0lhTIh0dIQ/tirFdvBRKDfc8c+hsQ== - dependencies: - "@truffle/error" "^0.0.8" - "@truffle/interface-adapter" "^0.4.0" - web3 "1.2.2" - "@types/babel__core@^7.1.0": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" - integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" + integrity sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -2220,9 +1561,9 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== + version "7.6.1" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" + integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== dependencies: "@babel/types" "^7.0.0" @@ -2235,9 +1576,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== + version "7.0.8" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.8.tgz#479a4ee3e291a403a1096106013ec22cf9b64012" + integrity sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw== dependencies: "@babel/types" "^7.3.0" @@ -2246,17 +1587,10 @@ resolved "https://registry.yarnpkg.com/@types/bchaddrjs/-/bchaddrjs-0.4.0.tgz#f3d29ab56096c9d7105b5ccbc69969d11426e087" integrity sha512-Nvv3haWpXNWYfKasVoEp3VBgVsBTLTh45anhHUN8xVUPhn4ErU3FPS5AEcZtACWc5ICGUxbaiLTWOnwDkwYF1Q== -"@types/bignumber.js@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/bignumber.js/-/bignumber.js-5.0.0.tgz#d9f1a378509f3010a3255e9cc822ad0eeb4ab969" - integrity sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA== - dependencies: - bignumber.js "*" - "@types/bn.js@^4.11.3", "@types/bn.js@^4.11.4", "@types/bn.js@^4.11.5": - version "4.11.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.5.tgz#40e36197433f78f807524ec623afcf0169ac81dc" - integrity sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng== + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== dependencies: "@types/node" "*" @@ -2267,10 +1601,17 @@ dependencies: base-x "^3.0.6" +"@types/cbor@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/cbor/-/cbor-2.0.0.tgz#c627afc2ee22f23f2337fecb34628a4f97c6afbb" + integrity sha1-xievwu4i8j8jN/7LNGKKT5fGr7s= + dependencies: + "@types/node" "*" + "@types/chai@^4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.6.tgz#a55625d151d9c7c7a0a95920632131d66480bce9" - integrity sha512-HF8faEUA4JurIm+68VaA2KedtZf5LYdXpQEAbIAN79DwWQbO82BNTksZgCH3UMqbZHXex9C6TrBfg7OUInRISQ== + version "4.2.8" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.8.tgz#c8d645506db0d15f4aafd4dfa873f443ad87ea59" + integrity sha512-U1bQiWbln41Yo6EeHMr+34aUhvrMVyrhn9lYfPSpLTCrZlGxU4Rtn1bocX+0p2Fc/Jkd2FanCEXdw0WNfHHM0w== "@types/color-name@^1.1.1": version "1.1.1" @@ -2323,9 +1664,9 @@ "@types/node" "*" "@types/history@*": - version "4.7.2" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.2.tgz#0e670ea254d559241b6eeb3894f8754991e73220" - integrity sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q== + version "4.7.5" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.5.tgz#527d20ef68571a4af02ed74350164e7a67544860" + integrity sha512-wLD/Aq2VggCJXSjxEwrMafIP51Z+13H78nXIX0ABEuIGhmB5sNGbR113MOKo+yfw+RDo1ZU3DM6yfnnRF/+ouw== "@types/hoist-non-react-statics@^3.3.0": version "3.3.1" @@ -2341,9 +1682,9 @@ integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== "@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" @@ -2356,16 +1697,16 @@ "@types/istanbul-lib-report" "*" "@types/jest@^24.0.23": - version "24.0.23" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.23.tgz#046f8e2ade026fe831623e361a36b6fb9a4463e4" - integrity sha512-L7MBvwfNpe7yVPTXLn32df/EK+AMBFAFvZrRuArGs7npEWnlziUXK+5GMIUTI4NIuwok3XibsjXCs5HxviYXjg== + version "24.9.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" + integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== dependencies: jest-diff "^24.3.0" "@types/json-schema@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" - integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== + version "7.0.4" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" + integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== "@types/json5@^0.0.29": version "0.0.29" @@ -2378,29 +1719,19 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "12.7.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.1.tgz#3b5c3a26393c19b400844ac422bd0f631a94d69d" - integrity sha512-aK9jxMypeSrhiYofWWBf/T7O+KwaiAHzM4sveCdWPn71lzUSMimRnKzhXDKfKwV1kWoBo2P1aGgaIYGLf9/ljw== + version "13.7.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.0.tgz#b417deda18cf8400f278733499ad5547ed1abec4" + integrity sha512-GnZbirvmqZUzMgkFn70c74OQpTTUcCzlhQliTzYjQMqg+hVKcDnxdL19Ne3UdYzdMA/+W3eb646FWn/ZaT1NfQ== "@types/node@^10.12.18", "@types/node@^10.3.2": - version "10.14.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.15.tgz#e8f7729b631be1b02ae130ff0b61f3e018000640" - integrity sha512-CBR5avlLcu0YCILJiDIXeU2pTw7UK/NIxfC63m7d7CVamho1qDEzXKkOtEauQRPMy6MI8mLozth+JJkas7HY6g== - -"@types/node@^12.12.14": - version "12.12.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.14.tgz#1c1d6e3c75dba466e0326948d56e8bd72a1903d2" - integrity sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA== + version "10.17.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.14.tgz#b6c60ebf2fb5e4229fdd751ff9ddfae0f5f31541" + integrity sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw== -"@types/node@^12.12.21": - version "12.12.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.22.tgz#b8d9eae3328b96910a373cf06ac8d3c5abe9c200" - integrity sha512-r5i93jqbPWGXYXxianGATOxTelkp6ih/U0WVnvaqAvTqM+0U6J3kw6Xk6uq/dWNRkEVw/0SLcO5ORXbVNz4FMQ== - -"@types/node@^12.6.1": - version "12.7.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" - integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== +"@types/node@^12.12.14", "@types/node@^12.12.21", "@types/node@^12.6.1": + version "12.12.26" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.26.tgz#213e153babac0ed169d44a6d919501e68f59dea9" + integrity sha512-UmUm94/QZvU5xLcUlNR8hA7Ac+fGpO1EG/a8bcWVz0P0LqtxFmun9Y2bbtuckwGboWJIT70DoWq1r3hb56n3DA== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2408,9 +1739,9 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prop-types@*": - version "15.7.1" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" - integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg== + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== "@types/q@^1.5.1": version "1.5.2" @@ -2424,24 +1755,17 @@ dependencies: query-string "*" -"@types/react-dom@*": - version "16.8.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.8.5.tgz#3e3f4d99199391a7fb40aa3a155c8dd99b899cbd" - integrity sha512-idCEjROZ2cqh29+trmTmZhsBAUNQuYrF92JHKzZ5+aiFM1mlSk3bb23CK7HhYuOY75Apgap5y2jTyHzaM2AJGA== - dependencies: - "@types/react" "*" - -"@types/react-dom@^16.9.4": - version "16.9.4" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.4.tgz#0b58df09a60961dcb77f62d4f1832427513420df" - integrity sha512-fya9xteU/n90tda0s+FtN5Ym4tbgxpq/hb/Af24dvs6uYnYn+fspaxw5USlw0R8apDNwxsqumdRoCoKitckQqw== +"@types/react-dom@*", "@types/react-dom@^16.9.4": + version "16.9.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.5.tgz#5de610b04a35d07ffd8f44edad93a71032d9aaa7" + integrity sha512-BX6RQ8s9D+2/gDhxrj8OW+YD4R+8hj7FEM/OJHGNR0KipE1h1mSsf39YeyC81qafkq+N3rU3h3RFbLSwE5VqUg== dependencies: "@types/react" "*" "@types/react-redux@^7.1.5": - version "7.1.5" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.5.tgz#c7a528d538969250347aa53c52241051cf886bd3" - integrity sha512-ZoNGQMDxh5ENY7PzU7MVonxDzS1l/EWiy8nUhDqxFqUZn4ovboCyvk4Djf68x6COb7vhGTKjyjxHxtFdAA5sUA== + version "7.1.7" + resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.7.tgz#12a0c529aba660696947384a059c5c6e08185c7a" + integrity sha512-U+WrzeFfI83+evZE2dkZ/oF/1vjIYgqrb5dGgedkqVV8HEfDFujNgWCwHL89TDuWKb47U0nTBT6PLGq4IIogWg== dependencies: "@types/hoist-non-react-statics" "^3.3.0" "@types/react" "*" @@ -2458,17 +1782,17 @@ "@types/react-router" "*" "@types/react-router@*": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.0.3.tgz#855a1606e62de3f4d69ea34fb3c0e50e98e964d5" - integrity sha512-j2Gge5cvxca+5lK9wxovmGPgpVJMwjyu5lTA/Cd6fLGoPq7FXcUE1jFkEdxeyqGGz8VfHYSHCn5Lcn24BzaNKA== + version "5.1.4" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.4.tgz#7d70bd905543cb6bcbdcc6bd98902332054f31a6" + integrity sha512-PZtnBuyfL07sqCJvGg3z+0+kt6fobc/xmle08jBiezLS8FrmGeiGkJnuxL/8Zgy9L83ypUhniV5atZn/L8n9MQ== dependencies: "@types/history" "*" "@types/react" "*" "@types/react-select@^3.0.8": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.8.tgz#b824a12d438dd493c30ffff49a805f797602a837" - integrity sha512-0763TXYZc8bTiHM+DUnWoy9Rg5mk6PxYWBrEe6Fkjgc0Kv0r1RqjZk9/BrK4wdM0RNjYjixlFPnUhOJb76sMGg== + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/react-select/-/react-select-3.0.10.tgz#c32e0832d368756e6db53ccedf64f767728545d4" + integrity sha512-oUHXqvbkRhC07q5JjeY6hE+NUqgUM6CyaRXEKYPvMCBqUOuLnYltyhiNx6Jpb+iFpYtNHSQtF4dNJfMdMooKoQ== dependencies: "@types/react" "*" "@types/react-dom" "*" @@ -2482,32 +1806,17 @@ "@types/d3-geo" "*" "@types/react" "*" -"@types/react-transition-group@*": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.2.tgz#8c851c4598a23a3a34173069fb4c5c9e41c02e3f" - integrity sha512-YfoaTNqBwbIqpiJ5NNfxfgg5kyFP1Hqf/jqBtSWNv0E+EkkxmN+3VD6U2fu86tlQvdAc1o0SdWhnWFwcRMTn9A== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@4.2": +"@types/react-transition-group@*", "@types/react-transition-group@4.2": version "4.2.3" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.2.3.tgz#4924133f7268694058e415bf7aea2d4c21131470" integrity sha512-Hk8jiuT7iLOHrcjKP/ZVSyCNXK73wJAUz60xm0mVhiRujrdiI++j4duLiL282VGxwAgxetHQFfqA29LgEeSkFA== dependencies: "@types/react" "*" -"@types/react@*": - version "16.9.1" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.1.tgz#862c83b4c9d5cd116e42fd9a4f3694843cd2c051" - integrity sha512-jGM2x8F7m7/r+81N/BOaUKVwbC5Cdw6ExlWEUpr77XPwVeNvAppnPEnMMLMfxRDYL8FPEX8MHjwtD2NQMJ0yyQ== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - -"@types/react@^16.9.15": - version "16.9.15" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.15.tgz#aeabb7a50f96c9e31a16079ada20ede9ed602977" - integrity sha512-WsmM1b6xQn1tG3X2Hx4F3bZwc2E82pJXt5OPs2YJgg71IzvUoKOSSSYOvLXYCg1ttipM+UuA4Lj3sfvqjVxyZw== +"@types/react@*", "@types/react@^16.9.15": + version "16.9.19" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.19.tgz#c842aa83ea490007d29938146ff2e4d9e4360c40" + integrity sha512-LJV97//H+zqKWMms0kvxaKYJDG05U2TtQB3chRLF8MPNs+MQh/H1aGlyDUxjaHvu08EAGerdX2z4LTBc7ns77A== dependencies: "@types/prop-types" "*" csstype "^2.2.0" @@ -2530,62 +1839,57 @@ "@types/ethereum-protocol" "*" "@types/yargs-parser@*": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz#c563aa192f39350a1d18da36c5a8da382bbd8228" - integrity sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg== - -"@types/yargs@^12.0.9": - version "12.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" - integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== + version "15.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== "@types/yargs@^13.0.0": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" - integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== + version "13.0.8" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99" + integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^2.8.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.10.0.tgz#c4cb103275e555e8a7e9b3d14c5951eb6d431e70" - integrity sha512-rT51fNLW0u3fnDGnAHVC5nu+Das+y2CpW10yqvf6/j5xbuUV3FxA3mBaIbM24CXODXjbgUznNb4Kg9XZOUxKAw== +"@typescript-eslint/eslint-plugin@^2.10.0": + version "2.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.19.0.tgz#bf743448a4633e4b52bee0c40148ba072ab3adbd" + integrity sha512-u7IcQ9qwsB6U806LupZmINRnQjC+RJyv36sV/ugaFWMHTbFm/hlLTRx3gGYJgHisxcGSTnf+I/fPDieRMhPSQQ== dependencies: - "@typescript-eslint/experimental-utils" "2.10.0" + "@typescript-eslint/experimental-utils" "2.19.0" eslint-utils "^1.4.3" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.10.0.tgz#8db1656cdfd3d9dcbdbf360b8274dea76f0b2c2c" - integrity sha512-FZhWq6hWWZBP76aZ7bkrfzTMP31CCefVIImrwP3giPLcoXocmLTmr92NLZxuIcTL4GTEOE33jQMWy9PwelL+yQ== +"@typescript-eslint/experimental-utils@2.19.0": + version "2.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.19.0.tgz#d5ca732f22c009e515ba09fcceb5f2127d841568" + integrity sha512-zwpg6zEOPbhB3+GaQfufzlMUOO6GXCNZq6skk+b2ZkZAIoBhVoanWK255BS1g5x9bMwHpLhX0Rpn5Fc3NdCZdg== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.10.0" + "@typescript-eslint/typescript-estree" "2.19.0" eslint-scope "^5.0.0" -"@typescript-eslint/parser@^2.8.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.10.0.tgz#24b2e48384ab6d5a6121e4c4faf8892c79657ad3" - integrity sha512-wQNiBokcP5ZsTuB+i4BlmVWq6o+oAhd8en2eSm/EE9m7BgZUIfEeYFd6z3S+T7bgNuloeiHA1/cevvbBDLr98g== +"@typescript-eslint/parser@^2.10.0": + version "2.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.19.0.tgz#912160d9425395d09857dcd5382352bc98be11ae" + integrity sha512-s0jZoxAWjHnuidbbN7aA+BFVXn4TCcxEVGPV8lWMxZglSs3NRnFFAlL+aIENNmzB2/1jUJuySi6GiM6uACPmpg== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.10.0" - "@typescript-eslint/typescript-estree" "2.10.0" + "@typescript-eslint/experimental-utils" "2.19.0" + "@typescript-eslint/typescript-estree" "2.19.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@2.10.0": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.10.0.tgz#89cdabd5e8c774e9d590588cb42fb9afd14dcbd9" - integrity sha512-oOYnplddQNm/LGVkqbkAwx4TIBuuZ36cAQq9v3nFIU9FmhemHuVzAesMSXNQDdAzCa5bFgCrfD3JWhYVKlRN2g== +"@typescript-eslint/typescript-estree@2.19.0": + version "2.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.19.0.tgz#6bd7310b9827e04756fe712909f26956aac4b196" + integrity sha512-n6/Xa37k0jQdwpUszffi19AlNbVCR0sdvCs3DmSKMD7wBttKY31lhD2fug5kMD91B2qW4mQldaTEc1PEzvGu8w== dependencies: debug "^4.1.1" eslint-visitor-keys "^1.1.0" glob "^7.1.6" is-glob "^4.0.1" - lodash.unescape "4.0.1" + lodash "^4.17.15" semver "^6.3.0" tsutils "^3.17.1" @@ -2778,9 +2082,9 @@ JSONStream@^1.3.4: through ">=2.2.7 <3" abab@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== + version "2.0.3" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" + integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== abbrev@1: version "1.1.1" @@ -2810,9 +2114,9 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: negotiator "0.6.2" acorn-globals@^4.1.0, acorn-globals@^4.3.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" - integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== dependencies: acorn "^6.0.1" acorn-walk "^6.0.1" @@ -2833,25 +2137,20 @@ acorn@^5.5.3: integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" - integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== + version "6.4.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" + integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== acorn@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== -address@1.1.2: +address@1.1.2, address@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== -address@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" - integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== - adjust-sourcemap-loader@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" @@ -2913,11 +2212,11 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + version "6.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" + integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== dependencies: - fast-deep-equal "^2.0.1" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" @@ -2951,17 +2250,17 @@ ansi-colors@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: +ansi-escapes@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-escapes@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" - integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" + integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== dependencies: - type-fest "^0.5.2" + type-fest "^0.8.1" ansi-html@0.0.7: version "0.0.7" @@ -2983,6 +2282,11 @@ ansi-regex@^4.0.0, ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -2996,9 +2300,9 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.0.tgz#5681f0dcf7ae5880a7841d8831c4724ed9cc0172" - integrity sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg== + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== dependencies: "@types/color-name" "^1.1.1" color-convert "^2.0.1" @@ -3016,6 +2320,14 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -3084,13 +2396,14 @@ array-flatten@^2.1.0: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= +array-includes@^3.0.3, array-includes@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" array-union@^1.0.1: version "1.0.2" @@ -3109,6 +2422,14 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.flat@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -3214,23 +2535,23 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob@^2.1.1: +atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" - integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== + version "9.7.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" + integrity sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g== dependencies: - browserslist "^4.6.3" - caniuse-lite "^1.0.30000980" + browserslist "^4.8.3" + caniuse-lite "^1.0.30001020" chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.17" - postcss-value-parser "^4.0.0" + postcss "^7.0.26" + postcss-value-parser "^4.0.2" aws-sign2@~0.7.0: version "0.7.0" @@ -3238,24 +2559,32 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + version "1.9.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== -axios@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8" - integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ== +axios@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== dependencies: follow-redirects "1.5.10" is-buffer "^2.0.2" +axios@^0.19.0: + version "0.19.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + dependencies: + follow-redirects "1.5.10" + axobject-query@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== + version "2.1.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.1.tgz#2a3b1271ec722d48a4cd4b3fcc20c853326a49a7" + integrity sha512-lF98xa/yvy6j3fBHAgQXIYl+J4eZadOSqsPojemUqClzNbBV38wWGpUbQbVEyf4eUF5yF7eHmGgGA2JiHyjeqw== dependencies: - ast-types-flow "0.0.7" + "@babel/runtime" "^7.7.4" + "@babel/runtime-corejs3" "^7.7.4" babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" @@ -3474,22 +2803,22 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-dynamic-import-node@2.3.0, babel-plugin-dynamic-import-node@^2.3.0: +babel-plugin-dynamic-import-node@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== dependencies: object.assign "^4.1.0" -babel-plugin-emotion@^10.0.14: - version "10.0.15" - resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.15.tgz#2ce5bea191331ef65b3b9ae212a8f0e46ff97616" - integrity sha512-E3W68Zk8EcKpRUDW2tsFKi4gsavapMRjfr2/KKgG3l7l2zZpiKk0BxB59Ul9C0w0ekv6my/ylGOk2WroaqKXPw== +babel-plugin-emotion@^10.0.27: + version "10.0.27" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.27.tgz#59001cf5de847c1d61f2079cd906a90a00d3184f" + integrity sha512-SUNYcT4FqhOqvwv0z1oeYhqgheU8qrceLojuHyX17ngo7WtWqN5I9l3IGHzf21Xraj465CVzF4IvOlAF+3ed0A== dependencies: "@babel/helper-module-imports" "^7.0.0" - "@emotion/hash" "0.7.2" - "@emotion/memoize" "0.7.2" - "@emotion/serialize" "^0.11.9" + "@emotion/hash" "0.7.4" + "@emotion/memoize" "0.7.4" + "@emotion/serialize" "^0.11.15" babel-plugin-macros "^2.0.0" babel-plugin-syntax-jsx "^6.18.0" convert-source-map "^1.5.0" @@ -3514,28 +2843,19 @@ babel-plugin-jest-hoist@^24.9.0: dependencies: "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.7.1.tgz#ee294383c1a38f9d6535be3d89734824cb3ed415" - integrity sha512-HNM284amlKSQ6FddI4jLXD+XTqF0cTYOe5uemOIZxHJHnamC+OhFQ57rMF9sgnYhkJQptVl9U1SKVZsV9/GLQQ== +babel-plugin-macros@2.8.0, babel-plugin-macros@^2.0.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== dependencies: "@babel/runtime" "^7.7.2" cosmiconfig "^6.0.0" resolve "^1.12.0" -babel-plugin-macros@^2.0.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" - integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== - dependencies: - "@babel/runtime" "^7.4.2" - cosmiconfig "^5.2.0" - resolve "^1.10.0" - -babel-plugin-named-asset-import@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.5.tgz#d3fa1a7f1f4babd4ed0785b75e2f926df0d70d0d" - integrity sha512-sGhfINU+AuMw9oFAdIn/nD5sem3pn/WgxAfDZ//Q3CnF+5uaho7C7shh2rKLk6sKE/XkfmyibghocwKdVjLIKg== +babel-plugin-named-asset-import@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" + integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA== babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" @@ -3842,29 +3162,23 @@ babel-preset-jest@^24.9.0: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.9.0" -babel-preset-react-app@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.0.tgz#74c644d809f098d4b131646730c7bed0696084ca" - integrity sha512-0qMOv/pCcCQWxX1eNyKD9GlzZTdzZIK/Pq3O6TGe65tZSJTSplw1pFlaPujm0GjBj4g3GeCQbP08vvzlH7OGHg== - dependencies: - "@babel/core" "7.7.4" - "@babel/plugin-proposal-class-properties" "7.7.4" - "@babel/plugin-proposal-decorators" "7.7.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "7.7.4" - "@babel/plugin-proposal-numeric-separator" "7.7.4" - "@babel/plugin-proposal-object-rest-spread" "7.7.4" - "@babel/plugin-proposal-optional-chaining" "7.7.4" - "@babel/plugin-syntax-dynamic-import" "7.7.4" - "@babel/plugin-transform-destructuring" "7.7.4" - "@babel/plugin-transform-flow-strip-types" "7.7.4" - "@babel/plugin-transform-react-display-name" "7.7.4" - "@babel/plugin-transform-runtime" "7.7.4" - "@babel/preset-env" "7.7.4" - "@babel/preset-react" "7.7.4" - "@babel/preset-typescript" "7.7.4" - "@babel/runtime" "7.7.4" - babel-plugin-dynamic-import-node "2.3.0" - babel-plugin-macros "2.7.1" +babel-preset-react-app@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.1.tgz#d1ceb47cbe48b285fdd5c562c54c432ed5a41e0e" + integrity sha512-YkWP2UwY//TLltNlEBRngDOrYhvSLb+CA330G7T9M5UhGEMWe+JK/8IXJc5p2fDTSfSiETf+PY0+PYXFMix81Q== + dependencies: + "@babel/core" "7.8.4" + "@babel/plugin-proposal-class-properties" "7.8.3" + "@babel/plugin-proposal-decorators" "7.8.3" + "@babel/plugin-proposal-numeric-separator" "7.8.3" + "@babel/plugin-transform-flow-strip-types" "7.8.3" + "@babel/plugin-transform-react-display-name" "7.8.3" + "@babel/plugin-transform-runtime" "7.8.3" + "@babel/preset-env" "7.8.4" + "@babel/preset-react" "7.8.3" + "@babel/preset-typescript" "7.8.3" + "@babel/runtime" "7.8.4" + babel-plugin-macros "2.8.0" babel-plugin-transform-react-remove-prop-types "0.4.24" babel-register@^6.26.0: @@ -3949,14 +3263,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base-x@^3.0.2, base-x@^3.0.4: - version "3.0.6" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.6.tgz#de047ec95f5f7b99ae63d830a2a894c96538b2cd" - integrity sha512-4PaF8u2+AlViJxRVjurkLTxpp7CaFRD/jo5rPT9ONnKxyhQ8f59yzamEvq7EkriG56yn5On4ONyaG75HLqr46w== - dependencies: - safe-buffer "^5.0.1" - -base-x@^3.0.6: +base-x@^3.0.2, base-x@^3.0.4, base-x@^3.0.6: version "3.0.7" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.7.tgz#1c5a7fafe8f66b4114063e8da102799d4e7c408f" integrity sha512-zAKJGuQPihXW22fkrfOclUUZXM2g92z5GzlSMHxhO6r6Qj+Nm0ccaGNBzDZojzwOMkpjAv4J0fOv1U4go+a4iw== @@ -3987,12 +3294,12 @@ batch@0.6.1: integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= bchaddrjs@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/bchaddrjs/-/bchaddrjs-0.4.4.tgz#9f52ce67ea84181ba45c43a930cba5abeb59ff3f" - integrity sha512-WCgxhGeJ4LVwtMjiCzwAJd6OsBWd/fgYuhYbFhVvMrjhIurIqirYKWkwJVjNO+Xxa9K0SntFR2taxod03MKEHA== + version "0.4.5" + resolved "https://registry.yarnpkg.com/bchaddrjs/-/bchaddrjs-0.4.5.tgz#4b8ca28d7b5f2e1d0e5056b40021be0405f701fd" + integrity sha512-ZmGjcI7KyleD39YkNqm02YhSEwRH1IPxcQ1eKgQHOQtnaJB1JN5ZymtNrzxFPKE2Cgza2yXBETgq99+0fknq/A== dependencies: bs58check "^2.1.2" - cashaddrjs "^0.3.8" + cashaddrjs "^0.3.9" bcrypt-pbkdf@^1.0.0: version "1.0.2" @@ -4026,21 +3333,26 @@ bigi@^1.1.0, bigi@^1.4.0: resolved "https://registry.yarnpkg.com/bigi/-/bigi-1.4.2.tgz#9c665a95f88b8b08fc05cfd731f561859d725825" integrity sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU= -bignumber.js@*, bignumber.js@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" - integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== - -bignumber.js@7.2.1: +bignumber.js@7.2.1, bignumber.js@^7.2.0: version "7.2.1" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== +bignumber.js@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" + integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== + binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + bindings@^1.2.1, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -4072,11 +3384,11 @@ bitcoin-ops@^1.3.0: integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow== bitcore-lib-cash@^8.13.2: - version "8.13.2" - resolved "https://registry.yarnpkg.com/bitcore-lib-cash/-/bitcore-lib-cash-8.13.2.tgz#3ccb0b0489850553d87393ba28c869c85b760c71" - integrity sha512-wfFcW27Olv+xg4jqUSjjbA9HK8ofcYiJu7to08RNAOq/RH87rSf4U2QU4hkjQMFB5UPBDG13yxlLI5wVM6aNaQ== + version "8.15.0" + resolved "https://registry.yarnpkg.com/bitcore-lib-cash/-/bitcore-lib-cash-8.15.0.tgz#359f3a60cda904068f25d1e89548e5775debd9ab" + integrity sha512-mLXOg6O0nqWXaJDIAibYWf/38KqoIzh9SRQIBkfm7vKn4ypqUMPB3dNXMTqABzrjxgGjPUw6T0IlyiIj8J//NQ== dependencies: - bitcore-lib "^8.13.2" + bitcore-lib "^8.15.0" bn.js "=4.11.8" bs58 "^4.0.1" buffer-compare "=1.1.1" @@ -4095,10 +3407,10 @@ bitcore-lib-zcash@zcash-hackworks/bitcore-lib-zcash: inherits "=2.0.1" lodash "=3.10.1" -bitcore-lib@^8.13.2: - version "8.13.2" - resolved "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-8.13.2.tgz#34c7b715397e89eb187c748e921bcc9a9eefc2ab" - integrity sha512-/KSgsRxR9ekbDIDKkhnExBdJixH28lYtql40Qa+MAdYJUAMRIl2TC6gN6t7kCRLfSXogZZsZc8I6tVro9xA0+w== +bitcore-lib@^8.13.2, bitcore-lib@^8.15.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/bitcore-lib/-/bitcore-lib-8.15.0.tgz#5e379120fc833624484443783322e3300dfb757e" + integrity sha512-OhAdINElZa/Q63W23xNg+0HZfX0xHOp10UnJygpUZgHv15pRVfgPoyxdMIkQNuH/dBgF9o2Y9h4w2Z7qwqdKHg== dependencies: bech32 "=1.1.3" bn.js "=4.11.8" @@ -4109,9 +3421,9 @@ bitcore-lib@^8.13.2: lodash "=4.17.15" bitgo-utxo-lib@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/bitgo-utxo-lib/-/bitgo-utxo-lib-1.7.0.tgz#5a441fbd760ddcdc70f66ea45c6f6903a0f1c3f9" - integrity sha512-VvXi+LaNfiUmkaMGGgWfPfhhxEUyS3LUJDIcc5vMBoe7cVH55Zerhjt9/BEoa3+qmZeLpfAkLZpcEWa0n27Pww== + version "1.8.0" + resolved "https://registry.yarnpkg.com/bitgo-utxo-lib/-/bitgo-utxo-lib-1.8.0.tgz#22b8ffb8dccf4fe74b6815407f1c1ebf1f4ad82f" + integrity sha512-6FQhml+7PKkR70cF6Kkj0JDKWhJb6czDcxJjyaq12fSKhn1hHjQCS4TrHYVmJuf4JH2xuaANX2Jx6exanTT8fQ== dependencies: bech32 "0.0.3" bigi "^1.4.0" @@ -4147,9 +3459,9 @@ bl@^1.0.0: dependencies: nanoassert "^1.0.0" -"blake2b@git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac": +"blake2b@https://github.com/BitGo/blake2b#6268e6dd678661e0acc4359e9171b97eb1ebf8ac": version "2.1.3" - resolved "git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac" + resolved "https://github.com/BitGo/blake2b#6268e6dd678661e0acc4359e9171b97eb1ebf8ac" dependencies: blake2b-wasm "https://github.com/BitGo/blake2b-wasm#193cdb71656c1a6c7f89b05d0327bb9b758d071b" nanoassert "^1.0.0" @@ -4162,9 +3474,9 @@ block-stream@*: inherits "~2.0.0" bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== bn.js@4.11.6: version "4.11.6" @@ -4187,9 +3499,9 @@ bn.js@^2.0.0: integrity sha1-EhYrwq5x/EClYmwzQ486h1zTdiU= bn.js@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.0.0.tgz#5c3d398021b3ddb548c1296a16f857e908f35c70" - integrity sha512-bVwDX8AF+72fIUNuARelKAlQUNtPOfG2fRxorbVvFk4zpHbqLrPdOGfVg5vrKwVzLLePqPBiATaOZNELQzmS0A== + version "5.1.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.1.tgz#48efc4031a9c4041b9c99c6941d903463ab62eb5" + integrity sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA== body-parser@1.19.0, body-parser@^1.16.0: version "1.19.0" @@ -4275,6 +3587,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -4331,14 +3650,6 @@ browserify-rsa@^4.0.0: bn.js "^4.1.0" randombytes "^2.0.1" -browserify-sha3@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.4.tgz#086c47b8c82316c9d47022c26185954576dd8e26" - integrity sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY= - dependencies: - js-sha3 "^0.6.1" - safe-buffer "^5.1.1" - browserify-sign@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" @@ -4359,14 +3670,14 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.7.3: - version "4.7.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.3.tgz#02341f162b6bcc1e1028e30624815d4924442dc3" - integrity sha512-jWvmhqYpx+9EZm/FxcZSbUZyDEvDTLDi3nSAKbzEkyWvtI0mNSmUosey+5awDW1RUlrgXbQb5A6qY1xQH9U6MQ== +browserslist@4.8.6, browserslist@^4.0.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.8.3, browserslist@^4.8.5: + version "4.8.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.6.tgz#96406f3f5f0755d272e27a66f4163ca821590a7e" + integrity sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg== dependencies: - caniuse-lite "^1.0.30001010" - electron-to-chromium "^1.3.306" - node-releases "^1.1.40" + caniuse-lite "^1.0.30001023" + electron-to-chromium "^1.3.341" + node-releases "^1.1.47" browserslist@^3.2.6: version "3.2.8" @@ -4376,24 +3687,6 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.0.0, browserslist@^4.6.0, browserslist@^4.6.3, browserslist@^4.6.4, browserslist@^4.6.6: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== - dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" - -browserslist@^4.6.2: - version "4.8.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.2.tgz#b45720ad5fbc8713b7253c20766f701c9a694289" - integrity sha512-+M4oeaTplPm/f1pXDw84YohEv7B1i/2Aisei8s4s6k3QsoSHa7i5sz8u/cGQkkatCPxMASKxPualR4wwYgVboA== - dependencies: - caniuse-lite "^1.0.30001015" - electron-to-chromium "^1.3.322" - node-releases "^1.1.42" - bs58@=2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.0.tgz#72b713bed223a0ac518bbda0e3ce3f4817f39eb5" @@ -4420,10 +3713,10 @@ bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.2: create-hash "^1.1.0" safe-buffer "^5.1.2" -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" @@ -4480,31 +3773,23 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.0.tgz#33294f5c1f26e08461e528b69fa06de3c45cbd8c" - integrity sha512-Xpgy0IwHK2N01ncykXTy6FpCWuM+CJSHoPVBLyNqyrWxsedpLvwsYUhf0ME3WRFNUhos0dMamz9cOS/xRDtU5g== +buffer@5.4.3, buffer@^5.0.5, buffer@^5.2.1: + version "5.4.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" + integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.0.5, buffer@^5.2.1: - version "5.3.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.3.0.tgz#5f9fa5fefe3939888d0fdbf7d964e2a8531fd69c" - integrity sha512-XykNc84nIOC32vZ9euOKbmGAP69JUkXDtBQfLq88c8/6J/gZi/t14A+l/p/9EM2TcT5xNC1MKPCrvO3LVUpVPw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -4531,9 +3816,9 @@ bytes@3.1.0: integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== cacache@^12.0.0, cacache@^12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" - integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== + version "12.0.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== dependencies: bluebird "^3.5.5" chownr "^1.1.1" @@ -4632,7 +3917,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@3.0.x: +camel-case@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= @@ -4683,20 +3968,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000984: - version "1.0.30000989" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" - integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== - -caniuse-lite@^1.0.30000844: - version "1.0.30000999" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" - integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== - -caniuse-lite@^1.0.30001010, caniuse-lite@^1.0.30001015: - version "1.0.30001015" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz#15a7ddf66aba786a71d99626bc8f2b91c6f0f5f0" - integrity sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001023: + version "1.0.30001025" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001025.tgz#30336a8aca7f98618eb3cf38e35184e13d4e5fe6" + integrity sha512-SKyFdHYfXUZf5V85+PJgLYyit27q4wgvZuf8QTOk1osbypcROihMBlx9GRar2/pIcKH2r4OehdlBr9x6PXetAQ== capture-exit@^2.0.0: version "2.0.0" @@ -4710,23 +3985,33 @@ capture-stack-trace@^1.0.0: resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== -case-sensitive-paths-webpack-plugin@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" - integrity sha512-u5ElzokS8A1pm9vM3/iDgTcI3xqHxuCao94Oz8etI3cf0Tio0p8izkDYbTIn09uP3yUUr6+veaE6IkjnTYS46g== +case-sensitive-paths-webpack-plugin@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cashaddrjs@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cashaddrjs/-/cashaddrjs-0.3.8.tgz#fc391bccccef7ec7e0523195a3b1e5df45893bf5" - integrity sha512-gpXj9Qki9noucK0ahPB6dx9A539KQ4TbqKLwl/JsCvD4iLLu1thtoAIDy2hwP6PWg6o1nvK+igsutMA6OvO2Mg== +cashaddrjs@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/cashaddrjs/-/cashaddrjs-0.3.9.tgz#e98078cf61061e0c5c865a95924d06a6b9ced020" + integrity sha512-2FyYuNnIICPsEZvuC0NWNQgw+OFCpGdUyVl9Jmj3sunyH8cHfkaZq7EADKngEO/pI2OOwDvVMQN8k62xev7+aw== dependencies: big-integer "1.6.36" +cbor@^4.1.5: + version "4.3.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-4.3.0.tgz#0217c1cadd067d9112f44336dca07e72020bb804" + integrity sha512-CvzaxQlaJVa88sdtTWvLJ++MbdtPHtZOBBNjm7h3YKUHILMs9nQyD4AC6hvFZy7GBVB3I6bRibJcxeHydyT2IQ== + dependencies: + bignumber.js "^9.0.0" + commander "^3.0.0" + json-text-sequence "^0.1" + nofilter "^1.0.3" + chai@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" @@ -4739,14 +4024,13 @@ chai@^4.2.0: pathval "^1.1.0" type-detect "^4.0.5" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== +chalk@3.0.0, chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" + ansi-styles "^4.1.0" + supports-color "^7.1.0" chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" @@ -4759,13 +4043,14 @@ chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" chardet@^0.7.0: version "0.7.0" @@ -4788,12 +4073,12 @@ chartjs-color-string@^0.6.0: color-name "^1.0.0" chartjs-color@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.3.0.tgz#0e7e1e8dba37eae8415fd3db38bf572007dd958f" - integrity sha512-hEvVheqczsoHD+fZ+tfPUE+1+RbV6b+eksp2LwAhwRTVXEjCSEavvk+Hg3H6SZfGlPh/UfmWKGIvZbtobOEm3g== + version "2.4.1" + resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.4.1.tgz#6118bba202fe1ea79dd7f7c0f9da93467296c3b0" + integrity sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w== dependencies: chartjs-color-string "^0.6.0" - color-convert "^0.5.3" + color-convert "^1.9.3" check-error@^1.0.2: version "1.0.2" @@ -4807,26 +4092,7 @@ checkpoint-store@^1.1.0: dependencies: functional-red-black-tree "^1.0.1" -chokidar@^2.0.2, chokidar@^2.0.4: - version "2.1.6" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" - integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^2.1.8: +chokidar@^2.0.2, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== @@ -4845,10 +4111,25 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" + optionalDependencies: + fsevents "~2.1.2" + chownr@^1.1.1, chownr@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== + version "1.1.3" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" + integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== chrome-trace-event@^1.0.2: version "1.0.2" @@ -4890,10 +4171,10 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@4.2.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== +clean-css@^4.2.1: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== dependencies: source-map "~0.6.0" @@ -4912,14 +4193,7 @@ cli-boxes@^2.2.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: +cli-cursor@^3.0.0, cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== @@ -5032,12 +4306,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" - integrity sha1-vbbGnOZg+t/+CwAHzER+G59ygr0= - -color-convert@^1.9.0, color-convert@^1.9.1: +color-convert@^1.9.0, color-convert@^1.9.1, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -5089,25 +4358,20 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.20.0, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - -commander@2.17.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== +commander@2, commander@^2.11.0, commander@^2.12.1, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^3.0.2: +commander@^3.0.0, commander@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@~2.8.1: version "2.8.1" @@ -5139,11 +4403,11 @@ compose-function@3.0.3: arity-n "^1.0.4" compressible@~2.0.16: - version "2.0.17" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz#6e8c108a16ad58384a977f3a482ca20bff2f38c1" - integrity sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw== + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: - mime-db ">= 1.40.0 < 2" + mime-db ">= 1.43.0 < 2" compression@^1.7.4: version "1.7.4" @@ -5208,11 +4472,9 @@ connect-history-api-fallback@^1.6.0: integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" @@ -5241,7 +4503,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@1.7.0, convert-source-map@^1.7.0: +convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -5253,13 +4515,6 @@ convert-source-map@^0.3.3: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -5292,28 +4547,28 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" - integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== +core-js-compat@^3.6.2: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" + integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== dependencies: - browserslist "^4.6.6" - semver "^6.3.0" + browserslist "^4.8.3" + semver "7.0.0" -core-js@^2.4.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== +core-js-pure@^3.0.0: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" + integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== -core-js@^2.5.0: - version "2.6.10" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f" - integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA== +core-js@^2.4.0, core-js@^2.5.0: + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== -core-js@^3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.4.7.tgz#57c35937da80fe494fbc3adcf9cf3dc00eb86b34" - integrity sha512-qaPVGw30J1wQ0GR3GvoPqlGf9GZfKKF4kFC7kiHlcsPTqH3txrs9crCp3ZiMAXuSenhz89Jnl4GZs/67S5VOSg== +core-js@^3.5.0: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" + integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -5328,7 +4583,7 @@ cors@^2.8.1: object-assign "^4" vary "^1" -cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: +cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -5395,16 +4650,14 @@ cross-fetch@^2.1.0, cross-fetch@^2.1.1: node-fetch "2.1.2" whatwg-fetch "2.0.4" -cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== +cross-spawn@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" + integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" cross-spawn@^3.0.0: version "3.0.1" @@ -5423,6 +4676,17 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + crypto-browserify@3.12.0, crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -5473,23 +4737,23 @@ css-has-pseudo@^0.10.0: postcss "^7.0.6" postcss-selector-parser "^5.0.0-rc.4" -css-loader@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.2.0.tgz#bb570d89c194f763627fcf1f80059c6832d009b2" - integrity sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ== +css-loader@3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" + integrity sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA== dependencies: camelcase "^5.3.1" cssesc "^3.0.0" icss-utils "^4.1.1" loader-utils "^1.2.3" normalize-path "^3.0.0" - postcss "^7.0.17" + postcss "^7.0.23" postcss-modules-extract-imports "^2.0.0" postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.1.0" + postcss-modules-scope "^2.1.1" postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.0" - schema-utils "^2.0.0" + postcss-value-parser "^4.0.2" + schema-utils "^2.6.0" css-prefers-color-scheme@^3.1.1: version "3.1.1" @@ -5514,41 +4778,38 @@ css-select@^1.1.0: nth-check "~1.0.1" css-select@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" - integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== dependencies: boolbase "^1.0.0" - css-what "^2.1.2" + css-what "^3.2.1" domutils "^1.7.0" nth-check "^1.0.2" -css-tree@1.0.0-alpha.29: - version "1.0.0-alpha.29" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" - integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== - dependencies: - mdn-data "~1.1.0" - source-map "^0.5.3" - -css-tree@1.0.0-alpha.33: - version "1.0.0-alpha.33" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" - integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== dependencies: mdn-data "2.0.4" - source-map "^0.5.3" + source-map "^0.6.1" css-unit-converter@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= -css-what@2.1, css-what@^2.1.2: +css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== +css-what@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" + integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== + css@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -5642,12 +4903,12 @@ cssnano@^4.1.10: is-resolvable "^1.0.0" postcss "^7.0.0" -csso@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" - integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== +csso@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d" + integrity sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg== dependencies: - css-tree "1.0.0-alpha.29" + css-tree "1.0.0-alpha.37" cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: version "0.3.8" @@ -5661,15 +4922,10 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: dependencies: cssom "0.3.x" -csstype@^2.2.0, csstype@^2.5.7: - version "2.6.6" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" - integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== - -csstype@^2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" - integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== +csstype@^2.2.0, csstype@^2.5.7, csstype@^2.6.7: + version "2.6.8" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.8.tgz#0fb6fc2417ffd2816a418c9336da74d7f07db431" + integrity sha512-msVS9qTuMT5zwAGCVm4mxfrZ18BNc6Csd0oJAtiFMZ1FAx1CCvy2+5MDmYoix63LM/6NDbNtodCiGYGmFgO0dA== currently-unhandled@^0.4.1: version "0.4.1" @@ -5678,10 +4934,10 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= d3-array@1: version "1.2.4" @@ -5705,13 +4961,13 @@ d3-geo@1.6.3: d3-array "1" d3-geo@^1.1.0: - version "1.11.6" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.6.tgz#134f2ef035ff75a448075fafdea92702a2e0e0cf" - integrity sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA== + version "1.11.9" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.9.tgz#77eaed14ba62fc2c0aef55cd2943849c866f7ae6" + integrity sha512-9edcH6J3s/Aa3KJITWqFJbyB/8q3mMlA9Fi7z6yy+FAYMnRaxmC7jBhUnsINxVWD14GmqX3DK8uk7nV6/Ekt4A== dependencies: d3-array "1" -d@1: +d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== @@ -5720,9 +4976,9 @@ d@1: type "^1.0.1" damerau-levenshtein@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" - integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== + version "1.0.6" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" + integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== "darknode-sol@https://github.com/renproject/darknode-sol#e9e7357e3e8d6e30bbd03a72eaaefdcb9a0e6ad7": version "0.0.3" @@ -5736,6 +4992,13 @@ damerau-levenshtein@^1.0.4: dependencies: openzeppelin-solidity "2.3.0" +"darknode-sol@https://github.com/renproject/darknode-sol#ff7d0a442a52ae7990e0ee21a51b037c47450448": + version "0.0.3" + resolved "https://github.com/renproject/darknode-sol#ff7d0a442a52ae7990e0ee21a51b037c47450448" + dependencies: + "@openzeppelin/upgrades" "^2.6.0" + openzeppelin-solidity "2.4.0" + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -5752,11 +5015,6 @@ data-urls@^1.0.0, data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -5771,7 +5029,7 @@ debug@3.1.0, debug@=3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" -debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: +debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -5862,10 +5120,17 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-equal@^1.0.1, deep-equal@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= +deep-equal@^1.0.1, deep-equal@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" deep-extend@^0.6.0: version "0.6.0" @@ -5886,9 +5151,9 @@ default-gateway@^4.2.0: ip-regex "^2.1.0" defer-to-connect@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.0.2.tgz#4bae758a314b034ae33902b5aac25a8dd6a8633e" - integrity sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw== + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== deferred-leveldown@~1.2.1: version "1.2.2" @@ -5954,15 +5219,20 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +delimit-stream@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/delimit-stream/-/delimit-stream-0.1.0.tgz#9b8319477c0e5f8aeb3ce357ae305fc25ea1cd2b" + integrity sha1-m4MZR3wOX4rrPONXrjBfwl6hzSs= + depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" @@ -5979,11 +5249,6 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -6008,9 +5273,9 @@ diff-sequences@^24.9.0: integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== diff@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" - integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== diffie-hellman@^5.0.0: version "5.0.3" @@ -6094,9 +5359,9 @@ dom-helpers@^5.0.1: csstype "^2.6.7" dom-serializer@0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" - integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== dependencies: domelementtype "^2.0.1" entities "^2.0.0" @@ -6168,6 +5433,13 @@ dotenv@8.2.0, dotenv@^8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dotignore@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" + integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== + dependencies: + minimatch "^3.0.4" + drbg.js@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" @@ -6218,20 +5490,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.191: - version "1.3.224" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.224.tgz#511abb2829a58c5ddb36c319094fe936bc82e3cd" - integrity sha512-vTH9UcMbi53x/pZKQrEcD83obE8agqQwUIx/G03/mpE1vzLm0KA3cHwuZXCysvxI1gXfNjV7Nu7Vjtp89kDzmg== - -electron-to-chromium@^1.3.306, electron-to-chromium@^1.3.322: - version "1.3.322" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.322.tgz#a6f7e1c79025c2b05838e8e344f6e89eb83213a8" - integrity sha512-Tc8JQEfGQ1MzfSzI/bTlSr7btJv/FFO7Yh6tanqVmIWOuNCu6/D1MilIEgLtmWqIrsv+o4IjpLAhgMBr/ncNAA== - -electron-to-chromium@^1.3.47: - version "1.3.284" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.284.tgz#b24359fa4f49b3a7c52afc005d59ec3aa9f6796e" - integrity sha512-duOA4IWKH4R8ttiE8q/7xfg6eheRvMKlGqOOcGlDukdHEDJ26Wf7cMrCiK9Am11mswR6E/a23jXVA4UPDthTIw== +electron-to-chromium@^1.3.341, electron-to-chromium@^1.3.47: + version "1.3.345" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.345.tgz#2569d0d54a64ef0f32a4b7e8c80afa5fe57c5d98" + integrity sha512-f8nx53+Z9Y+SPWGg3YdHrbYYfIJAtbUjpFfW4X1RwTZ94iUG7geg9tV8HqzAXX7XTNgyWgAFvce4yce8ZKxKmg== elliptic@6.3.3: version "6.3.3" @@ -6243,6 +5505,19 @@ elliptic@6.3.3: hash.js "^1.0.0" inherits "^2.0.1" +elliptic@6.5.2, elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" + integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + elliptic@=3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-3.0.3.tgz#865c9b420bfbe55006b9f969f97a0d2c44966595" @@ -6266,19 +5541,6 @@ elliptic@=6.4.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" - integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -6307,19 +5569,19 @@ encoding@^0.1.11: iconv-lite "~0.4.13" end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + version "4.1.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" + integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== dependencies: graceful-fs "^4.1.2" - memory-fs "^0.4.0" + memory-fs "^0.5.0" tapable "^1.0.0" entities@^1.1.1: @@ -6351,51 +5613,40 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.13.0, es-abstract@^1.5.1, es-abstract@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-abstract@^1.5.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz#8884928ec7e40a79e3c9bc812d37d10c8b24cc57" - integrity sha512-bhkEqWJ2t2lMeaJDuk7okMkJWI/yqgH/EoGwpcvv0XW9RWQsRspI4wt6xuyuvMvvQE3gg/D9HXppgk21w78GyQ== +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: + version "1.17.4" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184" + integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ== dependencies: - es-to-primitive "^1.2.0" + es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.0" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-inspect "^1.6.0" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" object-keys "^1.1.1" - string.prototype.trimleft "^2.1.0" - string.prototype.trimright "^2.1.0" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14: - version "0.10.50" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" - integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== dependencies: es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "^1.0.0" + es6-symbol "~3.1.3" + next-tick "~1.0.0" es6-iterator@2.0.3, es6-iterator@~2.0.3: version "2.0.3" @@ -6418,93 +5669,99 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== dependencies: - d "1" - es5-ext "~0.10.14" + d "^1.0.1" + ext "^1.1.2" escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@^1.11.0, escodegen@^1.9.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== + version "1.13.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.13.0.tgz#c7adf9bd3f3cc675bb752f202f79a720189cab29" + integrity sha512-eYk2dCkxR07DsHA/X2hRBj0CFAZeri/LyDMc0C8JT1Hqi6JnVpMhJ7XFITbb0+yZS3lVkaPL2oCkZ3AVmeVbMw== dependencies: - esprima "^3.1.3" + esprima "^4.0.1" estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" -eslint-config-react-app@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.1.0.tgz#a37b3f2d4f56f856f93277281ef52bd791273e63" - integrity sha512-hBaxisHC6HXRVvxX+/t1n8mOdmCVIKgkXsf2WoUkJi7upHJTwYTsdCmx01QPOjKNT34QMQQ9sL0tVBlbiMFjxA== +eslint-config-react-app@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.0.tgz#135110ba56a9e378f7acfe5f36e2ae76a2317899" + integrity sha512-WrHjoGpKr1kLLiWDD81tme9jMM0hk5cMxasLSdyno6DdPt+IfLOrDJBVo6jN7tn4y1nzhs43TmUaZWO6Sf0blw== dependencies: confusing-browser-globals "^1.0.9" eslint-import-resolver-node@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + version "0.3.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404" + integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== dependencies: debug "^2.6.9" - resolve "^1.5.0" + resolve "^1.13.1" -eslint-loader@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz#5a627316a51d6f41d357b9f6f0554e91506cdd6e" - integrity sha512-S5VnD+UpVY1PyYRqeBd/4pgsmkvSokbHqTXAQMpvCyRr3XN2tvSLo9spm2nEpqQqh9dezw3os/0zWihLeOg2Rw== +eslint-loader@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.3.tgz#e018e3d2722381d982b1201adb56819c73b480ca" + integrity sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw== dependencies: fs-extra "^8.1.0" loader-fs-cache "^1.0.2" loader-utils "^1.2.3" - object-hash "^1.3.1" - schema-utils "^2.2.0" + object-hash "^2.0.1" + schema-utils "^2.6.1" -eslint-module-utils@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" - integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== +eslint-module-utils@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz#7878f7504824e1b857dd2505b59a8e5eda26a708" + integrity sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q== dependencies: - debug "^2.6.8" + debug "^2.6.9" pkg-dir "^2.0.0" -eslint-plugin-flowtype@3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" - integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== +eslint-plugin-flowtype@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz#82b2bd6f21770e0e5deede0228e456cb35308451" + integrity sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ== dependencies: lodash "^4.17.15" -eslint-plugin-import@2.18.2: - version "2.18.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" - integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== +eslint-plugin-import@2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.0.tgz#d749a7263fb6c29980def8e960d380a6aa6aecaa" + integrity sha512-NK42oA0mUc8Ngn4kONOPsPB1XhbUvNHqF+g307dPV28aknPoiNnKLFd9em4nkswwepdF5ouieqv5Th/63U7YJQ== dependencies: array-includes "^3.0.3" + array.prototype.flat "^1.2.1" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.4.0" + eslint-module-utils "^2.4.1" has "^1.0.3" minimatch "^3.0.4" object.values "^1.1.0" read-pkg-up "^2.0.0" - resolve "^1.11.0" + resolve "^1.12.0" eslint-plugin-jsx-a11y@6.2.3: version "6.2.3" @@ -6526,20 +5783,20 @@ eslint-plugin-react-hooks@^1.6.1: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== -eslint-plugin-react@7.16.0: - version "7.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz#9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09" - integrity sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug== +eslint-plugin-react@7.18.0: + version "7.18.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.18.0.tgz#2317831284d005b30aff8afb7c4e906f13fa8e7e" + integrity sha512-p+PGoGeV4SaZRDsXqdj9OWcOrOpZn8gXoGPcIQTzo2IDMbAKhNDnME9myZWqO3Ic4R3YmwAZ1lDjWl2R2hMUVQ== dependencies: - array-includes "^3.0.3" + array-includes "^3.1.1" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.2.1" - object.entries "^1.1.0" - object.fromentries "^2.0.0" - object.values "^1.1.0" + jsx-ast-utils "^2.2.3" + object.entries "^1.1.1" + object.fromentries "^2.0.2" + object.values "^1.1.1" prop-types "^15.7.2" - resolve "^1.12.0" + resolve "^1.14.2" eslint-scope@^4.0.3: version "4.0.3" @@ -6564,20 +5821,15 @@ eslint-utils@^1.4.3: dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== - -eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== eslint@^6.6.0: - version "6.7.2" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.7.2.tgz#c17707ca4ad7b2d8af986a33feba71e18a9fecd1" - integrity sha512-qMlSWJaCSxDFr8fBPvJM9kJwbazrhNcBU3+DszDW1OlEwKBBRWsJc7NJFelvwQpanHCR14cOLD41x8Eqvo3Nng== + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -6626,12 +5878,7 @@ espree@^6.1.2: acorn-jsx "^5.1.0" eslint-visitor-keys "^1.1.0" -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -6651,9 +5898,9 @@ esrecurse@^4.1.0: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== esutils@^2.0.0, esutils@^2.0.2: version "2.0.3" @@ -6724,7 +5971,7 @@ eth-lib@0.2.7: elliptic "^6.4.0" xhr-request-promise "^0.1.2" -eth-lib@0.2.8: +eth-lib@0.2.8, eth-lib@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== @@ -6734,13 +5981,12 @@ eth-lib@0.2.8: xhr-request-promise "^0.1.2" eth-lib@^0.1.26: - version "0.1.27" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" - integrity sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA== + version "0.1.29" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" + integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== dependencies: bn.js "^4.11.6" elliptic "^6.4.0" - keccakjs "^0.2.1" nano-json-stream-parser "^0.1.2" servify "^0.1.12" ws "^3.0.0" @@ -6828,25 +6074,20 @@ ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: merkle-patricia-tree "^2.1.2" ethereumjs-block@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.0.tgz#8c6c3ab4a5eff0a16d9785fbeedbe643f4dbcbef" - integrity sha512-Ye+uG/L2wrp364Zihdlr/GfC3ft+zG8PdHcRtsBFNNH1CkOhxOwdB8friBU85n89uRZ9eIMAywCq0F4CwT1wAw== + version "2.2.2" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" + integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== dependencies: async "^2.0.1" - ethereumjs-common "^1.1.0" - ethereumjs-tx "^1.2.2" + ethereumjs-common "^1.5.0" + ethereumjs-tx "^2.1.1" ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" -ethereumjs-common@^1.1.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.3.2.tgz#5a20831e52199a31ff4b68ef361e34c05c976ed0" - integrity sha512-GkltYRIqBLzaZLmF/K3E+g9lZ4O4FL+TtpisAlD3N+UVlR+mrtoG+TvxavqVa6PwOY4nKIEMe5pl6MrTio3Lww== - -ethereumjs-common@^1.3.1, ethereumjs-common@^1.3.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.4.0.tgz#a940685f88f3c2587e4061630fe720b089c965b8" - integrity sha512-ser2SAplX/YI5W2AnzU8wmSjKRy4KQd4uxInJ36BzjS3m18E/B9QedPUIresZN1CSEQb/RgNQ2gN7C/XbpTafA== +ethereumjs-common@^1.1.0, ethereumjs-common@^1.3.2, ethereumjs-common@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz#d3e82fc7c47c0cef95047f431a99485abc9bb1cd" + integrity sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ== ethereumjs-tx@^1.0.0, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.7: version "1.3.7" @@ -6857,11 +6098,11 @@ ethereumjs-tx@^1.0.0, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@ ethereumjs-util "^5.0.0" ethereumjs-tx@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz#7d204e2b319156c9bc6cec67e9529424a26e8ccc" - integrity sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA== + version "2.1.2" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" + integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== dependencies: - ethereumjs-common "^1.3.1" + ethereumjs-common "^1.5.0" ethereumjs-util "^6.0.0" ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5: @@ -6877,20 +6118,7 @@ ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereum safe-buffer "^5.1.1" secp256k1 "^3.0.1" -ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" - integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "0.1.6" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - -ethereumjs-util@^6.2.0: +ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0, ethereumjs-util@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz#23ec79b2488a7d041242f01e25f24e5ad0357960" integrity sha512-vb0XN9J2QGdZGIEKG2vXM+kUdEivUfU6Wmi5y0cg+LRhDYKnXIZ/Lz7XjFbHRR9VIKq2lVGLzGBkA++y2nOdOQ== @@ -6951,31 +6179,14 @@ ethers@4.0.0-beta.3: uuid "2.0.1" xmlhttprequest "1.8.0" -ethers@^4.0.27: - version "4.0.33" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.33.tgz#f7b88d2419d731a39aefc37843a3f293e396f918" - integrity sha512-lAHkSPzBe0Vj+JrhmkEHLtUEKEheVktIjGDyE9gbzF4zf1vibjYgB57LraDHu4/ItqWVkztgsm8GWqcDMN+6vQ== - dependencies: - "@types/node" "^10.3.2" - aes-js "3.0.0" - bn.js "^4.4.0" - elliptic "6.3.3" - hash.js "1.1.3" - js-sha3 "0.5.7" - scrypt-js "2.0.4" - setimmediate "1.0.4" - uuid "2.0.1" - xmlhttprequest "1.8.0" - -ethers@^4.0.32: - version "4.0.39" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.39.tgz#5ce9dfffedb03936415743f63b37d96280886a47" - integrity sha512-QVtC8TTUgTrnlQjQvdFJ7fkSWKwp8HVTbKRmrdbVryrPzJHMTf3WSeRNvLF2enGyAFtyHJyFNnjN0fSshcEr9w== +ethers@^4.0.20, ethers@^4.0.27: + version "4.0.44" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.44.tgz#f2608cbc0b4d099b7e10a01c0efc3a1037013b4e" + integrity sha512-kCkMPkpYjBkxzqjcuYUfDY7VHDbf5EXnfRPUOazdqdf59SvXaT+w5lgauxLlk1UjxnAiNfeNS87rkIXnsTaM7Q== dependencies: - "@types/node" "^10.3.2" aes-js "3.0.0" bn.js "^4.4.0" - elliptic "6.3.3" + elliptic "6.5.2" hash.js "1.1.3" js-sha3 "0.5.7" scrypt-js "2.0.4" @@ -7004,7 +6215,7 @@ eventemitter3@3.1.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" integrity sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA== -eventemitter3@3.1.2, eventemitter3@^3.0.0: +eventemitter3@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== @@ -7015,9 +6226,9 @@ eventemitter3@^4.0.0: integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" + integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== eventsource@^1.0.7: version "1.0.7" @@ -7035,9 +6246,9 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: safe-buffer "^5.1.1" exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== execa@^0.7.0: version "0.7.0" @@ -7131,6 +6342,13 @@ express@^4.14.0, express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -7191,10 +6409,10 @@ fake-merkle-patricia-tree@^1.0.1: dependencies: checkpoint-store "^1.1.0" -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== fast-diff@^1.2.0: version "1.2.0" @@ -7214,11 +6432,11 @@ fast-glob@^2.0.2: micromatch "^3.1.10" fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.4, fast-levenshtein@~2.0.6: +fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -7238,11 +6456,11 @@ faye-websocket@~0.11.1: websocket-driver ">=0.5.1" fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== dependencies: - bser "^2.0.0" + bser "2.1.1" fd-slicer@~1.1.0: version "1.1.0" @@ -7263,17 +6481,10 @@ figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - figures@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.0.0.tgz#756275c964646163cc6f9197c7a0295dbfd04de9" - integrity sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g== + version "3.1.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" + integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== dependencies: escape-string-regexp "^1.0.5" @@ -7312,16 +6523,11 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -filesize@*, filesize@^6.0.1: +filesize@*, filesize@6.0.1, filesize@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" integrity sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg== -filesize@3.6.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -7332,6 +6538,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" @@ -7363,10 +6576,10 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-cache-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.1.0.tgz#9935894999debef4cf9f677fdf646d002c4cdecb" - integrity sha512-zw+EFiNBNPgI2NTrKkDd1xd7q0cs6wr/iWnr/oUkI0yF9K9GqQ+riIt4aiyFaaqpaWbxPrJXHI+QvmNUQbX+0Q== +find-cache-dir@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.2.0.tgz#e7fe44c1abc1299f516146e563108fd1006c1874" + integrity sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg== dependencies: commondir "^1.0.1" make-dir "^3.0.0" @@ -7377,13 +6590,6 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@4.1.0, find-up@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -7407,6 +6613,13 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find-yarn-workspace-root@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" @@ -7430,9 +6643,9 @@ flatted@^2.0.0: integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== flush-write-stream@^1.0.0: version "1.1.1" @@ -7450,13 +6663,13 @@ follow-redirects@1.5.10: debug "=3.1.0" follow-redirects@^1.0.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" - integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== + version "1.10.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.10.0.tgz#01f5263aee921c6a54fb91667f08f4155ce169eb" + integrity sha512-4eyLK6s6lH32nOvLLwlIOnr9zrL8Sm+OvW4pVTJNoXeGzYIkHVf+pADQi+OJ0E67hiuSLezPVPyBcIZO50TmmQ== dependencies: - debug "^3.2.6" + debug "^3.0.0" -for-each@^0.3.3, for-each@~0.3.3: +for-each@~0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== @@ -7485,14 +6698,14 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -fork-ts-checker-webpack-plugin@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.0.tgz#fb411a4b2c3697e1cd7f83436d4feeacbcc70c7b" - integrity sha512-6OkRfjuNMNqb14f01xokcWcKV5Ekknc2FvziNpcTYru+kxIYFA2MtuuBI19MHThZnjSBhoi35Dcq+I0oUkFjmQ== +fork-ts-checker-webpack-plugin@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" + integrity sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ== dependencies: babel-code-frame "^6.22.0" chalk "^2.4.1" - chokidar "^2.0.4" + chokidar "^3.3.0" micromatch "^3.1.10" minimatch "^3.0.4" semver "^5.6.0" @@ -7566,16 +6779,16 @@ fs-extra@^8.1.0: universalify "^0.1.0" fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== dependencies: - minipass "^2.2.1" + minipass "^2.6.0" fs-minipass@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.0.0.tgz#a6415edab02fae4b9e9230bc87ee2e4472003cd1" - integrity sha512-40Qz+LFXmd9tzYVnnBmZvFfvAADfUA14TXPK1s7IfElJTIZ97rA8w4Kin7Wt5JBrC3ShnnFJO/5vPjPEeJIq9A== + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== dependencies: minipass "^3.0.0" @@ -7594,18 +6807,18 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@2.1.2: +fsevents@2.1.2, fsevents@~2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + version "1.2.11" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.11.tgz#67bf57f4758f02ede88fb2a1712fef4d15358be3" + integrity sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw== dependencies: + bindings "^1.5.0" nan "^2.12.1" - node-pre-gyp "^0.12.0" fstream@^1.0.0, fstream@^1.0.12: version "1.0.12" @@ -7617,7 +6830,7 @@ fstream@^1.0.0, fstream@^1.0.12: mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.0.2, function-bind@^1.1.1, function-bind@~1.1.1: +function-bind@^1.1.1, function-bind@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== @@ -7653,6 +6866,11 @@ genfun@^5.0.0: resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -7669,9 +6887,9 @@ get-func-name@^2.0.0: integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= get-own-enumerable-property-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" - integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== get-stdin@^4.0.1: version "4.0.1" @@ -7730,10 +6948,10 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" - integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== dependencies: is-glob "^4.0.1" @@ -7742,19 +6960,7 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1, glob@~7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.6: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1, glob@~7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -7839,9 +7045,9 @@ globby@^6.1.0: pinkie-promise "^2.0.0" globule@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" - integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.0.tgz#41d0e9fb44afd4b80d93a23263714f90b3dec904" + integrity sha512-YlD4kdMqRCQHrhVdonet4TdRtv1/sZKepvoxNT4Nrhrp5HI8XFfc8kFlGlBn2myBo80aGp8Eft259mbcUJhgSg== dependencies: glob "~7.1.1" lodash "~4.17.10" @@ -7901,17 +7107,7 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.1" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" - integrity sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw== - -graceful-fs@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== - -graceful-fs@^4.2.2: +graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== @@ -7944,17 +7140,6 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== -handlebars@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" - integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== - dependencies: - neo-async "^2.6.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -7995,10 +7180,10 @@ has-symbol-support-x@^1.4.1: resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== has-to-string-tag-x@^1.2.0: version "1.4.1" @@ -8048,7 +7233,7 @@ has-yarn@^2.1.0: resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== -has@^1.0.0, has@^1.0.1, has@^1.0.3, has@~1.0.3: +has@^1.0.0, has@^1.0.3, has@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -8088,7 +7273,7 @@ hdkey@^1.1.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" -he@1.2.x: +he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -8098,7 +7283,7 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -history@^4.10.1: +history@^4.10.1, history@^4.9.0: version "4.10.1" resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== @@ -8110,18 +7295,6 @@ history@^4.10.1: tiny-warning "^1.0.0" value-equal "^1.0.1" -history@^4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz#84587c2068039ead8af769e9d6a6860a14fa1bca" - integrity sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA== - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^2.2.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^0.4.0" - hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -8132,9 +7305,9 @@ hmac-drbg@^1.0.0: minimalistic-crypto-utils "^1.0.1" hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" - integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" @@ -8146,10 +7319,10 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== +hosted-git-info@^2.1.4, hosted-git-info@^2.6.0, hosted-git-info@^2.7.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== hpack.js@^2.1.6: version "2.1.6" @@ -8188,29 +7361,34 @@ html-entities@^1.2.1: resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" integrity sha1-DfKTUfByEWNRXfueVUPl9u7VFi8= -html-minifier@^3.5.20: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - -html-webpack-plugin@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513" - integrity sha512-y5l4lGxOW3pz3xBTFdfB9rnnrWRPVxlAhX6nrBYIcW+2k2zC3mSp/3DxlWVCMBfnO6UAnoF8OcFn0IMy6kaKAQ== - dependencies: - html-minifier "^3.5.20" - loader-utils "^1.1.0" - lodash "^4.17.11" +html-escaper@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" + integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== + +html-minifier-terser@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.2.tgz#0e67a0b062ae1dd0719fc73199479298f807ae16" + integrity sha512-VAaitmbBuHaPKv9bj47XKypRhgDxT/cDLvsPiiF7w+omrN3K0eQhpigV9Z1ilrmHa9e0rOYcD6R/+LCDADGcnQ== + dependencies: + camel-case "^3.0.0" + clean-css "^4.2.1" + commander "^4.0.0" + he "^1.2.0" + param-case "^2.1.1" + relateurl "^0.2.7" + terser "^4.3.9" + +html-webpack-plugin@4.0.0-beta.11: + version "4.0.0-beta.11" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz#3059a69144b5aecef97708196ca32f9e68677715" + integrity sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg== + dependencies: + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.15" pretty-error "^2.1.1" - tapable "^1.1.0" + tapable "^1.1.3" util.promisify "1.0.0" htmlparser2@^3.3.0: @@ -8301,11 +7479,11 @@ http-proxy-middleware@0.19.1: micromatch "^3.1.10" http-proxy@^1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a" - integrity sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g== + version "1.18.0" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" + integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== dependencies: - eventemitter3 "^3.0.0" + eventemitter3 "^4.0.0" follow-redirects "^1.0.0" requires-port "^1.0.0" @@ -8323,10 +7501,10 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-proxy-agent@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz#271ea8e90f836ac9f119daccd39c19ff7dfb0793" - integrity sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg== +https-proxy-agent@^2.2.3: + version "2.2.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== dependencies: agent-base "^4.3.0" debug "^3.1.0" @@ -8338,7 +7516,7 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -8377,9 +7555,9 @@ iferr@^0.1.5: integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== dependencies: minimatch "^3.0.4" @@ -8428,15 +7606,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" - integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-fresh@^3.1.0: +import-fresh@^3.0.0, import-fresh@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== @@ -8524,29 +7694,10 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" - integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== +inquirer@7.0.4, inquirer@^7.0.0: + version "7.0.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" + integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== dependencies: ansi-escapes "^4.2.1" chalk "^2.4.2" @@ -8557,7 +7708,7 @@ inquirer@^7.0.0: lodash "^4.17.15" mute-stream "0.0.8" run-async "^2.2.0" - rxjs "^6.4.0" + rxjs "^6.5.3" string-width "^4.1.0" strip-ansi "^5.1.0" through "^2.3.6" @@ -8592,7 +7743,7 @@ ip-regex@^2.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip@^1.1.0, ip@^1.1.5: +ip@1.1.5, ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -8631,6 +7782,11 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -8648,20 +7804,27 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-buffer@^1.0.2, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== is-buffer@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== -is-callable@^1.1.3, is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== is-ci@^1.0.10: version "1.2.1" @@ -8704,9 +7867,9 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== is-descriptor@^0.1.0: version "0.1.6" @@ -8794,7 +7957,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -8836,6 +7999,11 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -8901,12 +8069,12 @@ is-redirect@^1.0.0: resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +is-regex@^1.0.4, is-regex@^1.0.5, is-regex@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" + integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== dependencies: - has "^1.0.1" + has "^1.0.3" is-regexp@^1.0.0: version "1.0.0" @@ -8919,9 +8087,9 @@ is-resolvable@^1.0.0: integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== is-root@2.1.0: version "2.1.0" @@ -8933,6 +8101,11 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + is-svg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" @@ -8941,11 +8114,11 @@ is-svg@^3.0.0: html-comment-regex "^1.1.0" is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== dependencies: - has-symbols "^1.0.0" + has-symbols "^1.0.1" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" @@ -8967,11 +8140,6 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -is-wsl@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" - integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== - is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" @@ -9053,11 +8221,11 @@ istanbul-lib-source-maps@^3.0.1: source-map "^0.6.1" istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== + version "2.2.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== dependencies: - handlebars "^4.1.2" + html-escaper "^2.0.0" isurl@^1.0.0-alpha5: version "1.0.0" @@ -9129,9 +8297,9 @@ jest-diff@^24.3.0, jest-diff@^24.9.0: pretty-format "^24.9.0" jest-docblock@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" - integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== dependencies: detect-newline "^2.1.0" @@ -9146,14 +8314,17 @@ jest-each@^24.9.0: jest-util "^24.9.0" pretty-format "^24.9.0" -jest-environment-jsdom-fourteen@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc" - integrity sha512-4vtoRMg7jAstitRzL4nbw83VmGH8Rs13wrND3Ud2o1fczDhMUF32iIrNKwYGgeOPUdfvZU4oy8Bbv+ni1fgVCA== +jest-environment-jsdom-fourteen@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-1.0.1.tgz#4cd0042f58b4ab666950d96532ecb2fc188f96fb" + integrity sha512-DojMX1sY+at5Ep+O9yME34CdidZnO3/zfPh8UW+918C5fIZET5vCjfkegixmsi7AtdYfkr4bPlIzmWnlvQkP7Q== dependencies: - jest-mock "^24.5.0" - jest-util "^24.5.0" - jsdom "^14.0.0" + "@jest/environment" "^24.3.0" + "@jest/fake-timers" "^24.3.0" + "@jest/types" "^24.3.0" + jest-mock "^24.0.0" + jest-util "^24.0.0" + jsdom "^14.1.0" jest-environment-jsdom@^24.9.0: version "24.9.0" @@ -9242,20 +8413,6 @@ jest-matcher-utils@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-message-util@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" - integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - jest-message-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" @@ -9270,14 +8427,7 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^24.5.0, jest-mock@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" - integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A== - dependencies: - "@jest/types" "^24.8.0" - -jest-mock@^24.9.0: +jest-mock@^24.0.0, jest-mock@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== @@ -9289,12 +8439,7 @@ jest-pnp-resolver@^1.2.1: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== -jest-regex-util@^24.3.0: - version "24.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" - integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== - -jest-regex-util@^24.9.0: +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== @@ -9397,25 +8542,7 @@ jest-snapshot@^24.9.0: pretty-format "^24.9.0" semver "^6.2.0" -jest-util@^24.5.0, jest-util@^24.8.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" - integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA== - dependencies: - "@jest/console" "^24.7.1" - "@jest/fake-timers" "^24.8.0" - "@jest/source-map" "^24.3.0" - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-util@^24.9.0: +jest-util@^24.0.0, jest-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== @@ -9458,20 +8585,7 @@ jest-watch-typeahead@0.4.2: string-length "^3.1.0" strip-ansi "^5.0.0" -jest-watcher@^24.3.0: - version "24.8.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" - integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw== - dependencies: - "@jest/test-result" "^24.8.0" - "@jest/types" "^24.8.0" - "@types/yargs" "^12.0.9" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.8.0" - string-length "^2.0.0" - -jest-watcher@^24.9.0: +jest-watcher@^24.3.0, jest-watcher@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== @@ -9484,15 +8598,7 @@ jest-watcher@^24.9.0: jest-util "^24.9.0" string-length "^2.0.0" -jest-worker@^24.6.0: - version "24.6.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" - integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== - dependencies: - merge-stream "^1.0.1" - supports-color "^6.1.0" - -jest-worker@^24.9.0: +jest-worker@^24.6.0, jest-worker@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== @@ -9500,6 +8606,14 @@ jest-worker@^24.9.0: merge-stream "^2.0.0" supports-color "^6.1.0" +jest-worker@^25.1.0: + version "25.1.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.1.0.tgz#75d038bad6fdf58eba0d2ec1835856c497e3907a" + integrity sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg== + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + jest@24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" @@ -9518,21 +8632,11 @@ js-base64@^2.1.8: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - js-sha3@0.5.7, js-sha3@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= -js-sha3@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.6.1.tgz#5b89f77a7477679877f58c4a075240934b1f95c0" - integrity sha1-W4n3enR3Z5h39YxKB1JAk0sflcA= - js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -9593,7 +8697,7 @@ jsdom@^11.5.1: ws "^5.2.0" xml-name-validator "^3.0.0" -jsdom@^14.0.0: +jsdom@^14.1.0: version "14.1.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng== @@ -9708,6 +8812,13 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= +json-text-sequence@^0.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.1.1.tgz#a72f217dc4afc4629fff5feb304dc1bd51a2f3d2" + integrity sha1-py8hfcSvxGKf/1/rME3BvVGi89I= + dependencies: + delimit-stream "0.1.0" + json3@^3.3.2: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" @@ -9726,9 +8837,9 @@ json5@^1.0.1: minimist "^1.2.0" json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== dependencies: minimist "^1.2.0" @@ -9764,10 +8875,10 @@ jssha@2.3.1: resolved "https://registry.yarnpkg.com/jssha/-/jssha-2.3.1.tgz#147b2125369035ca4b2f7d210dc539f009b3de9a" integrity sha1-FHshJTaQNcpLL30hDcU58Amz3po= -jsx-ast-utils@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" - integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== +jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" + integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== dependencies: array-includes "^3.0.3" object.assign "^4.1.0" @@ -9792,14 +8903,6 @@ keccak@^2.0.0: nan "^2.14.0" safe-buffer "^5.2.0" -keccakjs@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.3.tgz#5e4e969ce39689a3861f445d7752ee3477f9fe72" - integrity sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg== - dependencies: - browserify-sha3 "^0.0.4" - sha3 "^1.2.2" - keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -9839,9 +8942,9 @@ kind-of@^5.0.0: integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== klaw-sync@^6.0.0: version "6.0.0" @@ -9961,6 +9064,13 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== + dependencies: + leven "^3.1.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -10078,11 +9188,101 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= +lodash.concat@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.concat/-/lodash.concat-4.5.0.tgz#b053ae02e4a8008582e7256b9d02bda6d0380395" + integrity sha1-sFOuAuSoAIWC5yVrnQK9ptA4A5U= + +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= + +lodash.every@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.every/-/lodash.every-4.6.0.tgz#eb89984bebc4364279bb3aefbbd1ca19bfa6c6a7" + integrity sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc= + +lodash.findlast@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.findlast/-/lodash.findlast-4.6.0.tgz#ea8bb78cf2e7e7804fc8aeb7d1953e07fe31fbc8" + integrity sha1-6ou3jPLn54BPyK630ZU+B/4x+8g= + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + +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.invertby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.invertby/-/lodash.invertby-4.7.0.tgz#cdebb6cd4942aa6b8df2c74be1c5d948682718b0" + integrity sha1-zeu2zUlCqmuN8sdL4cXZSGgnGLA= + +lodash.isempty@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + integrity sha1-b4bL7di+TsmHvpqvM8loTbGzHn4= + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +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.keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" + integrity sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU= + +lodash.map@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= +lodash.omit@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" + integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.pickby@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + integrity sha1-feoh2MGNdwOifHBMFdO4SmfjOv8= + +lodash.random@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.random/-/lodash.random-3.2.0.tgz#96e24e763333199130d2c9e2fd57f91703cc262d" + integrity sha1-luJOdjMzGZEw0sni/Vf5FwPMJi0= + +lodash.reverse@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.reverse/-/lodash.reverse-4.0.1.tgz#1f2afedace2e16e660f3aa7c59d3300a6f25d13c" + integrity sha1-Hyr+2s4uFuZg86p8WdMwCm8l0Tw= + +lodash.some@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -10103,27 +9303,32 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.unescape@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" - integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= +lodash.values@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" + integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c= + +lodash.without@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" + integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= + lodash@=3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@=4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: +lodash@=4.17.15, "lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@~4.17.10: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -loglevel@^1.6.4: +loglevel@^1.6.6: version "1.6.6" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.6.tgz#0ee6300cc058db6b3551fa1c4bf73b83bb771312" integrity sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ== @@ -10201,15 +9406,15 @@ make-dir@^3.0.0: semver "^6.0.0" make-fetch-happen@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.0.tgz#a8e3fe41d3415dd656fe7b8e8172e1fb4458b38d" - integrity sha512-nFr/vpL1Jc60etMVKeaLOqfGjMMb3tAHFVJWxHOFCFS04Zmd7kGlMxo0l1tzfhoQje0/UPnd0X8OeGUiXXnfPA== + version "5.0.2" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd" + integrity sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag== dependencies: agentkeepalive "^3.4.1" cacache "^12.0.0" http-cache-semantics "^3.8.1" http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" + https-proxy-agent "^2.2.3" lru-cache "^5.1.1" mississippi "^3.0.0" node-fetch-npm "^2.0.2" @@ -10267,11 +9472,6 @@ mdn-data@2.0.4: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -mdn-data@~1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" - integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -10299,11 +9499,11 @@ memdown@^1.0.0: safe-buffer "~5.1.1" memoize-one@^5.0.0: - version "5.0.5" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.0.5.tgz#8cd3809555723a07684afafcd6f756072ac75d7e" - integrity sha512-ey6EpYv0tEaIbM/nTDOpHciXUvd+ackQrJgEzBwemhZZIWZjcyodqEcrmqDy2BKRTM3a65kKBV4WtLXJDt26SQ== + version "5.1.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" + integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== -memory-fs@^0.4.0, memory-fs@^0.4.1: +memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -10311,6 +9511,14 @@ memory-fs@^0.4.0, memory-fs@^0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -10341,22 +9549,15 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -merge-stream@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= - dependencies: - readable-stream "^2.0.1" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" - integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A== + version "1.3.0" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" + integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== merkle-lib@^2.0.10: version "2.0.10" @@ -10414,17 +9615,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.40.0, "mime-db@>= 1.40.0 < 2": - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +mime-db@1.43.0, "mime-db@>= 1.43.0 < 2": + version "1.43.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + version "2.1.26" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== dependencies: - mime-db "1.40.0" + mime-db "1.43.0" mime@1.6.0: version "1.6.0" @@ -10436,11 +9637,6 @@ mime@^2.4.4: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -10467,10 +9663,10 @@ mini-create-react-context@^0.3.0: gud "^1.0.0" tiny-warning "^1.0.2" -mini-css-extract-plugin@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" - integrity sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw== +mini-css-extract-plugin@0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== dependencies: loader-utils "^1.1.0" normalize-url "1.9.1" @@ -10504,11 +9700,6 @@ minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -10530,18 +9721,10 @@ minipass-pipeline@^1.2.2: dependencies: minipass "^3.0.0" -minipass@^2.2.1, minipass@^2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minipass@^2.6.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.8.4.tgz#490fe62adeb620c4a3373f62ee1c31cf2ef36385" - integrity sha512-i97pKD0f0eZLlhcTTSa6b6QlxCD7cvh8t/5MyR/pqchD5GPAeDaUrXQCoYA+W/VmmCgWvS/ADbfW3FUc+iT51Q== +minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== dependencies: safe-buffer "^5.1.2" yallist "^3.0.0" @@ -10554,11 +9737,11 @@ minipass@^3.0.0, minipass@^3.1.1: yallist "^4.0.0" minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== dependencies: - minipass "^2.2.1" + minipass "^2.9.0" mississippi@^3.0.0: version "3.0.0" @@ -10599,7 +9782,12 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@*: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.3.tgz#4cf2e30ad45959dddea53ad97d518b6c8205e1ea" + integrity sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g== + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -10607,9 +9795,9 @@ mkdirp@*, mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~ minimist "0.0.8" mock-fs@^4.1.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.10.1.tgz#50a07a20114a6cdb119f35762f61f46266a1e323" - integrity sha512-w22rOL5ZYu6HbUehB5deurghGM0hS/xBVyHMGKOuQctkk93J9z9VEOhDsiWrXOprVNQpP9uzGKdl8v9mFspKuw== + version "4.10.4" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.10.4.tgz#4eaa3d6f7da2f44e1f3dd6b462cbbcb7b082e3d4" + integrity sha512-gDfZDLaPIvtOusbusLinfx6YSe2YpQsDT8qdP41P47dQ/NQggtkHukz7hwqgt8QvMBmAv+Z6DGmXPyb5BWX2nQ== moment@^2.10.2, moment@^2.24.0: version "2.24.0" @@ -10656,11 +9844,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -10703,21 +9886,12 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: +neo-async@^2.5.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== @@ -10727,7 +9901,7 @@ nested-error-stacks@~2.0.1: resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz#d2cc9fc5235ddb371fc44d506234339c8e4b0a4b" integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== -next-tick@^1.0.0: +next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= @@ -10847,40 +10021,17 @@ node-notifier@^5.4.2: shellwords "^0.1.1" which "^1.3.0" -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" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - 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-releases@^1.1.25: - version "1.1.27" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.27.tgz#b19ec8add2afe9a826a99dceccc516104c1edaf4" - integrity sha512-9iXUqHKSGo6ph/tdXVbHFbhRVQln4ZDTIBJCzsa90HimnBYc5jw8RWYt4wBYFHehGyC3koIz5O4mb2fHrbPOuA== - dependencies: - semver "^5.3.0" - -node-releases@^1.1.40, node-releases@^1.1.42: - version "1.1.42" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.42.tgz#a999f6a62f8746981f6da90627a8d2fc090bbad7" - integrity sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA== +node-releases@^1.1.47: + version "1.1.47" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4" + integrity sha512-k4xjVPx5FpwBUj0Gw7uvFOTF4Ep8Hok1I6qjwL3pLfwe7Y0REQSAqOwwv9TWBCUtMHxcXfY4PgRLRozcChvTcA== dependencies: semver "^6.3.0" node-sass@^4.13.0: - version "4.13.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.0.tgz#b647288babdd6a1cb726de4545516b31f90da066" - integrity sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA== + version "4.13.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3" + integrity sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -10900,6 +10051,11 @@ node-sass@^4.13.0: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" +nofilter@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.3.tgz#34e54b4cc9757de0cad38cc0d19462489b1b7f5d" + integrity sha512-FlUlqwRK6reQCaFLAhMcF+6VkVG2caYjKQY3YsRDTl4/SEch595Qb3oLjJRDr8dkHAAOVj2pOx3VknfnSgkE5g== + "nopt@2 || 3": version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -10907,14 +10063,6 @@ node-sass@^4.13.0: dependencies: abbrev "1" -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.4.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -10932,7 +10080,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -10958,14 +10106,16 @@ normalize-url@^3.0.0: integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== normalize-url@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.3.0.tgz#9c49e10fc1876aeb76dba88bf1b2b5d9fa57b2ee" - integrity sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ== + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== + version "1.1.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" + integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + dependencies: + npm-normalize-package-bin "^1.0.1" npm-check-updates@^3.2.2: version "3.2.2" @@ -10993,23 +10143,29 @@ npm-check-updates@^3.2.2: spawn-please "^0.3.0" update-notifier "^3.0.1" +npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.0.tgz#15ae1e2758a5027efb4c250554b85a737db7fcc1" - integrity sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA== + version "6.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" + integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== dependencies: - hosted-git-info "^2.6.0" + hosted-git-info "^2.7.1" osenv "^0.1.5" - semver "^5.5.0" + semver "^5.6.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12, npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== +npm-packlist@^1.1.12: + version "1.4.8" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" + integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== dependencies: ignore-walk "^3.0.1" npm-bundled "^1.0.1" + npm-normalize-package-bin "^1.0.1" npm-pick-manifest@^3.0.0: version "3.0.2" @@ -11021,9 +10177,9 @@ npm-pick-manifest@^3.0.0: semver "^5.4.1" npm-registry-fetch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz#5ef75845b605855c7964472542c25da172af8677" - integrity sha512-Jllq35Jag8dtv0M17ue74XtdQTyqKzuAYGiX9mAjOhkmNjib3bBUgK6mUY61+AHnXeSRobQkpY3/xIOS/omptw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.2.tgz#2b1434f93ccbe6b6385f8e45f45db93e16921d7a" + integrity sha512-Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A== dependencies: JSONStream "^1.3.4" bluebird "^3.5.1" @@ -11031,6 +10187,7 @@ npm-registry-fetch@^4.0.0: lru-cache "^5.1.1" make-fetch-happen "^5.0.0" npm-package-arg "^6.1.0" + safe-buffer "^5.2.0" npm-run-path@^2.0.0: version "2.0.2" @@ -11039,7 +10196,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -11075,9 +10232,9 @@ number-to-bn@1.7.0: strip-hex-prefix "1.0.0" nwsapi@^2.0.7, nwsapi@^2.1.3: - version "2.1.4" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" - integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw== + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== oauth-sign@~0.9.0: version "0.9.0" @@ -11098,15 +10255,20 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-hash@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== +object-hash@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.1.tgz#cef18a0c940cc60aa27965ecf49b782cbf101d96" + integrity sha512-HgcGMooY4JC2PBt9sdUdJ6PMzpin+YtY3r/7wg0uTifP+HJWW8rammseSEHuyt0UeShI183UGssCJqm1bJR7QA== -object-inspect@^1.6.0, object-inspect@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" - integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== +object-inspect@^1.7.0, object-inspect@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + +object-is@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.2.tgz#6b80eb84fe451498f65007982f035a5b445edec4" + integrity sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ== object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" @@ -11140,33 +10302,33 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== +object.entries@^1.1.0, object.entries@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b" + integrity sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ== dependencies: define-properties "^1.1.3" - es-abstract "^1.12.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== +object.fromentries@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" + integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" - has "^1.0.1" + has "^1.0.3" -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" object.pick@^1.3.0: version "1.3.0" @@ -11175,13 +10337,13 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== +object.values@^1.1.0, object.values@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== dependencies: define-properties "^1.1.3" - es-abstract "^1.12.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" has "^1.0.3" @@ -11216,13 +10378,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - onetime@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" @@ -11230,12 +10385,12 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/open/-/open-7.0.0.tgz#7e52999b14eb73f90f0f0807fe93897c4ae73ec9" - integrity sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ== +open@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== dependencies: - is-wsl "^2.1.0" + is-wsl "^1.1.0" openzeppelin-solidity@2.3.0: version "2.3.0" @@ -11254,14 +10409,6 @@ opn@^5.5.0: dependencies: is-wsl "^1.1.0" -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - optimize-css-assets-webpack-plugin@5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" @@ -11270,19 +10417,7 @@ optimize-css-assets-webpack-plugin@5.0.3: cssnano "^4.1.10" last-call-webpack-plugin "^3.0.0" -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -optionator@^0.8.3: +optionator@^0.8.1, optionator@^0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -11332,7 +10467,7 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0, osenv@^0.1.4, osenv@^0.1.5: +osenv@0, osenv@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -11379,10 +10514,10 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" + integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== dependencies: p-try "^2.0.0" @@ -11469,9 +10604,9 @@ package-json@^6.3.0: semver "^6.2.0" pacote@^9.5.8: - version "9.5.8" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.8.tgz#23480efdc4fa74515855c9ecf39cf64078f99786" - integrity sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw== + version "9.5.12" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" + integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ== dependencies: bluebird "^3.5.3" cacache "^12.0.2" @@ -11487,6 +10622,7 @@ pacote@^9.5.8: mississippi "^3.0.0" mkdirp "^0.5.1" normalize-package-data "^2.4.0" + npm-normalize-package-bin "^1.0.0" npm-package-arg "^6.1.0" npm-packlist "^1.1.12" npm-pick-manifest "^3.0.0" @@ -11504,20 +10640,20 @@ pacote@^9.5.8: which "^1.3.1" pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: - cyclist "~0.2.2" + cyclist "^1.0.1" inherits "^2.0.3" readable-stream "^2.1.5" -param-case@2.1.x: +param-case@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= @@ -11532,9 +10668,9 @@ parent-module@^1.0.0: callsites "^3.0.0" parse-asn1@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== + version "5.1.5" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== dependencies: asn1.js "^4.0.0" browserify-aes "^1.0.0" @@ -11544,12 +10680,9 @@ parse-asn1@^5.0.0: safe-buffer "^5.1.1" parse-headers@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.2.tgz#9545e8a4c1ae5eaea7d24992bca890281ed26e34" - integrity sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg== - dependencies: - for-each "^0.3.3" - string.prototype.trim "^1.1.2" + version "2.0.3" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.3.tgz#5e8e7512383d140ba02f0c7aa9f49b4399c92515" + integrity sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA== parse-json@^2.2.0: version "2.2.0" @@ -11657,6 +10790,11 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + path-parse@^1.0.5, path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -11668,9 +10806,9 @@ path-to-regexp@0.1.7: integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== dependencies: isarray "0.0.1" @@ -11728,6 +10866,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4, picomatch@^2.0.7: + version "2.2.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" + integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -11790,22 +10933,22 @@ pkg-dir@^4.1.0: dependencies: find-up "^4.0.0" -pkg-up@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= +pkg-up@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== dependencies: - find-up "^2.1.0" + find-up "^3.0.0" pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -pnp-webpack-plugin@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" - integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg== +pnp-webpack-plugin@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.0.tgz#d5c068013a2fdc82224ca50ed179c8fba9036a8e" + integrity sha512-ZcMGn/xF/fCOq+9kWMP9vVVxjIkMCja72oy3lziR7UHy0hHFZ57iVpQ71OtveVbmzeCmphBg8pxNdk/hlK99aQ== dependencies: ts-pnp "^1.1.2" @@ -11824,12 +10967,12 @@ posix-character-classes@^0.1.0: integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-attribute-case-insensitive@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz#b2a721a0d279c2f9103a36331c88981526428cc7" - integrity sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A== + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== dependencies: postcss "^7.0.2" - postcss-selector-parser "^5.0.0" + postcss-selector-parser "^6.0.2" postcss-browser-comments@^3.0.0: version "3.0.0" @@ -12028,9 +11171,9 @@ postcss-image-set-function@^3.0.1: postcss-values-parser "^2.0.0" postcss-initial@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz#99d319669a13d6c06ef8e70d852f68cb1b399b61" - integrity sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw== + version "3.0.2" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" + integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA== dependencies: lodash.template "^4.5.0" postcss "^7.0.2" @@ -12155,10 +11298,10 @@ postcss-modules-local-by-default@^3.0.2: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.0" -postcss-modules-scope@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb" - integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A== +postcss-modules-scope@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz#33d4fc946602eb5e9355c4165d68a10727689dba" + integrity sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ== dependencies: postcss "^7.0.6" postcss-selector-parser "^6.0.0" @@ -12411,7 +11554,7 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== @@ -12453,7 +11596,7 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== @@ -12476,19 +11619,10 @@ postcss@7.0.21: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7, postcss@^7.0.16: - version "7.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.23.tgz#9f9759fad661b15964f3cfc3140f66f1e05eadc1" - integrity sha512-hOlMf3ouRIFXD+j2VJecwssTwbvsPGJVMzupptg+85WA+i7MwyrydmQAgY3R+m0Bc0exunhbJmijy8u8+vufuQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" - integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.26" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.26.tgz#5ed615cfcab35ba9bbb82414a4fa88ea10429587" + integrity sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -12591,9 +11725,9 @@ promise@^8.0.3: asap "~2.0.6" prompts@^2.0.1, prompts@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== + version "2.3.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.0.tgz#a444e968fa4cc7e86689a74050685ac8006c4cc4" + integrity sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg== dependencies: kleur "^3.0.3" sisteransi "^1.0.3" @@ -12633,9 +11767,9 @@ pseudomap@^1.0.2: integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= psl@^1.1.24, psl@^1.1.28: - version "1.3.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" - integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== + version "1.7.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" + integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== public-encrypt@^4.0.0: version "4.0.3" @@ -12716,10 +11850,10 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@*: - version "6.8.2" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.2.tgz#36cb7e452ae11a4b5e9efee83375e0954407b2f6" - integrity sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw== +query-string@*, query-string@^6.9.0: + version "6.10.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.10.1.tgz#30b3505f6fca741d5ae541964d1b3ae9dc2a0de8" + integrity sha512-SHTUV6gDlgMXg/AQUuLpTiBtW/etZ9JT6k6RCtCyqADquApLX0Aq5oK/s5UeTUAWBG50IExjIr587GqfXRfM4A== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -12742,15 +11876,6 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -query-string@^6.9.0: - version "6.9.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.9.0.tgz#1c3b727c370cf00f177c99f328fda2108f8fa3dd" - integrity sha512-KG4bhCFYapExLsUHrFt+kQVEegF2agm4cpF/VNc6pZVthIfCc/GK8t8VyNIE3nyXG9DK3Tf2EGkxjR6/uRdYsA== - dependencies: - decode-uri-component "^0.2.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -12809,9 +11934,9 @@ raw-body@2.4.0: unpipe "1.0.0" rc-config-loader@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-2.0.4.tgz#fe23e26a87e2ec07541b29e7f37bfd75807a4c36" - integrity sha512-k06UzRbYDWgF4Mc/YrsZsmzSpDLuHoThJxep+vq5H09hiX8rbA5Ue/Ra0dwWm5MQvWYW4YBXgA186inNxuxidQ== + version "2.0.5" + resolved "https://registry.yarnpkg.com/rc-config-loader/-/rc-config-loader-2.0.5.tgz#81e78221167dbaa80877f2538f5e1a37c7e24ce3" + integrity sha512-T464K2MQlnNWOblUDIglpFhyN+zYJq7jSlL++/N0hUkcmIXeNFumwXFVdtf8qhUGohn4RYQ0wdi74R575I44PQ== dependencies: debug "^4.1.1" js-yaml "^3.12.0" @@ -12821,7 +11946,7 @@ rc-config-loader@^2.0.4: path-exists "^3.0.0" require-from-string "^2.0.2" -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@^1.2.8, rc@~1.2.7: +rc@^1.0.1, rc@^1.1.6, rc@^1.2.8, rc@~1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -12831,12 +11956,12 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.2.7, rc@^1.2.8, rc@~1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-app-polyfill@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.5.tgz#59c7377a0b9ed25692eeaca7ad9b12ef2d064709" - integrity sha512-RcbV6+msbvZJZUIK/LX3UafPtoaDSJgUWu4sqBxHKTVmBsnlU2QWCKJRBRmgjxu+ivW/GPINbPWRM4Ppa6Lbgw== +react-app-polyfill@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" + integrity sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g== dependencies: - core-js "^3.4.1" + core-js "^3.5.0" object-assign "^4.1.1" promise "^8.0.3" raf "^3.4.1" @@ -12844,41 +11969,41 @@ react-app-polyfill@^1.0.5: whatwg-fetch "^3.0.0" react-chartjs-2@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-2.8.0.tgz#1c24de91fb3755f8c4302675de7d66fdda339759" - integrity sha512-BPpC+qfnh37DkcXvxRwA1rdD9rX/0AQrwru4VZTLofCCuZBwRsc7PbfxjilvoB6YlHhorwZu40YDWEQkoz7xfQ== + version "2.9.0" + resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-2.9.0.tgz#d054dbdd763fbe9a76296a4ae0752ea549b76d9e" + integrity sha512-IYwqUUnQRAJ9SNA978vxulHJTcUFTJk2LDVfbAyk0TnJFZZG7+6U/2flsE4MCw6WCbBjTTypy8T82Ch7XrPtRw== dependencies: lodash "^4.17.4" prop-types "^15.5.8" -react-dev-utils@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.0.0.tgz#bd2d16426c7e4cbfed1b46fb9e2ac98ec06fcdfa" - integrity sha512-8OKSJvl8ccXJDNf0YGw377L9v1OnT16skD/EuZWm0M/yr255etP4x4kuUCT1EfFfJ7Rhc4ZTpPTfPrvgiXa50Q== +react-dev-utils@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.1.0.tgz#ccf82135f6dc2fc91969bc729ce57a69d8e86025" + integrity sha512-KmZChqxY6l+ed28IHetGrY8J9yZSvzlAHyFXduEIhQ42EBGtqftlbqQZ+dDTaC7CwNW2tuXN+66bRKE5h2HgrQ== dependencies: - "@babel/code-frame" "7.5.5" + "@babel/code-frame" "7.8.3" address "1.1.2" - browserslist "4.7.3" - chalk "2.4.2" - cross-spawn "6.0.5" + browserslist "4.8.6" + chalk "3.0.0" + cross-spawn "7.0.1" detect-port-alt "1.1.6" - escape-string-regexp "1.0.5" - filesize "3.6.1" - find-up "3.0.0" - fork-ts-checker-webpack-plugin "3.1.0" + escape-string-regexp "2.0.0" + filesize "6.0.1" + find-up "4.1.0" + fork-ts-checker-webpack-plugin "3.1.1" global-modules "2.0.0" globby "8.0.2" gzip-size "5.1.1" immer "1.10.0" - inquirer "6.5.0" + inquirer "7.0.4" is-root "2.1.0" loader-utils "1.2.3" - open "^7.0.0" - pkg-up "2.0.0" - react-error-overlay "^6.0.4" + open "^6.4.0" + pkg-up "3.1.0" + react-error-overlay "^6.0.5" recursive-readdir "2.2.2" shell-quote "1.7.2" - strip-ansi "5.2.0" + strip-ansi "6.0.0" text-table "0.2.0" react-dom@^16.12.0: @@ -12892,17 +12017,17 @@ react-dom@^16.12.0: scheduler "^0.18.0" react-element-to-jsx-string@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.1.0.tgz#31fcc3a82459d5e57ef852aa6879bcd0a578a8cb" - integrity sha512-uvfAsY6bn2c8HMBkxwj+2MMXcvNIkKDl0aZg2Jhzp+c096hZaXUNivVCP2H4RBtmGSSJcfMqQA5oPk8YdqFOVw== + version "14.3.1" + resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.1.tgz#a08fa6e46eb76061aca7eabc2e70f433583cb203" + integrity sha512-LRdQWRB+xcVPOL4PU4RYuTg6dUJ/FNmaQ8ls6w38YbzkbV6Yr5tFNESroub9GiSghtnMq8dQg2LcNN5aMIDzVg== dependencies: - "@base2/pretty-print-object" "^1.0.0" + "@base2/pretty-print-object" "1.0.0" is-plain-object "3.0.0" -react-error-overlay@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.4.tgz#0d165d6d27488e660bc08e57bdabaad741366f7a" - integrity sha512-ueZzLmHltszTshDMwyfELDq8zOA803wQ1ZuzCccXa1m57k1PxSHfflPD5W9YIiTXLs0JTLzoj6o1LuM5N6zzNA== +react-error-overlay@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.5.tgz#55d59c2a3810e8b41922e0b4e5f85dcf239bd533" + integrity sha512-+DMR2k5c6BqMDSMF8hLH0vYKtKTeikiFW+fj0LClN+XZg4N9b8QUAdHC62CGWNLTi/gnuuemNcNcTFrCvK1f+A== react-input-autosize@^2.2.2: version "2.2.2" @@ -12912,9 +12037,9 @@ react-input-autosize@^2.2.2: prop-types "^15.5.8" react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.9.0: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" - integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== + version "16.12.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" + integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== react-lifecycles-compat@^3.0.4: version "3.0.4" @@ -12963,60 +12088,60 @@ react-router@5.1.2, react-router@^5.1.2: tiny-warning "^1.0.0" react-scripts@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.3.0.tgz#f26a21f208f20bd04770f43e50b5bbc151920c2a" - integrity sha512-hzPc6bxCc9GnsspWqk494c2Gpd0dRbk/C8q76BNQIENi9GMwoxFljOEcZoZcpFpJgQ45alxFR6QaLt+51qie7g== + version "3.3.1" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.3.1.tgz#dee7962045dbee5b02b1d47569815e62f7a546b5" + integrity sha512-DHvc+/QN0IsLvmnPQqd+H70ol+gdFD3p/SS2tX8M6z1ysjtRGvOwLWy72co1nphYGpq1NqV/Ti5dviU8SCAXpA== dependencies: - "@babel/core" "7.7.4" + "@babel/core" "7.8.4" "@svgr/webpack" "4.3.3" - "@typescript-eslint/eslint-plugin" "^2.8.0" - "@typescript-eslint/parser" "^2.8.0" + "@typescript-eslint/eslint-plugin" "^2.10.0" + "@typescript-eslint/parser" "^2.10.0" babel-eslint "10.0.3" babel-jest "^24.9.0" babel-loader "8.0.6" - babel-plugin-named-asset-import "^0.3.5" - babel-preset-react-app "^9.1.0" + babel-plugin-named-asset-import "^0.3.6" + babel-preset-react-app "^9.1.1" camelcase "^5.3.1" - case-sensitive-paths-webpack-plugin "2.2.0" - css-loader "3.2.0" + case-sensitive-paths-webpack-plugin "2.3.0" + css-loader "3.4.2" dotenv "8.2.0" dotenv-expand "5.1.0" eslint "^6.6.0" - eslint-config-react-app "^5.1.0" - eslint-loader "3.0.2" - eslint-plugin-flowtype "3.13.0" - eslint-plugin-import "2.18.2" + eslint-config-react-app "^5.2.0" + eslint-loader "3.0.3" + eslint-plugin-flowtype "4.6.0" + eslint-plugin-import "2.20.0" eslint-plugin-jsx-a11y "6.2.3" - eslint-plugin-react "7.16.0" + eslint-plugin-react "7.18.0" eslint-plugin-react-hooks "^1.6.1" file-loader "4.3.0" fs-extra "^8.1.0" - html-webpack-plugin "4.0.0-beta.5" + html-webpack-plugin "4.0.0-beta.11" identity-obj-proxy "3.0.0" jest "24.9.0" - jest-environment-jsdom-fourteen "0.1.0" + jest-environment-jsdom-fourteen "1.0.1" jest-resolve "24.9.0" jest-watch-typeahead "0.4.2" - mini-css-extract-plugin "0.8.0" + mini-css-extract-plugin "0.9.0" optimize-css-assets-webpack-plugin "5.0.3" - pnp-webpack-plugin "1.5.0" + pnp-webpack-plugin "1.6.0" postcss-flexbugs-fixes "4.1.0" postcss-loader "3.0.0" postcss-normalize "8.0.1" postcss-preset-env "6.7.0" postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.5" - react-dev-utils "^10.0.0" - resolve "1.12.2" + react-app-polyfill "^1.0.6" + react-dev-utils "^10.1.0" + resolve "1.15.0" resolve-url-loader "3.1.1" - sass-loader "8.0.0" + sass-loader "8.0.2" semver "6.3.0" - style-loader "1.0.0" - terser-webpack-plugin "2.2.1" + style-loader "1.1.3" + terser-webpack-plugin "2.3.4" ts-pnp "1.1.5" url-loader "2.3.0" - webpack "4.41.2" - webpack-dev-server "3.9.0" + webpack "4.41.5" + webpack-dev-server "3.10.1" webpack-manifest-plugin "2.2.0" workbox-webpack-plugin "4.3.1" optionalDependencies: @@ -13126,9 +12251,9 @@ read-pkg@^3.0.0: path-type "^3.0.0" "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -13149,9 +12274,9 @@ readable-stream@^1.0.33: string_decoder "~0.10.x" readable-stream@^3.0.6, readable-stream@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + version "3.5.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.5.0.tgz#465d70e6d1087f6162d079cd0b5db7fbebfd1606" + integrity sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -13176,6 +12301,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + dependencies: + picomatch "^2.0.7" + realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" @@ -13209,9 +12341,9 @@ redux-thunk@^2.3.0: integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw== redux@^4.0.0, redux@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796" - integrity sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q== + version "4.0.5" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" + integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w== dependencies: loose-envify "^1.4.0" symbol-observable "^1.2.0" @@ -13267,10 +12399,13 @@ regex-parser@2.2.10: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== -regexp-tree@^0.1.6: - version "0.1.11" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" - integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== +regexp.prototype.flags@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" regexpp@^2.0.1: version "2.0.1" @@ -13291,18 +12426,6 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" -regexpu-core@^4.5.4: - version "4.5.5" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" - integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" - regexpu-core@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" @@ -13324,12 +12447,11 @@ registry-auth-token@^3.0.1: safe-buffer "^5.0.1" registry-auth-token@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" - integrity sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw== + version "4.1.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" + integrity sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== dependencies: rc "^1.2.8" - safe-buffer "^5.0.1" registry-url@^3.0.3: version "3.1.0" @@ -13351,9 +12473,9 @@ regjsgen@^0.2.0: integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== + version "0.5.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" + integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== regjsparser@^0.1.4: version "0.1.5" @@ -13363,13 +12485,13 @@ regjsparser@^0.1.4: jsesc "~0.5.0" regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== + version "0.6.2" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.2.tgz#fd62c753991467d9d1ffe0a9f67f27a529024b96" + integrity sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q== dependencies: jsesc "~0.5.0" -relateurl@0.2.x: +relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= @@ -13407,19 +12529,19 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request-promise-core@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" - integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== +request-promise-core@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" + integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== dependencies: - lodash "^4.17.11" + lodash "^4.17.15" request-promise-native@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" - integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== + version "1.0.8" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" + integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== dependencies: - request-promise-core "1.1.2" + request-promise-core "1.1.3" stealthy-require "^1.1.1" tough-cookie "^2.3.3" @@ -13500,11 +12622,6 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-pathname@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" - integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== - resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" @@ -13536,24 +12653,24 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.2.tgz#08b12496d9aa8659c75f534a8f05f0d892fff594" - integrity sha512-cAVTI2VLHWYsGOirfeYVVQ7ZDejtQ9fp4YhYckWDEkFfqbVjaT11iM8k6xSAfGFMM+gDpZjMnFssPu8we+mqFw== +resolve@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" + integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw== dependencies: path-parse "^1.0.6" -resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.3.2, resolve@^1.8.1: + version "1.15.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" + integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== dependencies: path-parse "^1.0.6" -resolve@~1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" - integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== +resolve@~1.14.2: + version "1.14.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2" + integrity sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ== dependencies: path-parse "^1.0.6" @@ -13571,14 +12688,6 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -13630,22 +12739,22 @@ rgb-regex@^1.0.1: rgba-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@2, rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@^2.7.1: +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -13654,15 +12763,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rlp@^2.0.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.3.tgz#7f94aef86cec412df87d5ea1d8cb116a47d45f0e" - integrity sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ== - dependencies: - bn.js "^4.11.1" - safe-buffer "^5.1.1" - -rlp@^2.2.3: +rlp@^2.0.0, rlp@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.4.tgz#d6b0e1659e9285fc509a5d169a9bd06f704951c1" integrity sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw== @@ -13693,10 +12794,10 @@ rustbn.js@~0.2.0: resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== -rxjs@^6.4.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" - integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== +rxjs@^6.4.0, rxjs@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== dependencies: tslib "^1.9.0" @@ -13759,15 +12860,15 @@ sass-graph@^2.2.4: scss-tokenizer "^0.2.3" yargs "^7.0.0" -sass-loader@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.0.tgz#e7b07a3e357f965e6b03dd45b016b0a9746af797" - integrity sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w== +sass-loader@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== dependencies: clone-deep "^4.0.1" loader-utils "^1.2.3" neo-async "^2.6.1" - schema-utils "^2.1.0" + schema-utils "^2.6.1" semver "^6.3.0" sax@^1.2.4, sax@~1.2.4: @@ -13799,26 +12900,10 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.0, schema-utils@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393" - integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.1.0, schema-utils@^2.5.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f" - integrity sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg== - dependencies: - ajv "^6.10.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.2.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz#8f254f618d402cc80257486213c8970edfd7c22f" - integrity sha512-32ISrwW2scPXHUSusP8qMg5dLUawKkyV+/qIEV9JdXKx+rsM6mi8vZY8khg2M69Qom16rtroWXD3Ybtiws38gQ== +schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.4.tgz#a27efbf6e4e78689d91872ee3ccfa57d7bdd0f53" + integrity sha512-VNjcaUxVnEeun6B2fiiUDjXXBtD4ZSH7pdbfIu1pOFwgptDPLMo/z9jr4sUfsjFVPqDCEin/F7IYlq7/E6yDbQ== dependencies: ajv "^6.10.2" ajv-keywords "^3.4.1" @@ -13851,7 +12936,8 @@ scrypt.js@^0.3.0: scrypt@^6.0.2, "scrypt@https://github.com/ren-forks/node-scrypt": version "0.0.0" - resolved "https://github.com/ren-forks/node-scrypt#5348fac0c48de29ff77729032913ec0b78014793" + uid "183a788e85f5865d52726a378cc8b2bee2c49b45" + resolved "https://github.com/ren-forks/node-scrypt#183a788e85f5865d52726a378cc8b2bee2c49b45" scryptsy@2.1.0, scryptsy@^2.1.0: version "2.1.0" @@ -13874,16 +12960,16 @@ scss-tokenizer@^0.2.3: source-map "^0.4.2" secp256k1@^3.0.1, secp256k1@^3.5.2: - version "3.7.1" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" - integrity sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g== + version "3.8.0" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d" + integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw== dependencies: bindings "^1.5.0" bip66 "^1.1.5" bn.js "^4.11.8" create-hash "^1.2.0" drbg.js "^1.0.1" - elliptic "^6.4.1" + elliptic "^6.5.2" nan "^2.14.0" safe-buffer "^5.1.2" @@ -13938,6 +13024,11 @@ semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -13948,7 +13039,7 @@ semver@~5.4.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== -send-crypto@0.1.9, send-crypto@^0.1.6: +send-crypto@0.1.9: version "0.1.9" resolved "https://registry.yarnpkg.com/send-crypto/-/send-crypto-0.1.9.tgz#72af3b469f97bba94617f261d802e515b282a373" integrity sha512-jnfywNW98YBTi3Cks9fnQfg0jNwKkKEGtvXKSGEYjytY0Lz+OfnLNGRnU19TqyQcfTFJ8IU/jAzmUPFQfn1MbA== @@ -13969,6 +13060,27 @@ send-crypto@0.1.9, send-crypto@^0.1.6: web3-core "^1.2.4" web3-utils "^1.2.4" +send-crypto@^0.1.6: + version "0.1.11" + resolved "https://registry.yarnpkg.com/send-crypto/-/send-crypto-0.1.11.tgz#2e055996811a9f4e5e1574360b5d4d2c0c163100" + integrity sha512-pGAvOZrEZyPcYmXTbweDfBw2eiqZY8xtQfYkWtzjd19F/9522q02JcpNmjjaKlBqH7ybjdZn0NzjBIE4+IPxXw== + dependencies: + "@truffle/hdwallet-provider" "^1.0.28" + "@types/bchaddrjs" "^0.4.0" + "@types/web3-provider-engine" "^14.0.0" + axios "^0.19.0" + bchaddrjs "^0.4.4" + bignumber.js "^9.0.0" + bitgo-utxo-lib "^1.7.0" + bn.js "^5.0.0" + dotenv "^8.2.0" + immutable "^4.0.0-rc.12" + patch-package "^6.2.0" + send-crypto "^0.1.6" + web3 "^1.2.4" + web3-core "^1.2.4" + web3-utils "^1.2.4" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -13988,15 +13100,10 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" - integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== - -serialize-javascript@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.1.tgz#952907a04a3e3a75af7f73d92d15e233862048b2" - integrity sha512-MPLPRpD4FNqWq9tTIjYG5LesFouDhdyH0EPY3gVK4DRD5+g4aDqdNSzLIwceulo3Yj+PL1bPh6laE5+H6LTcrQ== +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== serve-index@^1.9.1: version "1.9.1" @@ -14080,12 +13187,12 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -sha3@^1.2.2, sha3@^2.0.0, sha3@^2.1.1: - version "2.0.7" - resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.0.7.tgz#02ed270099647cbcc681b064ba091af72f561f35" - integrity sha512-7Qsj/0J3pxCWfmyuDbTZWoKNSKY/rg2eecNRvTYE4EAPJ11Uh6xuEObyCG295AqgrtOjzdDbfwtGLDY52h11tA== +sha3@^2.0.0, sha3@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-2.1.1.tgz#488c0f978a73ea540cc4f4a2235a77aed095c031" + integrity sha512-hj6dCLbWByenZarg2gb2VFD9zoY5kr/FMriDcbtVDLJ5geOWGOJCI0jQUjAzoY/ZHlkt8BSEbh9KJEDT8AGuJQ== dependencies: - buffer "5.4.0" + buffer "5.4.3" shallow-clone@^0.1.2: version "0.1.2" @@ -14111,11 +13218,23 @@ shebang-command@^1.2.0: dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + shell-quote@1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" @@ -14153,9 +13272,9 @@ simple-swizzle@^0.2.2: is-arrayish "^0.3.1" sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.4.tgz#386713f1ef688c7c0304dc4c0632898941cad2e3" + integrity sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig== slash@^1.0.0: version "1.0.0" @@ -14181,10 +13300,10 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -smart-buffer@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d" - integrity sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw== +smart-buffer@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" + integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== snapdragon-node@^2.0.1: version "2.1.1" @@ -14245,12 +13364,17 @@ socks-proxy-agent@^4.0.0: socks "~2.3.2" socks@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.2.tgz#ade388e9e6d87fdb11649c15746c578922a5883e" - integrity sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ== + version "2.3.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" + integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA== dependencies: - ip "^1.1.5" - smart-buffer "4.0.2" + ip "1.1.5" + smart-buffer "^4.1.0" + +solidity-parser-antlr@^0.4.11: + version "0.4.11" + resolved "https://registry.yarnpkg.com/solidity-parser-antlr/-/solidity-parser-antlr-0.4.11.tgz#af43e1f13b3b88309a875455f5d6e565b05ee5f1" + integrity sha512-4jtxasNGmyC0midtjH/lTFPZYvTTUMy6agYcF+HoMnzW8+cqo3piFrINb4ZCzpPW+7tTVFCGa5ubP34zOzeuMg== sort-keys@^1.0.0: version "1.1.2" @@ -14265,11 +13389,11 @@ source-list-map@^2.0.0: integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: - atob "^2.1.1" + atob "^2.1.2" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" @@ -14283,9 +13407,9 @@ source-map-support@^0.4.15: source-map "^0.5.6" source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + version "0.5.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -14307,7 +13431,7 @@ source-map@^0.4.2: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -14366,6 +13490,15 @@ spdy@^4.0.1: select-hose "^2.0.0" spdy-transport "^3.0.0" +spinnies@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/spinnies/-/spinnies-0.4.3.tgz#2ea0ad148e78353ddf621dec3951a6f4c3cbf66e" + integrity sha512-TTA2vWXrXJpfThWAl2t2hchBnCMI1JM5Wmb2uyI7Zkefdw/xO98LDy6/SBYwQPiYXL3swx3Eb44ZxgoS8X5wpA== + dependencies: + chalk "^2.4.2" + cli-cursor "^3.0.0" + strip-ansi "^5.2.0" + split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" @@ -14476,9 +13609,9 @@ stream-http@^2.7.2: xtend "^4.0.0" stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== strict-uri-encode@^1.0.0: version "1.1.0" @@ -14515,7 +13648,7 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -14533,44 +13666,35 @@ string-width@^3.0.0, string-width@^3.1.0: strip-ansi "^5.1.0" string-width@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" - integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^5.2.0" + strip-ansi "^6.0.0" -string.prototype.trim@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz#75a729b10cfc1be439543dae442129459ce61e3d" - integrity sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg== +string.prototype.trim@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.1.tgz#141233dff32c82bfad80684d7e5f0869ee0fb782" + integrity sha512-MjGFEeqixw47dAMFMtgUro/I0+wNqZB5GKXGt1fFr24u3TzDXCPu7J9Buppzoe3r/LqkSDLDDJzE15RGWDGAVw== dependencies: define-properties "^1.1.3" - es-abstract "^1.13.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" -string.prototype.trim@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" - integrity sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.0" - function-bind "^1.0.2" - -string.prototype.trimleft@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" - integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== +string.prototype.trimleft@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" + integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag== dependencies: define-properties "^1.1.3" function-bind "^1.1.1" -string.prototype.trimright@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" - integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== +string.prototype.trimright@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9" + integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== dependencies: define-properties "^1.1.3" function-bind "^1.1.1" @@ -14603,12 +13727,12 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== +strip-ansi@6.0.0, strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: - ansi-regex "^4.1.0" + ansi-regex "^5.0.0" strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" @@ -14624,6 +13748,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -14680,13 +13811,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" - integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== +style-loader@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.3.tgz#9e826e69c683c4d9bf9db924f85e9abb30d5e200" + integrity sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw== dependencies: loader-utils "^1.2.3" - schema-utils "^2.0.1" + schema-utils "^2.6.4" stylehacks@^4.0.0: version "4.0.3" @@ -14716,7 +13847,7 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: +supports-color@^7.0.0, supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== @@ -14724,21 +13855,21 @@ supports-color@^7.1.0: has-flag "^4.0.0" svg-parser@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" - integrity sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.3.tgz#a38f2e4e5442986f7ecb554c11f1411cfcf8c2b9" + integrity sha512-fnCWiifNhK8i2Z7b9R5tbNahpxrRdAaQbnoxKlT2KrSCj9Kq/yBSgulCRgBJRhy1dPnSY5slg5ehPUnzpEcHlg== svgo@^1.0.0, svgo@^1.2.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" - integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== dependencies: chalk "^2.4.1" coa "^2.0.2" css-select "^2.0.0" css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.33" - csso "^3.5.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" js-yaml "^3.13.1" mkdirp "~0.5.1" object.values "^1.1.0" @@ -14776,37 +13907,39 @@ symbol-tree@^3.2.2: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^5.2.3: - version "5.4.5" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42" - integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA== + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: ajv "^6.10.2" lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3: +tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tape@^4.6.3: - version "4.11.0" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.11.0.tgz#63d41accd95e45a23a874473051c57fdbc58edc1" - integrity sha512-yixvDMX7q7JIs/omJSzSZrqulOV51EC9dK8dM0TzImTIkHWfe2/kFyL5v+d9C+SrCMaICk59ujsqFAVidDqDaA== + version "4.13.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.13.0.tgz#e2f581ff5f12a7cbd787e9f83c76c2851782fce2" + integrity sha512-J/hvA+GJnuWJ0Sj8Z0dmu3JgMNU+MmusvkCT7+SN4/2TklW18FNCp/UuHIEhPZwHfy4sXfKYgC7kypKg4umbOw== dependencies: - deep-equal "~1.0.1" + deep-equal "~1.1.1" defined "~1.0.0" + dotignore "~0.1.2" for-each "~0.3.3" function-bind "~1.1.1" - glob "~7.1.4" + glob "~7.1.6" has "~1.0.3" inherits "~2.0.4" + is-regex "~1.0.5" minimist "~1.2.0" - object-inspect "~1.6.0" - resolve "~1.11.1" + object-inspect "~1.7.0" + resolve "~1.14.2" resumer "~0.0.0" - string.prototype.trim "~1.1.2" + string.prototype.trim "~1.2.1" through "~2.3.8" tar-stream@^1.5.2: @@ -14831,27 +13964,14 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" -tar@^4, tar@^4.0.2: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.5" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - -tar@^4.4.10: - version "4.4.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.11.tgz#7ac09801445a3cf74445ed27499136b5240ffb73" - integrity sha512-iI4zh3ktLJKaDNZKZc+fUONiQrSn9HkCFzamtb7k8FFmVilHVob7QsLX/VySAW8lAviMzMbFw4QtFb4errwgYA== +tar@^4.0.2, tar@^4.4.10: + version "4.4.13" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" + integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== dependencies: chownr "^1.1.1" fs-minipass "^1.2.5" - minipass "^2.6.4" + minipass "^2.8.6" minizlib "^1.2.1" mkdirp "^0.5.0" safe-buffer "^5.1.2" @@ -14864,48 +13984,40 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -terser-webpack-plugin@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.2.1.tgz#5569e6c7d8be79e5e43d6da23acc3b6ba77d22bd" - integrity sha512-jwdauV5Al7zopR6OAYvIIRcxXCSvLjZjr7uZE8l2tIWb/ryrGN48sJftqGf5k9z09tWhajx53ldp0XPI080YnA== +terser-webpack-plugin@2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.4.tgz#ac045703bd8da0936ce910d8fb6350d0e1dee5fe" + integrity sha512-Nv96Nws2R2nrFOpbzF6IxRDpIkkIfmhvOws+IqMvYdFLO7o6wAILWFKONFgaYy8+T4LVz77DQW0f7wOeDEAjrg== dependencies: cacache "^13.0.1" - find-cache-dir "^3.0.0" - jest-worker "^24.9.0" - schema-utils "^2.5.0" - serialize-javascript "^2.1.0" + find-cache-dir "^3.2.0" + jest-worker "^25.1.0" + p-limit "^2.2.2" + schema-utils "^2.6.4" + serialize-javascript "^2.1.2" source-map "^0.6.1" - terser "^4.3.9" + terser "^4.4.3" webpack-sources "^1.4.3" -terser-webpack-plugin@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" - integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== +terser-webpack-plugin@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" + integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^1.7.0" + serialize-javascript "^2.1.2" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@^4.1.2: - version "4.1.4" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.4.tgz#4478b6a08bb096a61e793fea1a4434408bab936c" - integrity sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^4.3.9: - version "4.4.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.4.2.tgz#448fffad0245f4c8a277ce89788b458bfd7706e8" - integrity sha512-Uufrsvhj9O1ikwgITGsZ5EZS6qPokUOkCegS7fYOdGTv+OA90vndUbU6PEjr5ePqHfNUbGyMO7xyIZv2MhsALQ== +terser@^4.1.2, terser@^4.3.9, terser@^4.4.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.3.tgz#e33aa42461ced5238d352d2df2a67f21921f8d87" + integrity sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -14945,9 +14057,9 @@ through2@^2.0.0, through2@^2.0.3: integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= thunky@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.0.3.tgz#f5df732453407b09191dae73e2a8cc73f381a826" - integrity sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow== + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" @@ -14967,9 +14079,9 @@ timsort@^0.3.0: integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tiny-invariant@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" - integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== tiny-warning@^1.0.0, tiny-warning@^1.0.2: version "1.0.3" @@ -15028,6 +14140,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -15090,24 +14209,30 @@ trim-right@^1.0.1: dependencies: glob "^7.1.2" -ts-pnp@1.1.5: +truffle-flattener@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/truffle-flattener/-/truffle-flattener-1.4.2.tgz#7460d0eec88ac67b150e8de3476f55d4420a4ba0" + integrity sha512-7qUIzaW8a4vI4nui14wsytht2oaqvqnZ1Iet2wRq2T0bCJ0wb6HByMKQhZKpU46R+n5BMTY4K5n+0ITyeNlmuQ== + dependencies: + "@resolver-engine/imports-fs" "^0.2.2" + find-up "^2.1.0" + mkdirp "^0.5.1" + solidity-parser-antlr "^0.4.11" + tsort "0.0.1" + +ts-pnp@1.1.5, ts-pnp@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.5.tgz#840e0739c89fce5f3abd9037bb091dbff16d9dec" integrity sha512-ti7OGMOUOzo66wLF3liskw6YQIaSsBgc4GOAlWRnIEj8htCxJUxskanMUoJOD6MDCRAXo36goXJZch+nOS0VMA== -ts-pnp@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" - integrity sha512-f5Knjh7XCyRIzoC/z1Su1yLLRrPrFCgtUAh/9fCSP6NKbATwpOL1+idQVXQokK9GRFURn/jYPGPfegIctwunoA== - ts-unused-exports@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-5.1.0.tgz#15aa01e50e3f37e7a8b870d02dea3b9c46143ef8" - integrity sha512-NQz0ZpGBBw7i7mDsjCP+x8z4/l8iOHWZ1xCGPudqq1IhXoTtcKeL7jxlJThZkWnQI6uVbSCMJuCrHgV80bUHwQ== + version "5.5.0" + resolved "https://registry.yarnpkg.com/ts-unused-exports/-/ts-unused-exports-5.5.0.tgz#23796fa6ea6303f9476f902aec811b22a5fc7f4c" + integrity sha512-eI2oXovQ/Yki1JC3T0zn09csYiMSAK09qr8Yd0DQISWBOSxvEBMmn9s1C9PIId5L2EoRnkWKNTfQ3nHT6iSUwA== dependencies: chalk "^3.0.0" tsconfig-paths "^3.9.0" - typescript "^3.6.4" + typescript "^3.7.4" tsconfig-paths@^3.9.0: version "3.9.0" @@ -15132,9 +14257,9 @@ tslint-microsoft-contrib@^6.2.0: tsutils "^2.27.2 <2.29.0" tslint-react@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-4.1.0.tgz#7153b724a8cfbea52423d0ffa469e8eba3bcc834" - integrity sha512-Y7CbFn09X7Mpg6rc7t/WPbmjx9xPI8p1RsQyiGCLWgDR6sh3+IBSlT+bEkc0PSZcWwClOkqq2wPsID8Vep6szQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-4.2.0.tgz#41b16e0438365f8d3ed4120501f02cabff9fd1e4" + integrity sha512-lO22+FKr9ZZGueGiuALzvZE/8ANoDoCHGCknX1Ge3ALrfcLQHQ1VGdyb1scZXQFdEQEfwBTIU40r5BUlJpn0JA== dependencies: tsutils "^3.9.1" @@ -15157,6 +14282,11 @@ tslint@^5.20.1: tslib "^1.8.0" tsutils "^2.29.0" +tsort@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" + integrity sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y= + "tsutils@^2.27.2 <2.29.0": version "2.28.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.28.0.tgz#6bd71e160828f9d019b6f4e844742228f85169a1" @@ -15212,11 +14342,6 @@ type-fest@^0.3.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== -type-fest@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" - integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== - type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -15231,9 +14356,14 @@ type-is@~1.6.17, type-is@~1.6.18: mime-types "~2.1.24" type@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/type/-/type-1.0.3.tgz#16f5d39f27a2d28d86e48f8981859e9d3296c179" - integrity sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" + integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -15257,31 +14387,10 @@ typesafe-actions@^5.1.0: resolved "https://registry.yarnpkg.com/typesafe-actions/-/typesafe-actions-5.1.0.tgz#9afe8b1e6a323af1fd59e6a57b11b7dd6623d2f1" integrity sha512-bna6Yi1pRznoo6Bz1cE6btB/Yy8Xywytyfrzu/wc+NFW3ZF0I+2iCGImhBsoYYCOWuICtRO4yHcnDlzgo1AdNg== -typescript@^3.6.4: - version "3.6.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d" - integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg== - -typescript@^3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.3.tgz#b36840668a16458a7025b9eabfad11b66ab85c69" - integrity sha512-Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw== - -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - -uglify-js@^3.1.4: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" +typescript@^3.7.3, typescript@^3.7.4: + version "3.7.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" + integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== ultron@~1.1.0: version "1.1.1" @@ -15296,11 +14405,16 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" -underscore@1.9.1, underscore@^1.9.1: +underscore@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== +underscore@^1.9.1: + version "1.9.2" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.2.tgz#0c8d6f536d6f378a5af264a72f7bec50feb7cf2f" + integrity sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ== + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -15404,9 +14518,9 @@ unzip-response@^2.0.1: integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== update-notifier@^2.5.0: version "2.5.0" @@ -15536,7 +14650,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: +util.promisify@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== @@ -15544,6 +14658,16 @@ util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" +util.promisify@^1.0.0, util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -15573,11 +14697,16 @@ uuid@2.0.1: resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= -uuid@3.3.2, uuid@^3.0.1, uuid@^3.3.2: +uuid@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uuid@^3.0.1, uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" @@ -15598,11 +14727,6 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" -value-equal@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" - integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== - value-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" @@ -15621,9 +14745,9 @@ vary@^1, vary@~1.1.2: integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= vendors@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" - integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== verror@1.10.0: version "1.10.0" @@ -15635,9 +14759,9 @@ verror@1.10.0: extsprintf "^1.2.0" vm-browserify@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" - integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== w3c-hr-time@^1.0.1: version "1.0.1" @@ -15705,10 +14829,10 @@ web3-bzz@1.2.2: swarm-js "0.1.39" underscore "1.9.1" -web3-bzz@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.4.tgz#a4adb7a8cba3d260de649bdb1f14ed359bfb3821" - integrity sha512-MqhAo/+0iQSMBtt3/QI1rU83uvF08sYq8r25+OUZ+4VtihnYsmkkca+rdU0QbRyrXY2/yGIpI46PFdh0khD53A== +web3-bzz@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.6.tgz#0b88c0b96029eaf01b10cb47c4d5f79db4668883" + integrity sha512-9NiHLlxdI1XeFtbPJAmi2jnnIHVF+GNy517wvOS72P7ZfuJTPwZaSNXfT01vWgPPE9R96/uAHDWHOg+T4WaDQQ== dependencies: "@types/node" "^10.12.18" got "9.6.0" @@ -15733,14 +14857,14 @@ web3-core-helpers@1.2.2: web3-eth-iban "1.2.2" web3-utils "1.2.2" -web3-core-helpers@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.4.tgz#ffd425861f4d66b3f38df032afdb39ea0971fc0f" - integrity sha512-U7wbsK8IbZvF3B7S+QMSNP0tni/6VipnJkB0tZVEpHEIV2WWeBHYmZDnULWcsS/x/jn9yKhJlXIxWGsEAMkjiw== +web3-core-helpers@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.6.tgz#7aacd25bf8015adcdfc0f3243d0dcfdff0373f7d" + integrity sha512-gYKWmC2HmO7RcDzpo4L1K8EIoy5L8iubNDuTC6q69UxczwqKF/Io0kbK/1Z10Av++NlzOSiuyGp2gc4t4UOsDw== dependencies: underscore "1.9.1" - web3-eth-iban "1.2.4" - web3-utils "1.2.4" + web3-eth-iban "1.2.6" + web3-utils "1.2.6" web3-core-helpers@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15775,16 +14899,16 @@ web3-core-method@1.2.2: web3-core-subscriptions "1.2.2" web3-utils "1.2.2" -web3-core-method@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.4.tgz#a0fbc50b8ff5fd214021435cc2c6d1e115807aed" - integrity sha512-8p9kpL7di2qOVPWgcM08kb+yKom0rxRCMv6m/K+H+yLSxev9TgMbCgMSbPWAHlyiF3SJHw7APFKahK5Z+8XT5A== +web3-core-method@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.6.tgz#f5a3e4d304abaf382923c8ab88ec8eeef45c1b3b" + integrity sha512-r2dzyPEonqkBg7Mugq5dknhV5PGaZTHBZlS/C+aMxNyQs3T3eaAsCTqlQDitwNUh/sUcYPEGF0Vo7ahYK4k91g== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.4" - web3-core-promievent "1.2.4" - web3-core-subscriptions "1.2.4" - web3-utils "1.2.4" + web3-core-helpers "1.2.6" + web3-core-promievent "1.2.6" + web3-core-subscriptions "1.2.6" + web3-utils "1.2.6" web3-core-method@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15816,10 +14940,10 @@ web3-core-promievent@1.2.2: any-promise "1.3.0" eventemitter3 "3.1.2" -web3-core-promievent@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.4.tgz#75e5c0f2940028722cdd21ba503ebd65272df6cb" - integrity sha512-gEUlm27DewUsfUgC3T8AxkKi8Ecx+e+ZCaunB7X4Qk3i9F4C+5PSMGguolrShZ7Zb6717k79Y86f3A00O0VAZw== +web3-core-promievent@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.6.tgz#b1550a3a4163e48b8b704c1fe4b0084fc2dad8f5" + integrity sha512-km72kJef/qtQNiSjDJJVHIZvoVOm6ytW3FCYnOcCs7RIkviAb5JYlPiye0o4pJOLzCXYID7DK7Q9bhY8qWb1lw== dependencies: any-promise "1.3.0" eventemitter3 "3.1.2" @@ -15846,16 +14970,16 @@ web3-core-requestmanager@1.2.2: web3-providers-ipc "1.2.2" web3-providers-ws "1.2.2" -web3-core-requestmanager@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.4.tgz#0a7020a23fb91c6913c611dfd3d8c398d1e4b4a8" - integrity sha512-eZJDjyNTDtmSmzd3S488nR/SMJtNnn/GuwxnMh3AzYCqG3ZMfOylqTad2eYJPvc2PM5/Gj1wAMQcRpwOjjLuPg== +web3-core-requestmanager@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.6.tgz#5808c0edc0d6e2991a87b65508b3a1ab065b68ec" + integrity sha512-QU2cbsj9Dm0r6om40oSwk8Oqbp3wTa08tXuMpSmeOTkGZ3EMHJ1/4LiJ8shwg1AvPMrKVU0Nri6+uBNCdReZ+g== dependencies: underscore "1.9.1" - web3-core-helpers "1.2.4" - web3-providers-http "1.2.4" - web3-providers-ipc "1.2.4" - web3-providers-ws "1.2.4" + web3-core-helpers "1.2.6" + web3-providers-http "1.2.6" + web3-providers-ipc "1.2.6" + web3-providers-ws "1.2.6" web3-core-subscriptions@1.2.1: version "1.2.1" @@ -15875,14 +14999,14 @@ web3-core-subscriptions@1.2.2: underscore "1.9.1" web3-core-helpers "1.2.2" -web3-core-subscriptions@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.4.tgz#0dc095b5cfd82baa527a39796e3515a846b21b99" - integrity sha512-3D607J2M8ymY9V+/WZq4MLlBulwCkwEjjC2U+cXqgVO1rCyVqbxZNCmHyNYHjDDCxSEbks9Ju5xqJxDSxnyXEw== +web3-core-subscriptions@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.6.tgz#9d44189e2321f8f1abc31f6c09103b5283461b57" + integrity sha512-M0PzRrP2Ct13x3wPulFtc5kENH4UtnPxO9YxkfQlX2WRKENWjt4Rfq+BCVGYEk3rTutDfWrjfzjmqMRvXqEY5Q== dependencies: eventemitter3 "3.1.2" underscore "1.9.1" - web3-core-helpers "1.2.4" + web3-core-helpers "1.2.6" web3-core-subscriptions@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15915,18 +15039,17 @@ web3-core@1.2.2: web3-core-requestmanager "1.2.2" web3-utils "1.2.2" -web3-core@1.2.4, web3-core@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.4.tgz#2df13b978dcfc59c2abaa887d27f88f21ad9a9d6" - integrity sha512-CHc27sMuET2cs1IKrkz7xzmTdMfZpYswe7f0HcuyneTwS1yTlTnHyqjAaTy0ZygAb/x4iaVox+Gvr4oSAqSI+A== +web3-core@1.2.6, web3-core@^1.2.4: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.6.tgz#bb42a1d7ae49a7258460f0d95ddb00906f59ef92" + integrity sha512-y/QNBFtr5cIR8vxebnotbjWJpOnO8LDYEAzZjeRRUJh2ijmhjoYk7dSNx9ExgC0UCfNFRoNCa9dGRu/GAxwRlw== dependencies: - "@types/bignumber.js" "^5.0.0" "@types/bn.js" "^4.11.4" "@types/node" "^12.6.1" - web3-core-helpers "1.2.4" - web3-core-method "1.2.4" - web3-core-requestmanager "1.2.4" - web3-utils "1.2.4" + web3-core-helpers "1.2.6" + web3-core-method "1.2.6" + web3-core-requestmanager "1.2.6" + web3-utils "1.2.6" web3-core@2.0.0-alpha.1, web3-core@^2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -15959,14 +15082,14 @@ web3-eth-abi@1.2.2: underscore "1.9.1" web3-utils "1.2.2" -web3-eth-abi@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.4.tgz#5b73e5ef70b03999227066d5d1310b168845e2b8" - integrity sha512-8eLIY4xZKoU3DSVu1pORluAw9Ru0/v4CGdw5so31nn+7fR8zgHMgwbFe0aOqWQ5VU42PzMMXeIJwt4AEi2buFg== +web3-eth-abi@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.6.tgz#b495383cc5c0d8e2857b26e7fe25606685983b25" + integrity sha512-w9GAyyikn8nSifSDZxAvU9fxtQSX+W2xQWMmrtTXmBGCaE4/ywKOSPAO78gq8AoU4Wq5yqVGKZLLbfpt7/sHlA== dependencies: ethers "4.0.0-beta.3" underscore "1.9.1" - web3-utils "1.2.4" + web3-utils "1.2.6" web3-eth-abi@2.0.0-alpha.1, web3-eth-abi@^2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16013,23 +15136,23 @@ web3-eth-accounts@1.2.2: web3-core-method "1.2.2" web3-utils "1.2.2" -web3-eth-accounts@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.4.tgz#ada6edc49542354328a85cafab067acd7f88c288" - integrity sha512-04LzT/UtWmRFmi4hHRewP5Zz43fWhuHiK5XimP86sUQodk/ByOkXQ3RoXyGXFMNoRxdcAeRNxSfA2DpIBc9xUw== +web3-eth-accounts@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.6.tgz#a1ba4bf75fa8102a3ec6cddd0eccd72462262720" + integrity sha512-cDVtonHRgzqi/ZHOOf8kfCQWFEipcfQNAMzXIaKZwc0UUD9mgSI5oJrN45a89Ze+E6Lz9m77cDG5Ax9zscSkcw== dependencies: "@web3-js/scrypt-shim" "^0.1.0" any-promise "1.3.0" crypto-browserify "3.12.0" - eth-lib "0.2.7" + eth-lib "^0.2.8" ethereumjs-common "^1.3.2" ethereumjs-tx "^2.1.1" underscore "1.9.1" uuid "3.3.2" - web3-core "1.2.4" - web3-core-helpers "1.2.4" - web3-core-method "1.2.4" - web3-utils "1.2.4" + web3-core "1.2.6" + web3-core-helpers "1.2.6" + web3-core-method "1.2.6" + web3-utils "1.2.6" web3-eth-accounts@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16080,20 +15203,20 @@ web3-eth-contract@1.2.2: web3-eth-abi "1.2.2" web3-utils "1.2.2" -web3-eth-contract@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.4.tgz#68ef7cc633232779b0a2c506a810fbe903575886" - integrity sha512-b/9zC0qjVetEYnzRA1oZ8gF1OSSUkwSYi5LGr4GeckLkzXP7osEnp9lkO/AQcE4GpG+l+STnKPnASXJGZPgBRQ== +web3-eth-contract@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.6.tgz#39111543960035ed94c597a239cf5aa1da796741" + integrity sha512-ak4xbHIhWgsbdPCkSN+HnQc1SH4c856y7Ly+S57J/DQVzhFZemK5HvWdpwadJrQTcHET3ZeId1vq3kmW7UYodw== dependencies: "@types/bn.js" "^4.11.4" underscore "1.9.1" - web3-core "1.2.4" - web3-core-helpers "1.2.4" - web3-core-method "1.2.4" - web3-core-promievent "1.2.4" - web3-core-subscriptions "1.2.4" - web3-eth-abi "1.2.4" - web3-utils "1.2.4" + web3-core "1.2.6" + web3-core-helpers "1.2.6" + web3-core-method "1.2.6" + web3-core-promievent "1.2.6" + web3-core-subscriptions "1.2.6" + web3-eth-abi "1.2.6" + web3-utils "1.2.6" web3-eth-contract@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16140,19 +15263,19 @@ web3-eth-ens@1.2.2: web3-eth-contract "1.2.2" web3-utils "1.2.2" -web3-eth-ens@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.4.tgz#b95b3aa99fb1e35c802b9e02a44c3046a3fa065e" - integrity sha512-g8+JxnZlhdsCzCS38Zm6R/ngXhXzvc3h7bXlxgKU4coTzLLoMpgOAEz71GxyIJinWTFbLXk/WjNY0dazi9NwVw== +web3-eth-ens@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.6.tgz#bf86a624c4c72bc59913c2345180d3ea947e110d" + integrity sha512-8UEqt6fqR/dji/jBGPFAyBs16OJjwi0t2dPWXPyGXmty/fH+osnXwWXE4HRUyj4xuafiM5P1YkXMsPhKEadjiw== dependencies: eth-ens-namehash "2.0.8" underscore "1.9.1" - web3-core "1.2.4" - web3-core-helpers "1.2.4" - web3-core-promievent "1.2.4" - web3-eth-abi "1.2.4" - web3-eth-contract "1.2.4" - web3-utils "1.2.4" + web3-core "1.2.6" + web3-core-helpers "1.2.6" + web3-core-promievent "1.2.6" + web3-eth-abi "1.2.6" + web3-eth-contract "1.2.6" + web3-utils "1.2.6" web3-eth-ens@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16188,13 +15311,13 @@ web3-eth-iban@1.2.2: bn.js "4.11.8" web3-utils "1.2.2" -web3-eth-iban@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.4.tgz#8e0550fd3fd8e47a39357d87fe27dee9483ee476" - integrity sha512-D9HIyctru/FLRpXakRwmwdjb5bWU2O6UE/3AXvRm6DCOf2e+7Ve11qQrPtaubHfpdW3KWjDKvlxV9iaFv/oTMQ== +web3-eth-iban@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.6.tgz#0b22191fd1aa6e27f7ef0820df75820bfb4ed46b" + integrity sha512-TPMc3BW9Iso7H+9w+ytbqHK9wgOmtocyCD3PaAe5Eie50KQ/j7ThA60dGJnxItVo6yyRv5pZAYxPVob9x/fJlg== dependencies: bn.js "4.11.8" - web3-utils "1.2.4" + web3-utils "1.2.6" web3-eth-iban@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16228,17 +15351,17 @@ web3-eth-personal@1.2.2: web3-net "1.2.2" web3-utils "1.2.2" -web3-eth-personal@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.4.tgz#3224cca6851c96347d9799b12c1b67b2a6eb232b" - integrity sha512-5Russ7ZECwHaZXcN3DLuLS7390Vzgrzepl4D87SD6Sn1DHsCZtvfdPIYwoTmKNp69LG3mORl7U23Ga5YxqkICw== +web3-eth-personal@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.6.tgz#47a0a0657ec04dd77f95451a6869d4751d324b6b" + integrity sha512-T2NUkh1plY8d7wePXSoHnaiKOd8dLNFaQfgBl9JHU6S7IJrG9jnYD9bVxLEgRUfHs9gKf9tQpDf7AcPFdq/A8g== dependencies: "@types/node" "^12.6.1" - web3-core "1.2.4" - web3-core-helpers "1.2.4" - web3-core-method "1.2.4" - web3-net "1.2.4" - web3-utils "1.2.4" + web3-core "1.2.6" + web3-core-helpers "1.2.6" + web3-core-method "1.2.6" + web3-net "1.2.6" + web3-utils "1.2.6" web3-eth-personal@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16292,24 +15415,24 @@ web3-eth@1.2.2: web3-net "1.2.2" web3-utils "1.2.2" -web3-eth@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.4.tgz#24c3b1f1ac79351bbfb808b2ab5c585fa57cdd00" - integrity sha512-+j+kbfmZsbc3+KJpvHM16j1xRFHe2jBAniMo1BHKc3lho6A8Sn9Buyut6odubguX2AxoRArCdIDCkT9hjUERpA== +web3-eth@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.6.tgz#15a8c65fdde0727872848cae506758d302d8d046" + integrity sha512-ROWlDPzh4QX6tlGGGlAK6X4kA2n0/cNj/4kb0nNVWkRouGmYO0R8k6s47YxYHvGiXt0s0++FUUv5vAbWovtUQw== dependencies: underscore "1.9.1" - web3-core "1.2.4" - web3-core-helpers "1.2.4" - web3-core-method "1.2.4" - web3-core-subscriptions "1.2.4" - web3-eth-abi "1.2.4" - web3-eth-accounts "1.2.4" - web3-eth-contract "1.2.4" - web3-eth-ens "1.2.4" - web3-eth-iban "1.2.4" - web3-eth-personal "1.2.4" - web3-net "1.2.4" - web3-utils "1.2.4" + web3-core "1.2.6" + web3-core-helpers "1.2.6" + web3-core-method "1.2.6" + web3-core-subscriptions "1.2.6" + web3-eth-abi "1.2.6" + web3-eth-accounts "1.2.6" + web3-eth-contract "1.2.6" + web3-eth-ens "1.2.6" + web3-eth-iban "1.2.6" + web3-eth-personal "1.2.6" + web3-net "1.2.6" + web3-utils "1.2.6" web3-eth@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16351,14 +15474,14 @@ web3-net@1.2.2: web3-core-method "1.2.2" web3-utils "1.2.2" -web3-net@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.4.tgz#1d246406d3aaffbf39c030e4e98bce0ca5f25458" - integrity sha512-wKOsqhyXWPSYTGbp7ofVvni17yfRptpqoUdp3SC8RAhDmGkX6irsiT9pON79m6b3HUHfLoBilFQyt/fTUZOf7A== +web3-net@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.6.tgz#035ca0fbe55282fda848ca17ebb4c8966147e5ea" + integrity sha512-hsNHAPddrhgjWLmbESW0KxJi2GnthPcow0Sqpnf4oB6+/+ZnQHU9OsIyHb83bnC1OmunrK2vf9Ye2mLPdFIu3A== dependencies: - web3-core "1.2.4" - web3-core-method "1.2.4" - web3-utils "1.2.4" + web3-core "1.2.6" + web3-core-method "1.2.6" + web3-utils "1.2.6" web3-net@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16373,31 +15496,6 @@ web3-net@2.0.0-alpha.1: web3-providers "2.0.0-alpha.1" web3-utils "2.0.0-alpha.1" -"web3-provider-engine@git+https://github.com/trufflesuite/provider-engine.git#web3-one": - version "14.0.6" - resolved "git+https://github.com/trufflesuite/provider-engine.git#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" - dependencies: - async "^2.5.0" - backoff "^2.5.0" - clone "^2.0.0" - cross-fetch "^2.1.0" - eth-block-tracker "^3.0.0" - eth-json-rpc-infura "^3.1.0" - eth-sig-util "^1.4.2" - ethereumjs-block "^1.2.2" - ethereumjs-tx "^1.2.0" - ethereumjs-util "^5.1.5" - ethereumjs-vm "^2.3.4" - json-rpc-error "^2.0.0" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - readable-stream "^2.2.9" - request "^2.85.0" - semaphore "^1.0.3" - ws "^5.1.1" - xhr "^2.2.0" - xtend "^4.0.1" - "web3-provider-engine@https://github.com/trufflesuite/provider-engine#web3-one": version "14.0.6" resolved "https://github.com/trufflesuite/provider-engine#3538c60bc4836b73ccae1ac3f64c8fed8ef19c1a" @@ -16439,12 +15537,12 @@ web3-providers-http@1.2.2: web3-core-helpers "1.2.2" xhr2-cookies "1.1.0" -web3-providers-http@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.4.tgz#514fcad71ae77832c2c15574296282fbbc5f4a67" - integrity sha512-dzVCkRrR/cqlIrcrWNiPt9gyt0AZTE0J+MfAu9rR6CyIgtnm1wFUVVGaxYRxuTGQRO4Dlo49gtoGwaGcyxqiTw== +web3-providers-http@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.6.tgz#3c7b1252751fb37e53b873fce9dbb6340f5e31d9" + integrity sha512-2+SaFCspb5f82QKuHB3nEPQOF9iSWxRf7c18fHtmnLNVkfG9SwLN1zh67bYn3tZGUdOI3gj8aX4Uhfpwx9Ezpw== dependencies: - web3-core-helpers "1.2.4" + web3-core-helpers "1.2.6" xhr2-cookies "1.1.0" web3-providers-ipc@1.2.1: @@ -16465,14 +15563,14 @@ web3-providers-ipc@1.2.2: underscore "1.9.1" web3-core-helpers "1.2.2" -web3-providers-ipc@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.4.tgz#9d6659f8d44943fb369b739f48df09092be459bd" - integrity sha512-8J3Dguffin51gckTaNrO3oMBo7g+j0UNk6hXmdmQMMNEtrYqw4ctT6t06YOf9GgtOMjSAc1YEh3LPrvgIsR7og== +web3-providers-ipc@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.6.tgz#adabab5ac66b3ff8a26c7dc97af3f1a6a7609701" + integrity sha512-b0Es+/GTZyk5FG3SgUDW+2/mBwJAXWt5LuppODptiOas8bB2khLjG6+Gm1K4uwOb+1NJGPt5mZZ8Wi7vibtQ+A== dependencies: oboe "2.1.4" underscore "1.9.1" - web3-core-helpers "1.2.4" + web3-core-helpers "1.2.6" web3-providers-ws@1.2.1: version "1.2.1" @@ -16492,14 +15590,14 @@ web3-providers-ws@1.2.2: web3-core-helpers "1.2.2" websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" -web3-providers-ws@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.4.tgz#099ee271ee03f6ea4f5df9cfe969e83f4ce0e36f" - integrity sha512-F/vQpDzeK+++oeeNROl1IVTufFCwCR2hpWe5yRXN0ApLwHqXrMI7UwQNdJ9iyibcWjJf/ECbauEEQ8CHgE+MYQ== +web3-providers-ws@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.6.tgz#3cecc49f7c99f07a75076d3c54247050bc4f7e11" + integrity sha512-20waSYX+gb5M5yKhug5FIwxBBvkKzlJH7sK6XEgdOx6BZ9YYamLmvg9wcRVtnSZO8hV/3cWenO/tRtTrHVvIgQ== dependencies: "@web3-js/websocket" "^1.0.29" underscore "1.9.1" - web3-core-helpers "1.2.4" + web3-core-helpers "1.2.6" web3-providers@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16538,15 +15636,15 @@ web3-shh@1.2.2: web3-core-subscriptions "1.2.2" web3-net "1.2.2" -web3-shh@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.4.tgz#5c8ff5ab624a3b14f08af0d24d2b16c10e9f70dd" - integrity sha512-z+9SCw0dE+69Z/Hv8809XDbLj7lTfEv9Sgu8eKEIdGntZf4v7ewj5rzN5bZZSz8aCvfK7Y6ovz1PBAu4QzS4IQ== +web3-shh@1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.6.tgz#2492616da4cac32d4c7534b890f43bac63190c14" + integrity sha512-rouWyOOM6YMbLQd65grpj8BBezQfgNeRRX+cGyW4xsn6Xgu+B73Zvr6OtA/ftJwwa9bqHGpnLrrLMeWyy4YLUw== dependencies: - web3-core "1.2.4" - web3-core-method "1.2.4" - web3-core-subscriptions "1.2.4" - web3-net "1.2.4" + web3-core "1.2.6" + web3-core-method "1.2.6" + web3-core-subscriptions "1.2.6" + web3-net "1.2.6" web3-shh@2.0.0-alpha.1: version "2.0.0-alpha.1" @@ -16589,10 +15687,10 @@ web3-utils@1.2.2: underscore "1.9.1" utf8 "3.0.0" -web3-utils@1.2.4, web3-utils@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.4.tgz#96832a39a66b05bf8862a5b0bdad2799d709d951" - integrity sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ== +web3-utils@1.2.6, web3-utils@^1.2.4: + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.6.tgz#b9a25432da00976457fcc1094c4af8ac6d486db9" + integrity sha512-8/HnqG/l7dGmKMgEL9JeKPTtjScxOePTzopv5aaKFExPfaBrYRkgoMqhoowCiAl/s16QaTn4DoIF1QC4YsT7Mg== dependencies: bn.js "4.11.8" eth-lib "0.2.7" @@ -16662,18 +15760,18 @@ web3@2.0.0-alpha.1, web3@^2.0.0-alpha.1: web3-utils "2.0.0-alpha.1" web3@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.4.tgz#6e7ab799eefc9b4648c2dab63003f704a1d5e7d9" - integrity sha512-xPXGe+w0x0t88Wj+s/dmAdASr3O9wmA9mpZRtixGZxmBexAF0MjfqYM+MS4tVl5s11hMTN3AZb8cDD4VLfC57A== + version "1.2.6" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.6.tgz#c497dcb14cdd8d6d9fb6b445b3b68ff83f8ccf68" + integrity sha512-tpu9fLIComgxGrFsD8LUtA4s4aCZk7px8UfcdEy6kS2uDi/ZfR07KJqpXZMij7Jvlq+cQrTAhsPSiBVvoMaivA== dependencies: "@types/node" "^12.6.1" - web3-bzz "1.2.4" - web3-core "1.2.4" - web3-eth "1.2.4" - web3-eth-personal "1.2.4" - web3-net "1.2.4" - web3-shh "1.2.4" - web3-utils "1.2.4" + web3-bzz "1.2.6" + web3-core "1.2.6" + web3-eth "1.2.6" + web3-eth-personal "1.2.6" + web3-net "1.2.6" + web3-shh "1.2.6" + web3-utils "1.2.6" webidl-conversions@^4.0.2: version "4.0.2" @@ -16691,10 +15789,10 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz#27c3b5d0f6b6677c4304465ac817623c8b27b89c" - integrity sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw== +webpack-dev-server@3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.1.tgz#1ff3e5cccf8e0897aa3f5909c654e623f69b1c0e" + integrity sha512-AGG4+XrrXn4rbZUueyNrQgO4KGnol+0wm3MPdqGLmmA+NofZl3blZQKxZ9BND6RDNuvAK9OMYClhjOSnxpWRoA== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -16711,7 +15809,7 @@ webpack-dev-server@3.9.0: ip "^1.1.5" is-absolute-url "^3.0.3" killable "^1.0.1" - loglevel "^1.6.4" + loglevel "^1.6.6" opn "^5.5.0" p-retry "^3.0.1" portfinder "^1.0.25" @@ -16756,10 +15854,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack@4.41.2: - version "4.41.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.2.tgz#c34ec76daa3a8468c9b61a50336d8e3303dce74e" - integrity sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A== +webpack@4.41.5: + version "4.41.5" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.41.5.tgz#3210f1886bce5310e62bb97204d18c263341b77c" + integrity sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" @@ -16781,7 +15879,7 @@ webpack@4.41.2: node-libs-browser "^2.2.1" schema-utils "^1.0.0" tapable "^1.1.3" - terser-webpack-plugin "^1.4.1" + terser-webpack-plugin "^1.4.3" watchpack "^1.6.0" webpack-sources "^1.4.1" @@ -16801,7 +15899,7 @@ websocket-extensions@>=0.1.1: "websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": version "1.0.29" - resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/b134a75541b5db59668df81c03e926cd5f325077" + resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/905deb4812572b344f5801f8c9ce8bb02799d82e" dependencies: debug "^2.2.0" es5-ext "^0.10.50" @@ -16841,9 +15939,9 @@ whatwg-url@^6.4.1: webidl-conversions "^4.0.2" whatwg-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== dependencies: lodash.sortby "^4.7.0" tr46 "^1.0.1" @@ -16866,6 +15964,13 @@ which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: dependencies: isexe "^2.0.0" +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" @@ -16892,16 +15997,6 @@ word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - workbox-background-sync@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" @@ -17169,9 +16264,9 @@ xml-name-validator@^3.0.0: integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== xmlchars@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.1.1.tgz#ef1a81c05bff629c2280007f12daca21bd6f6c93" - integrity sha512-7hew1RPJ1iIuje/Y01bGD/mXokXxegAgVS+e+E0wSi2ILHQkYAH1+JXARwTjZSM4Z4Z+c73aKspEcqj+zPPL/w== + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== xmlhttprequest@1.8.0: version "1.8.0" @@ -17211,9 +16306,9 @@ yallist@^2.1.2: integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0"